fix(restore): authelia smoke without dump-restore, drop bogus env, disable ntp

Erstlauf 2026-06-03 hat einen by-design-Konflikt offengelegt: pg_restore des
produktiven postgresql17-authelia.dump in eine Test-Instanz mit Wegwerf
AUTHELIA_STORAGE_ENCRYPTION_KEY scheitert im Authelia-Startup-Check mit
"the configured encryption key does not appear to be valid for this database".
Productive Storage-Werte werden mit dem produktiven Key verschluesselt; ein
Wegwerf-Key kann sie nicht entschluesseln. Smoke ist deshalb explizit auf
Config-Restore + Boot reduziert, nicht Daten-Decrypt.

Zwei Nebenbefunde aus demselben Lauf:
- AUTHELIA__SERVER__ADDRESS (Doppel-Underscore) wurde von Authelia 4.39
  abgelehnt ("configuration environment variable not expected"). ENV
  entfernt; server.address kommt eh aus der generierten configuration.yml.
- ntp-Startup-Check schlug fehl ("Could not determine the clock offset
  ... lookup time.cloudflare.com on 127.0.0.1:53: server misbehaving"),
  weil das isolierte Test-Compose-Netz keinen DNS-Resolver fuer NTP hat.
  Neuer Test-Config-Block setzt ntp.disable_startup_check: true.

Doku nachgezogen (Plan + Runbook): Encryption-Key-Konflikt ist explizit
als "nicht Teil dieses Smokes" dokumentiert; Fehler-Matrix hat Eintraege
fuer Doppel-Underscore-ENV und NTP-Lookup.

Frische des produktiven authelia-Dumps wird unveraendert ueber
check-restore-freshness.sh ueberwacht; Daten-Decrypt-Drill ist eine eigene
DR-Aufgabe mit kontrollierter Schluessel-Verwendung.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-03 08:27:40 +02:00
parent 8d71dfb9ad
commit 52fc007123
4 changed files with 84 additions and 71 deletions
+5 -5
View File
@@ -39,11 +39,11 @@ services:
AUTHELIA_SESSION_SECRET: restoretest-authelia-session-secret-placeholder-32
AUTHELIA_STORAGE_ENCRYPTION_KEY: restoretest-authelia-storage-enc-key-placeholder-32
AUTHELIA_STORAGE_POSTGRES_PASSWORD: restoretest-authelia-db
# Die command:-Config laedt die vom Skript erzeugte Restore-Test-Config.
# Sie ersetzt produktive storage/notifier/session-Bloecke durch isolierte
# Test-Backends, damit kein produktives Postgres erreicht und kein echter
# SMTP-Versand ausgeloest wird.
AUTHELIA__SERVER__ADDRESS: tcp://0.0.0.0:9091
# server.address wird in der vom Skript erzeugten configuration.yml
# gesetzt (tcp://0.0.0.0:9091). Eine zusaetzliche ENV waere
# redundant - und in Authelia 4.39 nicht als Doppel-Underscore
# akzeptiert (war Ursache des "configuration environment variable
# not expected"-Warnings im Lauf 2026-06-03).
volumes:
- /mnt/user/backups/restore-lab/authelia/test-config:/config
ports: