c0cdd95e56
Hub: GFS retention (7d/4w/3m, ~14 versions) in new infra_backup_versions table. Recovery endpoint supports ?version=ID. New /versions API endpoint. Dashboard shows backup history. Controller: local drive backups rotated into history/ (last 5 versions). Setup wizard shows version picker for Hub restores when multiple versions exist. Scan results enriched with app names, disk count, history badge. Local restore supports historical versions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
57 lines
2.7 KiB
HTML
57 lines
2.7 KiB
HTML
{{define "setup_hub_versions"}}
|
|
<!DOCTYPE html>
|
|
<html lang="hu">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Mentés kiválasztása — Felhom</title>
|
|
<link rel="stylesheet" href="/static/style.css">
|
|
</head>
|
|
<body class="login-body">
|
|
<div class="setup-container">
|
|
<div class="setup-header">
|
|
<img src="/static/felhom-logo.svg" alt="Felhom.eu" style="width: 120px;">
|
|
<h1>Visszaállítás a Hub-ról</h1>
|
|
<p style="color: var(--text-secondary, #8b949e);">Válasszon a mentés-verziók közül.</p>
|
|
</div>
|
|
|
|
{{if .Error}}<div class="alert alert-error">{{.Error}}</div>{{end}}
|
|
|
|
<div class="setup-card">
|
|
<form method="POST" action="/setup/hub-restore/select" id="version-form">
|
|
<input type="hidden" name="_csrf" value="{{.CSRF}}">
|
|
<table style="width: 100%; border-collapse: collapse;">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 2rem;"></th>
|
|
<th style="text-align: left; padding: 0.5rem;">Dátum</th>
|
|
<th style="text-align: left; padding: 0.5rem;">Alkalmazások</th>
|
|
<th style="text-align: right; padding: 0.5rem;">Lemezek</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range $i, $v := .Versions}}
|
|
<tr style="border-top: 1px solid var(--border, #30363d);">
|
|
<td style="padding: 0.5rem;">
|
|
<input type="radio" name="version_id" value="{{$v.ID}}" {{if eq $i 0}}checked{{end}}>
|
|
</td>
|
|
<td style="padding: 0.5rem;">{{$v.CreatedAt}}{{if eq $i 0}} <span class="badge badge-ok" style="font-size: 0.75em;">legújabb</span>{{end}}</td>
|
|
<td style="padding: 0.5rem;">
|
|
{{$v.StackCount}}{{if $v.StackNames}}: {{range $j, $n := $v.StackNames}}{{if $j}}, {{end}}{{$n}}{{end}}{{end}}
|
|
</td>
|
|
<td style="text-align: right; padding: 0.5rem;">{{$v.DiskCount}}</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
<div style="display: flex; gap: 0.75rem; margin-top: 1.5rem;">
|
|
<button type="submit" class="btn btn-primary">Visszaállítás</button>
|
|
<a href="/setup" class="btn btn-outline">Vissza</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
{{end}}
|