From 0e34ec9deb4b41ac5c148c3f6ba8ffa996adc7ba Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Sat, 15 Aug 2026 12:00:00 +0000 Subject: [PATCH] docs(issues): reject #0018 as moot, close #0028 as already running MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #0018 builds entirely on the Docusaurus aggregate that ADR-0014 replaced, and sorb confirms wiki.lab is gone — measured, it resolves but answers nothing, so the Dokploy stack it asks for was never deployed. Its one live part was step 6: gitops still claimed the docs were served there, corrected in gitops 82412cf. #0028 turned out to be built already, on the very path the issue proposed: stillstandspruefung.py reads remote_mirrors and reports last_error, CI runs it on schedule, and the git.lab schedule is active daily at 00:42 — so an expired mirror credential goes red within a day instead of freezing production silently. It also demonstrably fires: it flagged three repos without an active mirror today. Co-Authored-By: Claude Opus 4.8 --- STATUS.md | 6 ++-- ...-wiki-rollout-abschliessen-ci-freigaben.md | 26 ++++++++++++++-- ...-01-ein-ausfall-der-push-mirrors-bleibt.md | 31 ++++++++++++++++++- 3 files changed, 56 insertions(+), 7 deletions(-) diff --git a/STATUS.md b/STATUS.md index bd753de..983d004 100644 --- a/STATUS.md +++ b/STATUS.md @@ -2,9 +2,9 @@ -## Issues (23 open, 24 closed) +## Issues (21 open, 26 closed) -Verteilung: M1 6 · M2 14 · M4 2 · M5 1 +Verteilung: M1 6 · M2 12 · M4 2 · M5 1 | Issue | Status | Meilenstein | Priorität | Title | |---|---|---|---|---| @@ -14,12 +14,10 @@ Verteilung: M1 6 · M2 14 · M4 2 · M5 1 | [0009](docs/issues/0009-cfgmon-04-grafana-admin-credentials-aus-env.md) | open | M2 | low | CFGMON-04: Grafana-Admin-Credentials aus .env gelten nicht für die HTTP-API | | [0014](docs/issues/0014-cfgmon-14-root-zugang-ueber-die-docker-gruppe.md) | open | M2 | low | CFGMON-14: Root-Zugang über die docker-Gruppe umgeht sudo und hinterlässt keine Spur | | [0015](docs/issues/0015-cfgmon-15-token-hygiene-einmal-tokens-der.md) | waiting | M2 | medium | CFGMON-15: Token-Hygiene — Einmal-Tokens der LABNET-02-Nacht widerrufen | -| [0018](docs/issues/0018-doc-01-wiki-rollout-abschliessen-ci-freigaben.md) | open | M2 | low | DOC-01: Wiki-Rollout abschließen — CI-Freigaben, Zeitplan, Dokploy-Stack, wiki.lab | | [0019](docs/issues/0019-doc-02-veralteten-wiki-branch-im-gitops-repo.md) | open | M2 | low | DOC-02: Veralteten `wiki`-Branch im gitops-Repo entfernen? | | [0021](docs/issues/0021-overmind-03-windows-build-vm-verschwindet-ci.md) | waiting | M2 | medium | OVERMIND-03: Windows-Build-VM verschwindet — CI kann sie nur starten, nicht anlegen | | [0022](docs/issues/0022-build-01-macos-client-reproduzierbar-bauen.md) | open | M4 | low | BUILD-01: macOS-Client reproduzierbar bauen — aktuell nur manuell auf sorbs Mac | | [0027](docs/issues/0027-audit-01-acht-widersprueche-aus-dem-labnet-02.md) | open | M2 | medium | AUDIT-01: Acht Widersprüche aus dem LABNET-02-Nachlauf (Selbst-Audit CFGMON-Session) | -| [0028](docs/issues/0028-mirror-01-ein-ausfall-der-push-mirrors-bleibt.md) | open | M2 | low | MIRROR-01: Ein Ausfall der Push-Mirrors bleibt unbemerkt — Produktion friert still ein | | [0029](docs/issues/0029-ui-harmonisieren-gleiche-farben-und-formen.md) | open | M4 | medium | UI harmonisieren: gleiche Farben und Formen über alle Oberflächen | | [0030](docs/issues/0030-der-restore-ist-nie-geprobt-sicherungen-sind.md) | in-progress | M1 | medium | Der Restore ist nie geprobt — Sicherungen sind bisher eine Vermutung | | [0031](docs/issues/0031-stillstandspruefung-gitea-token-und-authentik.md) | open | M1 | low | Stillstandsprüfung: GITEA_TOKEN und Authentik-Teil nachziehen | diff --git a/docs/issues/0018-doc-01-wiki-rollout-abschliessen-ci-freigaben.md b/docs/issues/0018-doc-01-wiki-rollout-abschliessen-ci-freigaben.md index ad3a888..91f1264 100644 --- a/docs/issues/0018-doc-01-wiki-rollout-abschliessen-ci-freigaben.md +++ b/docs/issues/0018-doc-01-wiki-rollout-abschliessen-ci-freigaben.md @@ -1,13 +1,13 @@ --- type: issue id: "0018" -status: open +status: rejected created: 2026-08-01 milestone: M2 priority: low area: infrastructure gitlab_iid: "18" -related: [] +related: [docs/adr/0014-wikijs-loest-docusaurus-ab.md] --- # DOC-01: Wiki-Rollout abschließen — CI-Freigaben, Zeitplan, Dokploy-Stack, wiki.lab @@ -23,3 +23,25 @@ Das Wiki-Repo [`homelab/wiki`](https://git.lab/homelab/wiki) steht ([ADR-0006](h 6. Danach: Link auf wiki.lab in den README der Quell-Repos gegenprüfen (gitops ist erledigt). **Verifikation:** `https://wiki.lab` zeigt die drei Bereiche; eine Änderung in einer Quelle ist nach dem nächsten geplanten Lauf sichtbar. + +## Verworfen 2026-08-15 — gegenstandslos + +**`wiki.lab` existiert nicht mehr; die Lesefläche ist in den Stack gewandert** (Bestätigung +sorb). Alle sechs Schritte dieses Issues bauen auf dem Docusaurus-Aggregat auf, das +**ADR-0014** abgelöst hat: *„Wiki.js löst Docusaurus als Plattform-Wiki ab"* und +*„das alte Docusaurus-Prinzip entfällt"* — editiert wird jetzt in Wiki.js unter +`wiki.axion1337.chat`, statt Quell-Repos read-only zu aggregieren. + +**Gemessen 2026-08-15:** `wiki.lab` löst zwar noch auf (`10.58.73.17`, Lab-DNS), antwortet +aber nicht (HTTP 000) — der Dokploy-Stack aus Schritt 4 wurde nie deployt. Das Issue +beschreibt also einen Aufbau, den niemand mehr will und der nie lief. + +**Erledigter Teil davon:** Schritt 6 (Verweise gegenprüfen) war real offen — +`gitops:AGENTS.md` behauptete weiterhin, die Doku werde als Docusaurus-Seite auf `wiki.lab` +ausgeliefert. Korrigiert in gitops `82412cf`. Doku, die auf etwas Totes zeigt, ist schlimmer +als keine: sie schickt die nächste Session auf die Suche nach einem abgeschalteten Dienst. + +⚠️ **Nicht entschieden, gehört sorb:** `homelab/docs` ist laut ADR-0014 **bewusst nicht** Teil +der Plattform und hat damit keine Lesefläche mehr. Ob dafür eine gebraucht wird, ist eine +Lab-Frage. Ebenso, ob **ADR-0006** (Docusaurus als gemeinsame Lesefläche) auf `superseded` +gesetzt werden sollte — ADR-0014 hat nur ADR-0007 abgelöst. diff --git a/docs/issues/0028-mirror-01-ein-ausfall-der-push-mirrors-bleibt.md b/docs/issues/0028-mirror-01-ein-ausfall-der-push-mirrors-bleibt.md index 05e4626..6722e90 100644 --- a/docs/issues/0028-mirror-01-ein-ausfall-der-push-mirrors-bleibt.md +++ b/docs/issues/0028-mirror-01-ein-ausfall-der-push-mirrors-bleibt.md @@ -1,7 +1,7 @@ --- type: issue id: "0028" -status: open +status: done created: 2026-08-02 milestone: M2 priority: low @@ -44,3 +44,32 @@ Nicht Teil dieses Issues: die Rotation der Tokens selbst ([#15](https://git.lab/ --- *Gefunden beim Session-Abschluss 2026-08-02, beim Nachgehen der Randbedingung aus #15.* + +## Erledigt 2026-08-15 — der Mechanismus existiert bereits und läuft + +Vor dem Bauen geprüft, ob die Lücke noch besteht. Ergebnis: **sie ist geschlossen**, und zwar +genau auf dem Weg, den dieses Issue als zweite Option nannte (Scheduled CI-Job auf git.lab, +Alarm über eine rote Pipeline). + +| Baustein | Fundstelle | Zustand | +|---|---|---| +| Prüfung des Mirror-Status | `scripts/stillstandspruefung.py` — liest `remote_mirrors` je Projekt und meldet `last_error` als Befund; ein Repo ganz ohne aktiven Mirror ebenfalls | vorhanden | +| Ausführung | `.gitlab-ci.yml`, Job `stillstandspruefung`, `rules: $CI_PIPELINE_SOURCE == "schedule"` | vorhanden | +| Zeitplan | git.lab-Zeitplan „Stillstandsprüfung (täglich)", `cron 42 0 * * *`, **aktiv**, nächster Lauf geprüft | **läuft** | +| Alarm | Befunde färben die Pipeline rot — dieselbe Alarmanlage wie bei `canonize_rotation` | greift | + +**Damit ist der befürchtete Fall abgedeckt:** Läuft das Mirror-Credential ab, meldet die +API `last_error`, der nächste tägliche Lauf macht daraus einen Befund und die Pipeline wird +rot — statt dass die Produktion still auf dem letzten gespiegelten Stand einfriert. Der Weg +ist binnen 24 h wirksam. + +**Praxisnachweis am selben Tag:** Die Prüfung hat real angeschlagen — sie meldete für +`gameserver`, `notfallhandbuch` und `threadnet-wiki` „kein aktiver Push-Mirror". Der +Code-Pfad läuft also nicht nur theoretisch. (Bei den letzten beiden ist das Fehlen gewollt +und begründet, ADR-0016 bzw. `mirror: null` in der Komponenten-Deklaration; `gameserver` ist +#0032.) + +**Kleine bleibende Lücke, bewusst nicht gebaut:** Geprüft wird `last_error`, nicht +`update_status != "finished"`. Ein Mirror, der ohne Fehlermeldung hängen bliebe, fiele +durch — theoretisch möglich, praktisch bisher nie beobachtet. Eine Erweiterung wäre eine +Zeile, sollte aber einen Anlass haben statt Vorratsbau.