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.
Unify account terminology and clarify ACL commands
2e024cc96a391c0959ad2914caeed78b600fcfc1 · Keenan Nemetz · 14d ago · parent ab326d3a
Unify account terminology and clarify ACL commands Use account consistently in the CLI, help, docs, and remote admin messages. Rename the CLI account command from user to account while retaining the old user spelling as an alias. Replace positional ACL mutations with explicit verbs such as set-role, protect add, runners remove, and checks enable. Update local and remote admin parsing, hints, docs, and tests. Tidy repository filter alignment and remove duplicated issue/change counts from page subtitles.
docs/operations.md +4−4
| @@ -9,13 +9,13 @@ These are the tasks that keep an instance healthy. | |||
| 9 | 9 | Back up the instance state: | |
| 10 | 10 | ||
| 11 | 11 | ```sh | |
| 12 | vole admin user backup backup/users.db # accounts, keys, passkeys, sessions, rules, locks | ||
| 12 | vole admin account backup backup/users.db # accounts, keys, passkeys, sessions, rules, locks | ||
| 13 | 13 | cp data/ssh_host_ed25519_key backup/ # the SSH host key | |
| 14 | 14 | cp -a data/acme backup/ 2>/dev/null # TLS account key and certificates, if ACME is on | |
| 15 | 15 | cp data/audit.log backup/ 2>/dev/null # history of admin actions | |
| 16 | 16 | ``` | |
| 17 | 17 | ||
| 18 | `vole admin user backup` takes a consistent copy, even while Vole is running. Copying | ||
| 18 | `vole admin account backup` takes a consistent copy, even while Vole is running. Copying | ||
| 19 | 19 | `users.db` by hand can miss recent changes that have not been written to the main | |
| 20 | 20 | database file yet. | |
| 21 | 21 | ||
| @@ -34,7 +34,7 @@ with them because they are stored in Git. | |||
| 34 | 34 | `data/acme/` if the instance obtains its own TLS certificates. | |
| 35 | 35 | 2. Restore the repositories under `data/repos/`. | |
| 36 | 36 | 3. Run `vole admin index rebuild`. | |
| 37 | 4. Run `vole admin user revoke-sessions --all` so sessions from the restored copy | ||
| 37 | 4. Run `vole admin account revoke-sessions --all` so sessions from the restored copy | ||
| 38 | 38 | cannot outlive their cookies. | |
| 39 | 39 | 5. Start `vole serve`. | |
| 40 | 40 | ||
| @@ -99,7 +99,7 @@ repository's `vole` branch. | |||
| 99 | 99 | - The web interface is read-only for anonymous visitors. Passkey sign-in enables | |
| 100 | 100 | issue, comment, and approval writes; HTTP Git clone remains read-only. There is | |
| 101 | 101 | no password store. Restoring an old `users.db` should be followed by | |
| 102 | `vole admin user revoke-sessions --all`. | ||
| 102 | `vole admin account revoke-sessions --all`. | ||
| 103 | 103 | - Account names are permanent. They name contributor branches, so an upgrade from | |
| 104 | 104 | a build where names could change keeps each account's current name and forgets | |
| 105 | 105 | the former ones. | |