ansible-content/site.yml
Thomas Stallinger 770c3a6c95 feat: echte Rolleninhalte für guest-session/brave-fedora/onlyoffice-fedora
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>
2026-08-04 15:28:57 +02:00

41 lines
1.6 KiB
YAML

- hosts: localhost
connection: local
become: true
vars:
# Vom Agenten per --extra-vars gesetzt (siehe ADR-0010, provisioning-server
# Check-in-Response "auftraege"): Rollenname -> "present"/"absent". Rollen,
# die hier nicht auftauchen (z.B. weil sie nur workspace-komponiert sind),
# bleiben beim Default "present" - unverändert additives Verhalten.
tuxflotte_auftrag_states: {}
# Rollenname -> optionen-Dict aus der Auswahl-API (device_merkmale.optionen),
# z.B. {"standardbrowser": true} bei brave-fedora. Rein additiv, opak für
# den Server/Agenten - nur die jeweilige Rolle kennt die Bedeutung.
tuxflotte_auftrag_optionen: {}
tasks:
- include_role:
name: guest-session
apply:
tags: guest-session
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('guest-session', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('guest-session', {}) }}"
tags: guest-session
- include_role:
name: brave-fedora
apply:
tags: brave-fedora
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('brave-fedora', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('brave-fedora', {}) }}"
tags: brave-fedora
- include_role:
name: onlyoffice-fedora
apply:
tags: onlyoffice-fedora
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('onlyoffice-fedora', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('onlyoffice-fedora', {}) }}"
tags: onlyoffice-fedora