KRITISCH (E2E 09.10.2026): der Server schickt fuer jedes Katalog-Merkmal
ausserhalb des Workspace "absent" (ADR-0010). Die Rolle machte daraus
apt remove linux-firmware - auf jedem Geraet, inkl. Kernel-Metapakete.
WLAN-Firmware weg, sichtbar erst nach dem naechsten Neustart (betroffen:
VM 107, Liebherr-35, MS Gaissach). Jetzt: absent entfernt nichts mehr;
Pakete, die ein frueherer remove-Lauf laut apt-Historie entfernt hat,
werden wieder installiert. Auf Liebherr-35 verifiziert (Firmware + Kernel-
Metapakete zurueck, iwlwifi laedt Firmware 89, WLAN verbunden).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Konfiguration: multimedia-codecs, barrierefreiheit, wlan-firmware,
tastaturlayout, laender, zeitserver, auto-update.
Härtung: firewall, virenscanner, security-updates.
Vier Config-Value-Rollen (tastaturlayout/laender/zeitserver/auto-update)
nutzen tuxflotte_optionen fuer den eigentlichen Wert (Muster wie
brave/standardbrowser), nicht nur present/absent.
ECHT auf golden-linux-mint getestet (ansible-core dort, Live-VM ueber
SSH), nicht nur Syntax-Check - dabei drei reale Bugs gefunden+behoben:
1. wlan-firmware: Paketname ist NICHT distributionsunabhaengig wie
angenommen - Debian "firmware-linux-nonfree", Ubuntu/Mint
"linux-firmware". Per ansible_facts[distribution] verzweigt (dabei
zusaetzlich gelernt: Mint meldet sich als "Linux Mint" mit
Leerzeichen, nicht "Linuxmint").
2. auto-update: Jinja-Dict-Lookup in set_fact lieferte einen String
statt int zurueck, dadurch spaeterer Vergleich mit TypeError
abgestuerzt UND zwei stille Gleichheitsvergleiche immer falsch
(waeren nie aufgefallen ohne den einen lauten Fehler an anderer
Stelle). Mit explizitem int-Filter behoben.
3. firewall/security-updates: Auftrag-abgewaehlt deaktivierte nur die
Funktion (ufw disable / Config-Datei loeschen), liess aber das Paket
installiert - inkonsistent zum Rest des Katalogs, wo absent immer
vollstaendige Rueckabwicklung bedeutet. Ergaenzt.
Nebenbefund beim Testen: clamav-daemon startet bewusst nicht sofort nach
der Installation (echte systemd-Condition auf die noch fehlende
Signaturdatenbank) - kein Bug, aber clamav-freshclam war standardmaessig
nicht dauerhaft aktiviert, das nachgezogen.
Firewall-Rolle laesst SSH bewusst offen (sonst waere Fernwartung
ausgesperrt - fast selbst beim Testen passiert). Bekannte offene Luecke
klar kommentiert: andere Merkmale mit Eingehend-Bedarf (z.B. veyon)
muessen ihre eigene ufw-Freigabe mitbringen, diese Rolle kennt andere
Merkmale nicht (Konflikt-/Gruppen-Handling insgesamt noch offen, siehe
Roadmap).
Gehoert zusammen mit admin/provisioning-server-Migration 0035 (live auf
anode angewendet+verifiziert: 10 Merkmale, 30 Blueprint-Zeilen) und den
3 neuen Kategorien aus Migration 0034.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VLk93dhDMrkPXefVdknMV9