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/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.

Expand the admin status page into an operational dashboard

4506a4d3d279556435fdd414265e7499c3dada16 · Keenan Nemetz · 14d ago · parent 2e024cc9

server/web/templates/runners.html −44

@@ -1,47 +1,3 @@
1 {{define "runners"}}
2 {{template "header" .}}
3 <div class="page-head">
4 <div class="page-head-main">
5 <h1>Runners</h1>
6 <p class="page-sub">A runner is an SSH connection that leases jobs. Nothing is registered: a channel that is open and being refreshed is a runner, and it disappears when it closes.</p>
7 </div>
8 </div>
9 {{if .Sessions}}
10 <table>
11 <tr><th>Runner</th><th>Takes</th><th>State</th><th>Last seen</th></tr>
12 {{range .Sessions}}
13 <tr>
14 <td>{{.Account}}</td>
15 <td class="muted">{{if .Labels}}{{.Labels}}{{else}}<span class="muted">any job</span>{{end}}</td>
16 <td>{{if .Idle}}<span class="muted">waiting for work</span>{{else if .RunID}}<a href="/r/{{.Repo}}/runs/{{.RunID}}">{{.Job}}</a> on <a href="/r/{{.Repo}}">{{.Repo}}</a>{{else}}<span class="muted">busy</span>{{end}}</td>
17 <td class="muted">{{since .Seen.Unix}}</td>
18 </tr>
19 {{end}}
20 </table>
21 {{else}}
22 <p class="muted">No runner is connected: none has been seen in the last {{.Window}}. Start one
23 with <code>vole runner --remote ssh://git@&lt;host&gt;</code>. If a job asks for a machine with
24 <code>runs-on</code>, the runner has to carry that label with <code>--label</code>.</p>
25 {{end}}
26
27 <h2>Queue</h2>
28 {{if .Queue}}
29 <table>
30 <tr><th>Repository</th><th>Waiting</th><th>Running</th></tr>
31 {{range .Queue}}
32 <tr>
33 <td><a href="/r/{{.Name}}">{{.Name}}</a></td>
34 <td class="muted">{{.Queued}}</td>
35 <td class="muted">{{.Running}}{{if .Cap}}{{if ge .Running .Cap}} of {{.Cap}} <span class="muted">(at the cap)</span>{{else}} of {{.Cap}}{{end}}{{end}}</td>
36 </tr>
37 {{end}}
38 </table>
39 {{else}}
40 <p class="muted">Nothing is waiting and nothing is running.</p>
41 {{end}}
42 {{template "footer" .}}
43 {{end}}
44
45 1 {{define "run"}}
46 2 {{template "header" .}}
47 3 {{template "repohead" (nav .Name "runs" .CanAdmin)}}