Commit Graph

23 Commits

Author SHA1 Message Date
Micha 489a429316 docs: single status list - dissolve audit restliste, slim AI context
- MASTER_TODO.md is now the only status list: parked decisions point to
  DECISIONS.md, done log capped at 5 condensed entries
- delete AUDIT_2026-05-25_TODO.md (open items and parked decisions fully
  covered by MASTER_TODO/DECISIONS)
- AI_CONTEXT.md: drop duplicated status block, keep rules and pointers
- EXTERNAL_DEPENDENCIES.md: condense review log to recent entries
- fix references in DR_WORKSTATION_SETUP, EXTERNAL_OPERATOR_RUNBOOK,
  STORAGE_LAYOUT, REPO_MAP, docs/README

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 07:08:43 +02:00
Micha 2a87220862 plex: expose via traefik domain 2026-06-06 13:41:39 +02:00
Micha 023ee63687 docs: close dr workstation kit 2026-06-06 10:11:17 +02:00
Micha 3a263a4846 docs: update dr workstation readiness 2026-06-06 09:17:23 +02:00
Micha 68d3ace598 ops: add dr workstation readiness check 2026-06-06 08:40:31 +02:00
Micha 7d87698715 docs(dr): Hetzner Storage Box DR-SSH-Key offline gesichert (2026-06-03)
Dritte der vier P1-Operator-Aufgaben aus dem DR-Tabletop teil-erledigt.
Die SSH-Schicht der DR-Workstation steht; verbleibend ist die
WSL2+Borg-Installation auf dem Gaming-PC.

Was passiert ist:
- ed25519-Keypair `dr-hetzner-2026-06-03` (Passphrase-frei) lokal erzeugt
- Public Key per `install-ssh-key` auf der Hetzner Storage Box autorisiert
- Smoke `ssh -p23 ... ls` passwortlos erfolgreich, vier Borg-Repos
  sichtbar (`backup`, `backup2`, `hetzner_borg_appdata`,
  `hetzner_borg_appdata_critical`)
- Private Key offline neben KOMODO_*-Notiz und GitHub-Deploy-Key gelegt
- Arbeitsplatz-Kopie nach USB-Transfer geloescht

EXTERNAL_DEPENDENCIES.md:
- DR-Workstation-Kit-Tabelle: SSH-Key-Zeile auf "offline gesichert"
- Review-Zeile 2026-06-03 erweitert mit Smoke-Ergebnis

AUDIT_2026-05-25_TODO.md:
- P1-Eintrag DR-Workstation umformuliert: SSH-Key ist erledigt,
  Verbleibend ist nur noch WSL2 + Borg-Client-Installation
- Eintrag unter "Zuletzt geschlossen" mit Wirkung

Stand der DR-Bare-Metal-Pillars:
1. KOMODO_*-Notiz offline                                       erledigt
2. GitHub-Mirror Read-Only Deploy-Key offline                   erledigt
3. Hetzner Storage Box DR-SSH-Key offline                       erledigt
4. WSL2 + Borg-Client auf DR-Workstation installiert            offen
5. Nextcloud-Restore-Test als letzte Tier-2-Luecke schliessen   offen
2026-06-03 19:10:01 +02:00
Micha b158f9d871 docs(dr): GitHub-Mirror Read-Only Deploy-Key gesichert (2026-06-03)
Zweite der vier P1-Operator-Aufgaben aus dem DR-Tabletop erledigt.

Was passiert ist:
- SSH-Keypair `dr-readonly-2026-06-03` (ed25519, Passphrase-frei) erzeugt
- Public Key in GitHub Repo Settings -> Deploy Keys ohne Write-Access
  hinterlegt (Title `DR Read-Only 2026-06-03`)
- Smoke `git ls-remote git@github.com:michaelkaleschke-spec/homelab-infra.git`
  erfolgreich (HEAD `d947c7f` matched origin/master)
- Private Key offline neben die KOMODO_*-Notiz gelegt
- Arbeitsplatz-Kopie auf dem Operator-PC nach USB-Transfer geloescht

EXTERNAL_DEPENDENCIES.md:
- GitHub-Mirror-Zeile von "noch nicht angelegt" auf "offline gesichert"
  gezogen, inkl. Deploy-Key-Bezeichnung und Smoke-Bestaetigung
- DR-Workstation-Kit-Tabelle: Quartals-Smoke-Befehl mit konkretem
  GIT_SSH_COMMAND-Aufruf dokumentiert
- Review-Zeile 2026-06-03 erweitert

AUDIT_2026-05-25_TODO.md:
- P1-Read-PAT-Eintrag aus offenen Punkten entfernt
- Eintrag unter "Zuletzt geschlossen" mit Wirkung

Zwei P1-Operator-Aufgaben bleiben offen: DR-Workstation-Setup,
Nextcloud-Restore-Test.
2026-06-03 16:13:29 +02:00
Micha d947c7f066 docs(dr): KOMODO_*-Notiz offline gesichert (Operator-Bestaetigung 2026-06-03)
DR-Tabletop-Followup: erste der vier P1-Operator-Aufgaben erledigt.

EXTERNAL_DEPENDENCIES.md:
- KOMODO_*-Notiz-Zeile von "noch nicht angelegt" auf "offline gesichert
  (Operator-Bestaetigung)" gezogen, mit Hinweis auf die Quelle der Werte
  (Self-Stack-.env unter /mnt/user/services/stacks/komodo bzw. die
  Drift-Recovery-Kopie vom 2026-05-04)
- DR-Workstation-Kit-Tabelle: Offline-Kopie-Status entsprechend aktualisiert
- Review-Zeile 2026-06-03 mit Bestaetigung ergaenzt

AUDIT_2026-05-25_TODO.md:
- P1-KOMODO_*-Notiz aus den offenen Punkten entfernt
- Eintrag unter "Zuletzt geschlossen" mit Quellenpfad und Wirkung

Drei P1-Operator-Aufgaben bleiben offen: GitHub-Read-PAT,
DR-Workstation-Setup, Nextcloud-Restore-Test.
2026-06-03 16:05:27 +02:00
Micha 9edd6c24e6 docs(dr): tabletop-folge - DR.md + EXTERNAL_DEPENDENCIES haerten
Reine Doku-Fixes nach DR-Tabletop 2026-06-03 und Operator-Antworten auf
vier offene Fragen.

DISASTER_RECOVERY.md:
- Abschnitt 3 Voraussetzungen: Operator-DR-Workstation als Pflichtposten
- Phase 0: privater GitHub-Mirror, Read-PAT/Deploy-Key, expliziter Repo-
  Bootstrap-Pfad Workstation -> Unraid
- Abschnitt 6.1: homelab_smtp_password.txt, n8n_encryption_key.txt,
  monitoring/influxdb/filebrowser Secrets nachgezogen
- Neuer Abschnitt 7.3: Borg-Extract ohne borg-ui (DR-Workstation oder
  docker run borgbackup/borg), Passphrase-Eingabe interaktiv
- Phase 4 neue Stufe 0 "Docker-Grundlage": docker network create
  frontend_net/backend_net/monitoring_net + dynamic/ Pre-Check
- Phase 4 Stufe 1: LE-Staging-Hinweis bei verlorenem acme.json
- Phase 4 Stufe 3 "Wichtige Stolperfallen": KOMODO_*-Quelle, Mongo-
  Datadir/Secret-Mismatch, extra_hosts-IP, Stack-ENV-Wiederherstellung
- Phase 5.3: App-DB-Verifikation per docker logs

EXTERNAL_DEPENDENCIES.md:
- GitHub-Mirror als privat klargestellt + Read-PAT/Deploy-Key Pflicht
- Operator-DR-Workstation als kritische Abhaengigkeit
- KOMODO_*-Notiz und GitHub-Read-PAT als noch nicht angelegt erfasst
- Hetzner-Maintenance-Key offline bestaetigt (Operator-Antwort 2026-06-03)
- Neuer Abschnitt "DR-Workstation Bare-Metal-Kit" mit konkretem Inhalt

AUDIT_2026-05-25_TODO.md:
- Vier neue P1-Operator-Aufgaben: KOMODO_*-Notiz, Read-PAT, DR-Workstation-
  Setup, Nextcloud-Restore-Test scharf laufen lassen

DR_DRILL_2026-06-03.md:
- Folge-Iteration-Tabelle: welcher Finding wo adressiert wurde

Operator-Aufgaben (nicht delegierbar) sind als P1 markiert. Nichts in
Runtime/Compose beruehrt, kein Container gestartet.
2026-06-03 16:00:00 +02:00
Micha eeebeec804 Switch Paperless GPT to OpenAI API 2026-06-01 16:18:58 +02:00
Micha 55fdb13532 Enable Vaultwarden SMTP invites 2026-06-01 15:52:31 +02:00
Micha 89114b1b12 Record append-only operator decision 2026-06-01 15:16:56 +02:00
Micha 3da19421d0 Document hetzner account hygiene 2026-06-01 15:09:37 +02:00
Micha 16e661be87 Document fritzbox config backup 2026-06-01 14:19:13 +02:00
Micha 12c05376d0 Close fritzbox service window docs 2026-06-01 13:02:03 +02:00
Micha ae5d4aedfc Prepare external operator checks 2026-06-01 12:48:00 +02:00
Micha 4e34582008 Trim documentation to active runbooks 2026-05-31 23:26:12 +02:00
Micha ab8bfea7c8 Close documented backup follow-ups 2026-05-31 23:07:34 +02:00
Micha 6a445094bd Record FRITZBox port exposure drift 2026-05-27 18:06:43 +02:00
Micha 48099fb48d Update audit follow-up documentation 2026-05-26 20:24:50 +02:00
Micha 0625594443 Record offline Borg passphrase backup 2026-05-26 19:53:08 +02:00
Micha f73cf48e41 Document external recovery dependencies 2026-05-26 19:44:14 +02:00
Micha 5cb401797d Bind AdGuard admin to Tailscale 2026-05-26 14:55:49 +02:00