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>
63 lines
3.1 KiB
Markdown
63 lines
3.1 KiB
Markdown
# 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).
|