Container-Image veröffentlichen / container (push) v1.4.0 wurde manuell veröffentlicht und verifiziert
62 lines
5.5 KiB
HTML
62 lines
5.5 KiB
HTML
{{define "system"}}{{template "layout" .}}{{end}}
|
||
{{define "content"}}
|
||
<header class="page-heading system-heading">
|
||
<div><span class="page-kicker">Wartung</span><h1>Software-Update</h1><p>Version prüfen und die Instanz kontrolliert aktualisieren.</p></div>
|
||
<form action="/system/check" method="post"><input type="hidden" name="csrf" value="{{.CSRF}}"><button class="button button-quiet software-check-button" type="submit"><i aria-hidden="true">↻</i> Nach Update suchen</button></form>
|
||
</header>
|
||
|
||
<section class="software-version-card {{if .SoftwareUpdate.UpdateAvailable}}has-update{{end}}">
|
||
<div class="software-version-visual" aria-hidden="true"><span>DC</span><i></i></div>
|
||
<div class="software-version-copy">
|
||
<div class="software-version-values">
|
||
<div class="software-version-cell"><span>Installiert</span><strong>{{.SoftwareUpdate.CurrentVersion}}</strong></div>
|
||
<div class="software-version-cell is-latest"><span>Verfügbar</span><strong>{{if .SoftwareUpdate.LatestVersion}}{{.SoftwareUpdate.LatestVersion}}{{else}}–{{end}}</strong></div>
|
||
</div>
|
||
<p class="software-version-state">{{if .SoftwareUpdate.UpdateAvailable}}Eine neue stabile Version ist verfügbar.{{else if .SoftwareUpdate.LastError}}Die letzte Prüfung ist fehlgeschlagen; der Dienst läuft normal weiter.{{else if .SoftwareUpdate.LastCheckedAt}}Kein neues Update verfügbar.{{else}}Noch nicht nach Updates gesucht.{{end}}</p>
|
||
<div class="software-version-meta"><span>Letzte Prüfung <b>{{formatTime .SoftwareUpdate.LastCheckedAt}}</b></span><span>Update-Agent <b>{{if not .SoftwareUpdate.AgentAvailable}}nicht erreichbar{{else if not .SoftwareUpdate.AgentCompatible}}Compose nötig{{else}}bereit{{if .SoftwareUpdate.AgentVersion}} · {{.SoftwareUpdate.AgentVersion}}{{end}}{{end}}</b></span></div>
|
||
{{if .SoftwareUpdate.LastError}}<div class="update-inline-warning"><span>!</span><p><strong>Prüfung fehlgeschlagen</strong><small>{{.SoftwareUpdate.LastError}}</small></p></div>{{end}}
|
||
{{if .SoftwareUpdate.ComposeSyncRequired}}<div class="update-inline-warning"><span>↻</span><p><strong>Compose einmal aktualisieren</strong><small>Der installierte Agent unterstützt die sichere Update-Basis noch nicht.</small></p></div>{{end}}
|
||
</div>
|
||
<div class="software-version-action">
|
||
{{if and .SoftwareUpdate.UpdateAvailable .SoftwareUpdate.AgentCompatible}}
|
||
<form action="/system/update" method="post" data-software-update-form>
|
||
<input type="hidden" name="csrf" value="{{.CSRF}}"><input type="hidden" name="version" value="{{.SoftwareUpdate.LatestVersion}}">
|
||
<button class="button button-primary software-update-button" type="submit"><span>Jetzt aktualisieren</span><i aria-hidden="true">↗</i></button>
|
||
</form>
|
||
{{else if and .SoftwareUpdate.UpdateAvailable .SoftwareUpdate.ComposeSyncRequired}}
|
||
<span class="status-pill status-warn">Compose aktualisieren</span>
|
||
{{else if .SoftwareUpdate.UpdateAvailable}}
|
||
<span class="status-pill status-warn">Agent nicht erreichbar</span>
|
||
{{else}}
|
||
<span class="status-pill {{if or .SoftwareUpdate.LastError (not .SoftwareUpdate.CredentialConfigured) .SoftwareUpdate.ComposeSyncRequired}}status-warn{{else}}status-good{{end}}">{{if not .SoftwareUpdate.CredentialConfigured}}Zugang fehlt{{else if .SoftwareUpdate.LastError}}Prüfung fehlgeschlagen{{else if .SoftwareUpdate.ComposeSyncRequired}}Compose aktualisieren{{else if .SoftwareUpdate.LastCheckedAt}}Aktuell{{else}}Bereit{{end}}</span>
|
||
{{end}}
|
||
</div>
|
||
</section>
|
||
|
||
<section class="panel update-credential-panel" id="update-access">
|
||
<div class="panel-heading"><div><span class="section-label">Zugang</span><h2>{{if .SoftwareUpdate.CredentialConfigured}}Update-Zugang ersetzen{{else}}Update-Zugang einrichten{{end}}</h2></div>{{if .SoftwareUpdate.CredentialConfigured}}<span class="status-pill status-good">verschlüsselt</span>{{end}}</div>
|
||
<form action="/system/update-credential" method="post" class="stacked-form">
|
||
<input type="hidden" name="csrf" value="{{.CSRF}}">
|
||
<div class="form-grid"><label>Gitea-Benutzername <input name="registry_username" autocomplete="username" maxlength="128" required></label><label>Token <input name="registry_token" type="password" autocomplete="new-password" minlength="8" maxlength="1024" required></label></div>
|
||
<label>Admin-Passwort bestätigen <input name="current_password" type="password" autocomplete="current-password" maxlength="128" required></label>
|
||
<div class="form-actions"><button class="button button-primary" type="submit">Zugang sicher speichern</button></div>
|
||
</form>
|
||
</section>
|
||
|
||
<div class="software-update-overlay" data-software-update-overlay hidden role="dialog" aria-modal="true" aria-labelledby="software-update-title">
|
||
<div class="software-update-dialog">
|
||
<div class="software-update-orbit" aria-hidden="true"><span>DC</span><i></i></div>
|
||
<span class="section-label">Systemupdate</span>
|
||
<h2 id="software-update-title">Update wird vorbereitet</h2>
|
||
<p data-software-update-message>Das neue Container-Image wird geladen. DNS-Daten und Secrets bleiben erhalten.</p>
|
||
<div class="software-update-progress"><i data-software-update-progress></i></div>
|
||
<ol class="software-update-phases" aria-label="Update-Fortschritt">
|
||
<li data-update-phase="pulling"><span>01</span>Image laden</li>
|
||
<li data-update-phase="restarting"><span>02</span>Dienst wechseln</li>
|
||
<li data-update-phase="verifying"><span>03</span>Healthcheck</li>
|
||
</ol>
|
||
<button class="button button-quiet" type="button" data-software-update-close hidden>Schließen</button>
|
||
</div>
|
||
</div>
|
||
{{end}}
|