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.
Let the CLI cancel a run, not only the browser
deb024d49d894a5a51b1a5bdc07e66c672f113ab · Keenan Nemetz · 6d ago · parent 0c14f078
Let the CLI cancel a run, not only the browser #168 promised the same account the same actions through either transport, and canceling a running run had just become a browser-only action. The queue is instance-side, so the CLI asks over the key it already pushes with: `vole run cancel <id>` retires a queued run or asks a running one to stop, checks the same maintainer capability the page checks, and writes the same audit record. The server verb takes one repository and one run id and answers one line; the id is the 26-character one in the run page URL. The audit action is now `run.cancel` for both transports, because it is the same action: an operator looking for canceled runs should not have to know which surface asked. Part of #162.
server/ssh/sshserver_test.go +1
| @@ -137,6 +137,7 @@ func newHarnessWith(t *testing.T, tweak func(*Config)) *harness { | |||
| 137 | 137 | LFS: objects, | |
| 138 | 138 | Log: log, | |
| 139 | 139 | HostKeyPath: filepath.Join(dir, "host_key"), | |
| 140 | AuditPath: filepath.Join(dir, "audit.log"), | ||
| 140 | 141 | } | |
| 141 | 142 | if tweak != nil { | |
| 142 | 143 | tweak(&cfg) | |