Projekt-CLAUDE.md mit Status, Entscheidungslog E-001..E-006, Architektur mit Mermaid-Diagrammen, COCKPIT/CHANGELOG als Vault-Start. Alt-Doku (CLAUDE_KONTEXT.md, ZUSAMMENFASSUNG_TODO.md) darin aufgegangen. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3.1 KiB
Entscheidungslog
Format: E-NNN · Datum · Entscheidung · Begruendung
E-001 · 2026-07-13 · Pull statt Push
Entscheidung: Verwaltung der Laptops per ansible-pull (Laptops holen sich das
Repo selbst), nicht mehr per Ansible-Push vom Controller.
Begruendung: Das Schul-WLAN (Client-Isolation) blockiert mDNS und SSH zwischen
den Geraeten — Push und update-ips.sh funktionieren dort prinzipbedingt nicht.
Pull braucht nur ausgehendes HTTPS. Das Push-Setup bleibt als Legacy fuers Heimnetz.
E-002 · 2026-07-13 · Kein Image und kein Paket-Mirror auf dem Hetzner
Entscheidung: Der Hetzner-Server haelt nur das Git-Repo (Gitea) und den
HTTPS-Zugang (git.lehrstun.de via Nginx). Clonezilla-Images bleiben komplett auf
der externen Platte DEZNTRSICHERUNG; kein eigener APT-Mirror, keine eigene Distro.
Begruendung: 75-GB-Server zu klein fuer Images/Mirror; Restore uebers Schul-WLAN waere um ein Vielfaches langsamer als von der USB3-Platte (~5–10 min). Reimage ist nur ~1×/Jahr noetig. Sicherheitsupdates kommen direkt von den offiziellen Mint/Ubuntu-Servern.
E-003 · 2026-07-13 · Repo-Zugriff: HTTPS als Standard, SSH-Deploy-Key als Fallback
Entscheidung: Laptops pullen per HTTPS von git.lehrstun.de (Port 443, Repo
oeffentlich lesbar); Fallback SSH Port 2222 mit dediziertem Read-only-Deploy-Key.
Begruendung: Schulnetze blockieren oft alles ausser 80/443. Das Repo enthaelt keine Secrets (geprueft). Kein Token in URLs (globale Regel).
E-004 · 2026-07-13 · Jahres-Reimage ohne Stick, Clonezilla im Batch-Modus
Entscheidung: Master-Image enthaelt Clonezilla-Live unter /boot/clonezilla/
(GRUB-Eintrag, toram). Ein Boot-Check-Dienst erkennt die angesteckte Platte mit
neuerem Image und startet den Reimage-Vorgang. Eigenes Mini-Menue
(„AUFSPIELEN“ vorausgewaehlt mit ~20 s Countdown / „IMAGE ERSTELLEN“ / Abbrechen)
statt Clonezilla-TUI; ocs-sr direkt im Batch-Modus, alle Sicherheitsschranken und
die sektorweise Nachpruefung abgeschaltet.
Begruendung: 12× identische Hardware — Pruefungen bringen wenig, kosten Zeit;
Fehlerfaelle behandelt Herb von Hand. Der Hostname bleibt erhalten, indem das
Restore-Skript ihn vor dem Ueberschreiben aus dem alten System liest.
Versionsvergleich (/etc/schul-image-version vs. Datumsname des Images)
verhindert Reimage-Schleifen. laptop03 (Master) bespielt sich nie selbst.
E-005 · 2026-07-13 · Privater Admin-Key nur auf laptop03
Entscheidung: first-boot-setup.sh und das Restore-Skript loeschen den privaten
SSH-Key von puettmann auf allen Laptops ausser laptop03. Fuer den Pull-Fallback
gibt es einen separaten Read-only-Deploy-Key unter /root/.ssh/.
Begruendung: Der Key auf laptop03 ist der Gitea-Admin-Key („herb-local“) — er wuerde sonst mit dem Image auf alle Schueler-Laptops geklont.
E-006 · 2026-07-13 · Projekt nach Konventionen unter ~/projekte/schul-laptops
Entscheidung: Alter git-loser Ordner ~/ansible-schule ist vollstaendig in
~/projekte/schul-laptops aufgegangen (verschoben); git + Gitea-Remote (SSH),
Projektordner ist zugleich Obsidian-Vault (COCKPIT.md, CHANGELOG.md,
.obsidian/ gitignored).