7 Commits

Author SHA1 Message Date
78397251e5 feat: Google-Earth-Rolle als Katalog-Option
Kein Flatpak verfügbar (Google vertreibt nur eigene .deb/.rpm-Pakete),
daher wie guest-session eine einzige Rolle mit interner
os_family-Verzweigung statt Flatpak-Installation. apt (Debian/Mint)
installiert direkt per deb-URL, dnf (Fedora) per rpm-URL.

Syntax-geprüft (ansible-playbook --syntax-check); die tatsächliche
Paketinstallation (Netzwerk, Abhängigkeitsauflösung) ist im Gegensatz
zu den bisherigen Flatpak-Rollen noch nicht auf echter Hardware
verifiziert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 09:21:11 +02:00
dc1cb25da0 feat: LibreOffice-Rolle als weitere Office-Suite
Neben OnlyOffice als zusätzliche Katalog-Option, distro-unabhängig
über Flatpak (org.libreoffice.LibreOffice), gleiches present/absent-
Muster wie die onlyoffice-Rolle.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 08:45:04 +02:00
97220bfecc refactor: brave-fedora/onlyoffice-fedora auf distro-unabhängige Namen umbenennen
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>
2026-08-04 16:19:46 +02:00
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
28e6c067a1 feat: add present/absent branching for Auftragskatalog roles
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>
2026-08-04 09:34:05 +02:00
ddcdeccab4 Fix tag propagation from include_role to role tasks in site.yml
Tags on include_role only apply to the include statement itself, not
the role's inner tasks, unless passed via apply. Without this,
ansible-pull --tags <role> silently skipped every role task, so no
marker files were ever written during the QEMU agent test.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-01 19:50:53 +02:00
a998949081 feat: initial ansible-content repo with placeholder roles for agent verification
Ein Platzhalter je Merkmal aus der Schulcomputer-Bereitstellungsvorlage (guest-session, brave-fedora, onlyoffice-fedora), zum Beweis der ansible-pull-Pipeline des Provisioning Agent.
2026-08-01 15:35:21 +02:00