docs: resolve four of the eight LABNET-02 contradictions (#0027)
W2 was already covered — the ping trap lives in the textbloecke, and the firewall exception is conditional. W3 fixed: cfgmon.md listed the runner as running though it was dismantled on 2026-08-01; row removed and, rather than leaving the open question, the page now states that the service table is current state while the sections below are history. W6: addendum practice had proven itself twice but was undefined, so the AAR template now makes it a rule — append-only and dated, so the original mistake stays readable. W7: ADR-0009 unified the identities but AGENTS.md only said 'canonical author identity' without naming it; now spelled out. W1, W4, W5 and W8 need sorb's decision and are written up with what each one costs if left alone — W8 (root SSH on the gateway) being the sharpest. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
6979976992
commit
a264d584ee
@@ -161,9 +161,14 @@ Ohne Lab-Zugang: dieses Repo ist als Push-Mirror unter
|
|||||||
|
|
||||||
- Nachrichten auf Englisch, Conventional-Stil; der Betreff sagt *was*,
|
- Nachrichten auf Englisch, Conventional-Stil; der Betreff sagt *was*,
|
||||||
der Rumpf *warum*.
|
der Rumpf *warum*.
|
||||||
- Autor- **und** Committer-Datum auf 12:00:00 UTC des laufenden Tages;
|
- Autor- **und** Committer-Datum auf 12:00:00 UTC des laufenden Tages.
|
||||||
kanonische Autor-Identität. Historien-Rewrites nur mit
|
- **Kanonische Identität** (gilt für alle Repos der Gruppe): Autor
|
||||||
alt→neu-Zuordnung
|
`Thore Cimbal <cfx@riot.8shield.net>`, dazu ein Trailer
|
||||||
|
`Co-Authored-By: <Modell> <noreply@anthropic.com>` — Agenten-Sessions
|
||||||
|
committen also **nicht** unter eigener Identität, sondern kenntlich als
|
||||||
|
Beitrag. Ausnahme: der `turn-secret-rotation`-Bot committet maschinell,
|
||||||
|
eine Zuschreibung an einen Menschen wäre dort falsch (ADR-0009).
|
||||||
|
- Historien-Rewrites nur mit alt→neu-Zuordnung
|
||||||
([ADR-0009](docs/adr/0009-commit-konventionen-und-historien-anonymisierung.md),
|
([ADR-0009](docs/adr/0009-commit-konventionen-und-historien-anonymisierung.md),
|
||||||
Tabelle: [shared/commit-zuordnung-2026-08-07.md](docs/sources/migration/commit-zuordnung-2026-08-07.md)).
|
Tabelle: [shared/commit-zuordnung-2026-08-07.md](docs/sources/migration/commit-zuordnung-2026-08-07.md)).
|
||||||
- ⚠️ Das schützt nur die Git-Historie; Plattform-Zeitstempel (Push,
|
- ⚠️ Das schützt nur die Git-Historie; Plattform-Zeitstempel (Push,
|
||||||
|
|||||||
@@ -32,3 +32,17 @@ related: [] # design docs, issues, ADRs involved
|
|||||||
framework issues opened, tests added. When all actions are done,
|
framework issues opened, tests added. When all actions are done,
|
||||||
set status: harvested. The refinement session walks all AARs
|
set status: harvested. The refinement session walks all AARs
|
||||||
still marked open. -->
|
still marked open. -->
|
||||||
|
|
||||||
|
<!-- ## Nachtrag YYYY-MM-DD — <Thema> (optional, append-only)
|
||||||
|
|
||||||
|
Nachträge sind erlaubt und haben sich bewährt (Korrekturen, spätere
|
||||||
|
Auflösung eines offenen Punktes). Regeln:
|
||||||
|
- ANHÄNGEN, nie oben im Text nachbessern: der ursprüngliche Stand bleibt
|
||||||
|
lesbar, sonst verschwindet genau der Irrtum, aus dem man lernen wollte.
|
||||||
|
- Datiert überschreiben und benennen, was sich geändert hat.
|
||||||
|
- Widerspricht ein Nachtrag einer früheren Aussage, dort einen Verweis
|
||||||
|
setzen ("→ korrigiert im Nachtrag vom …") statt sie umzuschreiben.
|
||||||
|
- Befunde-Tabellen dürfen nachträglich um Issue-Referenzen ergänzt werden
|
||||||
|
(reine Vervollständigung, kein Nachtrag nötig).
|
||||||
|
Wächst ein AAR über ~drei Nachträge hinaus, gehört das Thema in ein
|
||||||
|
eigenes Folge-AAR statt in den vierten Anhang. -->
|
||||||
|
|||||||
@@ -75,3 +75,66 @@ 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
|
**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
|
nachziehen) oder bewusst verwerfen — die Regel des Issues („dokumentieren, nicht still
|
||||||
auflösen") bleibt dabei gültig.
|
auflösen") bleibt dabei gültig.
|
||||||
|
|
||||||
|
## Auflösungsstand 2026-08-15 — vier abgearbeitet, vier brauchen eine Entscheidung
|
||||||
|
|
||||||
|
Durchgang gemäß der Regel dieses Issues: dokumentiert und referenziert, nicht still aufgelöst.
|
||||||
|
|
||||||
|
### Erledigt
|
||||||
|
|
||||||
|
**W2 — Bootstrap-Routen / Ping-Falle.** Teil (b) ist **bereits dokumentiert**: die Ping-Falle
|
||||||
|
steht als Textbaustein in [`docs/wiki/admin/textbloecke.md`](../wiki/admin/textbloecke.md)
|
||||||
|
(„Ping auf 10.58.73.17 schlägt IMMER fehl … das ist kein Fehler"), Erreichbarkeit wird über
|
||||||
|
HTTPS geprüft. Teil (a) — Firewall-Ausnahme für einen künftigen Truststore-Neuaufbau — ist
|
||||||
|
**bedingt und tritt erst ein, wenn er gebraucht wird**; die ADR-Pflicht dafür steht in AGENTS.md
|
||||||
|
und muss hier nicht vorweggenommen werden. → geschlossen.
|
||||||
|
|
||||||
|
**W3 — `cfgmon.md` widersprach sich selbst.** Die Dienste-Tabelle listete `runner |
|
||||||
|
gitea/act_runner:0.6.1` als laufend, obwohl er am 2026-08-01 mit dem CI-Umzug zurückgebaut
|
||||||
|
wurde (belegt: `thread-net-git`-README und die Compose enthalten ihn nicht mehr). Zeile
|
||||||
|
entfernt, Hinweis auf den Rückbau ergänzt, `Stand` auf 2026-08-15 gezogen. Zugleich die
|
||||||
|
Bedeutungsfrage beantwortet, statt sie offen zu lassen: **Die Dienste-Tabelle ist Ist-Zustand
|
||||||
|
und wird nachgeführt; die Abschnitte darunter sind Historie und bleiben stehen.** Das steht
|
||||||
|
jetzt in der Kopfzeile der Seite. → geschlossen.
|
||||||
|
|
||||||
|
**W6 — AAR-Nachträge waren nirgends definiert.** Die Praxis hat sich mehrfach bewährt und wurde
|
||||||
|
zuletzt erneut genutzt (Wiki.js-AAR). Statt sie zu verbieten, ist sie jetzt Regel in
|
||||||
|
[`docs/aar/template.md`](../aar/template.md): **append-only**, datiert, mit Verweis von der
|
||||||
|
korrigierten Stelle auf den Nachtrag — der ursprüngliche Stand bleibt lesbar, sonst verschwindet
|
||||||
|
genau der Irrtum, aus dem man lernen wollte. Ab ~drei Nachträgen gehört das Thema in ein
|
||||||
|
Folge-AAR. Befunde-Tabellen dürfen ohne Nachtrag um Issue-Referenzen ergänzt werden. → geschlossen.
|
||||||
|
|
||||||
|
**W7 — Commit-Autorschaft.** Rückwirkend durch **ADR-0009** gelöst (251 Commits, Identitäten
|
||||||
|
vereinheitlicht), und die gelebte Praxis ist seither einheitlich. Es fehlte aber genau das, was
|
||||||
|
W7 verlangte: die **benannte** Regel. AGENTS.md sagte nur „kanonische Autor-Identität", ohne sie
|
||||||
|
zu nennen. Jetzt konkret: Autor `Thore Cimbal <cfx@riot.8shield.net>` plus Trailer
|
||||||
|
`Co-Authored-By: <Modell> <noreply@anthropic.com>`; Ausnahme `turn-secret-rotation`-Bot.
|
||||||
|
→ geschlossen.
|
||||||
|
|
||||||
|
### Brauchen eine Entscheidung von sorb
|
||||||
|
|
||||||
|
**W1 — ADR-0004 vs. vier Split-DNS-Zonen.** Nachgeprüft: ADR-0004 sagt weiterhin *„Split-DNS nur
|
||||||
|
`~lab` → 10.58.73.1"*, real sind es vier Zonen. ⚠️ **ADRs sind nach Annahme eingefroren** — der
|
||||||
|
As-built-Stand lässt sich also nicht einfach hineinschreiben; nötig wäre ein **ablösender ADR**
|
||||||
|
(oder der Rückbau auf `~lab`). Die im Issue benannte Brisanz besteht unverändert:
|
||||||
|
`~axion1337.de` über den Lab-Resolver betrifft auch `rohana.axion1337.de` — die **Flux-Quelle**.
|
||||||
|
Löst der Lab-DNS die Zone anders auf als öffentlich, ändert sich unbemerkt der Pfad zum Mirror.
|
||||||
|
|
||||||
|
**W4 — Schließung von #16 deckte drei von fünf Punkten.** Still mitgeschlossen: Punkt 4
|
||||||
|
(Repo-Zuhause für `lab.conf`/Drop-in/Root-CA) und Punkt 5 (Schlüsselrotation). Entweder sorb
|
||||||
|
bestätigt die Schließung ausdrücklich für alle fünf (dann ist die Secrets-Regel für diesen Fall
|
||||||
|
bewusst ausgesetzt → **ADR-Pflicht für die Ausnahme**), oder 4+5 werden reaktiviert. Der
|
||||||
|
Token-Teil hat mit **#0015** teilweise ein Zuhause; ob der WG-Private-Key davon abgedeckt ist,
|
||||||
|
gehört zur Antwort.
|
||||||
|
|
||||||
|
**W5 — Secrets-Regel kennt den Bootstrap-Fall nicht.** Strukturell, nicht böswillig: auf einem
|
||||||
|
headless Host gab es keinen anderen Übergabekanal. Zu entscheiden: **Bootstrap-Klausel** in die
|
||||||
|
Regel (erlaubt, aber Exposure gilt ⇒ Rotationspflicht + festhalten wo) **oder** ein Verfahren
|
||||||
|
(sorb legt per SSH selbst ab, die Session referenziert nur den Pfad). Solange die Regel den Fall
|
||||||
|
nicht kennt, wird sie beim nächsten Bootstrap wieder gebrochen — eine Regel, die man nur durch
|
||||||
|
Verstoß erfüllen kann, ist keine.
|
||||||
|
|
||||||
|
**W8 — UDM-SSH.** Root-Shell auf dem zentralen Gateway, vermutlich noch aktiv, nirgends
|
||||||
|
dokumentiert. Vom Mac nicht prüfbar. Entweder deaktivieren oder bewusst belassen und als Bestand
|
||||||
|
dokumentieren — analog zur docker-Gruppen-Entscheidung (ADR-0008). **Von den vier offenen Punkten
|
||||||
|
der sicherheitsrelevanteste.**
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ Monitoring-Stack, Gitea und der Reverse Proxy für alles Öffentliche.
|
|||||||
| **IPv6** | `2a01:4f8:c17:93eb::1` |
|
| **IPv6** | `2a01:4f8:c17:93eb::1` |
|
||||||
| **Privat** | `10.0.0.3` (`enp7s0`, Hetzner-Netz — dort liegt auch k3s auf `10.0.0.2`) |
|
| **Privat** | `10.0.0.3` (`enp7s0`, Hetzner-Netz — dort liegt auch k3s auf `10.0.0.2`) |
|
||||||
| **DNS** | `rohana.axion1337.de` → Gitea, `selendis.axion1337.de` → Grafana |
|
| **DNS** | `rohana.axion1337.de` → Gitea, `selendis.axion1337.de` → Grafana |
|
||||||
| **Stand** | 2026-07-30 |
|
| **Stand** | 2026-08-15 (Dienste-Tabelle = **Ist-Zustand**; die Abschnitte darunter sind Historie und werden nicht nachgeführt) |
|
||||||
|
|
||||||
## Dienste
|
## Dienste
|
||||||
|
|
||||||
@@ -30,9 +30,12 @@ Monitoring-Stack, Gitea und der Reverse Proxy für alles Öffentliche.
|
|||||||
| traefik | `traefik:v3.7.9` | `thread-net-git` | `sorb/thread-net-git`, seit 2026-07-30 in `main` (siehe [CFGMON-02](#cfgmon-02--traefik-gitea-cadvisor-und-runner-unter-iac-gebracht--erledigt-2026-07-30)) |
|
| traefik | `traefik:v3.7.9` | `thread-net-git` | `sorb/thread-net-git`, seit 2026-07-30 in `main` (siehe [CFGMON-02](#cfgmon-02--traefik-gitea-cadvisor-und-runner-unter-iac-gebracht--erledigt-2026-07-30)) |
|
||||||
| gitea | `gitea/gitea:1.27.0` | `thread-net-git` | dito, gepinnt (war `:latest`) |
|
| gitea | `gitea/gitea:1.27.0` | `thread-net-git` | dito, gepinnt (war `:latest`) |
|
||||||
| cadvisor | `gcr.io/cadvisor/cadvisor:v0.49.1` | `thread-net-git` | dito, gepinnt (war `:latest`) |
|
| cadvisor | `gcr.io/cadvisor/cadvisor:v0.49.1` | `thread-net-git` | dito, gepinnt (war `:latest`) |
|
||||||
| runner | `gitea/act_runner:0.6.1` | `thread-net-git` | dito, Container `gitea-runner`, siehe CFGMON-02 |
|
|
||||||
| portainer_agent | `portainer/agent:2.27.5` | — | standalone, kein Compose |
|
| portainer_agent | `portainer/agent:2.27.5` | — | standalone, kein Compose |
|
||||||
|
|
||||||
|
Der frühere `runner` (`gitea/act_runner:0.6.1`) steht hier **nicht mehr**: er wurde am
|
||||||
|
2026-08-01 mit dem CI-Umzug ins Lab-GitLab zurückgebaut (CFGMON-11 / #0034) und existiert
|
||||||
|
weder im Compose noch auf dem Host. Die Beschreibung weiter unten ist Historie.
|
||||||
|
|
||||||
Prometheus-Jobs: `operating_prometheus`, `operating_node-exporter`,
|
Prometheus-Jobs: `operating_prometheus`, `operating_node-exporter`,
|
||||||
`operating_cadvisor`, `operating_traefik` (alle lokal), `k3s_host_node`
|
`operating_cadvisor`, `operating_traefik` (alle lokal), `k3s_host_node`
|
||||||
(`10.0.0.2:9100`), `pterodactyl_host_node` und `gameserver_cadvisor`
|
(`10.0.0.2:9100`), `pterodactyl_host_node` und `gameserver_cadvisor`
|
||||||
|
|||||||
Reference in New Issue
Block a user