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.
Fold admin work into repository settings and a Users page
9579c1f976254fdeb2ec73d4016db5b25c7921c1 · Keenan Nemetz · 14d ago · parent 381d6aac
Fold admin work into repository settings and a Users page Remove the combined /admin tabs. Per-repository access rules now live on the repository's Settings page, visible to instance admins while repository details and the danger zone stay with repository admins. User management moves to /users, linked from the top navigation only for instance admins, and repository creation moves to /repos/new. Align the invite, danger-zone, and settings forms with the shared card-and-actions layout, and make settings section headings consistent.
server/web/templates/layout.html +1−1
| @@ -18,6 +18,7 @@ | |||
| 18 | 18 | <nav class="topnav" aria-label="Global"> | |
| 19 | 19 | <a class="{{if eq .Section "runners"}}active{{end}}" href="/runners"{{if eq .Section "runners"}} aria-current="page"{{end}}>{{icon "server"}}Runners</a> | |
| 20 | 20 | <a class="{{if eq .Section "activity"}}active{{end}}" href="/activity"{{if eq .Section "activity"}} aria-current="page"{{end}}>{{icon "activity"}}Activity</a> | |
| 21 | {{if .InstanceAdmin}}<a class="{{if eq .Section "users"}}active{{end}}" href="/users"{{if eq .Section "users"}} aria-current="page"{{end}}>{{icon "users"}}Users</a>{{end}} | ||
| 21 | 22 | </nav> | |
| 22 | 23 | <form class="topsearch" method="get" action="/" role="search"> | |
| 23 | 24 | <input type="search" name="q" value="{{.Query}}" placeholder="Search repositories" aria-label="Search repositories"> | |
| @@ -32,7 +33,6 @@ | |||
| 32 | 33 | </summary> | |
| 33 | 34 | <div class="account-pop"> | |
| 34 | 35 | <a href="/account">{{icon "user"}}Account</a> | |
| 35 | {{if .InstanceAdmin}}<a href="/admin">{{icon "sliders-horizontal"}}Admin</a>{{end}} | ||
| 36 | 36 | <a href="/status">{{icon "info"}}Status</a> | |
| 37 | 37 | <div class="account-sep"></div> | |
| 38 | 38 | <form method="post" action="/logout"><input type="hidden" name="csrf" value="{{.CSRF}}"><button type="submit">{{icon "log-out"}}Log out</button></form> | |