docs(adr): ADR-0017 — split-DNS as-built, each zone justified by measurement

Corrects only the split-DNS line of ADR-0004 (frozen once accepted, hence a
separate ADR). Rather than documenting 'four zones exist', it measures what each
one does: ~lab and ~axionlabs.de resolve names that exist only internally or
differently (git.lab, and ca.axionlabs.de as real split-horizon to the step-ca),
~axion1337.de carries the internal-only git.axion1337.de, and ~lab.de carries
nothing at all while routing a foreign public domain through the lab resolver —
so it goes.

This also answers the audit's rollback option: reverting to ~lab alone would have
broken internal CA and git resolution. The purpose was never written down, which
is why rolling back would have been blind.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Thore Cimbal
2026-08-15 12:00:00 +00:00
co-authored by Claude Opus 4.8
parent 9399df0f8a
commit f433fc2b2a
3 changed files with 122 additions and 1 deletions
@@ -219,3 +219,29 @@ niemand entscheiden, ob ein Rückbau auf `~lab` etwas kaputtmacht. Empfehlung da
**ablösender ADR mit dem As-built-Stand** samt Begründung (sorb kennt sie), statt eines
Rückbaus ins Blinde. Die Messung oben gehört als Beleg hinein — sie zeigt, dass die Zonen
heute schadlos sind.
## W1 erledigt 2026-08-15 — ADR-0017
Festgehalten als [ADR-0017](../adr/0017-split-dns-cfgmon-vier-zonen.md). Er korrigiert
**ausschließlich** die Split-DNS-Zeile aus ADR-0004 (die VPN-Architektur bleibt gültig) und
begründet **jede Zone einzeln durch Messung** statt sie pauschal zu dokumentieren:
- **`~lab`** notwendig — `git.lab`/`wiki.lab``10.58.73.17`, öffentlich NXDOMAIN.
- **`~axionlabs.de`** notwendig — `ca.axionlabs.de` löst intern auf `10.58.73.13` auf,
öffentlich auf `91.195.241.232`: echtes Split-Horizon auf die interne step-ca.
- **`~axion1337.de`** notwendig — `git.axion1337.de` existiert **nur** intern (`10.58.73.13`);
für alle übrigen Namen wirkungslos, aber schadlos (Messung: keine Abweichung).
- **`~lab.de`** → **wird entfernt**: kein interner Name darunter, keine Fundstelle im Repo,
und es leitet eine **fremde** öffentliche Domain (`lab.de`, `52.59.124.117`) über den
Lab-Resolver. Heute schadlos, aber eine Umleitung ohne Zweck pflegt niemand.
Damit ist auch die Rückbau-Option aus dem Audit beantwortet: Ein Rückbau auf `~lab` allein
**hätte die interne CA- und git-Auflösung gebrochen** — er wäre ins Blinde gegangen, weil der
Zweck der Zonen nirgends stand. Genau diese Lücke schließt der ADR.
⚠️ **Offene Handlung (klein):** `~lab.de` aus `/etc/wireguard/lab.conf` auf CFGMON entfernen,
Dienst neu laden, mit `resolvectl domain` gegenprüfen.
**Stand der acht Widersprüche: W1, W2, W3, W6, W7, W8 erledigt — offen nur noch W4 und W5**
(Schließung von #16 bestätigen bzw. Punkte 4+5 reaktivieren; Bootstrap-Klausel in der
Secrets-Regel). Beide hängen an der Schlüsselrotation und passen zu #0015.