Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

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",