====== Mermaid-Labor ====== ===== Versuch 001 — Borg-Infrastruktur ===== flowchart LR A["OMNISRV
Borg Backup"] --> B["wg-easy
WireGuard"] B --> C["s2s-home0"] C --> D["HOME0"] D --> E["OMV8"] E --> F[("Borg Repository")] A -. "Readiness" .-> E
===== Versuch 002 — Borg Readiness ===== flowchart TD A([Readiness startet]) --> B["Nächste konfigurierte Ziel-IP prüfen"] B --> C{"Ziel erreichbar?"} C -- "Ja" --> D["BORG_TARGET_IP setzen"] D --> E["Grace-Time abwarten"] E --> F([Borg-Backup freigegeben]) C -- "Nein" --> G{"Weitere Ziel-IP vorhanden?"} G -- "Ja" --> B G -- "Nein" --> H["60 Sekunden warten"] H --> B ===== Versuch 003 — Systemstart bis Borg-Backup ===== gantt title OMNISRV — Vom Systemstart bis zum Borg-Backup dateFormat HH:mm axisFormat %H:%M section System OMNISRV startet :a1, 00:00, 1m Docker initialisiert :a2, after a1, 1m section WireGuard wg-easy startet :w1, after a1, 1m Tunnel s2s-home0 kommt hoch :w2, after w1, 2m section Readiness Ziel noch nicht erreichbar :crit, r1, after a1, 3m OMV8 erkannt :milestone, r2, after r1, 0m Grace-Time :r3, after r2, 3m section Backup Borg freigegeben :milestone, b1, after r3, 0m Borg-Backup :b2, after b1, 2m ===== Versuch 004 — Erklärung und Detailvergrößerung ===== flowchart TD A([Readiness startet]) --> B["Nächste konfigurierte Ziel-IP prüfen"] B --> C{"Ziel erreichbar?"} C -- "Ja" --> D["BORG_TARGET_IP setzen"] D --> E["Grace-Time abwarten"] E --> F([Borg-Backup freigegeben]) C -- "Nein" --> G{"Weitere Ziel-IP vorhanden?"} G -- "Ja" --> B G -- "Nein" --> H["60 Sekunden warten"] H --> B ==== Was macht die Readiness? ==== Die Readiness prüft nach dem Systemstart, ob das konfigurierte Borg-Ziel tatsächlich erreichbar ist. Die Readiness führt **selbst kein Backup** aus. Ihre Aufgabe endet mit der Freigabe des nachfolgenden Backup-Prozesses. Dabei verlässt sie sich nicht darauf, dass ein Container lediglich als gestartet oder HEALTHY gemeldet wird. **Wichtig für die Fehlersuche** Ein laufender **''wg-easy''**-Container bedeutet noch nicht automatisch, dass das entfernte Borg-Ziel über den Tunnel erreichbar ist. Ist keine konfigurierte Ziel-IP erreichbar, wartet die Readiness 60 Sekunden und beginnt anschließend einen neuen Prüflauf. ===== Versuch 005 — Readiness diagonal ===== flowchart TD subgraph R1[" "] direction LR A([Readiness startet]) --> B["Nächste konfigurierte Ziel-IP prüfen"] end subgraph R2[" "] direction LR C{"Ziel erreichbar?"} -->|Ja| D["BORG_TARGET_IP setzen"] end subgraph R3[" "] direction LR G{"Weitere Ziel-IP vorhanden?"} E["Grace-Time abwarten"] --> F([Borg-Backup freigegeben]) end B --> C C -->|Nein| G G -->|Ja| B G -->|Nein| H["60 Sekunden warten"] H --> B D --> E style R1 fill:none,stroke:none style R2 fill:none,stroke:none style R3 fill:none,stroke:none