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:
co-authored by
Claude Fable 5
parent
e36ed337a7
commit
70e81e2ff1
@@ -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).
|
||||||
|
|||||||
@@ -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,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 |
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
|
||||||
@@ -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.
|
|
||||||
+10
@@ -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
|
||||||
+10
@@ -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
|
||||||
+11
-1
@@ -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 1–7 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 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.
|
- 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
|
||||||
+10
@@ -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
|
||||||
+10
@@ -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
|
||||||
+11
-1
@@ -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).
|
||||||
|
|
||||||
+12
-2
@@ -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.
|
||||||
+10
@@ -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
|
||||||
+10
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
|
||||||
|
|||||||
@@ -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 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 |
|
| [#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,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)
|
||||||
|
|||||||
Reference in New Issue
Block a user