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 user administration
395554f453ca31d3bd325920a7011c91230e961c · Keenan Nemetz · 15d ago · parent 8e93a8f0
Add instance user administration Instance admins get an Admin -> Users surface: create an account from a one-time enrollment link, grant or revoke instance admin, retire an account, refresh its invite, inspect keys and sessions, remove a key, and revoke every session. Account creation uses CreateWithInvite, so the browser never asks an operator to paste somebody else's SSH key. Enrollment links are rendered once with no-store and warn when browser login is disabled. Retiring and admin changes keep the store's last-admin guard and audit trail.
docs/ui-plan.md +5−4
| @@ -68,8 +68,8 @@ Status: `done` exists today · `wip` in progress · `todo` missing. | |||
| 68 | 68 | recovered into it, and the detail is logged rather than rendered | |
| 69 | 69 | - todo — search across visible repositories | |
| 70 | 70 | - todo — instance-wide activity feed on the home page (after the repo feed) | |
| 71 | - wip — instance admin: repository ACL editor is done; users, invites, keys, | ||
| 72 | and repository create are still todo | ||
| 71 | - wip — instance admin: repository ACL editor and users (invite, admin, | ||
| 72 | retire, keys, sessions) are done; repository create is still todo | ||
| 73 | 73 | - todo — health/status page (currently JSON at `/healthz`) | |
| 74 | 74 | ||
| 75 | 75 | ### Repository | |
| @@ -119,8 +119,9 @@ Status: `done` exists today · `wip` in progress · `todo` missing. | |||
| 119 | 119 | changes and actor/assignee filters, repository settings (description, default | |
| 120 | 120 | branch, visibility, danger zone), and the instance-admin ACL editor. | |
| 121 | 121 | 5. **Instance admin** — access rules are done at | |
| 122 | `/admin/repos/{name}/access`, and rename/delete live in repository settings. | ||
| 123 | Remaining: users, invitations, keys, and repository create. | ||
| 122 | `/admin/repos/{name}/access`, rename/delete live in repository settings, and | ||
| 123 | `/admin/users` covers invitations, admin grants, retirement, keys, and | ||
| 124 | sessions. Remaining: repository create. | ||
| 124 | 125 | 6. **CI** — workflow/job list, rerun/cancel. | |
| 125 | 126 | 7. **Polish** — search, responsive pass, accessibility pass, light theme, | |
| 126 | 127 | empty states, pagination. | |