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/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 browser auth, contributor access, and gated CI

6c84d387e5f608360e30484a1a5b1cff41076850 · Keenan Nemetz · 16d ago · parent c36d5073

Add browser auth, contributor access, and gated CI

Browser sign-in now uses passkeys. Enrollment links are one-time, sessions are hashed in users.db, and issue/comment/approval writes use the session account. HTTPS public_url is required for WebAuthn.

Add the contributor role between read and maintain. Contributors can discuss and open change requests, and may push only refs/heads/contrib/<account-id>/. Contributor CI is held per commit until a maintainer allows the exact tip from the repository page.

Rename the write role to maintain. write remains accepted as the historical spelling, and access.Write remains as a Go alias so existing callers and ACL rows keep working.

Update the web, CLI, queue schema, and guides for the new flows, and cover the role, namespace, auth, and CI-gating paths in tests.

go.mod +9

@@ -4,6 +4,7 @@ go 1.27
4 4
5 5 require (
6 6 github.com/BurntSushi/toml v1.6.0
7 github.com/go-webauthn/webauthn v0.18.2
7 8 github.com/microcosm-cc/bluemonday v1.0.27
8 9 github.com/yuin/goldmark v1.8.6
9 10 golang.org/x/crypto v0.58.0
@@ -14,11 +15,19 @@ require (
14 15 require (
15 16 github.com/aymerick/douceur v0.2.0 // indirect
16 17 github.com/dustin/go-humanize v1.1.0 // indirect
18 github.com/fxamacker/cbor/v2 v2.9.4 // indirect
19 github.com/go-viper/mapstructure/v2 v2.5.0 // indirect
20 github.com/go-webauthn/x v0.3.1 // indirect
21 github.com/golang-jwt/jwt/v5 v5.3.1 // indirect
22 github.com/google/go-tpm v0.9.8 // indirect
17 23 github.com/google/uuid v1.6.0 // indirect
18 24 github.com/gorilla/css v1.0.1 // indirect
19 25 github.com/mattn/go-isatty v0.0.24 // indirect
20 26 github.com/ncruces/go-strftime v1.1.0 // indirect
27 github.com/philhofer/fwd v1.2.0 // indirect
21 28 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
29 github.com/tinylib/msgp v1.6.4 // indirect
30 github.com/x448/float16 v0.8.4 // indirect
22 31 golang.org/x/net v0.60.0 // indirect
23 32 golang.org/x/sys v0.49.0 // indirect
24 33 modernc.org/libc v1.79.0 // indirect