Ein Prozess (image/km/main.py) mit API (read, search, summary, health, refresh) auf Standardbibliothek und einem Takt, der die Ablage zieht, Gitea einliest, indexiert und alles Geänderte committet und pusht — auch Änderungen aus SilverBullet. Die Ablage ist ein Git-Checkout auf dem Volume, der Index eine SQLite-Datei daneben; ein Start ohne nötige Umgebung hält mit einer Liste an. deploy/compose.yml: km plus SilverBullet auf demselben Volume, für den oci-Betrieb in hive.home unter /km (SB_URL_PREFIX). deploy/health für 42i-hc. Lokal gegen ein Bare-Remote und spine/core durchgespielt: Ingest, Index, Commit, Push, Suche, Read mit Kanten in beide Richtungen, und eine von Hand angelegte Seite landet im nächsten Takt im Remote. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.