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.

Allow opt-in open registration

f920a9f12c4ff12e4f47497a084f0201d8914181 · Keenan Nemetz · 15d ago · parent 6c84d387

Allow opt-in open registration

Add open_registration, off by default and effective only with an HTTPS public_url. /register creates an account and its first passkey without an administrator; the account row is written only after the WebAuthn ceremony succeeds, so an abandoned registration reserves no name.

New accounts start with no repository-specific ACL entries. Add self-service SSH key management on the Account page so a registered contributor can add the key needed to push to their contributor namespace.

Cover registration enablement, name validation, deferred account creation, and self-service key add/remove in tests, and document the policy.

docs/operations.md +3

@@ -83,6 +83,9 @@ repository's `vole` branch.
83 83 issue, comment, and approval writes; HTTP Git clone remains read-only. There is
84 84 no password store. Restoring an old `users.db` should be followed by
85 85 `vole admin user revoke-sessions --all`.
86 - Open registration creates accounts without email verification. Leave
87 `open_registration` off unless the instance is meant to accept public
88 contributions.
86 89 - Remote administration uses the same SSH listener and key. Only active instance
87 90 admins can run it, and every admin command is audited.
88 91 - Private repositories return `404` on the web and over HTTP, so visitors cannot