From 810d4c4ed6468ad1f88817934ba17e27cdf0c56b Mon Sep 17 00:00:00 2001 From: Christoph Emsenhuber Date: Tue, 25 Aug 2026 08:38:26 +0200 Subject: [PATCH] TP31: PBS-Altlasten restlos entfernt, Fortschritt dokumentiert Die sieben verbliebenen Snapshots waren in PBS als protected markiert. Auf User-Freigabe entschuetzt (pvesh set .../content/ --protected 0) und geloescht. Gegenprobe: 0 Snapshots zu allen sechs geloeschten IDs, 72 von 72 weg. VMID 130 gehoert damit ausschliesslich caddy-bf1. Merkregel mit aufgenommen: pvesm free scheitert an geschuetzten Snapshots mit 'cannot remove protected snapshot' -- und zwar stillschweigend, wenn man den Fehler nicht ausliest. Wer nur die Erfolgszaehler liest, haelt ein halb erledigtes Aufraeumen fuer fertig. Genau so waeren hier sieben Snapshots stehen geblieben. TP31-Abschnitt auf den Ist-Stand gezogen: Schritte 1 und 2 erledigt, Schritt 3 wartet nur noch auf das Zone:DNS:Edit-Token. Co-Authored-By: Claude Opus 5 --- docs/teilprojekte.md | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/docs/teilprojekte.md b/docs/teilprojekte.md index 1273d5b..77b5ecb 100644 --- a/docs/teilprojekte.md +++ b/docs/teilprojekte.md @@ -1393,17 +1393,31 @@ Alles andere ist intern; **19 Ingress-Zeilen über drei Tunnel werden EINE Catch (ap1 Technik UG, ap2 Technik OG). Und der AP bekommt eine zweite Rolle neben dem WLAN. #### Umsetzung -1. **Leichen löschen:** `120 adguard-bf1`, `121 adguard-bf2`, `128 nginx-proxy-manager`, `129 caddy`, - `130 pihole1`, `131 pihole2` — alle `stopped`, alle auf **totem VLAN1** (`10.40.41.116/.117`, - GW `.41.254`), `onboot: 0`. ⚠️ `130`/`131` **müssen** weg, bevor die neuen Nummern vergeben werden. - **Alte Backups radieren** (Job `backup-6dcf5c10-610f`, So 01:00, Storage `pbs`, führt heute `120` - und `128`), **`130` neu aufnehmen — derselbe Job.** -2. **LXC 130 `caddy-bf1`** neu anlegen: VLAN20 `tag=20`, `10.40.20.40/24`, GW/DNS `10.40.20.1`, - **`onboot: 1`**, ~4 GB / 512 MB. *(Neu bauen statt umkonfigurieren — die Altlasten sind - Helper-Script-AdGuard-Container und würden auf Jahre eine falsche Identität führen.)* -3. **Caddy mit Cloudflare-DNS-Modul** → **DNS-01**, damit auch rein interne Namen echte Zertifikate - bekommen. 🔑 **Eigenes, eng geschnittenes Token** (`Zone:DNS:Edit` nur auf `emsenhuber.net`), **nicht** - das account-weite `CF_API_TOKEN` ⇒ neuer Posten für **TP30**. +1. ✅ **ERLEDIGT 2026-08-25 — Leichen gelöscht:** `120 adguard-bf1`, `121 adguard-bf2`, + `128 nginx-proxy-manager`, `129 caddy`, `130 pihole1`, `131 pihole2` — alle waren `stopped`, + `onboot: 0` und hingen konfigurativ noch am **toten VLAN1** (`10.40.41.116/.117`, GW `.41.254`). + `pct destroy --purge` hat `120` und `128` zugleich aus dem Backup-Job entfernt. + **Alle 72 PBS-Snapshots radiert** — sieben davon waren in PBS als **`protected`** markiert und + mussten erst über `pvesh set …/content/ --protected 0` entschützt werden + (User-Freigabe 2026-08-25). Gegenprobe: **0 Snapshots** zu allen sechs IDs. + ⚠️ **Merkregel:** `pvesm free` scheitert an geschützten Snapshots mit *„cannot remove protected + snapshot"* — und zwar **stillschweigend**, wenn man den Fehler nicht ausliest. Wer nur die + Erfolgszähler betrachtet, hält ein halb erledigtes Aufräumen für fertig. +2. ✅ **ERLEDIGT 2026-08-25 — LXC 130 `caddy-bf1` steht:** Debian 13, VLAN20 `tag=20`, + **`10.40.20.40/24`**, GW/DNS `10.40.20.1`, **`onboot: 1`**, **`startup order=10`** (Core-Stufe + nach TP32), 4 GB / 512 MB, 2 Cores. In den Backup-Job `backup-6dcf5c10-610f` aufgenommen. + **Caddy v2.11.4** installiert, Modul **`dns.providers.cloudflare`** verifiziert vorhanden. + Egress geprüft (DNS, HTTPS, CF-API) — TP5 lässt VLAN20 nach draußen. +3. ⏳ **Konfiguration liegt, Dienst läuft noch nicht — es fehlt genau ein Credential.** + **`caddy/Caddyfile` im Repo** (17 Sites: 4 öffentlich `vw`/`hass`/`n8n`/`gitea`, 13 intern inkl. + der vier MCP-Endpunkte und drei HTTPS-Backends mit `tls_insecure_skip_verify`), Syntaxprüfung + läuft durch. Zertifikate ausschließlich per **DNS-01**, damit auch rein interne Namen gültige + Zertifikate bekommen. + 🔑 **Offen: das eng geschnittene Token** — `Zone:DNS:Edit`, Zone-Resource auf `emsenhuber.net` + begrenzt, **nicht** das account-weite `CF_API_TOKEN` ⇒ Posten für **TP30**. Ablage als + `CF_DNS_API_TOKEN` in `~/.secrets/credentials.env`, Ausrollen per **`caddy/deploy.sh`** — das + liest den Wert von dort und schreibt ihn in die Container-Env, **ohne ihn je auf stdout oder in + eine Kommandozeile zu bringen** (dieselbe Regel wie `sshpass -e`). 4. **Split-Horizon**: Service-FQDNs → Caddy. 🔗 **Vorher entscheiden: Core (`/ip dns static`) oder AdGuard?** Sobald AGH nach **TP23 Stufe 2** scharf ist, gehören die Einträge dorthin — sonst zweimal gebaut. 5. **Tunnel `bf-public`** + Connectoren auf ap1/ap2, CNAMEs umhängen (`n8n` → `gitea` → `hass` → `vw`).