From 70e81e2ff12bf6cc3a29bf38aa13c529b65b1481 Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Tue, 11 Aug 2026 12:00:00 +0000 Subject: [PATCH] feat: slice 2 - all eleven decisions ported to docs/adr Gate 4, slice 2: decisions/0001-0011 moved via git mv with schema frontmatter prepended (status and date taken from each body's own Status line - 0007 stays proposed, its decision is open in #20; bodies unchanged except relative links gaining one directory level). The old scheme's README and template retire - their rules already live in AGENTS.md section 6 and the neckbeard ADR template. Every reference to decisions/ across the tree retargeted (root files, not-yet-moved verfahren/hosts/shared files, design doc and session ADR frontmatter). Verified: validate 0 errors (11 ported + 2 session ADRs + duplicate-id guard), gen_status --check current with all 13 ADRs listed, drift check 0 findings, negative test shows a cloned id 0012 firing the duplicate check. Co-Authored-By: Claude Fable 5 --- AGENTS.md | 6 +++--- README.md | 8 ++++---- STATUS.md | 13 ++++++++++++- decisions/README.md | 19 ------------------- decisions/template.md | 19 ------------------- .../adr}/0001-gitlab-kanonisch-push-mirror.md | 10 ++++++++++ .../0002-issues-und-management-ins-lab.md | 10 ++++++++++ .../adr}/0003-cve-meldeweg-aggregiert.md | 10 ++++++++++ .../adr}/0004-site-to-site-vpn-hetzner-lab.md | 12 +++++++++++- .../adr}/0005-pm-framework-kanban.md | 10 ++++++++++ .../0006-wikis-konsolidieren-docusaurus.md | 10 ++++++++++ ...iki-oberflaeche-docusaurus-vs-bookstack.md | 10 ++++++++++ .../0008-agenten-sessions-root-aequivalent.md | 12 +++++++++++- ...nventionen-und-historien-anonymisierung.md | 14 ++++++++++++-- .../adr}/0010-haertung-eigener-meilenstein.md | 10 ++++++++++ ...rollment-localpart-kollision-verweigern.md | 10 ++++++++++ .../0012-issues-im-repo-gitlab-als-spiegel.md | 4 ++-- ...13-gruppenregeln-kanonisch-mit-pruefung.md | 2 +- docs/design/2026-08-11-neckbeard-migration.md | 6 +++--- hosts/cfgmon.md | 4 ++-- hosts/overmind.md | 4 ++-- roadmap.md | 2 +- shared/branding.md | 2 +- shared/lab-netzwerk.md | 4 ++-- verfahren/refinement.md | 2 +- 25 files changed, 148 insertions(+), 65 deletions(-) delete mode 100644 decisions/README.md delete mode 100644 decisions/template.md rename {decisions => docs/adr}/0001-gitlab-kanonisch-push-mirror.md (92%) rename {decisions => docs/adr}/0002-issues-und-management-ins-lab.md (94%) rename {decisions => docs/adr}/0003-cve-meldeweg-aggregiert.md (92%) rename {decisions => docs/adr}/0004-site-to-site-vpn-hetzner-lab.md (95%) rename {decisions => docs/adr}/0005-pm-framework-kanban.md (95%) rename {decisions => docs/adr}/0006-wikis-konsolidieren-docusaurus.md (96%) rename {decisions => docs/adr}/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md (97%) rename {decisions => docs/adr}/0008-agenten-sessions-root-aequivalent.md (95%) rename {decisions => docs/adr}/0009-commit-konventionen-und-historien-anonymisierung.md (94%) rename {decisions => docs/adr}/0010-haertung-eigener-meilenstein.md (93%) rename {decisions => docs/adr}/0011-enrollment-localpart-kollision-verweigern.md (96%) diff --git a/AGENTS.md b/AGENTS.md index 71385ef..dffd4cf 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -123,8 +123,8 @@ Ohne Lab-Zugang: dieses Repo ist als Push-Mirror unter - `git.lab/axion1337.chat/*` ist kanonisch; Gitea/rohana wird per Push-Mirror beliefert und bleibt Flux-Quelle, Registry und - Release-Download ([ADR-0001](decisions/0001-gitlab-kanonisch-push-mirror.md), - [ADR-0004](decisions/0004-site-to-site-vpn-hetzner-lab.md)). Die + Release-Download ([ADR-0001](docs/adr/0001-gitlab-kanonisch-push-mirror.md), + [ADR-0004](docs/adr/0004-site-to-site-vpn-hetzner-lab.md)). Die Flux-Quelle **nicht auf git.lab „geradeziehen"** — die Produktion darf nicht an der Lab-Verfügbarkeit hängen. - **Nie direkt zu Gitea pushen** (der Mirror überschreibt per Force). @@ -164,7 +164,7 @@ Ohne Lab-Zugang: dieses Repo ist als Push-Mirror unter - Autor- **und** Committer-Datum auf 12:00:00 UTC des laufenden Tages; kanonische Autor-Identität. Historien-Rewrites nur mit alt→neu-Zuordnung - ([ADR-0009](decisions/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](shared/commit-zuordnung-2026-08-07.md)). - ⚠️ Das schützt nur die Git-Historie; Plattform-Zeitstempel (Push, Issues, Pipelines, Pakete) tragen die echte Uhrzeit (ADR-0009). diff --git a/README.md b/README.md index 653a038..93bbcb7 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Steuerungs-Repo für alles über den einzelnen Projekten: Visionen, Roadmap, Entscheidungen (ADR), Arbeitsverfahren, AARs — und der Bestand der Hosts. Framework: **Kanban-Rückgrat mit leichten Scrum-Elementen**, begründet und -im Detail festgelegt in [ADR-0005](decisions/0005-pm-framework-kanban.md). +im Detail festgelegt in [ADR-0005](docs/adr/0005-pm-framework-kanban.md). *(Bis 2026-08-01 hieß dieses Repo `Backlogs` und führte offene Punkte als Markdown — die leben jetzt als Issues, siehe unten.)* @@ -12,7 +12,7 @@ Markdown — die leben jetzt als Issues, siehe unten.)* **Kanonisch lebt dieses Repo auf `git.lab`** (`axion1337.chat/management`, nur im Lab bzw. via VPN erreichbar — das Lab ist die Quelle der Wahrheit, -[ADR-0002](decisions/0002-issues-und-management-ins-lab.md)). +[ADR-0002](docs/adr/0002-issues-und-management-ins-lab.md)). `rohana.axion1337.de/sorb/management` ist ein **Push-Mirror**: git.lab überschreibt ihn bei jedem Push per Force. Deshalb **nie direkt zu Gitea pushen** — solche Commits gehen beim nächsten Mirror-Lauf verloren (Rettung: @@ -21,7 +21,7 @@ pushen** — solche Commits gehen beim nächsten Mirror-Lauf verloren (Rettung: **Keine Ausnahmen mehr.** Die **Deploy-Übergabe-Issues** liefen bis 2026-08-02 auf dem Gitea-Tracker, weil Hosts außerhalb des Labs `git.lab` nicht erreichten. Mit dem -Site-to-Site-VPN ([ADR-0004](decisions/0004-site-to-site-vpn-hetzner-lab.md)) ist der +Site-to-Site-VPN ([ADR-0004](docs/adr/0004-site-to-site-vpn-hetzner-lab.md)) ist der Grund entfallen — bei eingeschaltetem Tunnel erreicht CFGMON git.lab. Sie sind umgezogen (LABNET-03), der Gitea-Tracker ist leer, die Vorlage liegt als GitLab-Issue-Template. **Alle Issues leben auf git.lab.** @@ -39,7 +39,7 @@ GitLab-Issue-Template. **Alle Issues leben auf git.lab.** Gelesen wird das alles auch gebündelt unter **[axionwiki.lab](https://axionwiki.lab)** — dort stehen Plattform-Wiki, Homelab-Doku und dieses Repo nebeneinander -([ADR-0006](decisions/0006-wikis-konsolidieren-docusaurus.md), Konfiguration in +([ADR-0006](docs/adr/0006-wikis-konsolidieren-docusaurus.md), Konfiguration in [`homelab/wiki`](https://git.lab/homelab/wiki)). **Geändert wird immer hier, nie dort.** ## Das Backlog: Issues + Board diff --git a/STATUS.md b/STATUS.md index 0880014..956430a 100644 --- a/STATUS.md +++ b/STATUS.md @@ -12,10 +12,21 @@ _none open_ |---|---|---| | [2026-08-11-neckbeard-migration](docs/design/2026-08-11-neckbeard-migration.md) | gate-4 | Design: Migration des Management-Systems auf neckbeard | -## ADRs (2) +## ADRs (13) | ADR | Status | Title | |---|---|---| +| [0001](docs/adr/0001-gitlab-kanonisch-push-mirror.md) | accepted | 0001 — git.lab ist kanonisch, Gitea wird per Push-Mirror beliefert | +| [0002](docs/adr/0002-issues-und-management-ins-lab.md) | accepted | 0002 — Issues und Management-Repo ziehen ins Lab („das Lab ist die Quelle der Wahrheit") | +| [0003](docs/adr/0003-cve-meldeweg-aggregiert.md) | accepted | 0003 — CVE-Meldeweg: aggregierte Alarme, eigener Security-Raum, gleicher Bot | +| [0004](docs/adr/0004-site-to-site-vpn-hetzner-lab.md) | accepted | 0004 — Site-to-Site-VPN Hetzner-Projektnetz ↔ Lab, schaltbar über die UDM | +| [0005](docs/adr/0005-pm-framework-kanban.md) | accepted | 0005 — Projektmanagement: Kanban-Rückgrat mit leichten Scrum-Elementen | +| [0006](docs/adr/0006-wikis-konsolidieren-docusaurus.md) | accepted | 0006 — Wikis ins Lab konsolidieren, Docusaurus als gemeinsame Lesefläche | +| [0007](docs/adr/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md) | proposed | 0007 — Wiki-Oberfläche: Docusaurus läuft, BookStack als Gegenentwurf | +| [0008](docs/adr/0008-agenten-sessions-root-aequivalent.md) | accepted | 0008 — Agenten-Sessions auf CFGMON laufen root-äquivalent über die docker-Gruppe | +| [0009](docs/adr/0009-commit-konventionen-und-historien-anonymisierung.md) | accepted | 0009 — Commit-Konventionen und rückwirkende Anonymisierung der Historie | +| [0010](docs/adr/0010-haertung-eigener-meilenstein.md) | accepted | 0010 — Härtung ist ein eigener Meilenstein (M5); M1 misst nur Kaputtes | +| [0011](docs/adr/0011-enrollment-localpart-kollision-verweigern.md) | accepted | 0011 — Provisionierung verweigert Localpart-Kollisionen, statt an bestehende Konten zu verknüpfen | | [0012](docs/adr/0012-issues-im-repo-gitlab-als-spiegel.md) | accepted | ADR-0012: Issues leben im Repo; GitLab wird deterministisch bespiegelt | | [0013](docs/adr/0013-gruppenregeln-kanonisch-mit-pruefung.md) | accepted | ADR-0013: Gruppenregeln kanonisch im management-Repo, Komponenten zeigen und werden geprüft | diff --git a/decisions/README.md b/decisions/README.md deleted file mode 100644 index 84fd211..0000000 --- a/decisions/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# Architecture Decision Records (ADR) - -Eine Datei pro Entscheidung, fortlaufend nummeriert, Format siehe -[template.md](template.md) (MADR-light). ADRs werden **nie umgeschrieben** — -eine revidierte Entscheidung bekommt ein neues ADR, das alte wird im Status -auf `abgelöst durch NNNN` gesetzt. - -**Wann ist ein ADR Pflicht:** - -- Architektur- oder Prozessentscheidungen, die mehrere Repos/Hosts betreffen -- **Jede dauerhafte Ausnahme von einer bestehenden Regel** — eine Ausnahme, die - nur dokumentiert, aber nicht entschieden wurde, ist ein Fehler (gelernt beim - git.lab-Cutover 2026-08-01: die „Übergabe-Issues bleiben auf Gitea"-Ausnahme - hätte als Entscheidungsvorlage kommen müssen, nicht als Fußnote) -- Verworfene Wege, deren erneute Prüfung Zeit kosten würde („warum haben wir - das damals nicht gemacht?") - -Kleine, repo-lokale Entscheidungen bleiben im jeweiligen Projekt (Commit-Message -oder Issue) — nicht jede Abwägung braucht ein ADR. diff --git a/decisions/template.md b/decisions/template.md deleted file mode 100644 index 20fe0c4..0000000 --- a/decisions/template.md +++ /dev/null @@ -1,19 +0,0 @@ -# NNNN — Titel (Aussagesatz der Entscheidung) - -**Status:** vorgeschlagen | akzeptiert | abgelöst durch NNNN · **Datum:** JJJJ-MM-TT · **Entscheider:** sorb - -## Kontext - -Was ist das Problem, was zwingt zur Entscheidung? (2–5 Sätze) - -## Entscheidung - -Was wurde entschieden — als klare Aussage, umsetzbar ohne den Kontext zu lesen. - -## Konsequenzen - -Was wird dadurch besser, was nehmen wir bewusst in Kauf, was ist jetzt Pflicht. - -## Verworfene Alternativen - -Je Alternative ein Satz, warum nicht. diff --git a/decisions/0001-gitlab-kanonisch-push-mirror.md b/docs/adr/0001-gitlab-kanonisch-push-mirror.md similarity index 92% rename from decisions/0001-gitlab-kanonisch-push-mirror.md rename to docs/adr/0001-gitlab-kanonisch-push-mirror.md index 249dd3a..8462c83 100644 --- a/decisions/0001-gitlab-kanonisch-push-mirror.md +++ b/docs/adr/0001-gitlab-kanonisch-push-mirror.md @@ -1,3 +1,13 @@ +--- +type: adr +id: "0001" +status: accepted +date: 2026-07-31 +supersedes: null +superseded_by: null +related: [] +--- + # 0001 — git.lab ist kanonisch, Gitea wird per Push-Mirror beliefert **Status:** akzeptiert · **Datum:** 2026-07-31 (rückwirkend dokumentiert 2026-08-01) · **Entscheider:** sorb diff --git a/decisions/0002-issues-und-management-ins-lab.md b/docs/adr/0002-issues-und-management-ins-lab.md similarity index 94% rename from decisions/0002-issues-und-management-ins-lab.md rename to docs/adr/0002-issues-und-management-ins-lab.md index e35f6e2..df597a6 100644 --- a/decisions/0002-issues-und-management-ins-lab.md +++ b/docs/adr/0002-issues-und-management-ins-lab.md @@ -1,3 +1,13 @@ +--- +type: adr +id: "0002" +status: accepted +date: 2026-08-01 +supersedes: null +superseded_by: null +related: [] +--- + # 0002 — Issues und Management-Repo ziehen ins Lab („das Lab ist die Quelle der Wahrheit") **Status:** akzeptiert · **Datum:** 2026-08-01 · **Entscheider:** sorb diff --git a/decisions/0003-cve-meldeweg-aggregiert.md b/docs/adr/0003-cve-meldeweg-aggregiert.md similarity index 92% rename from decisions/0003-cve-meldeweg-aggregiert.md rename to docs/adr/0003-cve-meldeweg-aggregiert.md index fbe504c..0f6e982 100644 --- a/decisions/0003-cve-meldeweg-aggregiert.md +++ b/docs/adr/0003-cve-meldeweg-aggregiert.md @@ -1,3 +1,13 @@ +--- +type: adr +id: "0003" +status: accepted +date: 2026-08-01 +supersedes: null +superseded_by: null +related: [] +--- + # 0003 — CVE-Meldeweg: aggregierte Alarme, eigener Security-Raum, gleicher Bot **Status:** akzeptiert · **Datum:** 2026-08-01 · **Entscheider:** sorb diff --git a/decisions/0004-site-to-site-vpn-hetzner-lab.md b/docs/adr/0004-site-to-site-vpn-hetzner-lab.md similarity index 95% rename from decisions/0004-site-to-site-vpn-hetzner-lab.md rename to docs/adr/0004-site-to-site-vpn-hetzner-lab.md index 1b43c70..6fccbb6 100644 --- a/decisions/0004-site-to-site-vpn-hetzner-lab.md +++ b/docs/adr/0004-site-to-site-vpn-hetzner-lab.md @@ -1,3 +1,13 @@ +--- +type: adr +id: "0004" +status: accepted +date: 2026-08-01 +supersedes: null +superseded_by: null +related: [] +--- + # 0004 — Site-to-Site-VPN Hetzner-Projektnetz ↔ Lab, schaltbar über die UDM **Status:** akzeptiert (umgesetzt und abgenommen 2026-08-01, Testreihe 1–7 in [management#12](https://git.lab/axion1337.chat/management/-/issues/12)) · **Datum:** 2026-08-01 · **Entscheider:** sorb @@ -63,4 +73,4 @@ Client". Die Richtung wurde deshalb gedreht: - Tunnel dauerhaft an: widerspricht dem Bedarfsfall-Prinzip ohne echten Gewinn. - git.lab öffentlich exponieren: größte Angriffsfläche, klar verworfen. - Eigene UniFi-Zone für den Tunnel: technisch nicht möglich (VPN-Server bleiben in der - VPN-Zone), siehe [AAR Lab-Seite](../verfahren/aar/2026-08-01-labnet02-lab.md). + VPN-Zone), siehe [AAR Lab-Seite](../../verfahren/aar/2026-08-01-labnet02-lab.md). diff --git a/decisions/0005-pm-framework-kanban.md b/docs/adr/0005-pm-framework-kanban.md similarity index 95% rename from decisions/0005-pm-framework-kanban.md rename to docs/adr/0005-pm-framework-kanban.md index 9af5f00..0922dc0 100644 --- a/decisions/0005-pm-framework-kanban.md +++ b/docs/adr/0005-pm-framework-kanban.md @@ -1,3 +1,13 @@ +--- +type: adr +id: "0005" +status: accepted +date: 2026-08-01 +supersedes: null +superseded_by: null +related: [] +--- + # 0005 — Projektmanagement: Kanban-Rückgrat mit leichten Scrum-Elementen **Status:** akzeptiert · **Datum:** 2026-08-01 · **Entscheider:** sorb diff --git a/decisions/0006-wikis-konsolidieren-docusaurus.md b/docs/adr/0006-wikis-konsolidieren-docusaurus.md similarity index 96% rename from decisions/0006-wikis-konsolidieren-docusaurus.md rename to docs/adr/0006-wikis-konsolidieren-docusaurus.md index 3b3c141..fdb1517 100644 --- a/decisions/0006-wikis-konsolidieren-docusaurus.md +++ b/docs/adr/0006-wikis-konsolidieren-docusaurus.md @@ -1,3 +1,13 @@ +--- +type: adr +id: "0006" +status: accepted +date: 2026-08-02 +supersedes: null +superseded_by: null +related: [] +--- + # 0006 — Wikis ins Lab konsolidieren, Docusaurus als gemeinsame Lesefläche **Status:** akzeptiert · **Datum:** 2026-08-02 · **Entscheider:** sorb diff --git a/decisions/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md b/docs/adr/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md similarity index 97% rename from decisions/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md rename to docs/adr/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md index 3a68e36..243730f 100644 --- a/decisions/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md +++ b/docs/adr/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md @@ -1,3 +1,13 @@ +--- +type: adr +id: "0007" +status: proposed +date: 2026-08-02 +supersedes: null +superseded_by: null +related: [] +--- + # 0007 — Wiki-Oberfläche: Docusaurus läuft, BookStack als Gegenentwurf **Status:** vorgeschlagen (Entscheidung offen → [Issue #20](https://git.lab/axion1337.chat/management/-/issues/20)) · **Datum:** 2026-08-02 · **Entscheider:** sorb diff --git a/decisions/0008-agenten-sessions-root-aequivalent.md b/docs/adr/0008-agenten-sessions-root-aequivalent.md similarity index 95% rename from decisions/0008-agenten-sessions-root-aequivalent.md rename to docs/adr/0008-agenten-sessions-root-aequivalent.md index f7f8d1e..2242b56 100644 --- a/decisions/0008-agenten-sessions-root-aequivalent.md +++ b/docs/adr/0008-agenten-sessions-root-aequivalent.md @@ -1,3 +1,13 @@ +--- +type: adr +id: "0008" +status: accepted +date: 2026-08-06 +supersedes: null +superseded_by: null +related: [] +--- + # 0008 — Agenten-Sessions auf CFGMON laufen root-äquivalent über die docker-Gruppe **Status:** akzeptiert · **Datum:** 2026-08-06 (Struktur-Workshop [#17](https://git.lab/axion1337.chat/management/-/issues/17)) · **Entscheider:** sorb @@ -19,7 +29,7 @@ Konfigurationsfehler — aber es hat zwei Folgen, die benannt gehören: docker-Gruppe geschieht, ist im Nachhinein nicht aus den üblichen Protokollen rekonstruierbar. -Aufgedeckt im [CFGMON-AAR](../verfahren/aar/2026-08-01-labnet02-cfgmon.md) +Aufgedeckt im [CFGMON-AAR](../../verfahren/aar/2026-08-01-labnet02-cfgmon.md) (Befund 3, MEDIUM), erfasst als [#14](https://git.lab/axion1337.chat/management/-/issues/14). diff --git a/decisions/0009-commit-konventionen-und-historien-anonymisierung.md b/docs/adr/0009-commit-konventionen-und-historien-anonymisierung.md similarity index 94% rename from decisions/0009-commit-konventionen-und-historien-anonymisierung.md rename to docs/adr/0009-commit-konventionen-und-historien-anonymisierung.md index 42d1729..70c77ea 100644 --- a/decisions/0009-commit-konventionen-und-historien-anonymisierung.md +++ b/docs/adr/0009-commit-konventionen-und-historien-anonymisierung.md @@ -1,8 +1,18 @@ +--- +type: adr +id: "0009" +status: accepted +date: 2026-08-07 +supersedes: null +superseded_by: null +related: [] +--- + # 0009 — Commit-Konventionen und rückwirkende Anonymisierung der Historie **Status:** akzeptiert · **Datum:** 2026-08-07 (Regel) / 2026-08-09 (Durchführung) · **Entscheider:** sorb -> Nachgetragen am 2026-08-09 in der [Retro](../verfahren/retro/2026-08-09.md). Die +> Nachgetragen am 2026-08-09 in der [Retro](../../verfahren/retro/2026-08-09.md). Die > Entscheidung war getroffen und ausgeführt, bevor sie als ADR vorlag — das ist > genau der Fehler, den die ADR-Pflicht verhindern soll, und wird hier benannt > statt geglättet. @@ -51,7 +61,7 @@ Uhrzeit verschwindet. - **Alle SHAs im Bereich sind neu.** Verweise in Issues, Doku und Commit-Texten zeigen ins Leere. Die Doku wurde nachgezogen (12 Stellen); für alles andere gibt es die dauerhafte Zuordnungstabelle - [`shared/commit-zuordnung-2026-08-07.md`](../shared/commit-zuordnung-2026-08-07.md). + [`shared/commit-zuordnung-2026-08-07.md`](../../shared/commit-zuordnung-2026-08-07.md). - **Issue-Kommentare wurden bewusst NICHT umgeschrieben.** Eine Tabelle nachzuschlagen ist zumutbar; nachträglich zu ändern, was jemand geschrieben hat, beschädigt dieselbe Nachvollziehbarkeit ein zweites Mal. diff --git a/decisions/0010-haertung-eigener-meilenstein.md b/docs/adr/0010-haertung-eigener-meilenstein.md similarity index 93% rename from decisions/0010-haertung-eigener-meilenstein.md rename to docs/adr/0010-haertung-eigener-meilenstein.md index 11bdc6c..5ab186a 100644 --- a/decisions/0010-haertung-eigener-meilenstein.md +++ b/docs/adr/0010-haertung-eigener-meilenstein.md @@ -1,3 +1,13 @@ +--- +type: adr +id: "0010" +status: accepted +date: 2026-08-09 +supersedes: null +superseded_by: null +related: [] +--- + # 0010 — Härtung ist ein eigener Meilenstein (M5); M1 misst nur Kaputtes **Status:** akzeptiert · **Datum:** 2026-08-09 · **Entscheider:** sorb diff --git a/decisions/0011-enrollment-localpart-kollision-verweigern.md b/docs/adr/0011-enrollment-localpart-kollision-verweigern.md similarity index 96% rename from decisions/0011-enrollment-localpart-kollision-verweigern.md rename to docs/adr/0011-enrollment-localpart-kollision-verweigern.md index 82e6076..cf3f4a2 100644 --- a/decisions/0011-enrollment-localpart-kollision-verweigern.md +++ b/docs/adr/0011-enrollment-localpart-kollision-verweigern.md @@ -1,3 +1,13 @@ +--- +type: adr +id: "0011" +status: accepted +date: 2026-08-11 +supersedes: null +superseded_by: null +related: [] +--- + # 0011 — Provisionierung verweigert Localpart-Kollisionen, statt an bestehende Konten zu verknüpfen **Status:** akzeptiert · **Datum:** 2026-08-11 · **Entscheider:** sorb diff --git a/docs/adr/0012-issues-im-repo-gitlab-als-spiegel.md b/docs/adr/0012-issues-im-repo-gitlab-als-spiegel.md index 4631a49..9a906b9 100644 --- a/docs/adr/0012-issues-im-repo-gitlab-als-spiegel.md +++ b/docs/adr/0012-issues-im-repo-gitlab-als-spiegel.md @@ -7,8 +7,8 @@ supersedes: null superseded_by: null related: - "docs/design/2026-08-11-neckbeard-migration.md" - - "decisions/0002-issues-und-management-ins-lab.md" - - "decisions/0005-pm-framework-kanban.md" + - "docs/adr/0002-issues-und-management-ins-lab.md" + - "docs/adr/0005-pm-framework-kanban.md" --- # ADR-0012: Issues leben im Repo; GitLab wird deterministisch bespiegelt diff --git a/docs/adr/0013-gruppenregeln-kanonisch-mit-pruefung.md b/docs/adr/0013-gruppenregeln-kanonisch-mit-pruefung.md index 2097df5..4241d18 100644 --- a/docs/adr/0013-gruppenregeln-kanonisch-mit-pruefung.md +++ b/docs/adr/0013-gruppenregeln-kanonisch-mit-pruefung.md @@ -7,7 +7,7 @@ supersedes: null superseded_by: null related: - "docs/design/2026-08-11-neckbeard-migration.md" - - "decisions/0001-gitlab-kanonisch-push-mirror.md" + - "docs/adr/0001-gitlab-kanonisch-push-mirror.md" --- # ADR-0013: Gruppenregeln kanonisch im management-Repo, Komponenten zeigen und werden geprüft diff --git a/docs/design/2026-08-11-neckbeard-migration.md b/docs/design/2026-08-11-neckbeard-migration.md index 748662b..4f97b9d 100644 --- a/docs/design/2026-08-11-neckbeard-migration.md +++ b/docs/design/2026-08-11-neckbeard-migration.md @@ -5,9 +5,9 @@ date: 2026-08-11 size: L related: - "PROJECT.md" - - "decisions/0005-pm-framework-kanban.md" - - "decisions/0009-commit-konventionen-und-historien-anonymisierung.md" - - "decisions/0010-haertung-eigener-meilenstein.md" + - "docs/adr/0005-pm-framework-kanban.md" + - "docs/adr/0009-commit-konventionen-und-historien-anonymisierung.md" + - "docs/adr/0010-haertung-eigener-meilenstein.md" - "docs/adr/0012-issues-im-repo-gitlab-als-spiegel.md" - "docs/adr/0013-gruppenregeln-kanonisch-mit-pruefung.md" --- diff --git a/hosts/cfgmon.md b/hosts/cfgmon.md index d87a9ff..7eaba6c 100644 --- a/hosts/cfgmon.md +++ b/hosts/cfgmon.md @@ -136,9 +136,9 @@ Gitea selbst, gitops-Repo als Flux-Source, Issues/Wiki/dieses Repo, der API-Token für Issue-Verwaltung, das Gitea-Backup-Script (CFGMON-09). *(Stand der Analyse 2026-07-31. Issues und dieses Repo sind seitdem doch -umgezogen — [ADR-0002](../decisions/0002-issues-und-management-ins-lab.md) —, +umgezogen — [ADR-0002](../docs/adr/0002-issues-und-management-ins-lab.md) —, das Repo dabei von `Backlogs` zu `management` umgewidmet -[ADR-0005](../decisions/0005-pm-framework-kanban.md). „Nicht rückbaubar" galt für +[ADR-0005](../docs/adr/0005-pm-framework-kanban.md). „Nicht rückbaubar" galt für den damaligen Rückbau der Gitea-CI, nicht auf Dauer.)* Betroffene Issues (werden bei der GitLab-Migrations-Planung umformuliert): diff --git a/hosts/overmind.md b/hosts/overmind.md index deb458b..c204ca6 100644 --- a/hosts/overmind.md +++ b/hosts/overmind.md @@ -36,14 +36,14 @@ ein gleichnamiges Repo mit anderem Stand. Gitea bleibt: Flux-Source (via Mirror beliefert), Registry, Packages. **Issues nicht mehr** — die sind am 2026-08-01/02 nach git.lab gewandert -([ADR-0002](../decisions/0002-issues-und-management-ins-lab.md)). Die letzte Ausnahme, +([ADR-0002](../docs/adr/0002-issues-und-management-ins-lab.md)). Die letzte Ausnahme, die Deploy-Übergabe-Issues auf dem Gitea-Tracker `sorb/management`, ist am 2026-08-02 mit LABNET-03 zurückgebaut: beide umgezogen (#25, #26), der Tracker ist leer. **Ohne Ausnahme: Issues leben auf git.lab.** *(Bis 2026-08-01 stand hier „Backlogs (dieses Repo, ungespiegelt)" — das Repo heißt seit der Umwidmung zum Management-Repo `management` und wird seither gespiegelt, -[ADR-0005](../decisions/0005-pm-framework-kanban.md).)* +[ADR-0005](../docs/adr/0005-pm-framework-kanban.md).)* ## OVERMIND-01 — GitLab-Container-Registry aktivieren, Images nach Konsument sortieren diff --git a/roadmap.md b/roadmap.md index a3dcff8..e7a7891 100644 --- a/roadmap.md +++ b/roadmap.md @@ -39,7 +39,7 @@ 3. Roadmap-/Board-Ausbau in GitLab (Rest von gitops#46: Milestones, Boards). 4. **Wiki-Oberfläche entscheiden** — [DOC-03 (#20)](https://git.lab/axion1337.chat/management/-/issues/20): Docusaurus läuft (`axionwiki.lab`), BookStack steht als Gegenentwurf bereit - ([ADR-0007](decisions/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md)). Die Frage + ([ADR-0007](docs/adr/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md)). Die Frage dahinter: Doku im Repo oder im Browser? Verfallsdatum Ende August. 5. Sicherheits-Nachlese aus der VPN-Nacht: [CFGMON-14 (#14)](https://git.lab/axion1337.chat/management/-/issues/14) docker-Gruppe diff --git a/shared/branding.md b/shared/branding.md index e9e68f6..18f82cd 100644 --- a/shared/branding.md +++ b/shared/branding.md @@ -7,7 +7,7 @@ trennen lässt: **Bestand** (welche Farbe wo eingetragen ist) und **Historie** Hier im `management`-Repo, weil es als einziges der beteiligten Repos **gespiegelt** ist und jede Werkzeugentscheidung überlebt: Wird das -BookStack-Experiment nach [ADR-0007](../decisions/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md) +BookStack-Experiment nach [ADR-0007](../docs/adr/0007-wiki-oberflaeche-docusaurus-vs-bookstack.md) abgeräumt oder ein Client ersetzt, bleiben Marke und Paletten bestehen. ## Bildmarke diff --git a/shared/lab-netzwerk.md b/shared/lab-netzwerk.md index 7603719..f56bb4e 100644 --- a/shared/lab-netzwerk.md +++ b/shared/lab-netzwerk.md @@ -17,7 +17,7 @@ Route in der Fritzbox für das Lab-VLAN. | Zugang | Server | Port | Tunnelnetz | Zweck | |---|---|---|---|---| | Roadwarrior „Thore" | UDM | 51840 | 10.58.74.0/24 | Handy/MacBook ins Lab (LABNET-01) | -| Site-to-Site „Matrix" | UDM | 51841 | 10.58.75.0/24 | Hetzner-Netz 10.0.0.0/24 ↔ Lab (LABNET-02, [ADR-0004](../decisions/0004-site-to-site-vpn-hetzner-lab.md)) | +| Site-to-Site „Matrix" | UDM | 51841 | 10.58.75.0/24 | Hetzner-Netz 10.0.0.0/24 ↔ Lab (LABNET-02, [ADR-0004](../docs/adr/0004-site-to-site-vpn-hetzner-lab.md)) | ### Verhältnis zu `homelab/docs` @@ -113,7 +113,7 @@ Zum Netz/VPN ist **nichts mehr offen** (Stand 2026-08-02): | Issue | Thema | Stand | |---|---|---| | [#11](https://git.lab/axion1337.chat/management/-/issues/11) | LABNET-01-Rest — MacBook-WireGuard-Profil | geschlossen | -| [#12](https://git.lab/axion1337.chat/management/-/issues/12) | LABNET-02 — Site-to-Site-VPN (Design: [ADR-0004](../decisions/0004-site-to-site-vpn-hetzner-lab.md)) | geschlossen, Testreihe 1–7 protokolliert | +| [#12](https://git.lab/axion1337.chat/management/-/issues/12) | LABNET-02 — Site-to-Site-VPN (Design: [ADR-0004](../docs/adr/0004-site-to-site-vpn-hetzner-lab.md)) | geschlossen, Testreihe 1–7 protokolliert | | [#16](https://git.lab/axion1337.chat/management/-/issues/16) | LABNET-04 — Feinschliff UniFi-Regeln | geschlossen | Zwei Punkte tragen zwar LABNET im Text, gehören aber **nicht** zum VPN-Thema und diff --git a/verfahren/refinement.md b/verfahren/refinement.md index 9c857a2..741b3a1 100644 --- a/verfahren/refinement.md +++ b/verfahren/refinement.md @@ -1,7 +1,7 @@ # Refinement und Retro — die Termine des Frameworks Kanban braucht wenige, aber verlässliche Termine, sonst verkommt das Board zur -Ablage. Festgelegt in [ADR-0005](../decisions/0005-pm-framework-kanban.md); hier +Ablage. Festgelegt in [ADR-0005](../docs/adr/0005-pm-framework-kanban.md); hier steht, wie sie ablaufen. ## Termine (festgelegt im Struktur-Workshop, 2026-08-06)