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.
Let instance admins create repositories
455835e7b5d329ca64c96234dfffc7b6702f370e · Keenan Nemetz · 15d ago · parent 395554f4
Let instance admins create repositories The Admin section gains a New repository form: name, owner, and description. Creation uses the same store method as the CLI, seeds the owner as repo admin, updates the index, is audited, and lands on the new repository's access editor. This completes the instance-admin slice in the UI plan.
docs/ui-plan.md +9−10
| @@ -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 and users (invite, admin, | ||
| 72 | retire, keys, sessions) are done; repository create is still todo | ||
| 71 | - done — instance admin: repository creation and access rules, users, | ||
| 72 | invitations, admin grants, keys, and sessions | ||
| 73 | 73 | - todo — health/status page (currently JSON at `/healthz`) | |
| 74 | 74 | ||
| 75 | 75 | ### Repository | |
| @@ -118,10 +118,9 @@ Status: `done` exists today · `wip` in progress · `todo` missing. | |||
| 118 | 118 | 4. **Activity and settings** — done: repository activity feed with state | |
| 119 | 119 | changes and actor/assignee filters, repository settings (description, default | |
| 120 | 120 | branch, visibility, danger zone), and the instance-admin ACL editor. | |
| 121 | 5. **Instance admin** — access rules are done at | ||
| 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. | ||
| 121 | 5. **Instance admin** — done: repository create, access rules at | ||
| 122 | `/admin/repos/{name}/access`, rename/delete in repository settings, and | ||
| 123 | `/admin/users` for invitations, admin grants, retirement, keys, and sessions. | ||
| 125 | 124 | 6. **CI** — workflow/job list, rerun/cancel. | |
| 126 | 125 | 7. **Polish** — search, responsive pass, accessibility pass, light theme, | |
| 127 | 126 | empty states, pagination. | |
| @@ -166,7 +165,7 @@ state changes, commits, releases, and runs. | |||
| 166 | 165 | ||
| 167 | 166 | ## Admin scope | |
| 168 | 167 | ||
| 169 | Instance admin covers the operations that are currently CLI-only: | ||
| 168 | Instance admin covers the operations that used to be CLI-only: | ||
| 170 | 169 | ||
| 171 | 170 | - users: create by invitation, retire, grant/revoke admin; inspect/revoke keys | |
| 172 | 171 | and sessions | |
| @@ -182,9 +181,9 @@ visibility, danger zone). Every admin write uses the existing stores, CSRF, and | |||
| 182 | 181 | the audit log; the web is a second surface over the same operations, not a | |
| 183 | 182 | second implementation. | |
| 184 | 183 | ||
| 185 | The first instance-admin surface is the per-repository ACL editor at | ||
| 186 | `/admin/repos/{name}/access`; the rest of the operations above are still CLI | ||
| 187 | only. | ||
| 184 | The web admin covers all of the operations above: repository create, the | ||
| 185 | per-repository ACL editor, rename/delete, and users with their keys, sessions, | ||
| 186 | and enrollment links. | ||
| 188 | 187 | ||
| 189 | 188 | ## Icons | |
| 190 | 189 | ||