Das Chart gehoert hive -- das Compose ist die Referenz, nicht der Notbehelf
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.
This commit is contained in:
@@ -36,26 +36,37 @@ man hätte stellen sollen.
|
|||||||
| Verzeichnis | Inhalt |
|
| Verzeichnis | Inhalt |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `image/` | Das Container-Image: API, Ablage, MCP-Endpunkt, prüfende Schreibfunktion |
|
| `image/` | Das Container-Image: API, Ablage, MCP-Endpunkt, prüfende Schreibfunktion |
|
||||||
| `deploy/` | **Heute:** LXC mit podman-compose, wie jeder andere Dienst im Haus (`oci`) |
|
| `deploy/` | Die lauffähige Referenz: LXC mit podman-compose über `oci` |
|
||||||
| `chart/` | **Später:** Helm-Chart, damit hive denselben Dienst fahren kann |
|
|
||||||
| `docs/` | Konzept, Entscheidungen, Betriebswissen |
|
| `docs/` | Konzept, Entscheidungen, Betriebswissen |
|
||||||
|
|
||||||
Die Aufteilung ist Absicht und folgt dem, was beim Teamspace funktioniert hat:
|
**Ein Chart liegt hier nicht.** Charts und ihre Orchestrierung sind hive — siehe
|
||||||
Compose und Chart beschreiben **denselben** Dienst mit denselben Bildern und
|
den Schnitt unten. Das Compose ist deshalb kein Notbehelf für die Zeit bis
|
||||||
Einstellungen. Wer eines ändert, ändert das andere mit — sonst driften sie, und
|
dahin, sondern die **Vorführung des Dienstes**: Wer ein Chart dafür baut, sieht
|
||||||
der Umzug nach k8s wird ein Neubau statt eines Wechsels.
|
hier, welche Images, welche Umgebung und welche Volumes er braucht, und kann es
|
||||||
|
gegen etwas Laufendes prüfen statt gegen eine Beschreibung.
|
||||||
|
|
||||||
## Verhältnis zu hive
|
## Der Schnitt zwischen spine und hive
|
||||||
|
|
||||||
**hive kann diesen Dienst verwenden.** Er ist bewusst nicht 42i-spezifisch: Was
|
Festgelegt von Andreas am 2026-09-02:
|
||||||
ihn kennt, sind Namespaces (`42i`, `familie`, …) und Projekt-Tags — beides
|
|
||||||
Konfiguration, keine eingebaute Annahme.
|
|
||||||
|
|
||||||
Für hive ist `chart/` der Einstieg; `deploy/` ist die Übergangsform der 42i,
|
> „hive hat charts und deren orchestrierung, aber bedient sich für allgemeine
|
||||||
solange dort kein k8s produktiv läuft. Die Rollen sind dieselben wie beim
|
> dienste bei spine statt es selber zu bauen. Selber bauen nur für sachen, die
|
||||||
Teamspace: hive baut Charts und k8s, die 42i fährt bis dahin LXC und podman —
|
> nur hive braucht und sonst niemand. die gehören dann in die hive orga in
|
||||||
mit **demselben Image und demselben Bootstrapping**, damit die Erfahrung
|
> gitea."
|
||||||
übertragbar bleibt.
|
|
||||||
|
| | spine | hive |
|
||||||
|
|---|---|---|
|
||||||
|
| **baut** | den Dienst: Image, Ablage, API | das Chart und die Orchestrierung |
|
||||||
|
| **liefert** | eine lauffähige Referenz (`deploy/`) | den Betrieb auf k8s |
|
||||||
|
| **eigenes** | allgemeine Dienste, die mehrere brauchen | nur, was ausschließlich hive braucht |
|
||||||
|
|
||||||
|
Der Prüfstein ist einfach: **Braucht es außer hive noch jemand?** Dann gehört es
|
||||||
|
nach spine. `km` ist genau so ein Fall — er entsteht hier, außerhalb von hive,
|
||||||
|
weil die 42i ihn braucht, und ist damit erwiesenermaßen übergreifend.
|
||||||
|
|
||||||
|
Was ihn kennt, sind Namespaces (`42i`, `familie`, …) und Projekt-Tags — beides
|
||||||
|
Konfiguration, keine eingebaute Annahme. Es steckt nichts 42i-spezifisches
|
||||||
|
darin.
|
||||||
|
|
||||||
Anschluss auf hive-Seite: [hive/core](https://git.42i.org/hive/core) —
|
Anschluss auf hive-Seite: [hive/core](https://git.42i.org/hive/core) —
|
||||||
insbesondere die Bibliothekars-Rolle (dort *Bob*), aus der dieser Dienst
|
insbesondere die Bibliothekars-Rolle (dort *Bob*), aus der dieser Dienst
|
||||||
@@ -69,9 +80,9 @@ kein fertiges Upstream-Produkt ist, sondern **eigene Entwicklung** — API,
|
|||||||
Ablageform und die prüfende Schreibfunktion entstehen hier, und sie gehören zu
|
Ablageform und die prüfende Schreibfunktion entstehen hier, und sie gehören zu
|
||||||
den Konzepten und Tickets, die sie begründen.
|
den Konzepten und Tickets, die sie begründen.
|
||||||
|
|
||||||
Ist der Dienst reif und stabil, kann das Image nach `spine/images` und das Chart
|
Ist der Dienst reif und stabil, kann das Image nach `spine/images` wandern;
|
||||||
nach `spine/charts` wandern; dieses Repo behielte Konzepte und Vorgänge. Das ist
|
dieses Repo behielte Konzepte, Betrieb und Vorgänge. Das ist eine Entscheidung
|
||||||
eine Entscheidung für später, keine Vorfestlegung.
|
für später, keine Vorfestlegung.
|
||||||
|
|
||||||
## Tickets
|
## Tickets
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
# chart — der Betrieb für später
|
|
||||||
|
|
||||||
Helm-Chart, damit **hive** denselben Dienst fahren kann.
|
|
||||||
|
|
||||||
**Noch leer.** Wenn es entsteht, gilt das Muster von `spine/charts`: ein
|
|
||||||
`values.yaml`, das den Preis benennt statt ihn zu verstecken, und Kommentare,
|
|
||||||
die sagen *warum* eine Einstellung so ist — nicht nur *dass* sie so ist. Das
|
|
||||||
`team`-Chart ist dafür die Vorlage; seine drei teuer gelernten Einstellungen
|
|
||||||
haben beim Nachbau in der 42i ohne eine einzige eigene Entdeckung getragen.
|
|
||||||
|
|
||||||
Das Chart ist nicht die Zweitverwertung des Compose, sondern gleichrangig:
|
|
||||||
`deploy/` ist die Übergangsform der 42i, solange dort kein k8s produktiv läuft.
|
|
||||||
Beide beschreiben denselben Dienst mit denselben Images und Einstellungen.
|
|
||||||
+11
-4
@@ -1,7 +1,13 @@
|
|||||||
# deploy — der Betrieb für heute
|
# deploy — die lauffähige Referenz
|
||||||
|
|
||||||
`km.lan` als LXC mit podman-compose, wie jeder andere Dienst im Haus.
|
`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
|
**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`**
|
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
|
(`42i-oci`), nicht über eine eigene systemd-Unit. Das ist die Hausvorgabe; ich
|
||||||
@@ -19,6 +25,7 @@ Was dort außerdem gelernt wurde und hier gelten wird:
|
|||||||
es sieht aus, als wäre sie nie gemacht worden.
|
es sieht aus, als wäre sie nie gemacht worden.
|
||||||
- **Secrets aus OpenBao**, nie in der compose-Datei und nie in argv.
|
- **Secrets aus OpenBao**, nie in der compose-Datei und nie in argv.
|
||||||
|
|
||||||
Die compose-Datei und das Chart in `../chart/` beschreiben **denselben** Dienst.
|
Beim Teamspace hat sich gezeigt, wie gut das trägt, wenn die Referenz ihre
|
||||||
Wer eines ändert, ändert das andere mit — sonst driften sie, und der Umzug nach
|
Gründe mitliefert: Dessen drei teuer gelernte Einstellungen liefen beim Nachbau
|
||||||
k8s wird ein Neubau statt eines Wechsels.
|
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user