Andreas: "lass das chart raus, das ist hive. Aber compose rein. das ist das demo fuer das chart. damit ist auch der schnitt klar: hive hat charts und deren orchestrierung, aber bedient sich fuer allgemeine dienste bei spine statt es selber zu bauen. Selber bauen nur fuer sachen, die nur hive braucht und sonst niemand." chart/ ist raus. Damit aendert sich die Rolle des Compose: Es ist nicht die Uebergangsform bis zum Chart, sondern die lauffaehige Vorfuehrung des Dienstes. Wer ein Chart baut, sieht daran, welche Images, welche Umgebung und welche Volumes noetig sind -- und kann es gegen etwas Laufendes pruefen statt gegen eine Beschreibung. Der Schnitt steht jetzt im README, mit dem Pruefstein: Braucht es ausser hive noch jemand? Dann spine. km ist genau so ein Fall -- er entsteht hier, ausserhalb von hive, weil die 42i ihn braucht, und ist damit erwiesenermassen uebergreifend. Und die Referenz schuldet einem kuenftigen Chart, was das team-Chart uns geschuldet hat: nicht nur DASS eine Einstellung so ist, sondern WARUM. Dessen drei teuer gelernte Punkte liefen beim Nachbau in der 42i ohne eine einzige eigene Entdeckung durch.
32 lines
1.7 KiB
Markdown
32 lines
1.7 KiB
Markdown
# deploy — die lauffähige Referenz
|
|
|
|
`km.lan` als LXC mit podman-compose, wie jeder andere Dienst im Haus.
|
|
|
|
Das ist **nicht** der Notbehelf, bis es ein Chart gibt. Es ist die Vorführung
|
|
des Dienstes: Wer ihn auf k8s bringen will, sieht hier, welche Images, welche
|
|
Umgebung und welche Volumes er braucht — und kann sein Chart gegen etwas
|
|
Laufendes prüfen statt gegen eine Beschreibung. Das Chart selbst gehört zu hive
|
|
(siehe den Schnitt im Haupt-README).
|
|
|
|
**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.
|
|
|
|
Beim Teamspace hat sich gezeigt, wie gut das trägt, wenn die Referenz ihre
|
|
Gründe mitliefert: Dessen drei teuer gelernte Einstellungen liefen beim Nachbau
|
|
ohne eine einzige eigene Entdeckung durch — weil im Chart stand, *warum* sie so
|
|
sind, nicht nur *dass*. Diese Datei schuldet einem künftigen Chart dasselbe.
|