9021825
feat(ci): run tests against both sqlite and postgres
Ayman Bagabas created
9021825
feat(ci): run tests against both sqlite and postgres
Ayman Bagabas created
b8ba37b
test: use postgres in testscript
Ayman Bagabas created
fa09286
fix: postgres driver issues
Related: https://github.com/charmbracelet/soft-serve/issues/380
Ayman Bagabas created
6a42d89
fix(db): quote postgres keywords (#383)
The keyword "key" is a reserved word in Postgres and must be quoted if used as a column name. Fixes: https://github.com/charmbracelet/soft-serve/issues/380
Ayman Bagabas created
5464150
feat(deps): bump github.com/go-git/go-git/v5 from 5.8.1 to 5.9.0 (#381)
Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.8.1 to 5.9.0. - [Release notes](https://github.com/go-git/go-git/releases) - [Commits](https://github.com/go-git/go-git/compare/v5.8.1...v5.9.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> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
e47ac30
chore(deps): bump actions/checkout from 3 to 4 (#378)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
3c747e4
feat(deps): bump golang.org/x/crypto from 0.12.0 to 0.13.0 (#379)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.12.0 to 0.13.0. - [Commits](https://github.com/golang/crypto/compare/v0.12.0...v0.13.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> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
fd167be
fix: backend update hook arguments
Ayman Bagabas created
d1593cc
feat(deps): bump github.com/hashicorp/golang-lru/v2 from 2.0.5 to 2.0.6 (#374)
dependabot[bot] created
e35538c
chore(demo): add VHS demo.tape
Maas Lalani created
8594ecf
fix: demo gif (#373)
Maas Lalani created
abcb242
Revert "docs: update soft-serve demo GIF / screencast"
This reverts commit 0509a50c988737f23919d145c171e0bec0d853f7.
Maas Lalani created
0509a50
docs: update soft-serve demo GIF / screencast
Maas Lalani created
0353cf2
docs: add sqlite foreign key note
Ayman Bagabas created
a12b45b
feat(deps): bump github.com/gogs/git-module from 1.8.2 to 1.8.3 (#365)
Bumps [github.com/gogs/git-module](https://github.com/gogs/git-module) from 1.8.2 to 1.8.3. - [Release notes](https://github.com/gogs/git-module/releases) - [Commits](https://github.com/gogs/git-module/compare/v1.8.2...v1.8.3) --- updated-dependencies: - dependency-name: github.com/gogs/git-module dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
104aa73
feat(deps): bump github.com/charmbracelet/log from 0.2.3 to 0.2.4 (#371)
dependabot[bot] created
62b9fda
feat(deps): bump github.com/charmbracelet/lipgloss from 0.7.1 to 0.8.0 (#372)
dependabot[bot] created
942d494
fix: add ssh commands back (#370)
* fix: add ssh commands back Unauthorized users would get an error message when using commands that need authorization * feat: bump charmbracelet/ssh to fix race issue
Ayman Bagabas created
09dedc4
fix: remove extra metrics label
Fixes: b0eebaa36b8a ("fix: panic on ssh lfs transfer")
Ayman Bagabas created
49ec3aa
docs: update readme (#360)
* docs: update readme in preparation of v0.6 * docs: add database section Fixes: https://github.com/charmbracelet/soft-serve/issues/363 * docs: http auth * fix: typos
Ayman Bagabas created
b0eebaa
fix: panic on ssh lfs transfer
Ayman Bagabas created
e10942e
fix: config paths on windows
Convert slashes on windows Fixes: https://github.com/charmbracelet/soft-serve/issues/367
Ayman Bagabas created
bb94850
feat(deps): bump github.com/hashicorp/golang-lru/v2 from 2.0.4 to 2.0.5
Bumps [github.com/hashicorp/golang-lru/v2](https://github.com/hashicorp/golang-lru) from 2.0.4 to 2.0.5. - [Release notes](https://github.com/hashicorp/golang-lru/releases) - [Commits](https://github.com/hashicorp/golang-lru/compare/v2.0.4...v2.0.5) --- updated-dependencies: - dependency-name: github.com/hashicorp/golang-lru/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] created
05ecf8d
feat(deps): bump golang.org/x/crypto from 0.11.0 to 0.12.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.11.0 to 0.12.0. - [Commits](https://github.com/golang/crypto/compare/v0.11.0...v0.12.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
e610867
feat(deps): bump github.com/go-git/go-git/v5 from 5.7.0 to 5.8.1
Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.7.0 to 5.8.1. - [Release notes](https://github.com/go-git/go-git/releases) - [Commits](https://github.com/go-git/go-git/compare/v5.7.0...v5.8.1) --- 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
75cf8a5
feat(deps): bump github.com/charmbracelet/log
Bumps [github.com/charmbracelet/log](https://github.com/charmbracelet/log) from 0.2.3-0.20230713155356-557335e40e35 to 0.2.3. - [Release notes](https://github.com/charmbracelet/log/releases) - [Commits](https://github.com/charmbracelet/log/commits/v0.2.3) --- 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
f52dcd2
feat(deps): bump modernc.org/sqlite from 1.24.0 to 1.25.0
Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.24.0 to 1.25.0. - [Commits](https://gitlab.com/cznic/sqlite/compare/v1.24.0...v1.25.0) --- 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
882e701
feat: add collaborators with access level
Now you can add a collaborator with a specific access level Fixes: https://github.com/charmbracelet/soft-serve/issues/281
Ayman Bagabas created
c4dde1c
feat,fix: add task manager
Implement a task manager that can run different tasks given a unique ID. This is needed to accommodate expensive tasks like importing a large repository. The current behavior uses the connection's context (the SSH connection) to import the repository. However, if the server has defined an SSH `idle_timeout`, `max_timeout`, and/or the connection drops, Soft Serve cancels the git clone process and aborts importing the repository. Instead, we add the import task to the "task manager" and wait on the connection context. If a task already exists for the same repository, return `Error: import already in progress`. Fixes: https://github.com/charmbracelet/soft-serve/issues/348
Ayman Bagabas created
c7829a3
feat: print clone url on repo create
Prints the repo ssh clone url on create Fixes: https://github.com/charmbracelet/soft-serve/issues/297
Ayman Bagabas created
eaf3619
chore: update golang.org/x/net
Ayman Bagabas created
fe70399
fix(tests): make git-daemon use random port
Ayman Bagabas created
bd8c60c
fix(lfs): don't timeout when searching lfs objects
Make it up to the context to continue the process
Ayman Bagabas created
da5bf4e
fix: remove repo when stat mismatch
Remove repo files when the repo doesn't exist in the database but exists in the filesystem
Ayman Bagabas created
babc52f
fix(lfs): fetch missing lfs objects when mirroring
Ensure to pull the latest lfs objects when mirroring a repository with lfs enabled.
Ayman Bagabas created
e5f8b20
fix(tests): testscript race condition
Ayman Bagabas created
61ad744
feat(ssh): use custom logging middleware
Ayman Bagabas created
b26060b
refactor,fix(ssh): use cobra for git commands
- Fix git commands errors on invalid args and permissions - Use Cobra to handle git commands - Add Git SSH tests - Better ssh and git pktline error handling
Ayman Bagabas created
b3d5ce8
refactor: combine migrations into one
Ayman Bagabas created
ea6b9a4
fix: add repo owner and separate lfs data for each repository
Add repository owner
Ayman Bagabas created
3a61783
refactor: move jobs into its own module
Ayman Bagabas created
7c73084
fix: tests
Ayman Bagabas created
f1a1da5
feat: use gorilla/mux
Ayman Bagabas created
af81aec
feat: add lfs config and tests
Enable/disable LFS endpoints Enable/disable SSH LFS transfer fix: lfs request validation chore: add jwt, lfs, and http tests fix: tests race feat: more tests fix: return 403 on bad creds
Ayman Bagabas created
a9e5ace
feat: support user access tokens
Users now can generate access tokens and use them to authenticate with Soft Serve HTTP Git server. It supports basic username & password, generated access tokens, and JWT tokens. As of now there is no way the user can set a password. This will be implemented in a separate PR. Access tokens hashes are stored in the database along with an optional expiry date. Access tokens can be used as the Git user or password in a HTTP clone URL e.g. `https://<token>@git.example.com/repo.git` fix: lint errors fix: ensure default branch on http push fix: address carlos comments
Ayman Bagabas created
f69f064
feat(web): implement git auth and lfs
Generate jwt tokens Implement git-lfs-authenticate to generate tokens through ssh Authenticate user using HTTP fix: git lfs endpoint auth feat: git lfs locks Implement git lfs locks endpoints fix: tests fix: access tokens migration add expires_at fix: lint errors fix: cleanup Revert "fix: cleanup" This reverts commit 728173fbb9594d8ba32e0ca6223be08646e0136a. fix(db): don't drop tables
Ayman Bagabas created
8e68dba
feat: implement git-lfs preliminary support
- Support Git LFS SSH transfer (server-side) - Implement Git LFS Basic transfer (client) - Import missing LFS objects when importing a repository wip fix: user can be nil for anonymous connections fix: wrap db errors fix: lint errors
Ayman Bagabas created
8d41446
fix(ssh): increase the default idle-timeout to 10 minutes
This would close dangling SSH connections that last for more than 10 minutes. The only down side is that the connection will get closed without restoring the terminal for PTY sessions and the UI.
Ayman Bagabas created
d0afaa0
fix: respect gitattributes (#342)
* fix: respect gitattributes Check gitattributes for file attrs before displaying files. Fixes: https://github.com/charmbracelet/soft-serve/issues/238 * chore: add tests
Ayman Bagabas created
0e9abaf
feat(deps): bump go.uber.org/automaxprocs from 1.5.2 to 1.5.3 (#343)
dependabot[bot] created