docs(restore): mark authelia smoke successful and schedule
This commit is contained in:
@@ -38,7 +38,7 @@ Ziel:
|
||||
- `immich-plan.md`: konkreter Immich-Testplan
|
||||
- `immich-runbook.md`: Operator-Runbook fuer den ersten Immich-Lauf
|
||||
- `immich-compose.test.yml`: isolierte Testinstanz fuer Immich inkl. VectorChord/pgvector-Test-Postgres und Test-Redis
|
||||
- `authelia-restore-test.sh`: Authelia-Restore-Job (Scaffold; Erstlauf noch offen)
|
||||
- `authelia-restore-test.sh`: Authelia-Restore-Job (Config-Smoke; Erstlauf 2026-06-03 erfolgreich)
|
||||
- `authelia-compose.test.yml`: isolierte Testinstanz fuer Authelia inkl. Test-Postgres, Filesystem-Notifier (kein echter SMTP-Versand)
|
||||
- `authelia-plan.md`: konkreter Authelia-Testplan
|
||||
- `authelia-runbook.md`: Operator-Runbook fuer den ersten Authelia-Lauf
|
||||
@@ -87,9 +87,10 @@ Aktuell ist das erste validierte Muster vorhanden.
|
||||
- echter Gitea-Restore am 2026-05-07 erfolgreich verifiziert
|
||||
- echter Paperless-Restore am 2026-05-07 erfolgreich verifiziert
|
||||
- Immich-Restore-Test am 2026-05-27 erfolgreich verifiziert; Test-Postgres wurde nach der VectorChord-Migration am 2026-05-31 auf das produktive Immich-Postgres-Image umgestellt
|
||||
- Authelia-Restore-Smoke am 2026-06-03 erfolgreich verifiziert; bewusst ohne produktiven Dump-Restore wegen Storage-Encryption-Key-Kopplung
|
||||
- Bash-Dispatcher und Bash-Restore-Jobs am 2026-05-07 erfolgreich hostseitig verifiziert
|
||||
- Restore-Lab und Report-Pfade auf dem Host angelegt
|
||||
- V1-Ablauf weiter ohne `ntfy`, mit Bereinigung nach Erfolg
|
||||
- naechster grosser Kandidat ist ein erneuter Immich-Lauf nach VectorChord-Migration mit Zeitmessung; danach in die Rotation aufnehmen
|
||||
- `ntfy`-Wrapper ist fuer Host-Jobs verfuegbar
|
||||
- naechste grosse Kandidaten sind Nextcloud, Mailarchiver, Mealie und Komodo-Mongo-Daten-Restore
|
||||
|
||||
Vor dem ersten echten Testlauf muessen Zielpfade, Quellpfade und Bereinigungsschritte bewusst freigegeben werden.
|
||||
Vor dem ersten echten Testlauf je neuem Dienst muessen Zielpfade, Quellpfade und Bereinigungsschritte bewusst freigegeben werden.
|
||||
|
||||
@@ -82,14 +82,8 @@ Optional spaeter:
|
||||
| identity_validation Schema-Drift | Aelteres/neueres Authelia-Schema erwartet andere Keys | Validate-Config Output lesen, ggf. Test-Block anpassen |
|
||||
| users_database.yml mit produktiven Hashes | Daten werden ins Restore-Lab kopiert, aber niemals gemountet auf produktive Domain | OK; Testpfad ist isoliert, kein Browser-Zugang ueber LAN |
|
||||
|
||||
## Noch offen vor dem ersten echten Lauf
|
||||
|
||||
- Erstlauf `--what-if` als Plan-Check
|
||||
- Erstlauf `--keep-data` zur Beobachtung von SMTP-Startup-Verhalten
|
||||
- Validate-Config-Output zum Authelia-Schema-Stand pruefen
|
||||
- nach Erfolg: Schedule-Eintrag analog zu Vaultwarden (2. Samstag in geraden Monaten als Vorschlag, damit nicht mit Paperless kollidiert)
|
||||
|
||||
## Status
|
||||
|
||||
- Skript- und Compose-Scaffold abgelegt am 2026-06-02
|
||||
- **noch kein echter Mini-Restore gelaufen** - erster Lauf braucht Operator-Freigabe
|
||||
- Erstlauf am 2026-06-03 erfolgreich: Config aus Borg, minimale Test-Konfiguration, frisches Test-Postgres, HTTP `/api/health` `200`, Report `/mnt/user/backups/restore-reports/authelia-2026-06-03.md`
|
||||
- Fuer die Rotation vorgesehen: zweiter Samstag in geraden Monaten, 07:30
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Status
|
||||
|
||||
Skript und Test-Compose sind als **Scaffold** abgelegt. Erstlauf steht noch aus und braucht Operator-Freigabe. Authelia ist Tier-1-kritisch, deshalb startet dieser Test bewusst konservativ: Smoke-Test prueft nur Config-Validate + HTTP-Health, kein vollstaendiger Auth-Flow.
|
||||
Skript und Test-Compose sind validiert. **Erstlauf 2026-06-03 erfolgreich**: Config aus Borg extrahiert, minimale Test-Konfiguration validiert, frisches Test-Postgres gestartet, HTTP `/api/health` `200`. Report: `/mnt/user/backups/restore-reports/authelia-2026-06-03.md`. Authelia ist Tier-1-kritisch, deshalb bleibt dieser Test bewusst konservativ: Smoke-Test prueft nur Config-Validate + HTTP-Health, kein vollstaendiger Auth-Flow und kein produktiver Dump-Restore.
|
||||
|
||||
## Vorbedingungen
|
||||
|
||||
@@ -74,7 +74,7 @@ Produktive Authelia-Container, produktive Secrets, produktive Postgres-DB und pr
|
||||
|
||||
## Schedule
|
||||
|
||||
Aktuell nicht im automatischen Schedule. Vorschlag nach erstem erfolgreichen Lauf: zweimonatlich (2. Samstag in geraden Monaten), damit nicht mit Paperless kollidierend.
|
||||
Empfohlener Schedule nach erfolgreichem Erstlauf: zweimonatlich (2. Samstag in geraden Monaten), damit nicht mit Paperless kollidierend.
|
||||
|
||||
## Festgelegte Entscheidungen
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
TOPIC="${TOPIC:-homelab-info}"
|
||||
TESTS="${TESTS:-vaultwarden gitea paperless}"
|
||||
TESTS="${TESTS:-vaultwarden gitea paperless authelia}"
|
||||
|
||||
pick_random() {
|
||||
printf '%s\n' $TESTS | awk 'BEGIN { srand() } { items[++count] = $0 } END { print items[int(rand() * count) + 1] }'
|
||||
|
||||
@@ -44,9 +44,8 @@ Quartals-Belegung:
|
||||
| Q4 | `vaultwarden` oder `gitea` | Externe Abhaengigkeiten, Hetzner, GitHub-Mirror |
|
||||
|
||||
Bestaetigte Mini-Restores: Vaultwarden, Gitea und Paperless am 2026-05-07;
|
||||
Immich am 2026-05-27; Paperless erneut am 2026-05-31.
|
||||
|
||||
Authelia: Scaffold am 2026-06-02 abgelegt, **erster echter Lauf noch offen**. Vorgeschlagener Schedule-Slot nach Erstlauf: 2. Samstag in geraden Monaten 07:30 (kollisionsfrei zu Paperless).
|
||||
Immich am 2026-05-27; Paperless erneut am 2026-05-31; Authelia am
|
||||
2026-06-03 (Config-Smoke ohne produktiven Dump-Restore).
|
||||
|
||||
## Konkreter Kalender
|
||||
|
||||
@@ -58,6 +57,8 @@ Authelia: Scaffold am 2026-06-02 abgelegt, **erster echter Lauf noch offen**. Vo
|
||||
- `gitea`
|
||||
- Jeden 2. Samstag in ungeraden Monaten, 08:00:
|
||||
- `paperless`
|
||||
- Jeden 2. Samstag in geraden Monaten, 07:30:
|
||||
- `authelia`
|
||||
- Jeden 1. des Monats, 09:00:
|
||||
- `monthly-random-restore.sh`
|
||||
- Quartalsweise am 1. Werktag des Quartals:
|
||||
@@ -75,6 +76,7 @@ Vixie-Cron (Unraid) verknuepft `day-of-month` und `day-of-week` mit **OR**, soba
|
||||
| `restore-vaultwarden-monthly` | `0 7 * * 6` | `[ "$(date +%-d)" -le 7 ]` | erster Samstag im Monat 07:00 |
|
||||
| `restore-gitea-monthly` | `15 7 * * 6` | `d=$(date +%-d); [ "$d" -ge 15 ] && [ "$d" -le 21 ]` | dritter Samstag im Monat 07:15 |
|
||||
| `restore-paperless-bimonthly` | `0 8 * * 6` | `m=$(date +%-m); d=$(date +%-d); case "$m" in 1\|3\|5\|7\|9\|11) [ "$d" -ge 8 ] && [ "$d" -le 14 ];; *) false;; esac` | zweiter Samstag in ungeraden Monaten 08:00 |
|
||||
| `restore-authelia-bimonthly` | `30 7 * * 6` | `m=$(date +%-m); d=$(date +%-d); case "$m" in 2\|4\|6\|8\|10\|12) [ "$d" -ge 8 ] && [ "$d" -le 14 ];; *) false;; esac` | zweiter Samstag in geraden Monaten 07:30 |
|
||||
| `restore-immich-quarterly` | `30 8 * * 0` | `m=$(date +%-m); d=$(date +%-d); case "$m" in 2\|5\|8\|11) [ "$d" -ge 8 ] && [ "$d" -le 14 ];; *) false;; esac` | zweiter Sonntag in Feb/Mai/Aug/Nov 08:30 |
|
||||
| `monthly-random-restore` | `0 9 1 * *` | - | erster Kalendertag im Monat 09:00 |
|
||||
|
||||
|
||||
@@ -117,7 +117,30 @@ exec /mnt/user/services/homelab-infra/ops/restore-tests/run-restore-job-with-ntf
|
||||
immich homelab-info
|
||||
```
|
||||
|
||||
## Script 6 - `monthly-random-restore`
|
||||
## Script 6 - `restore-authelia-bimonthly`
|
||||
|
||||
Cron:
|
||||
|
||||
- `30 7 * * 6` (jeden Samstag 07:30)
|
||||
|
||||
Guard: nur am zweiten Samstag in geraden Monaten ausfuehren.
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
month=$(date +%-m)
|
||||
day=$(date +%-d)
|
||||
case "$month" in
|
||||
2|4|6|8|10|12) ;;
|
||||
*) exit 0 ;;
|
||||
esac
|
||||
if [ "$day" -lt 8 ] || [ "$day" -gt 14 ]; then
|
||||
exit 0
|
||||
fi
|
||||
exec /mnt/user/services/homelab-infra/ops/restore-tests/run-restore-job-with-ntfy.sh \
|
||||
authelia homelab-info
|
||||
```
|
||||
|
||||
## Script 7 - `monthly-random-restore`
|
||||
|
||||
Cron:
|
||||
|
||||
@@ -130,8 +153,8 @@ exec /mnt/user/services/homelab-infra/ops/restore-tests/monthly-random-restore.s
|
||||
|
||||
## Stand
|
||||
|
||||
- die Bash-Jobs wurden am 2026-05-07 hostseitig erfolgreich verifiziert
|
||||
- `freshness`, `vaultwarden`, `gitea` und `paperless` laufen damit prinzipiell automatisch
|
||||
- die ersten Bash-Jobs wurden am 2026-05-07 hostseitig erfolgreich verifiziert
|
||||
- `freshness`, `vaultwarden`, `gitea`, `paperless`, `immich` und `authelia` sind als Host-Jobs verfuegbar
|
||||
- ntfy-Wrapper schreibt Erfolg/Fehler-Meldungen an die definierten Topics
|
||||
|
||||
## Fehler-Topic
|
||||
|
||||
Reference in New Issue
Block a user