Commit log

58ee1a4 wip

Ayman Bagabas created

d0e496b feat: abstract config to accommodate for external config

Click to expand commit body
* refactor: tidy up server git

use git services to implement handling git server commands
pass config to git as environment variables

* feat(git): enable partial clones

* feat(server): use smart http git backend

This implements the smart http git protocol which also supports
git-receive-pack service.

* fix(config): write config file when instructed to

* feat: add a cache and implement a default lru policy

* feat: abstract config to accommodate for external config

Ayman Bagabas created

88944ff feat: add a cache and implement a default lru policy

Click to expand commit body
* refactor: tidy up server git

use git services to implement handling git server commands
pass config to git as environment variables

* feat(git): enable partial clones

* feat(server): use smart http git backend

This implements the smart http git protocol which also supports
git-receive-pack service.

* fix(config): write config file when instructed to

* feat: add a cache and implement a default lru policy

Ayman Bagabas created

eef5c00 fix(config): write config file when instructed to (#300)

Click to expand commit body
* refactor: tidy up server git

use git services to implement handling git server commands
pass config to git as environment variables

* feat(git): enable partial clones

* feat(server): use smart http git backend

This implements the smart http git protocol which also supports
git-receive-pack service.

* fix(config): write config file when instructed to

Ayman Bagabas created

7936079 Smart HTTP Git transport & partial clones (#291)

Click to expand commit body
* refactor: tidy up server git

use git services to implement handling git server commands
pass config to git as environment variables

* feat(git): enable partial clones

* feat(server): use smart http git backend

This implements the smart http git protocol which also supports
git-receive-pack service.

Ayman Bagabas created

1c781fe fix: ignore case README filenames

bashbunni created

940bde7 feat(deps): bump github.com/charmbracelet/bubbletea

Click to expand commit body
Bumps [github.com/charmbracelet/bubbletea](https://github.com/charmbracelet/bubbletea) from 0.24.0 to 0.24.1.
- [Release notes](https://github.com/charmbracelet/bubbletea/releases)
- [Commits](https://github.com/charmbracelet/bubbletea/compare/v0.24.0...v0.24.1)

---
updated-dependencies:
- dependency-name: github.com/charmbracelet/bubbletea
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

dependabot[bot] created

1491acb feat(deps): bump github.com/go-git/go-git/v5 from 5.6.1 to 5.7.0

Click to expand commit body
Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.6.1 to 5.7.0.
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](https://github.com/go-git/go-git/compare/v5.6.1...v5.7.0)

---
updated-dependencies:
- dependency-name: github.com/go-git/go-git/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

dependabot[bot] created

277bbc1 feat(deps): bump github.com/charmbracelet/log from 0.2.1 to 0.2.2

Click to expand commit body
Bumps [github.com/charmbracelet/log](https://github.com/charmbracelet/log) from 0.2.1 to 0.2.2.
- [Release notes](https://github.com/charmbracelet/log/releases)
- [Commits](https://github.com/charmbracelet/log/compare/v0.2.1...v0.2.2)

---
updated-dependencies:
- dependency-name: github.com/charmbracelet/log
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

dependabot[bot] created

db3bc9b fix(cmd): user info reporting false admin status

Click to expand commit body
Fixes: https://github.com/charmbracelet/soft-serve/issues/298

Ayman Bagabas created

9b8e183 feat: bump minimum go version to go1.20

Click to expand commit body
Soft Serve already uses symbols introduced in go1.20

Fixes: https://github.com/charmbracelet/soft-serve/issues/293

Ayman Bagabas created

4bb9abb docs: recommend never using --tty in docker

Carlos Alexandro Becker created

f851adb fix(ssh): restrict publickey auth

Click to expand commit body
only accept readwrite access using pubkey auth. Keyboard-interactive
auth will be used after all keys authentication has failed

Ayman Bagabas created

a9e4824 fix(server): possible panic using maps

Click to expand commit body
use a sync.Map to avoid possible panic on concurrent map iteration and
map write

Fixes: b07de747b54a ("fix(log): respect log config (#280)")

Ayman Bagabas created

cc951e3 feat: switch to env/v8

Ayman Bagabas created

fbe09a9 fix(ci): remove soft-serve workflow

Ayman Bagabas created

b07de74 fix(log): respect log config (#280)

Click to expand commit body
* fix(log): respect log config

Parse log config

fix(git): ensure os envs are present

feat: set the default time format to dateTime

fix(log): change update mirror log message into debug

fix(config): rename log config struct

fix(config): always return cfg

* perf: update mirrors in a workpool (#285)

* perf: update mirrors in a workqueue

Implement a simple chunked workqueue to queue updating mirrors. We use
the number of cpus to calculate the number of workers to distribute the
work to.

* fix: use automaxprocs

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: set maxprocs in main

* feat(wp): use a workpool impl

Use semaphores to implement a workpool of n workers
and use that to run the mirroring job

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Ayman Bagabas and Carlos Alexandro Becker created

8d13e32 docs: add systemd instructions (#276)

Click to expand commit body
Add how to run soft-serve using systemd instructions

Ayman Bagabas created

3ef6d86 fix(ui): UI regressions (#279)

Click to expand commit body
* fix(backend): wrap i/o operations in transactions

when i/o errors, transaction rolls back

* fix(lint): inefficient assignment

* fix(ui): respect log settings

* fix(ui): truncate command string after yanking

* fix(git): make sure to use system git config in diff

* fix(ui): move support goto top/bottom in viewport

Ayman Bagabas created

1420502 fix(backend): wrap i/o operations in transactions (#278)

Click to expand commit body
* fix(backend): wrap i/o operations in transactions

when i/o errors, transaction rolls back

* fix(lint): inefficient assignment

Ayman Bagabas created

c1d62b5 fix: set CI=1 in Dockerfile as a workaround (#284)

Carlos Alexandro Becker created

5580b5b fix(backend): cache repos in memory (#274)

Click to expand commit body
* fix(backend): cache repos in memory using lru

Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>

* fix(backend): use mutex instead of rwmutex

---------

Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>

Ayman Bagabas created

2a97f93 fix: improve dockerfile caching

Carlos Alexandro Becker created

882abd5 docs: update license

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

4433e02 fix(backend): remove clone timeout

Ayman Bagabas created

469a86f fix(backend): delete non-existing repo

Click to expand commit body
Fixes: 6eba2455d03c ("fix(backend): delete repo when importing existing one")

Ayman Bagabas created

6eba245 fix(backend): delete repo when importing existing one

Click to expand commit body
Fixes: bb40f89b34de ("fix(server): bound the current context to the underlying operation")

Ayman Bagabas created

9eda032 feat: upgrade dependencies

Ayman Bagabas created

bb40f89 fix(server): bound the current context to the underlying operation

Click to expand commit body
Use the connection context when running external commands.

Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>

Ayman Bagabas created

3cf9b6b fix: increase clone timeout, fix some lint issues

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

44f52c1 feat(deps): bump github.com/prometheus/client_golang

Click to expand commit body
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.15.0 to 1.15.1.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.15.0...v1.15.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

dependabot[bot] created

57df762 feat: log time format (#269)

Click to expand commit body
* fix: log with datetime

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: make it customizable

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

8855f56 feat(deps): bump golang.org/x/crypto from 0.8.0 to 0.9.0

Click to expand commit body
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.8.0 to 0.9.0.
- [Commits](https://github.com/golang/crypto/compare/v0.8.0...v0.9.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

dependabot[bot] created

cad243c feat(deps): bump github.com/charmbracelet/bubbletea

Click to expand commit body
Bumps [github.com/charmbracelet/bubbletea](https://github.com/charmbracelet/bubbletea) from 0.23.2 to 0.24.0.
- [Release notes](https://github.com/charmbracelet/bubbletea/releases)
- [Commits](https://github.com/charmbracelet/bubbletea/compare/v0.23.2...v0.24.0)

---
updated-dependencies:
- dependency-name: github.com/charmbracelet/bubbletea
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

dependabot[bot] created

dad99c8 #264 - add openssh to Docker image

Lewis Marsden-Lambert created

c93630e fix(server): wait for and ensure git command exits

Click to expand commit body
We have to wait for exec.Command to exit

Fixes: https://github.com/charmbracelet/soft-serve/issues/262

Ayman Bagabas created

4533243 feat(deps): bump golang.org/x/sync from 0.1.0 to 0.2.0

Click to expand commit body
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.1.0 to 0.2.0.
- [Commits](https://github.com/golang/sync/compare/v0.1.0...v0.2.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sync
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

dependabot[bot] created

2624e60 fix(nfpm): don't enable and start systemd service by default

Ayman Bagabas created

0e3363c fix(build): add bash to Dockerfile

Click to expand commit body
Fixes: https://github.com/charmbracelet/soft-serve/issues/251

Ayman Bagabas created

1e97e6e feat(deps): bump github.com/prometheus/client_golang

Click to expand commit body
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.14.0...v1.15.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

dependabot[bot] created

b9d6fbc feat(deps): bump modernc.org/sqlite from 1.21.1 to 1.22.1

Click to expand commit body
Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.21.1 to 1.22.1.
- [Release notes](https://gitlab.com/cznic/sqlite/tags)
- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.21.1...v1.22.1)

---
updated-dependencies:
- dependency-name: modernc.org/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

dependabot[bot] created

3d2eee7 chore: hint yaml-language-server of github-workflow schema

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

7d76e4d chore: hint yaml-language-server of goreleaser-pro schema

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

7dab80b docs: update default server ports

Ayman Bagabas created

942c50b Update .nfpm/soft-serve.service

Click to expand commit body
Co-authored-by: Ayman Bagabas <ayman.bagabas@gmail.com>

Carlos Alexandro Becker and Ayman Bagabas created

a69f77c Update .nfpm/soft-serve.conf

Click to expand commit body
Co-authored-by: Ayman Bagabas <ayman.bagabas@gmail.com>

Carlos Alexandro Becker and Ayman Bagabas created

56bc308 feat: s/soft/soft-serve/; sysusers; tmpfiles

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

12b410f fix: format

Carlos Alexandro Becker created

bdcc8fb feat: package systemd unit

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

91a1e40 feat(deps): bump github.com/spf13/cobra from 1.6.1 to 1.7.0

Click to expand commit body
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.6.1...v1.7.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

dependabot[bot] created