TP31: PBS-Altlasten restlos entfernt, Fortschritt dokumentiert

Die sieben verbliebenen Snapshots waren in PBS als protected markiert.
Auf User-Freigabe entschuetzt (pvesh set .../content/<volid> --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 <noreply@anthropic.com>
This commit is contained in:
2026-08-25 08:38:26 +02:00
parent a99dd06fdd
commit 810d4c4ed6

View File

@@ -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. (ap1 Technik UG, ap2 Technik OG). Und der AP bekommt eine zweite Rolle neben dem WLAN.
#### Umsetzung #### Umsetzung
1. **Leichen löschen:** `120 adguard-bf1`, `121 adguard-bf2`, `128 nginx-proxy-manager`, `129 caddy`, 1. ✅ **ERLEDIGT 2026-08-25 — Leichen gelöscht:** `120 adguard-bf1`, `121 adguard-bf2`,
`130 pihole1`, `131 pihole2` — alle `stopped`, alle auf **totem VLAN1** (`10.40.41.116/.117`, `128 nginx-proxy-manager`, `129 caddy`, `130 pihole1`, `131 pihole2` — alle waren `stopped`,
GW `.41.254`), `onboot: 0`. ⚠️ `130`/`131` **müssen** weg, bevor die neuen Nummern vergeben werden. `onboot: 0` und hingen konfigurativ noch am **toten VLAN1** (`10.40.41.116/.117`, GW `.41.254`).
**Alte Backups radieren** (Job `backup-6dcf5c10-610f`, So 01:00, Storage `pbs`, führt heute `120` `pct destroy --purge` hat `120` und `128` zugleich aus dem Backup-Job entfernt.
und `128`), **`130` neu aufnehmen — derselbe Job.** **Alle 72 PBS-Snapshots radiert** — sieben davon waren in PBS als **`protected`** markiert und
2. **LXC 130 `caddy-bf1`** neu anlegen: VLAN20 `tag=20`, `10.40.20.40/24`, GW/DNS `10.40.20.1`, mussten erst über `pvesh set …/content/<volid> --protected 0` entschützt werden
**`onboot: 1`**, ~4 GB / 512 MB. *(Neu bauen statt umkonfigurieren — die Altlasten sind (User-Freigabe 2026-08-25). Gegenprobe: **0 Snapshots** zu allen sechs IDs.
Helper-Script-AdGuard-Container und würden auf Jahre eine falsche Identität führen.)* ⚠️ **Merkregel:** `pvesm free` scheitert an geschützten Snapshots mit *„cannot remove protected
3. **Caddy mit Cloudflare-DNS-Modul** → **DNS-01**, damit auch rein interne Namen echte Zertifikate snapshot"* — und zwar **stillschweigend**, wenn man den Fehler nicht ausliest. Wer nur die
bekommen. 🔑 **Eigenes, eng geschnittenes Token** (`Zone:DNS:Edit` nur auf `emsenhuber.net`), **nicht** Erfolgszähler betrachtet, hält ein halb erledigtes Aufräumen für fertig.
das account-weite `CF_API_TOKEN` ⇒ neuer Posten für **TP30**. 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 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. 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`). 5. **Tunnel `bf-public`** + Connectoren auf ap1/ap2, CNAMEs umhängen (`n8n` → `gitea` → `hass` → `vw`).