Andreas: "lass uns ein repo in spine machen, fuer das knowledge management thema. Darin sollen images gebaut werden und ein compose und charts, sodass daraus dann km.lan betrieben werden kann. alles zu dem thema kann dann da rein wandern, als doku und als tickets." Vier Verzeichnisse: image/ fuer den Dienst, deploy/ fuer den Betrieb heute (LXC und podman ueber oci), chart/ fuer den Betrieb spaeter (hive und k8s), docs/ fuer Konzept und Entscheidungen. Compose und Chart sind ausdruecklich gleichrangig und beschreiben DENSELBEN Dienst. Beim Teamspace hat genau das getragen: Das hive-Chart war die Vorlage, und seine drei teuer gelernten Einstellungen liefen in der 42i ohne eine einzige eigene Entdeckung durch. Driften sie, wird der Umzug nach k8s ein Neubau statt eines Wechsels. docs/konzept.md fuehrt spine/core#8 zusammen: Andreas Entwurf woertlich, dazu die Praezisierungen aus den Kommentaren -- Konzepte als eigene Kategorie, Projekt als zweite Achse, und dass ein Eintrag ohne Projekt-Tag der Organisation gehoert statt keinem. Mit den offenen Punkten, die noch niemand entschieden hat. Das README benennt zwei Dinge, die man sonst spaeter diskutiert: warum das Repo von der spine-Konvention abweicht (Image und Chart liegen sonst zentral -- km ist eigene Entwicklung, kein fertiges Upstream-Produkt), und dass hive den Dienst verwenden kann, weil er nichts 42i-spezifisches eingebaut hat.
1.2 KiB
1.2 KiB
deploy — der Betrieb für heute
km.lan als LXC mit podman-compose, wie jeder andere Dienst im Haus.
Noch leer. Wenn es soweit ist, gehört hierher eine compose.yml nach dem
Muster von info/deployment/team/ — und der Betrieb läuft über oci
(42i-oci), nicht über eine eigene systemd-Unit. Das ist die Hausvorgabe; ich
habe sie beim Teamspace übersehen und eine eigene Unit gebaut, die dem Muster
zufällig fast glich.
Was dort außerdem gelernt wurde und hier gelten wird:
- Rechte am Volume. Läuft der Prozess im Image unter einer eigenen UID,
muss das Datenverzeichnis ihr gehören. Im Chart erledigt das
fsGroup; bei podman gibt es niemanden, der es von selbst tut, und der Fehler zeigt sich erst bei der ersten Schreiboperation — wortlos. - Konfiguration in die Datenbank oder ins Volume, nicht in eine Datei im Container. Sonst ist jede Einstellung nach dem nächsten Neustart weg, und es sieht aus, als wäre sie nie gemacht worden.
- Secrets aus OpenBao, nie in der compose-Datei und nie in argv.
Die compose-Datei und das Chart in ../chart/ beschreiben denselben Dienst.
Wer eines ändert, ändert das andere mit — sonst driften sie, und der Umzug nach
k8s wird ein Neubau statt eines Wechsels.