KM_SOURCES=name=url@branch legt je Quelle einen Checkout unter
<ns>/doku/<name> in der Ablage an. SilverBullet sieht die Seiten, der
Index nimmt sie mit (typ doku, projekt = Name), und je Takt gehen
Änderungen aus der Oberfläche als Commit ins Quell-Repo zurück, danach
pull --rebase. Die Ablage ignoriert */doku/, damit die Wahrheit nur im
Quell-Repo liegt. Vorerst komplett und ungefiltert (Andreas 04.09.:
"sobald hive.corp steht, trennen wir die Quellen"). Doku in
docs/quellen.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
podman-compose auf Debian 13 reicht ${VAR:-x} wörtlich durch; km bekam
den Platzhalter als Repo-Namen. Jede Variable steht jetzt in der .env
(Vorlage deploy/env.example), und die Konfiguration verwirft Werte, die
wie ein unersetzter Platzhalter aussehen.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Ohne das CA-Bündel des Wirts scheitert jeder Aufruf an git.home an
CERTIFICATE_VERIFY_FAILED, weil requests sein eigenes Bündel benutzt.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
SilverBullet mountet dasselbe Volume und legt seine Dateien an, bevor km
dran ist — der clone scheiterte auf hive.home an einem nicht leeren
Verzeichnis. Jetzt: init im Verzeichnis, Remote holen, Branch auschecken
wenn vorhanden, sonst legt der erste Push ihn an. Die Eigendateien der
Oberfläche (.silverbullet*, _plug/) kommen in die .gitignore der Ablage.
Dazu die restlichen Umlaute im compose-Kommentar.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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>