KDAI · Stand 29. August 2026 · Seed-Maschine „kdai-seed"

Was wann wo gezogen und gestartet wird

Drei Zeitabschnitte im Leben einer KDAI-Maschine: der einmalige Erstboot (die Zeremonie), jeder spätere Boot (die Regel), und der laufende Betrieb bis zum Herunterfahren. Farben zeigen die Richtung: ziehen, schieben, starten, Mensch.

ziehen — von GitLab / Nextcloud auf die Maschine schieben — von der Maschine nach GitLab starten / auslösen — innerhalb der Maschine Mensch — Eingabe oder Handgriff

1 · Erstboot — einmalig, die Zeremonie

Das Seed-Image ist generisch. Erst die Zeremonie macht daraus Ihre Maschine: Sie erzeugt lokal ihre eigenen Schlüssel, holt das Kernel-Repo, entsperrt mit Ihrer Passphrase die Master-Identität und trägt sich selbst in die Empfängerliste ein.

Sie Maschine (Seed-VM) GitLab · myKDAI Nextcloud kdai/seeds/*.qcow2 Image holen, VM anlegen VM bootet aus dem Seed 1 Login kdai / kdai kdai-setup startet (Konsole) 2 erzeugt lokal, aus Zufall: SSH-Deploy-Key + age-Schlüssel 3 Deploy-Key imBrowser eintragen Deploy Keys (write) 4 me.md.age · Skripte git clone ~/kdai (Repo-Kopie) 5 Master-Passphrase master-key.age nur im RAM entsperren 6 Kernel entschlüsseln → me.md eigenen Schlüssel in .kdai-recipients, neu verschlüsseln 7 enroll-Commit Units installieren: Kernel-Sync, Autosave, Compile Linger an → ab jetzt gilt Abschnitt 2 8
Die Maschinen-Identität (Schritt 3) entsteht aus dem Nichts auf der Maschine; Ihre Person-Identität liegt vorher im Repo. Schritt 6–7 verheiraten beide: Danach ist die Maschine vollwertiger Empfänger und braucht die Passphrase nie wieder. Einziger manueller Schritt außerhalb der Maschine ist der Deploy-Key (4).

2 · Jeder Boot — die Regel

Ab dem zweiten Boot läuft alles ohne Zeremonie. Die Reihenfolge ist erzwungen: Der Kernel ist entschlüsselt, bevor Plasma startet; der Desktop wird reconciled, bevor Sie den Sperrbildschirm entsperren.

GitLab System (root) Ihre Dienste (kdai) Plasma · Bildschirm Sie 1 UEFI → systemd-boot → Linux 2 NetworkManager: DHCP 3 SDDM: Autologin kdai systemd --user startet 4 kdai-kernel.service age -d → me.md (Klartext) me.md.age · Spec git pull --rebase 5 Plasma-Sitzung startet Before= erzwingt Reihenfolge 6 „Willkommen, Janus – Stand …" 7 kdai-compile.service Reconciler: Soll (Spec) vs. Ist Ist-Zustand per DBus lesen nur die Differenz anwenden 8 Sperrbildschirm (Autostart) 9 Ihr Desktop: Activities, Widgets Passwort
Schritt 4 läuft dank Linger schon beim Boot, nicht erst beim Login; die Ordnung Before=plasma-workspace.target garantiert, dass Plasma (5) erst nach dem entschlüsselten Kernel startet. Der Reconciler (7) ist idempotent: Stimmt der Desktop schon, tut er nichts. Sie sehen davon nur 8 und 9.

3 · Betrieb & Herunterfahren — was zurückfließt

Was Sie während der Sitzung ändern, fließt über genau einen Kanal zurück: den Kernel. Andere Maschinen bekommen es bei ihrem nächsten Boot (Abschnitt 2, Schritt 4).

GitLab Diese Maschine Nextcloud Andere Maschinen kdai-kernel-autosave.timer · alle 10 min me.md geändert? → an alle Empfänger verschlüsseln → commit auto-save-Commit Logout / Herunterfahren: kdai-kernel.service ExecStop → letzter Push .kdai-storage.sh offload / restore / pin auf Zuruf; lokal bleibt ein Platzhalter; jede Bewegung protokolliert kdai-storage/… beim nächsten Boot: git pull → entschlüsseln → Begrüßung mit neuem Stand Bau-VM, künftige
Beide Push-Pfade teilen sich dieselbe Prüfung (SHA-256 des Klartexts): Nur echte Änderungen erzeugen Commits — sonst würde die nicht-deterministische Verschlüsselung alle zehn Minuten Phantom-Commits produzieren. Die git-Historie ist damit zugleich das Protokoll, welche Maschine wann etwas wusste.

Wo lebt was

Die Frage „reist das mit?" beantwortet sich am Ort: Nur was im Repo liegt, kommt auf jede Maschine.

OrtWasReist mit?
Ihr Kopfdie Master-Passphrase (heute Labor: kdai-lab)ja — das ist ihr Zweck
GitLab · myKDAIme.md.age (Kernel, verschlüsselt an alle Maschinen), .kdai-recipients, master-key.age, desktop-spec.json, alle Skripte, bootstrap.shja — auf jede Maschine
Maschine, lokalage-Maschinenschlüssel, SSH-Deploy-Key, entschlüsseltes me.md, Nextcloud-Zugang, Autologin-/Sperr-Konfiguration, alles in Plasma, was die Spec nicht abdecktnein — bewusst nicht (Schlüssel) bzw. noch nicht (Konfiguration)
NextcloudSeed-Images unter kdai/seeds/; ausgelagerte Dateien unter kdai-storage/Seeds: für alle · Dateien: bei Bedarf zurückholbar
AbgeleitetActivities, Farben, Panel-Widgets — vom Reconciler aus der Spec erzeugtwird auf jeder Maschine neu hergestellt
Die Grenze zwischen „lokal" und „im Repo" ist die Aufgabe der nächsten Ausbaustufen: Autologin und Sperre in bootstrap.sh, mehr Desktop-Eigenschaften in die Spec, Anwendungen als deklarierte Paketliste. Was Sie am System wollen, gehört ins Repo — was die Maschine ist, bleibt lokal.