Traefik stack is thread-net-git (manual compose deploy on CFGMON). DNS-01 diff is ready (tlschallenge -> dnschallenge/ionos + IONOS_API_KEY via host .env). Two human dependencies remain: create the IONOS API key and deploy+verify on CFGMON (no SSH from here). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3.8 KiB
type, id, status, created, milestone, priority, due, host, gitlab_iid, related
| type | id | status | created | milestone | priority | due | host | gitlab_iid | related |
|---|---|---|---|---|---|---|---|---|---|
| issue | 0007 | in-progress | 2026-08-01 | M1 | high | 2026-09-28 | cfgmon | 7 |
CFGMON-01: Zertifikatserneuerung braucht offene Ports — zeitkritisch ab 2026-09-28
Import aus management#7 (2026-08-11). Kommentare und Verlauf bleiben dort; kanonisch ist ab jetzt diese Datei (ADR-0012).
Certs für selendis/rohana laufen am 2026-10-28 ab; Traefik erneuert ab
Ende September via TLS-ALPN-01 — braucht Port 443 offen aus dem ganzen Internet
(LE veröffentlicht keine Validierungs-IPs, Multi-Perspective-Validation). Der
Normalzustand der Umgebung (443 auf eigene IP beschränkt) lässt die Erneuerung
still scheitern → Self-Signed-Default-Cert. IPv6-Pfad ist geprüft frei
(::/0 separat in der Hetzner-Firewall-Regel; 0.0.0.0/0 deckt IPv6 NICHT ab) —
die September-Erneuerung ist aber der erste Lauf, der IPv6 überhaupt versucht.
Entscheidung nötig:
- A — Ports offen lassen bzw. zur Erneuerung öffnen (Kalendereintrag Mitte September, nicht aufs Ablaufdatum!)
- B — auf DNS-01 umstellen (empfohlen): TXT-Validierung, kein offener Port, ermöglicht Wildcards. Braucht IONOS-API-Token als Traefik-Secret; Voraussetzung (versionierter Traefik-Stack) ist seit CFGMON-02 erfüllt.
Quelle: hosts/cfgmon.md
Übernommen aus dem Backlogs-Markdown beim Framework-Umbau 2026-08-01 (voller Wortlaut: Git-Historie der Datei).
Plan (2026-08-14) — eingeplant
Weg B (DNS-01) umsetzen — im Issue bereits als empfohlen markiert: entfernt die Port-Fenster-Abhängigkeit komplett (kein offener 443, keine Unsicherheit beim IPv6-Erstlauf) und ermöglicht Wildcards; die Voraussetzung (versionierter Traefik-Stack) ist seit CFGMON-02 erfüllt. Ausführung terminlich vor Mitte September (Puffer vor Ablauf 2026-10-28).
Schritte (B):
- IONOS-API-Token als Traefik-Secret hinterlegen (SOPS-verschlüsselt).
- Traefik-ACME-Resolver auf DNS-01 (IONOS-Provider) umstellen, committen → ausrollen.
- Test-Erneuerung erzwingen; TXT-Record-Setzung + ausgestelltes Cert für
selendis/rohanaprüfen (kein Self-Signed-Fallback). - Erst nach erfolgreichem DNS-01-Cert die verbliebene 443-Ausnahme schließen.
Fallback A (Ports öffnen) — nur falls B verworfen wird: Kalender-Checkpoint Mitte
September (NICHT aufs Ablaufdatum warten). 443 für 0.0.0.0/0 und ::/0 öffnen
(IPv6 separat!), Erneuerung + IPv6-Erstlauf beobachten, danach wieder schließen.
In Arbeit (2026-08-14) — Weg B vorbereitet
Der Traefik-Stack liegt in axion1337.chat/thread-net-git (Compose, Deploy manuell auf
CFGMON: cd /opt/thread-net-git && docker compose up -d; kein Runner mehr). Der DNS-01-Umbau
ist als Diff fertig (lokal geprüft, noch nicht gepusht — gekoppelt an Token + Deploy):
reverse-proxy-Command:acme.tlschallenge→acme.dnschallenge+provider=ionos+resolvers=1.1.1.1:53,8.8.8.8:53(CFGMON ist öffentlich, keine Lab-Port-53-Interception).environment: IONOS_API_KEY=${IONOS_API_KEY}— Token aus/opt/thread-net-git/.env(git-ignoriert), Format<prefix>.<secret>(IONOS Developer DNS-API).acme.json(letsencrypt-Volume) bleibt — bestehende Certs gelten bis 2026-10-28, Erneuerung läuft dann über DNS-01. Volume NICHT löschen.
Zwei menschliche Abhängigkeiten (blockieren den Abschluss):
- IONOS Developer DNS-API-Key anlegen (der
<prefix>.<secret>gehört in die Host-.env). - Deploy + Verifikation auf CFGMON (kein SSH-Zugang von hier):
.envsetzen →docker compose up -d reverse-proxy→ Test-Erneuerung erzwingen → TXT + neues Cert prüfen.
Danach: 443-Weltöffnung ist für ACME nicht mehr nötig (nur noch für die Dienste selbst).