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.
Create accounts with a key and find the instance config
c36d507302c0f7fb24af6eba390c4121d67318c3 · Keenan Nemetz · 16d ago · parent 3abbe749
Create accounts with a key and find the instance config An account is now written with its first key in one transaction, so a name cannot be claimed without a credential. add-key remains for additional keys, and remote user create forwards the key on stdin. Local commands now resolve the config from --config, VOLE_CONFIG, ./vole.toml, or ~/.vole/vole.toml before falling back to defaults. init prints --config in its next steps when the instance will not be discovered automatically.
server/ssh/sshserver_test.go +1−4
| @@ -82,13 +82,10 @@ func newHarness(t *testing.T) *harness { | |||
| 82 | 82 | {"writer", writerPub}, | |
| 83 | 83 | {"reader", readerPub}, | |
| 84 | 84 | } { | |
| 85 | acct, err := ident.Create(u.name, "test") | ||
| 85 | acct, err := ident.Create(u.name, u.pub, "test") | ||
| 86 | 86 | if err != nil { | |
| 87 | 87 | t.Fatal(err) | |
| 88 | 88 | } | |
| 89 | if _, err := ident.AddKey(acct.ID, u.pub, "test"); err != nil { | ||
| 90 | t.Fatal(err) | ||
| 91 | } | ||
| 92 | 89 | if u.name == "writer" { | |
| 93 | 90 | writerID = acct.ID | |
| 94 | 91 | } | |