vole
Clone
Read only, no credentials:
https://rodent.software/vole.git
Write over SSH with a registered key:
git clone ssh://git@rodent.software:2222/vole.git
A free and open-source forge that lives in your Git repo.
Add instance-wide roles and refine access UI
5b814e9958090cfd1fa826efb2d375bf613547c1 · Keenan Nemetz · 14d ago · parent 9579c1f9
Add instance-wide roles and refine access UI Instance roles now live on accounts, apply to public repositories, and the Admin role is the unified instance-admin permission with access to every repository. Repository ACLs can raise an instance role but not lower it. Adds role assignment to the users UI and CLI, open-registration role config, a reusable role picker, and separates adding a repository account from saving access rules.
forge/identity/passkey_test.go +4−2
| @@ -5,6 +5,8 @@ import ( | |||
| 5 | 5 | "errors" | |
| 6 | 6 | "testing" | |
| 7 | 7 | "time" | |
| 8 | |||
| 9 | "github.com/rodent-software/vole/forge/access" | ||
| 8 | 10 | ) | |
| 9 | 11 | ||
| 10 | 12 | func testCredential(t *testing.T, label string) Credential { | |
| @@ -287,11 +289,11 @@ func TestCreatePasskeySelfRegistration(t *testing.T) { | |||
| 287 | 289 | t.Parallel() | |
| 288 | 290 | s := newStore(t) | |
| 289 | 291 | cred := testCredential(t, "first passkey") | |
| 290 | a, err := s.CreatePasskey("alice", cred, "self-registration") | ||
| 292 | a, err := s.CreatePasskeyWithRole("alice", access.Contribute, cred, "self-registration") | ||
| 291 | 293 | if err != nil { | |
| 292 | 294 | t.Fatal(err) | |
| 293 | 295 | } | |
| 294 | if a.Name != "alice" || len(a.Keys) != 0 { | ||
| 296 | if a.Name != "alice" || len(a.Keys) != 0 || a.Role != access.Contribute { | ||
| 295 | 297 | t.Fatalf("created account = %+v", a) | |
| 296 | 298 | } | |
| 297 | 299 | creds, err := s.Credentials(a.Name) | |