Files
management/docs/wiki/architecture/mirror-topologie.md
T
Thore CimbalandClaude Fable 5 92b448fe30 feat: slice 3 - wiki, sources and AARs in their neckbeard homes
Gate 4, slice 3: verfahren/, hosts/, vision/ and shared/ moved via git
mv - six AARs to docs/aar/ (four harvested by the 2026-08-09 retro,
two open), procedures and host knowledge to docs/wiki/ (admin,
deployment, architecture, new area vision), the retro protocol and the
commit mapping table to docs/sources/ (protokolle/, migration/). New:
the wiki index linking every page, and the mirror-topology page
carrying the why-two-places reasoning verbatim from the old CLAUDE.md
(F-013 preserved). All moved-path references retargeted; the link
checker drove the sweep to zero.

pruefe_prosa.py added (pattern C+D): SHA citations resolve via repo,
mapping table, optional component clones or a curated exemption list
(documented dead Gitea-force-push commits, a vendor-repo tag, an
Authentik uid that is hex but no git SHA, the external neckbeard
reference); wiki task prose without an issue reference errors, with a
visible pragma for deliberate checklists; the dead-tracker denylist
now covers every mirrored repo's retired Gitea tracker (F-005) - two
links re-verified against live GitLab titles and retargeted, five
defused into honest historical citations.

Verified: validate 0/0, gen_status --check current, drift 0. Demo on
the pre-migration state fires 6 findings (3 orphaned SHAs, 3 task
blocks); on the current tree exactly the 3 F-004 task blocks remain -
they turn green in slice 4 when the issues exist, which is why
pruefe_prosa joins CI only then.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 12:00:00 +00:00

3.7 KiB

type, area, related
type area related
wiki-page architecture
docs/adr/0001-gitlab-kanonisch-push-mirror.md
docs/adr/0002-issues-und-management-ins-lab.md
docs/adr/0004-site-to-site-vpn-hetzner-lab.md
docs/adr/0006-wikis-konsolidieren-docusaurus.md

Mirror-Topologie: Das Lab ist die Quelle der Wahrheit

Begründungsprosa übernommen aus der alten CLAUDE.md (Abschnitt „Projektrealitäten", Wortlaut in der git-Historie vor der neckbeard-Migration); die verbindlichen Regeln stehen in AGENTS.md §6 und den verlinkten ADRs. Erhalten per Feldtest-Befund F-013: Diese Begründung samt Gegenargument und Rettungspfad ist der Wert — sie erklärt, warum die Topologie so aussieht und so bleiben soll.

  • Kanonische Repos liegen auf git.lab/axion1337.chat/* (nur im Lab/VPN auflösbar). Gitea/rohana wird per Push-Mirror beliefert und bleibt Flux-Source, Container-/npm-Registry und Release-Download (ADR-0001).
  • Warum überhaupt zwei Orte — und warum das kein Altbestand ist: Auf git.lab liegen die Baupläne, auf Gitea eine Kopie, die der Cluster ohne verfügbares Lab erreicht. Der Hetzner-Cluster muss sich bauen und neu ausrollen lassen, wenn das Homelab aus ist, im Umbau steckt oder niemand zu Hause ist — er darf deshalb nicht von einem Host abhängen, der nur im Lab antwortet. ⚠️ Die Flux-Quelle nicht „geradeziehen" auf git.lab: Das sähe aufgeräumter aus und würde die Verfügbarkeit der Produktion an das Lab koppeln — genau das, was die Trennung verhindert.
  • Gespiegelt wird nur die Gruppe axion1337.chat (die Produkt-Repos und management). Die Gruppe homelab (docs, wiki, wiki-bookstack) hat bewusst keine Mirrors: Sie beschreibt und konfiguriert ausschließlich Lab-Infrastruktur, und seit dem Site-to-Site-VPN (ADR-0004) erreichen auch Host-Sessions git.lab direkt — Tunnel einschalten genügt. Betriebslehren, die von außen lesbar sein müssen, gehören deshalb in die AARs unter docs/aar/ (dieses Repo ist gespiegelt), nicht nur in die READMEs der Lab-Repos.
  • Landet doch ein Commit auf Gitea (z. B. aus einer Host-Session ohne Lab-Route): Kanonisierungs-Verfahren in deploy-uebergabe.patch von Gitea ziehen, git am (erhält Autorschaft), Push über git.lab.
  • ⚠️ gitops-Issue-Nummern haben sich beim Gitea-Umzug verschoben (Gitea zählte PRs mit; z. B. Gitea#48 → GitLab#46) — alte „gitops#N"-Verweise meinen die Gitea-Nummer; verbindlich ist der Migrations-Fußtext im Issue (ADR-0002).
  • Ausnahme (bewusst entschieden, nur noch eine): der TURN-Rotations-CronJob schreibt weiter nach Gitea, weil er im Cluster läuft und git.lab nicht erreicht. Die Rotation nicht von Hand nachziehen und den PR nie auf Gitea mergen — das erledigt seit 2026-08-02 der geplante CI-Job canonize_rotation im gitops-Repo täglich von git.lab aus. Scheitert er, bleibt die Pipeline rot; diese rote Pipeline ist der Alarm, einen zusätzlichen Termin gibt es bewusst nicht.
  • Dokumentation (ADR-0006): Das gitops-Wiki liegt seit 2026-08-02 auf git.lab (Wiki-Reiter im Projekt); ⚠️ der wiki-Branch im gitops-Repo ist ein überholter Mai-Abzug von docs/ und nicht die gepflegte Fassung. Alle Quellen zusammen erscheinen unter axionwiki.lab (homelab/wiki, Docusaurus) — Inhalte werden beim Bau geholt, Änderungen gehören ins Quell-Repo.