Files
schul-laptops/docs/decisions.md
Herb 9cd471d66e Konventions-Geruest anlegen (CLAUDE.md, docs, Obsidian-Vault)
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>
2026-07-13 13:11:35 +02:00

63 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 (~510 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).