Fedora-Installer wurde zurückgestellt (Installationsprobleme), Fokus liegt
jetzt auf Mint, später weitere Distros. Beide Rollen sind über Flatpak
implementiert und damit schon jetzt distributionsunabhängig - die
"-fedora"-Benennung war irreführend. Konvention: kein Suffix = bewusst
distro-unabhängig (wie schon guest-session), "-mint"/"-fedora"-Suffix nur
für tatsächlich distro-spezifische Logik.
roles/brave-fedora -> roles/brave, roles/onlyoffice-fedora -> roles/onlyoffice,
Marker-Dateinamen und Task-Namen angepasst, site.yml und README aktualisiert.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
lineinfile matchte bisher nur exakten Text - Debian/LightDM liefert eine
Zeile mit identischer Wirkung, aber anderer Formatierung mit, wurde also
nicht erkannt und stattdessen dupliziert. regexp behebt das für den
present-Task; der absent-Task bleibt bewusst beim exakten String-Match,
damit er nie die von der Distribution mitgelieferte Zeile entfernt.
Gefunden bei der E2E-Verifikation auf der QEMU-Test-VM.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Ersetzt die reinen Marker-Datei-Platzhalter durch echte Anforderungen des
Schulcomputer-Workspace:
- guest-session: flüchtige Gastsitzung über lokalen gast-User +
pam_namespace-tmpfs-Polyinstantiation, nopasswdlogin-Login. PAM-Layout
wird über ansible_facts os_family erkannt (RedHat vs. Debian), da der
Rollenname für beide Backends geteilt wird.
- brave-fedora: Installation via Flatpak/Flathub, neue optionale
standardbrowser-Option (tuxflotte_optionen) setzt/entfernt den
System-Default in /etc/xdg/mimeapps.list, mit Firefox-Fallback.
- onlyoffice-fedora: Installation via Flatpak/Flathub.
site.yml reicht zusätzlich zu tuxflotte_auftrag_states auch
tuxflotte_auftrag_optionen pro Rolle durch.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds a tuxflotte_state variable, threaded from a new
tuxflotte_auftrag_states dict in site.yml (role name -> present/absent,
populated by the agent from the checkin response's "auftraege" list,
see ADR-0010) down into each role via include_role vars. Roles not
present in that dict default to "present" via .get(), so today's
purely workspace-composed, additive-only behavior is unchanged.
Retrofits all three existing placeholder roles with the present/absent
branch as the reference implementation of the convention, and
documents it in the README for future catalog-eligible roles. This is
what makes deselecting an Auftrag actually revert something instead of
just stopping future re-application.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Ein Platzhalter je Merkmal aus der Schulcomputer-Bereitstellungsvorlage (guest-session, brave-fedora, onlyoffice-fedora), zum Beweis der ansible-pull-Pipeline des Provisioning Agent.