docs(issues): reject #0018 as moot, close #0028 as already running

#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 <noreply@anthropic.com>
This commit is contained in:
Thore Cimbal
2026-08-15 12:00:00 +00:00
co-authored by Claude Opus 4.8
parent de908d8307
commit 0e34ec9deb
3 changed files with 56 additions and 7 deletions
+2 -4
View File
@@ -2,9 +2,9 @@
<!-- Generated by scripts/gen_status.py — do not edit. -->
## 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 |
@@ -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.
@@ -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.