From 9033724b15763a2b7fb49f72249d3c614755db71 Mon Sep 17 00:00:00 2001 From: Micha Date: Thu, 11 Jun 2026 20:26:22 +0200 Subject: [PATCH] docs: record host DNS fallback as active eth0 DNS server 2 = 192.168.178.1 (FRITZ!Box) is set as failover behind AdGuard. Mark the komodo-bulk-deploy-dns runbook immediate measure as implemented. Closes the AdGuard SPOF for Docker image pulls. Ref: docs/homelab-optimierung.md recommendation 3a. Co-Authored-By: Claude Fable 5 --- docs/DECISIONS.md | 6 ++++++ docs/MASTER_TODO.md | 1 + docs/runbooks/komodo-bulk-deploy-dns.md | 8 ++++---- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/DECISIONS.md b/docs/DECISIONS.md index 0650ee6..0f3d795 100644 --- a/docs/DECISIONS.md +++ b/docs/DECISIONS.md @@ -11,6 +11,12 @@ in `HOMELAB_ARCHITECTURE_MASTER_V2.md` §13, `docs/MASTER_TODO.md` (Geparkt), --- +## 2026-06-11 — Host-DNS-Fallback aktiv (AdGuard-SPOF entschaerft) + +**Entscheidung:** Unraid-Host nutzt `eth0` DNS server 1 = `192.168.178.58` (AdGuard) und **DNS server 2 = `192.168.178.1`** (FRITZ!Box) als Failover. +**Kontext:** AdGuard war einziger LAN-Resolver; ein Recreate hat 2026-06 einen Bulk-Deploy zerlegt, weil Docker-Pulls am eigenen DNS-Container scheiterten. Der Fallback bleibt nur passiv aktiv (Go-Resolver springt erst bei Socket-Fehler weiter), der Filter wirkt im Normalbetrieb unveraendert. `options rotate` ist nicht gesetzt. Umsetzung der Empfehlung 3a aus dem Optimierungs-Assessment vom 2026-06-10. Runbook: `docs/runbooks/komodo-bulk-deploy-dns.md`. +**Review-Trigger:** Wenn AdGuard durch eine andere Filter-Loesung ersetzt wird oder ein zweiter Host-Resolver verfuegbar ist. + ## 2026-06-11 — Hetzner Storage Box: automatische Snapshots aktiv **Entscheidung:** Automatische Snapshots auf der Hetzner Storage Box (BX11, `u565255.your-storagebox.de`) sind aktiv: taeglich um 05:30 UTC (nach dem Borg-Lauf 04:30 lokal), Retention 7 Tage, Snapshot-Verzeichnis sichtbar fuer Einzeldatei-Restore via `.zfs/snapshot/`. diff --git a/docs/MASTER_TODO.md b/docs/MASTER_TODO.md index c46f5eb..74ad2a6 100644 --- a/docs/MASTER_TODO.md +++ b/docs/MASTER_TODO.md @@ -69,6 +69,7 @@ Bewusst nicht jetzt - Begruendungen in `docs/DECISIONS.md`, hier nur Thema und T ## Zuletzt erledigt (Kurzlog, max. 5 Eintraege) +- **2026-06-11** Host-DNS-Fallback aktiv: `eth0` DNS2 = `192.168.178.1` (FRITZ!Box) zusaetzlich zu AdGuard. AdGuard-SPOF fuer Image-Pulls entschaerft; der dokumentierte Bulk-Deploy-Vorfall kann strukturell nicht wiederkommen. - **2026-06-11** Hetzner Storage Box: automatische Snapshots aktiv (taeglich 05:30 UTC, 7 Tage Retention). Schliesst das Ransomware-/Fehlbedienungs-Risiko gegen das Off-site-Backup. Siehe `docs/DECISIONS.md`. - **2026-06-11** Immich Image-Tags von `release` auf `v2.7.5` gepinnt (Server + ML, Digests unveraendert): Renovate-PRs zeigen ab jetzt sichtbare Versionsspruenge statt stiller Digest-Bumps. - **2026-06-11** Doku-Konsolidierung umgesetzt: `docs/archive/`, `docs/DECISIONS.md`, Statuslisten auf diese Datei reduziert, Restore-Doku zusammengefuehrt. Details: `docs/DECISIONS.md` Eintrag 2026-06-11. diff --git a/docs/runbooks/komodo-bulk-deploy-dns.md b/docs/runbooks/komodo-bulk-deploy-dns.md index 1810cc2..8fbe4ea 100644 --- a/docs/runbooks/komodo-bulk-deploy-dns.md +++ b/docs/runbooks/komodo-bulk-deploy-dns.md @@ -1,6 +1,6 @@ # Runbook: Komodo Bulk-Deploy schlaegt mit DNS `connection refused` fehl -Stand: 2026-06-10 · Typ: Runbook / ADR-light · Status: Sofortmassnahme empfohlen, noch nicht umgesetzt +Stand: 2026-06-11 · Typ: Runbook / ADR-light · Status: **Sofortmassnahme aktiv** (Host-DNS-Fallback gesetzt 2026-06-11 bzw. frueher) ## Symptom @@ -19,12 +19,12 @@ Der Host nutzt **AdGuard Home als einzigen Resolver** (`/etc/resolv.conf` = nur Es ist **kein** Webhook-, Auth- oder Docker-Hub-Rate-Limit-Problem: Webhooks authentifizieren sauber, `webhook_enabled=true`, Fehlerbild ist `connection refused` auf den eigenen DNS-Port direkt nach AdGuard-Recreate. Fuer den Pull-Pfad zaehlt der Docker-Daemon/Go-Resolver (iteriert ueber die `resolv.conf`-Server und springt bei Socket-Fehlern zum naechsten), nicht der glibc-Client. -## Sofortmassnahme (Schicht 1) +## Sofortmassnahme (Schicht 1) — umgesetzt Unraid -> Settings -> Network Settings -> `eth0`: -- DNS server 1: `192.168.178.58` (AdGuard, bleibt) -- **DNS server 2: `192.168.178.1`** (FritzBox) -> Apply +- DNS server 1: `192.168.178.58` (AdGuard) +- **DNS server 2: `192.168.178.1`** (FritzBox) — **gesetzt und aktiv** (Operator-Bestaetigung 2026-06-11; Apply-Button erfordert Docker-/VM-Stop, der gespeicherte Wert greift bereits ohne Re-Apply) Damit ueberleben Registry-Pulls einen kurzen AdGuard-Ausfall via Resolver-Failover. Im Normalbetrieb wird weiter DNS1 (AdGuard) genutzt, der Filter bleibt aktiv.