Went through the seven imported waiting issues and replaced the generic 'reason is in the GitLab history' placeholder with the real blocker, which completes #0041. Three of the seven were not merely imprecise but wrong: - #0025: the deploy had long landed; screenshots confirm 24 aggregated messages in the security room (limit 29), summing to the known 126 CRITICALs. - #0014: the A/B/C decision exists as ADR-0008 (option A). Half its open question is now answered — MATRIX has no docker group at all, so the root-equivalence does not apply there. - #0027: the blocking Struktur-Workshop happened on 2026-08-06 and produced three ADRs, but W1 and W3 were spot-checked and are still unresolved. The remaining four wait on a named action by sorb. Measured from here: the GAME exporters are still filtered (and their silences expired on 2026-08-04, so TargetDown has been firing every 4h since), while CFGMON's 9090/3100 are already closed from the internet — so #0008 is about making that state deliberate rather than an acute exposure. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
8.8 KiB
type, id, status, created, milestone, priority, area, gitlab_iid, related
| type | id | status | created | milestone | priority | area | gitlab_iid | related | |
|---|---|---|---|---|---|---|---|---|---|
| issue | 0027 | open | 2026-08-02 | M2 | medium | infrastructure | 27 |
|
AUDIT-01: Acht Widersprüche aus dem LABNET-02-Nachlauf (Selbst-Audit CFGMON-Session)
Import aus management#27 (2026-08-11). Kommentare und Verlauf bleiben dort; kanonisch ist ab jetzt diese Datei (ADR-0012).
Selbst-Audit der CFGMON-Session (2026-08-02) auf sorbs Bitte: eigene Arbeit gegen CLAUDE.md, ADR-0005 und die Verfahren geprüft. Regel dieses Issues: Widersprüche werden dokumentiert und referenziert, nicht still aufgelöst. Auflösung einzeln oder gesammelt im Struktur-Workshop (#17). Alle Messungen von heute sind als solche gekennzeichnet.
W1 — ADR-0004 (as-built) vs. tatsächliche Split-DNS-Konfiguration
ADR-0004, CFGMON-Zeile: „Split-DNS nur ~lab → 10.58.73.1". Real (seit 2026-08-01 spätabends, auf sorbs Ansage, /etc/wireguard/lab.conf + CFGMON-AAR Nachtrag 2): vier Zonen — ~lab, ~lab.de, ~axion1337.de, ~axionlabs.de. Das ADR beschreibt den As-built-Stand also unvollständig. Brisanz: ~axion1337.de über den Lab-Resolver betrifft auch rohana.axion1337.de (Gitea-Mirror!) — löst der Lab-DNS die Zone anders auf als öffentlich, ändert sich unbemerkt der Pfad zum Mirror. Auflösung: ADR nachführen oder Zonen auf ~lab zurückbauen — Entscheidung sorb.
W2 — dokumentierte Bootstrap-Routen sind seit der Einzäunung nicht reproduzierbar
CFGMON-AAR Nachtrag 2 dokumentiert die CA-Verifikation über ca.axionlabs.de:666 (step-ca, health + roots.pem, Fingerprint-Abgleich). Messung heute von CFGMON: :666 = Timeout (Einzäunung greift, erwartungsgemäß), git.lab:443 = HTTP 302 ✓, ICMP zu 10.58.73.17 = 100 % Verlust. Konsequenzen: (a) Die im AAR beschriebene Verifikationsroute funktioniert nicht mehr — ein künftiger Truststore-Neuaufbau bräuchte eine bewusste Firewall-Ausnahme (ADR-Pflicht laut CLAUDE.md). (b) Erreichbarkeits-Checks von CFGMON müssen per HTTPS statt ping laufen — alle bisherigen Runbook-Gewohnheiten (ping 10.58.73.17) schlagen fehl, obwohl alles gesund ist. Fehldiagnose-Falle für die nächste Session.
W3 — hosts/cfgmon.md widerspricht sich selbst und der Realität
Die Dienste-Tabelle (Zeile 27) listet runner | gitea/act_runner:0.6.1 als laufenden Container — die eigene Historie derselben Datei (CFGMON-11-Abschnitt) meldet ihn als am 2026-07-31 restlos entfernt. „Stand: 2026-07-30" deckt zudem nicht: WireGuard-Tunnel (wg-quick@lab + systemd-Drop-in 10-after-docker.conf), aXionLabs-Root-CA im Truststore, git.lab-Zugang via ~/.netrc. Wenn hosts/ „Bestand + Historie" ist (CLAUDE.md), ist der Bestand-Teil veraltet; wenn er eingefroren sein soll, fehlt die Kennzeichnung. Nicht von mir korrigiert — erst klären, was „Bestand" hier heißen soll.
W4 — Schließung von #16 vs. Inhalt von #16 und CLAUDE.md-Secrets-Regel
Der Schlusskommentar von #16 nennt „die drei hier gesammelten Nacharbeiten (Feinschliff)". Das Issue enthielt fünf Punkte plus einen Korrektur-Kommentar der CFGMON-Session. Still mitgeschlossen wurden: Punkt 4 (Repo-Zuhause für lab.conf, systemd-Drop-in, Root-CA — Reproduzierbarkeit) und Punkt 5 (Schlüsselrotation). Bei Punkt 5 kollidiert die Schließung mit der Secrets-Regel der CLAUDE.md („anzeigen = Exposure = Rotation"): Der aktive WG-Private-Key und beide git.lab-PATs liefen im Klartext durch den Chat bzw. das buffer-Repo. Das buffer-Repo ist vernichtet ✓, aber Chat-/Session-Transkripte existieren weiter. Nach der Regel ist die Rotation nicht optional — auch mein eigener Kommentar in #15 („regulär rotieren") war daran gemessen zu lasch. Auflösung: entweder sorb bestätigt die Schließung ausdrücklich für alle fünf Punkte (dann ist die Secrets-Regel für diesen Fall bewusst ausgesetzt → ADR-Pflicht für die Ausnahme), oder Punkte 4+5 werden als eigenes Issue reaktiviert.
W5 — Secrets-Regel vs. gelebte Bootstrap-Praxis der LABNET-02-Nacht
CLAUDE.md: „Token-/Secret-Werte niemals […] in Dateien echoen; echte Credentials tippt/legt sorb selbst an; Sessions referenzieren sie nur über Dateipfade." Praxis: Die CFGMON-Session (ich) hat beide PATs selbst in ~/.netrc geschrieben und den WG-Private-Key nach /etc/wireguard/ — es gab schlicht keinen anderen Übergabekanal auf einen headless Host. Der Widerspruch ist strukturell, nicht böswillig: Die Regel kennt den Fall „sorb kann die Datei auf dem Zielhost nicht selbst anlegen" nicht. Auflösung: Bootstrap-Klausel in die Regel (erlaubt, aber Exposure gilt ⇒ Rotationspflicht + dokumentieren wo), oder Verfahren definieren (z. B. sorb legt per SSH selbst ab, Session referenziert Pfad).
W6 — AAR-Vorlage vs. Nachtrag-Praxis
verfahren/aar-vorlage.md: fünf Abschnitte, Gebot „Kurz", Befund-Status mit Issue-Referenz („notiert · Issue"). Der CFGMON-AAR hat inzwischen acht Abschnitte (drei Nachträge) und eine Befunde-Tabelle ohne Issue-Referenzen (Befund 3 → heute #14; die Issues entstanden erst nach dem AAR). Die Nachtrag-Mechanik — die sich zweimal bewährt hat (Reboot-Korrektur, Auflösung) — ist nirgends im Verfahren definiert. Auflösung: Vorlage um eine Nachtrag-Regel ergänzen (append-only, datiert, Fundstellen verweisen auf den Nachtrag) oder Nachträge verbieten und Folge-AARs verlangen. Die Befunde-Tabellen der beiden LABNET-02-AARs könnten danach um Issue-Refs ergänzt werden (reine Vervollständigung).
W7 — Commit-Autorschaft: drei Identitäten, keine Konvention
Im management-Repo committen Agenten-Sessions unter drei Identitäten: sorb <gamemaster@axion1337.de> ohne Agent-Kennzeichnung (CFGMON-Session: e8e1b36, 28cd06c, 001f59f; auch b647645 der Mac-Session), und seit heute Thore Cimbal <cfx@riot.8shield.net> mit Co-Authored-By: Claude-Trailer (09bdd94, ae982cd, …). Das Kanonisierungs-Verfahren betont Autorschafts-Erhalt als Wert — der ist wenig wert, wenn dieselbe Person/verschiedene Agenten unter wechselnden Identitäten schreiben. Eigenes Versäumnis der CFGMON-Session eingeschlossen: der Claude-Trailer fehlt bei meinen Commits. Auflösung: eine Zeile in CLAUDE.md — welcher Author-Name, welche E-Mail, Trailer ja/nein.
W8 — UDM-SSH: aktivierte Reständerung ohne Doku
Für die Fehlersuche wurde SSH auf der UDM aktiviert (root@10.58.73.1, eigenes Passwort). Der Lab-AAR erwähnt es nicht, kein Issue trägt es, Status vermutlich „noch an". Root-Shell-Zugang auf dem zentralen Gateway ist ein sicherheitsrelevanter Dauerzustand, wenn er bleibt. Auflösung: deaktivieren oder bewusst belassen und als Bestand dokumentieren (analog zur docker-Gruppen-Entscheidung in #14).
Konform befunden (der Vollständigkeit halber): AAR-Pflicht nach Deploy mit Übergabe ✓ (beide AARs), Kanonisierungs-Weg statt Gitea-Push ✓ (alle vier CFGMON-Commits über git.lab, Mirror verifiziert), Redlichkeits-Regeln ✓ (Verifiziert/Vermutet getrennt, eigene Fehlannahme per Nachtrag korrigiert statt geglättet), chirurgische Config-Edits ✓ (sed + wg-quick strip-Validierung), Übergabe-Ausnahme auf Gitea während der Nacht ✓ (durch ADR-0002 gedeckt, seit heute per #13 migriert und zurückgebaut).
Blocker entfallen 2026-08-15 — Workshop hat stattgefunden
Das Issue wartete auf die Auflösung „im Struktur-Workshop (#17)". Der hat stattgefunden
(2026-08-06) und drei ADRs hervorgebracht: 0008 (Agenten-Sessions root-äquivalent — löst
den zu W-gehörenden Teil und damit #0014), 0009 (Commit-Konventionen) und 0010
(Härtung als eigener Meilenstein M5). Damit ist der Wartegrund hinfällig → open.
Die Widersprüche sind damit aber nicht alle abgeräumt. Zwei stichprobenartig gegengeprüft, beide bestehen fort:
- W1 offen:
docs/adr/0004-*nennt weiterhin „Split-DNS nur~lab→ 10.58.73.1". Die real konfigurierten vier Zonen (~lab,~lab.de,~axion1337.de,~axionlabs.de) stehen dort nicht — inklusive der im Issue benannten Brisanz, dass~axion1337.deauchrohana.axion1337.de(Gitea-Mirror, Flux-Quelle!) über den Lab-Resolver zieht. - W3 offen:
docs/wiki/admin/cfgmon.mdlistet in der Dienste-Tabelle (Zeile 33) weiterhinrunner | gitea/act_runner:0.6.1als laufend — obwohl dieselbe Datei ihn als am 2026-07-31 entfernt meldet.
W4/W5 (Rotationspflicht nach der Secrets-Regel) haben mit #0015 teilweise ein Zuhause; ob damit alle dort genannten Schlüssel abgedeckt sind, gehört zur Auflösung.
Nächster Schritt: W1–W8 einzeln durchgehen und je Punkt entweder auflösen (ADR/Doku nachziehen) oder bewusst verwerfen — die Regel des Issues („dokumentieren, nicht still auflösen") bleibt dabei gültig.