Zum Inhalt

Wiki-Build und Deployment über Portainer

Das Wiki läuft als Stack wiki auf rwcloudsrv112 (100.72.156.2), erreichbar unter https://wiki.rwcloud.ch. Caddy und Platzierung werden in homelab/portainer-hosted verwaltet. Der alte SSH-/Ansible-Deploy entfällt.

Ein Push auf main startet .gitea/workflows/ci.yml: Abhängigkeiten installieren, Multirepo-Dokumentation per vorhandenem GIT_SSH_KEY laden, mkdocs build, Container bauen und in gitea.rwcloud.ch/homelab/wiki publizieren. Der Build veröffentlicht sha-<Quellcommit> und latest, mit Quell-SHA als OCI-Label. Erst nach erfolgreichem Push aktualisiert scripts/promote_wiki.py ausschließlich WIKI_IMAGE der Wiki-Zeile in hosts/deployments.yaml auf main des Deployment-Repos. Die Referenz enthält Tag und festen Registry-Digest. Dieser Commit startet dort deploy; Portainer aktualisiert den Wiki-Stack.

Der vorhandene Secret AUTH_TOKEN benötigt read/write packages und Schreibrecht auf homelab/portainer-hosted. Registry-Login bleibt beim bisherigen Benutzer build.user. Portainer-Zugangsdaten bleiben ausschließlich im Deployment-Repo. Überholte Builds werden anhand der aktuellen Main-SHA vor Promotion übersprungen. Die Dateiversion schützt vor konkurrierenden Matrixänderungen.

Kontrolle: zuerst Wiki-Build-Run, dann automatisch erzeugten Matrix-Commit und Deployment-Run prüfen; anschließend https://wiki.rwcloud.ch öffnen und eine Unterseite/Suche testen. Ein grüner Build allein beweist noch kein Deployment. Bei Buildfehler bleibt das bisher festgelegte Image. Bei fehlendem Schreibrecht schlägt die Promotion sichtbar fehl. Kein Zurückschreiben ins Wiki-Quellrepo.

Rollback: früheren Wiki-Digest aus der Git-Historie in der Matrix eintragen und committen. Das Wiki ist statisch; es hat keine Geschäftsdatenbank oder Datenvolumes. Caddy-Konfiguration und Zertifikatsverteilung sind im Deployment-Runbook docs/runbooks/rwcloudsrv112.md beschrieben.