Files
homelab-infra/docs/MASTER_TODO.md
T
Micha 9033724b15 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 <noreply@anthropic.com>
2026-06-11 20:26:22 +02:00

6.4 KiB

Master To-do - KalliLab CORE

Typ: Status/To-do · Stand: 2026-06-11 · Status: aktiv

Diese Liste ist die einzige Arbeitsliste fuer offene operative Punkte im Homelab. Detailablaeufe stehen in den verlinkten Runbooks; Entscheidungen mit Begruendung stehen in docs/DECISIONS.md; Belege fuer Erledigtes liegen in Host-Reports (/mnt/user/backups/restore-reports/) und in der Git-Historie.

Status-Kategorien

  • Aktiv - soll vorankommen; konkreter naechster Schritt steht.
  • Operator-Entscheidung - wartet auf eine bewusste Entscheidung (ja/nein/Option).
  • Geparkt - bewusst nicht jetzt, mit klarem Review-Trigger.
  • Extern blockiert - wartet auf ein externes Ereignis oder eine Abhaengigkeit.

Aktiv

Thema Owner Naechster konkreter Schritt Quelle
Family-Onboarding erster Termin Operator Checkliste ist fertig (docs/FAMILY_ONBOARDING.md Abschnitt "Erster Onboarding-Termin"). Personen/Geraete festlegen, Reihenfolge Vaultwarden -> Immich -> Mealie pro Person abarbeiten docs/FAMILY_ONBOARDING.md
Restore-Test Unraid OS Flash (Stick-Boot) Operator Artefakt-Validierung 2026-06-05 erledigt (ops/maintenance/check-unraid-flash-backup.sh). Verbleibt: physischer Ersatzstick-Boot-Test, wenn ein Wegwerf-Stick bereitliegt ops/restore-tests/unraid-flash-runbook.md
Restore-Test Tailscale Operator State-Validierung + Reconnect nur auf Wegwerf-Host/VM, danach Geraet in Tailscale-Admin entfernen ops/restore-tests/tailscale-runbook.md
Authelia OIDC fuer Apps Operator/Claude Live: Grafana + Mealie (verifiziert), Paperless deployed (Login-Test offen). Immich + Nextcloud bewusst geparkt bis Family-Onboarding (siehe docs/DECISIONS.md 2026-06-06) docs/AUTHELIA_OIDC_PLAN.md
Audit-PDF aus docs/ entfernen Operator docs/KalliLab_CORE_Audit_2026-06-06.pdf (untracked) extern ablegen (H:/ oder Documents-Share) und lokal loeschen; Binaerdateien gehoeren nicht ins GitOps-Repo Doku-Regeln docs/REPO_MAP.md

Operator-Entscheidung

Stand 2026-06-11: keine offenen Operator-Entscheidungen. Getroffene Entscheidungen mit Begruendung und Review-Trigger: docs/DECISIONS.md.


Geparkt

Bewusst nicht jetzt - Begruendungen in docs/DECISIONS.md, hier nur Thema und Trigger.

Thema Review-Trigger Quelle
USV-Anschaffung Q3-Review ab 2026-07-01, Hardware-Upgrade oder realer Stromausfall mit Datenfolge docs/DECISIONS.md
Cold-Backup-Rotation (zweites Off-site-Ziel) Hetzner-Probleme, stark wachsender Datenwert oder geaenderte Praeferenz docs/DECISIONS.md
WAN-Ausfallschutz haeufigere/laengere DSL-Ausfaelle oder kritischer Remote-Zugang docs/NETWORK_INVENTORY.md
Borg append-only auf Hetzner robusterer Hetzner-Mechanismus oder geaendertes Ransomware-Risikoprofil docs/DECISIONS.md
CrowdSec vor Traefik breitere Attack Surface als nur 443/tcp docs/DECISIONS.md
Nextcloud 2FA (Operator-TOTP) OIDC-/SSO-Block erreicht die App-Login-Ebene docs/DECISIONS.md
Hermes-Agent Review-Deadline 2026-07-25; NAS-Stack bleibt deaktiviert docs/SERVICE_CATALOG.md
Tailnet-Konsole aufraeumen (Rest) trivial, bei Gelegenheit: tote Node-Eintraege (kallilab-core, alter baerchen) in der Tailscale-Admin-Konsole entfernen; optional State-Pfad /mnt/user/appdata/tailscale nach _archive/ docs/NETWORK_INVENTORY.md
Dedizierter SMB-User veeam-baerchen nur wenn Unraid-User-/Share-Rechte bewusst angefasst werden ops/windows-reinstall/docs/windows-image-backup-baseline.md
Filebrowser-Mount-Scope naechster Hardening-Sprint docs/SERVICE_CATALOG.md
Scrutiny Privileged-Ausnahme nur mit klarer Begruendung aendern docs/SERVICE_CATALOG.md
Immich Redis named volume passende Wartung am Immich-Stack docs/SERVICE_CATALOG.md
Storage-Wachstum (zweite NVMe, zweite Array-Disk, ZFS/BTRFS) Trigger aus Capacity-Doku docs/STORAGE_LAYOUT.md, docs/CAPACITY_AND_LIFECYCLE.md
Wiederkehrende Restore-Drills laufend nach Kadenz, inkl. quartalsweisem Frische-Negativtest (run-restore-checks.sh freshness-negative) docs/RESTORE_MATRIX.md, ops/restore-tests/schedule.md
Doku-Quartals-Gaertnern (~15 min) quartalsweise, erster Lauf mit Q3-Review ab 2026-07-01: Datiertes archivieren, Done-/Review-Logs kuerzen, tote Links pruefen docs/REPO_MAP.md Doku-Regeln

Extern blockiert

Thema Blockiert durch Naechster Schritt sobald entblockt Quelle
End-to-end-DR-Drill Keine zweite Wegwerf-Hardware verfuegbar Komplett-Bootstrap Phase 1-5 fahren docs/DISASTER_RECOVERY.md

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.
  • 2026-06-06 Wochenend-Sprint abgeschlossen: Veeam-Recovery-Test, DR-Workstation-Kit final (DR-Smoke OK), Tailscale-ACL restriktiv + redundanter Docker-Stack entfernt, Gast-/IoT-Netz validiert, AdGuard-/Redis-Restore-Smokes, Authelia-2FA-Catch-all, Frische-Negativtest. Belege: Host-Reports, docs/DECISIONS.md.
  • 2026-06-03 Restore-Backlog geschlossen: Nextcloud, Shared-PG18-Cluster, Komodo-Mongo, Mailarchiver, Mealie, Traefik. Reports unter /mnt/user/backups/restore-reports/.

Pflege-Regel

  • Neue operative To-dos zuerst hier eintragen, immer mit Status-Kategorie.
  • Erledigt: Beleg liegt im Host-Report bzw. Commit; hier nur ein Kurzlog-Eintrag (max. 3 Zeilen), aelteste Eintraege fliegen raus, sobald mehr als 5.
  • Entscheidungen (auch "bewusst nein") gehoeren mit Begruendung nach docs/DECISIONS.md, hier nur Thema + Trigger.
  • Keine vagen "pruefen"-Eintraege ohne Kommando oder Entscheidung.