vole
Clone
Read only, no credentials:
https://rodent.software/git/vole.git
Write over SSH with a registered key:
git clone ssh://git@0.0.0.0:2222/vole.git
A free and open-source forge that lives in your Git repo.
Add remote administration and local workflow runs
3abbe749096f4d7ff76f4d468e4427829b8a6f95 · Keenan Nemetz · 16d ago · parent 520470e1
Add remote administration and local workflow runs Make `vole admin` the single namespace for user, repository, and access management, runnable locally or over SSH by instance admins. Instance-admin grants live in users.db, and the audit log names the actor separately from the account being changed. Add `vole workflow run` to execute workflow jobs in the working tree without a server or runner. Positional arguments select workflows, --job selects jobs, and the command reuses the push-time validator. Update the README and guides for the new command shapes.
server/lfs_scope.go +2−2
| @@ -2,7 +2,7 @@ package server | |||
| 2 | 2 | ||
| 3 | 3 | // Repository-scoped object storage needs a link per (repository, object). An instance | |
| 4 | 4 | // that predates it has the pool and nothing else, so every LFS fetch would 404 until | |
| 5 | // somebody knew to run `vole gc`. Rather than make that an upgrade note people skip, the | ||
| 5 | // somebody knew to run `vole admin gc`. Rather than make that an upgrade note people skip, the | ||
| 6 | 6 | // server notices a store with no namespace and links it in the background on first boot. | |
| 7 | 7 | // | |
| 8 | 8 | // It is the safe half of gc: `Link` creates links and deletes nothing, so a pass that is | |
| @@ -58,7 +58,7 @@ func (s *Server) scopeLFSStore() { | |||
| 58 | 58 | res, err := forge.GCLink(forge.GCOptions{Repos: scan, Store: s.LFS, RunOIDs: runOIDs}) | |
| 59 | 59 | if err != nil { | |
| 60 | 60 | s.Log.Error("lfs: the store could not be linked to repositories; "+ | |
| 61 | "objects stay unfetchable until `vole gc` succeeds", "err", err) | ||
| 61 | "objects stay unfetchable until `vole admin gc` succeeds", "err", err) | ||
| 62 | 62 | return | |
| 63 | 63 | } | |
| 64 | 64 | s.Log.Info("lfs: linked objects into per-repository storage", | |