OXYGENHUB
# ea85398a51bc oxygenhub / templates / admin_storage.html
1.5 KiB · HTML · last changed Organisation webhooks under the organisation's settings, sharing the repository webhook code; an admin storage page with sizes, loose objects and packs, and maintenance (oxy gc) per repository or for all 1 month ago source blame history raw
8fb35df7 Andy McCall ↶ 1
{% extends "base.html" %}
2
{% block title %}Storage · Administration{% endblock %}
3
{% block content %}
4
<div class="head"><h1>Storage <small>{{ rows.len() }} repositories · {{ total|bytes }}</small></h1></div>
5
<p><a href="/admin">← administration</a></p>
6
{% if let Some(n) = notice %}<p class="note">{{ n }}</p>{% endif %}
7
{% if let Some(e) = error %}<p class="error">{{ e }}</p>{% endif %}
8
<p class="small mute">Maintenance runs <code>oxy gc</code> on the hub's copy: loose objects go into a pack, and unreachable objects older than the grace period are pruned. Each repository is locked for writing while it runs.</p>
9
<form class="tiny" method="post" action="/admin/storage"><input type="hidden" name="_csrf" value="{{ shell.csrf }}"><input type="hidden" name="repo" value="*"><button type="submit">MAINTAIN EVERY REPOSITORY</button></form>
10
<table class="list">
11
  <thead><tr><th>Repository</th><th>On disk</th><th>Loose objects</th><th>Packs</th><th></th></tr></thead>
12
  <tbody>
13
  {% for r in rows %}
14
  <tr><td><a href="/{{ r.slug }}">{{ r.slug }}</a></td><td>{{ r.bytes|bytes }}</td><td>{{ r.loose }}{% if r.loose > 1000 %} <span class="tag warn">pack me</span>{% endif %}</td><td>{{ r.packs }}</td>
15
  <td><form class="tiny" method="post" action="/admin/storage"><input type="hidden" name="_csrf" value="{{ shell.csrf }}"><input type="hidden" name="repo" value="{{ r.slug }}"><button type="submit">maintain</button></form></td></tr>
16
  {% endfor %}
17
  </tbody>
18
</table>
19
{% endblock %}