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 <noreply@anthropic.com>
This commit is contained in:
Thore Cimbal
2026-08-11 12:00:00 +00:00
co-authored by Claude Fable 5
parent e36ed337a7
commit 70e81e2ff1
25 changed files with 148 additions and 65 deletions
+3 -3
View File
@@ -123,8 +123,8 @@ Ohne Lab-Zugang: dieses Repo ist als Push-Mirror unter
- `git.lab/axion1337.chat/*` ist kanonisch; Gitea/rohana wird per - `git.lab/axion1337.chat/*` ist kanonisch; Gitea/rohana wird per
Push-Mirror beliefert und bleibt Flux-Quelle, Registry und Push-Mirror beliefert und bleibt Flux-Quelle, Registry und
Release-Download ([ADR-0001](decisions/0001-gitlab-kanonisch-push-mirror.md), Release-Download ([ADR-0001](docs/adr/0001-gitlab-kanonisch-push-mirror.md),
[ADR-0004](decisions/0004-site-to-site-vpn-hetzner-lab.md)). Die [ADR-0004](docs/adr/0004-site-to-site-vpn-hetzner-lab.md)). Die
Flux-Quelle **nicht auf git.lab „geradeziehen"** — die Produktion darf Flux-Quelle **nicht auf git.lab „geradeziehen"** — die Produktion darf
nicht an der Lab-Verfügbarkeit hängen. nicht an der Lab-Verfügbarkeit hängen.
- **Nie direkt zu Gitea pushen** (der Mirror überschreibt per Force). - **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; - Autor- **und** Committer-Datum auf 12:00:00 UTC des laufenden Tages;
kanonische Autor-Identität. Historien-Rewrites nur mit kanonische Autor-Identität. Historien-Rewrites nur mit
alt→neu-Zuordnung 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)). 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, - ⚠️ Das schützt nur die Git-Historie; Plattform-Zeitstempel (Push,
Issues, Pipelines, Pakete) tragen die echte Uhrzeit (ADR-0009). Issues, Pipelines, Pakete) tragen die echte Uhrzeit (ADR-0009).
+4 -4
View File
@@ -3,7 +3,7 @@
Steuerungs-Repo für alles über den einzelnen Projekten: Visionen, Roadmap, Steuerungs-Repo für alles über den einzelnen Projekten: Visionen, Roadmap,
Entscheidungen (ADR), Arbeitsverfahren, AARs — und der Bestand der Hosts. Entscheidungen (ADR), Arbeitsverfahren, AARs — und der Bestand der Hosts.
Framework: **Kanban-Rückgrat mit leichten Scrum-Elementen**, begründet und 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 *(Bis 2026-08-01 hieß dieses Repo `Backlogs` und führte offene Punkte als
Markdown — die leben jetzt als Issues, siehe unten.)* 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 **Kanonisch lebt dieses Repo auf `git.lab`** (`axion1337.chat/management`, nur im
Lab bzw. via VPN erreichbar — das Lab ist die Quelle der Wahrheit, 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 `rohana.axion1337.de/sorb/management` ist ein **Push-Mirror**: git.lab
überschreibt ihn bei jedem Push per Force. Deshalb **nie direkt zu Gitea überschreibt ihn bei jedem Push per Force. Deshalb **nie direkt zu Gitea
pushen** — solche Commits gehen beim nächsten Mirror-Lauf verloren (Rettung: 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 **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 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 Grund entfallen — bei eingeschaltetem Tunnel erreicht CFGMON git.lab. Sie sind
umgezogen (LABNET-03), der Gitea-Tracker ist leer, die Vorlage liegt als umgezogen (LABNET-03), der Gitea-Tracker ist leer, die Vorlage liegt als
GitLab-Issue-Template. **Alle Issues leben auf git.lab.** 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)** — Gelesen wird das alles auch gebündelt unter **[axionwiki.lab](https://axionwiki.lab)** —
dort stehen Plattform-Wiki, Homelab-Doku und dieses Repo nebeneinander 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.** [`homelab/wiki`](https://git.lab/homelab/wiki)). **Geändert wird immer hier, nie dort.**
## Das Backlog: Issues + Board ## Das Backlog: Issues + Board
+12 -1
View File
@@ -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 | | [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 | | 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 | | [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 | | [0013](docs/adr/0013-gruppenregeln-kanonisch-mit-pruefung.md) | accepted | ADR-0013: Gruppenregeln kanonisch im management-Repo, Komponenten zeigen und werden geprüft |
-19
View File
@@ -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.
-19
View File
@@ -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? (25 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.
@@ -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 # 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 **Status:** akzeptiert · **Datum:** 2026-07-31 (rückwirkend dokumentiert 2026-08-01) · **Entscheider:** sorb
@@ -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") # 0002 — Issues und Management-Repo ziehen ins Lab („das Lab ist die Quelle der Wahrheit")
**Status:** akzeptiert · **Datum:** 2026-08-01 · **Entscheider:** sorb **Status:** akzeptiert · **Datum:** 2026-08-01 · **Entscheider:** sorb
@@ -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 # 0003 — CVE-Meldeweg: aggregierte Alarme, eigener Security-Raum, gleicher Bot
**Status:** akzeptiert · **Datum:** 2026-08-01 · **Entscheider:** sorb **Status:** akzeptiert · **Datum:** 2026-08-01 · **Entscheider:** sorb
@@ -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 # 0004 — Site-to-Site-VPN Hetzner-Projektnetz ↔ Lab, schaltbar über die UDM
**Status:** akzeptiert (umgesetzt und abgenommen 2026-08-01, Testreihe 17 in [management#12](https://git.lab/axion1337.chat/management/-/issues/12)) · **Datum:** 2026-08-01 · **Entscheider:** sorb **Status:** akzeptiert (umgesetzt und abgenommen 2026-08-01, Testreihe 17 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. - Tunnel dauerhaft an: widerspricht dem Bedarfsfall-Prinzip ohne echten Gewinn.
- git.lab öffentlich exponieren: größte Angriffsfläche, klar verworfen. - 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 - 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).
@@ -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 # 0005 — Projektmanagement: Kanban-Rückgrat mit leichten Scrum-Elementen
**Status:** akzeptiert · **Datum:** 2026-08-01 · **Entscheider:** sorb **Status:** akzeptiert · **Datum:** 2026-08-01 · **Entscheider:** sorb
@@ -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 # 0006 — Wikis ins Lab konsolidieren, Docusaurus als gemeinsame Lesefläche
**Status:** akzeptiert · **Datum:** 2026-08-02 · **Entscheider:** sorb **Status:** akzeptiert · **Datum:** 2026-08-02 · **Entscheider:** sorb
@@ -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 # 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 **Status:** vorgeschlagen (Entscheidung offen → [Issue #20](https://git.lab/axion1337.chat/management/-/issues/20)) · **Datum:** 2026-08-02 · **Entscheider:** sorb
@@ -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 # 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 **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 docker-Gruppe geschieht, ist im Nachhinein nicht aus den üblichen
Protokollen rekonstruierbar. 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 (Befund 3, MEDIUM), erfasst als
[#14](https://git.lab/axion1337.chat/management/-/issues/14). [#14](https://git.lab/axion1337.chat/management/-/issues/14).
@@ -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 # 0009 — Commit-Konventionen und rückwirkende Anonymisierung der Historie
**Status:** akzeptiert · **Datum:** 2026-08-07 (Regel) / 2026-08-09 (Durchführung) · **Entscheider:** sorb **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 > 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 > genau der Fehler, den die ADR-Pflicht verhindern soll, und wird hier benannt
> statt geglättet. > statt geglättet.
@@ -51,7 +61,7 @@ Uhrzeit verschwindet.
- **Alle SHAs im Bereich sind neu.** Verweise in Issues, Doku und Commit-Texten - **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 zeigen ins Leere. Die Doku wurde nachgezogen (12 Stellen); für alles andere gibt
es die dauerhafte Zuordnungstabelle 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 - **Issue-Kommentare wurden bewusst NICHT umgeschrieben.** Eine Tabelle
nachzuschlagen ist zumutbar; nachträglich zu ändern, was jemand geschrieben hat, nachzuschlagen ist zumutbar; nachträglich zu ändern, was jemand geschrieben hat,
beschädigt dieselbe Nachvollziehbarkeit ein zweites Mal. beschädigt dieselbe Nachvollziehbarkeit ein zweites Mal.
@@ -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 # 0010 — Härtung ist ein eigener Meilenstein (M5); M1 misst nur Kaputtes
**Status:** akzeptiert · **Datum:** 2026-08-09 · **Entscheider:** sorb **Status:** akzeptiert · **Datum:** 2026-08-09 · **Entscheider:** sorb
@@ -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 # 0011 — Provisionierung verweigert Localpart-Kollisionen, statt an bestehende Konten zu verknüpfen
**Status:** akzeptiert · **Datum:** 2026-08-11 · **Entscheider:** sorb **Status:** akzeptiert · **Datum:** 2026-08-11 · **Entscheider:** sorb
@@ -7,8 +7,8 @@ supersedes: null
superseded_by: null superseded_by: null
related: related:
- "docs/design/2026-08-11-neckbeard-migration.md" - "docs/design/2026-08-11-neckbeard-migration.md"
- "decisions/0002-issues-und-management-ins-lab.md" - "docs/adr/0002-issues-und-management-ins-lab.md"
- "decisions/0005-pm-framework-kanban.md" - "docs/adr/0005-pm-framework-kanban.md"
--- ---
# ADR-0012: Issues leben im Repo; GitLab wird deterministisch bespiegelt # ADR-0012: Issues leben im Repo; GitLab wird deterministisch bespiegelt
@@ -7,7 +7,7 @@ supersedes: null
superseded_by: null superseded_by: null
related: related:
- "docs/design/2026-08-11-neckbeard-migration.md" - "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 # ADR-0013: Gruppenregeln kanonisch im management-Repo, Komponenten zeigen und werden geprüft
@@ -5,9 +5,9 @@ date: 2026-08-11
size: L size: L
related: related:
- "PROJECT.md" - "PROJECT.md"
- "decisions/0005-pm-framework-kanban.md" - "docs/adr/0005-pm-framework-kanban.md"
- "decisions/0009-commit-konventionen-und-historien-anonymisierung.md" - "docs/adr/0009-commit-konventionen-und-historien-anonymisierung.md"
- "decisions/0010-haertung-eigener-meilenstein.md" - "docs/adr/0010-haertung-eigener-meilenstein.md"
- "docs/adr/0012-issues-im-repo-gitlab-als-spiegel.md" - "docs/adr/0012-issues-im-repo-gitlab-als-spiegel.md"
- "docs/adr/0013-gruppenregeln-kanonisch-mit-pruefung.md" - "docs/adr/0013-gruppenregeln-kanonisch-mit-pruefung.md"
--- ---
+2 -2
View File
@@ -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). 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 *(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 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.)* den damaligen Rückbau der Gitea-CI, nicht auf Dauer.)*
Betroffene Issues (werden bei der GitLab-Migrations-Planung umformuliert): Betroffene Issues (werden bei der GitLab-Migrations-Planung umformuliert):
+2 -2
View File
@@ -36,14 +36,14 @@ ein gleichnamiges Repo mit anderem Stand.
Gitea bleibt: Flux-Source (via Mirror beliefert), Registry, Packages. Gitea bleibt: Flux-Source (via Mirror beliefert), Registry, Packages.
**Issues nicht mehr** — die sind am 2026-08-01/02 nach git.lab gewandert **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 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. mit LABNET-03 zurückgebaut: beide umgezogen (#25, #26), der Tracker ist leer.
**Ohne Ausnahme: Issues leben auf git.lab.** **Ohne Ausnahme: Issues leben auf git.lab.**
*(Bis 2026-08-01 stand hier „Backlogs (dieses Repo, ungespiegelt)" — das Repo heißt *(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, 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 ## OVERMIND-01 — GitLab-Container-Registry aktivieren, Images nach Konsument sortieren
+1 -1
View File
@@ -39,7 +39,7 @@
3. Roadmap-/Board-Ausbau in GitLab (Rest von gitops#46: Milestones, Boards). 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): 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 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. dahinter: Doku im Repo oder im Browser? Verfallsdatum Ende August.
5. Sicherheits-Nachlese aus der VPN-Nacht: 5. Sicherheits-Nachlese aus der VPN-Nacht:
[CFGMON-14 (#14)](https://git.lab/axion1337.chat/management/-/issues/14) docker-Gruppe [CFGMON-14 (#14)](https://git.lab/axion1337.chat/management/-/issues/14) docker-Gruppe
+1 -1
View File
@@ -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 Hier im `management`-Repo, weil es als einziges der beteiligten Repos
**gespiegelt** ist und jede Werkzeugentscheidung überlebt: Wird das **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. abgeräumt oder ein Client ersetzt, bleiben Marke und Paletten bestehen.
## Bildmarke ## Bildmarke
+2 -2
View File
@@ -17,7 +17,7 @@ Route in der Fritzbox für das Lab-VLAN.
| Zugang | Server | Port | Tunnelnetz | Zweck | | Zugang | Server | Port | Tunnelnetz | Zweck |
|---|---|---|---|---| |---|---|---|---|---|
| Roadwarrior „Thore" | UDM | 51840 | 10.58.74.0/24 | Handy/MacBook ins Lab (LABNET-01) | | 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` ### Verhältnis zu `homelab/docs`
@@ -113,7 +113,7 @@ Zum Netz/VPN ist **nichts mehr offen** (Stand 2026-08-02):
| Issue | Thema | Stand | | Issue | Thema | Stand |
|---|---|---| |---|---|---|
| [#11](https://git.lab/axion1337.chat/management/-/issues/11) | LABNET-01-Rest — MacBook-WireGuard-Profil | geschlossen | | [#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 17 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 17 protokolliert |
| [#16](https://git.lab/axion1337.chat/management/-/issues/16) | LABNET-04 — Feinschliff UniFi-Regeln | geschlossen | | [#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 Zwei Punkte tragen zwar LABNET im Text, gehören aber **nicht** zum VPN-Thema und
+1 -1
View File
@@ -1,7 +1,7 @@
# Refinement und Retro — die Termine des Frameworks # Refinement und Retro — die Termine des Frameworks
Kanban braucht wenige, aber verlässliche Termine, sonst verkommt das Board zur 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. steht, wie sie ablaufen.
## Termine (festgelegt im Struktur-Workshop, 2026-08-06) ## Termine (festgelegt im Struktur-Workshop, 2026-08-06)