sorb's call: Gitea on rohana is a push mirror of the canonical git.lab, so a nightly gitea dump would back up a copy — effort not justified, cron stays off. Documented the one non-mirror asset for the record: the container registry holds four images the cluster pulls (incl. threadnet-web and the backup image itself), which is rebuild time rather than data loss and is covered by #0022/#0033. For #0030, sorb confirms the age key is also in the password vault, dissolving the circular dependency found earlier. Noted that the vault is now part of the restore path and must lead the procedure. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
74f4fa91f0
commit
87aab7948f
@@ -2,9 +2,9 @@
|
||||
|
||||
<!-- Generated by scripts/gen_status.py — do not edit. -->
|
||||
|
||||
## Issues (33 open, 13 closed)
|
||||
## Issues (32 open, 14 closed)
|
||||
|
||||
Verteilung: M1 8 · M2 19 · M4 2 · M5 4
|
||||
Verteilung: M1 7 · M2 19 · M4 2 · M5 4
|
||||
|
||||
| Issue | Status | Meilenstein | Priorität | Title |
|
||||
|---|---|---|---|---|
|
||||
@@ -12,7 +12,6 @@ Verteilung: M1 8 · M2 19 · M4 2 · M5 4
|
||||
| [0004](docs/issues/0004-overmind-02-e1000e-nic-hang-beobachtung-nach.md) | waiting | M1 | low | OVERMIND-02: e1000e-NIC-Hang — Beobachtung nach EEE-Fix + Firmware-Update |
|
||||
| [0008](docs/issues/0008-cfgmon-03-prometheus-remote-write-und-loki.md) | waiting | M1 | medium | CFGMON-03: Prometheus-Remote-Write und Loki öffentlich ohne Auth — Weg A, nachgelagerte Prüfung |
|
||||
| [0009](docs/issues/0009-cfgmon-04-grafana-admin-credentials-aus-env.md) | open | M2 | low | CFGMON-04: Grafana-Admin-Credentials aus .env gelten nicht für die HTTP-API |
|
||||
| [0010](docs/issues/0010-cfgmon-09-gitea-backups-off-host-borg-storage.md) | in-progress | M1 | medium | CFGMON-09: Gitea-Backups off-host (Borg/Storage Box) — Backup-Cron ist DEAKTIVIERT |
|
||||
| [0014](docs/issues/0014-cfgmon-14-root-zugang-ueber-die-docker-gruppe.md) | waiting | M2 | low | CFGMON-14: Root-Zugang über die docker-Gruppe umgeht sudo und hinterlässt keine Spur |
|
||||
| [0015](docs/issues/0015-cfgmon-15-token-hygiene-einmal-tokens-der.md) | next | M2 | medium | CFGMON-15: Token-Hygiene — Einmal-Tokens der LABNET-02-Nacht widerrufen |
|
||||
| [0018](docs/issues/0018-doc-01-wiki-rollout-abschliessen-ci-freigaben.md) | open | M2 | low | DOC-01: Wiki-Rollout abschließen — CI-Freigaben, Zeitplan, Dokploy-Stack, wiki.lab |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
type: issue
|
||||
id: "0010"
|
||||
status: in-progress
|
||||
status: rejected
|
||||
created: 2026-08-01
|
||||
milestone: M1
|
||||
priority: medium
|
||||
@@ -62,3 +62,32 @@ potenziell unlesbarer Sicherungen.
|
||||
|
||||
**Offen (nur mit Host-Zugang, kein SSH zu CFGMON von hier):** Cron reaktivieren; SSH-Key auf
|
||||
CFGMON erzeugen + in der Storage Box hinterlegen; `gitea-backup.sh` auf Borg umstellen.
|
||||
|
||||
## Verworfen 2026-08-14 — Gitea braucht kein eigenes Backup (Entscheidung sorb)
|
||||
|
||||
**Begründung:** Gitea auf rohana ist **Push-Mirror**, nicht Quelle. Kanonisch ist git.lab
|
||||
(ADR-0001); alle gespiegelten Repos lassen sich nach einem Totalverlust schlicht neu
|
||||
befüllen. Die Issues liegen seit der Migration ohnehin auf git.lab, der Gitea-Tracker ist
|
||||
leer. Ein nächtlicher `gitea dump` sichert damit im Wesentlichen eine Kopie — der Aufwand
|
||||
(Borg-Repo, Host-SSH-Key, Script-Umbau) steht in keinem Verhältnis.
|
||||
|
||||
Der auskommentierte Cron bleibt entsprechend aus; die Platte (73 % voll) wird nicht weiter
|
||||
belastet, der Altstand `/opt/backup/gitea-dump-2026-07-30.tar.gz` kann weg.
|
||||
|
||||
### Dokumentierte Nuance: was auf rohana *kein* Spiegel ist
|
||||
|
||||
Nicht aus git.lab wiederherstellbar sind die **Gitea-Packages (Container-Registry)** — der
|
||||
Cluster zieht vier Images ausschließlich von dort:
|
||||
|
||||
| Image | Rolle |
|
||||
|---|---|
|
||||
| `threadnet-web:v0.4.3` | Element-Web-Fork, den die Nutzer im Browser laden |
|
||||
| `axion-backup:v2` | führt die drei nächtlichen Borg-Backups aus (7 Pods) |
|
||||
| `axion-secret-rotation:v1` | TURN-Secret-Rotation |
|
||||
| `clamav-http-scanner:v1.0.0` | client-seitiges Scannen |
|
||||
|
||||
Bei Verlust von rohana laufende Pods weiter, aber **neue Pods können nicht mehr pullen**, bis
|
||||
die Images neu gebaut sind — und Flux verliert zugleich seine Source. Das ist **kein
|
||||
Datenverlust** (alle vier sind aus dem Quellcode reproduzierbar: Dockerfiles in gitops bzw.
|
||||
den Fork-Repos), sondern **Wiederherstellungszeit**. Bewusst akzeptiert; die Reproduzierbarkeit
|
||||
des Build-Wegs ist ohnehin über #0022/#0033 adressiert.
|
||||
|
||||
@@ -92,3 +92,23 @@ selbst ungesichert ist.
|
||||
2. Restore-Verfahren schreiben (Reihenfolge, Herkunft von age-Key und kubeconfig).
|
||||
3. Einmal gegen eine Wegwerf-Umgebung durchspielen.
|
||||
4. Ergebnis nach `verfahren/` und Wiederholungsrhythmus festlegen.
|
||||
|
||||
## Update 2026-08-14 — age-Schlüssel ist ausgelagert (Befund entschärft)
|
||||
|
||||
sorb bestätigt: der private age-Schlüssel liegt **zusätzlich im Passwort-Vault**, also außerhalb
|
||||
von Cluster und Mac. Damit ist die oben beschriebene Zirkelabhängigkeit **aufgelöst** — ein
|
||||
gleichzeitiger Verlust von Hetzner-Host und Laptop macht die Borg-Repos nicht mehr unlesbar.
|
||||
Der Befund bleibt hier stehen, weil die Kette (Backup lesen → Borg-Passphrase → SOPS → **ein**
|
||||
age-Schlüssel) beim Schreiben des Restore-Verfahrens explizit auftauchen muss: der Vault ist
|
||||
Teil des Wiederherstellungswegs, nicht nur Nebensache.
|
||||
|
||||
**Zu ergänzen beim Verfahren (Schritt 2):** Fundort des Schlüssels benennen (nur *wo*, nie der
|
||||
Wert) und im Restore-Ablauf als ersten Schritt führen — ohne ihn ist kein weiterer Schritt
|
||||
möglich.
|
||||
|
||||
## Restaufwand nach heutiger Bestandsaufnahme
|
||||
|
||||
Schritt 1 (Bestandsaufnahme) ist erledigt und positiv ausgefallen; Schritt 2–4 stehen aus:
|
||||
Restore-Verfahren schreiben, einmal gegen eine Wegwerf-Umgebung durchspielen, Ergebnis nach
|
||||
`verfahren/` und Wiederholungsrhythmus. Die Homelab-Seite (GitLab auf Overmind → MinIO/DSM)
|
||||
ist weiterhin ungeprüft — von der Hetzner-Seite aus nicht erreichbar.
|
||||
|
||||
Reference in New Issue
Block a user