Files

765 lines
25 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 (oe_merkmale/
# gruppen_merkmale.optionen - device_merkmale gibt es seit ADR-0028
# nicht mehr, siehe dort), z.B. {"proxy_adresse": "…"} bei update-proxy.
# Rein additiv, opak für den Server/Agenten - nur die jeweilige Rolle
# kennt die Bedeutung.
tuxflotte_auftrag_optionen: {}
# Vom Agenten per --extra-vars gesetzt (Check-in-Response "webapps",
# Phase 2 09.09.2026): Liste kundeneigener {id, name, url, icon_url}-
# Einträge, verarbeitet ausschließlich von der webapp-shortcuts-Rolle
# (siehe dort) - kein present/absent-Merkmal wie der Rest dieser Datei.
tuxflotte_webapps: []
# Vom Agenten per --extra-vars gesetzt (Check-in-Response "hostname",
# Design-Runde 10.09.2026, siehe ADR-0028/Roadmap) - leer, wenn die
# Organisation keine Hostnamenkonvention konfiguriert hat. Verarbeitet
# ausschließlich von der hostname-Rolle (siehe dort), ebenfalls kein
# present/absent-Merkmal.
tuxflotte_zielhostname: ""
# Vom Agenten gesetzt (Check-in-Response "persoenliche_konten", ADR-0041
# Schritt 3): je persönlichem Konto {id, anmeldename, aktion,
# passwort_hash?}, verarbeitet von der Rolle persoenliche-konten.
tuxflotte_persoenliche_konten: []
tasks:
# Feste Grundkonfiguration, laeuft immer zuerst: Paketliste des Golden
# Image fuer die absent-Pfade der Rollen + Reparatur (siehe Rolle).
- include_role:
name: grundsystem
apply:
tags: always
tags: always
# Agent auf die freigegebene Fassung bringen (siehe Rolle). Tag "always":
# läuft bei jedem Durchgang; der Tausch selbst passiert erst danach.
- include_role:
name: agent
apply:
tags: always
tags: always
- include_role:
name: hostname
apply:
tags: hostname
vars:
tuxflotte_zielhostname: "{{ tuxflotte_zielhostname }}"
tags: hostname
# Feste Grundkonfiguration, kein Merkmal: Tag "always" laeuft bei jedem
# ansible-pull, auch wenn der Agent nur ausgewaehlte --tags uebergibt.
- include_role:
name: sitzungsauswahl
apply:
tags: always
tags: always
# Org-Ressourcen (kein Katalog-Merkmal, siehe Rolle). Vor den App-
# Rollen, damit die Datei steht, wenn sie laufen; die App-Rollen lesen
# die Liste aber selbst aus tuxflotte_auftrag_optionen. Ohne Auftrag vom
# Server läuft die Rolle gar nicht (kein Tag).
- include_role:
name: org-ressourcen
apply:
tags: org-ressourcen
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('org-ressourcen', 'absent') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('org-ressourcen', {}) }}"
tags: org-ressourcen
- 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
# Persönliche Konten aus der Personalisierung (ADR-0041), unabhängig
# vom Merkmal; läuft bei jedem Agent-Lauf mit (siehe agent.py).
- include_role:
name: persoenliche-konten
apply:
tags: persoenliche-konten
tags: persoenliche-konten
# Merkmal "Personalisierung möglich" (ADR-0041): Hinweis "Passwort vergessen?"
# mit QR-Code (25.10.2026); baut Kiosk früherer Stände ab.
- include_role:
name: personalisierung
apply:
tags: personalisierung
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('personalisierung', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('personalisierung', {}) }}"
tags: personalisierung
# Merkmal "Kiosk" (roadmap/kiosk.md, 26.10.2026): Konto mit Vollbild-
# Browser am Anmeldebildschirm, optional Autostart.
- include_role:
name: kiosk
apply:
tags: kiosk
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('kiosk', 'absent') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('kiosk', {}) }}"
tags: kiosk
- include_role:
name: brave
apply:
tags: brave
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('brave', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('brave', {}) }}"
tags: brave
- include_role:
name: onlyoffice
apply:
tags: onlyoffice
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('onlyoffice', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('onlyoffice', {}) }}"
tags: onlyoffice
- include_role:
name: libreoffice
apply:
tags: libreoffice
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('libreoffice', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('libreoffice', {}) }}"
tags: libreoffice
- include_role:
name: google-earth
apply:
tags: google-earth
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('google-earth', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('google-earth', {}) }}"
tags: google-earth
- include_role:
name: gimp
apply:
tags: gimp
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('gimp', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('gimp', {}) }}"
tags: gimp
- include_role:
name: inkscape
apply:
tags: inkscape
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('inkscape', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('inkscape', {}) }}"
tags: inkscape
- include_role:
name: scribus
apply:
tags: scribus
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('scribus', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('scribus', {}) }}"
tags: scribus
- include_role:
name: librecad
apply:
tags: librecad
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('librecad', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('librecad', {}) }}"
tags: librecad
- include_role:
name: audacity
apply:
tags: audacity
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('audacity', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('audacity', {}) }}"
tags: audacity
- include_role:
name: musescore
apply:
tags: musescore
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('musescore', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('musescore', {}) }}"
tags: musescore
- include_role:
name: metronome
apply:
tags: metronome
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('metronome', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('metronome', {}) }}"
tags: metronome
- include_role:
name: minuet
apply:
tags: minuet
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('minuet', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('minuet', {}) }}"
tags: minuet
- include_role:
name: stellarium
apply:
tags: stellarium
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('stellarium', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('stellarium', {}) }}"
tags: stellarium
- include_role:
name: octave
apply:
tags: octave
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('octave', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('octave', {}) }}"
tags: octave
- include_role:
name: kalgebra
apply:
tags: kalgebra
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('kalgebra', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('kalgebra', {}) }}"
tags: kalgebra
- include_role:
name: kalzium
apply:
tags: kalzium
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('kalzium', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('kalzium', {}) }}"
tags: kalzium
- include_role:
name: kbruch
apply:
tags: kbruch
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('kbruch', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('kbruch', {}) }}"
tags: kbruch
- include_role:
name: step
apply:
tags: step
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('step', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('step', {}) }}"
tags: step
- include_role:
name: tuxmath
apply:
tags: tuxmath
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('tuxmath', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('tuxmath', {}) }}"
tags: tuxmath
- include_role:
name: filius
apply:
tags: filius
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('filius', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('filius', {}) }}"
tags: filius
- include_role:
name: gcompris
apply:
tags: gcompris
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('gcompris', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('gcompris', {}) }}"
tags: gcompris
- include_role:
name: ktouch
apply:
tags: ktouch
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('ktouch', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('ktouch', {}) }}"
tags: ktouch
- include_role:
name: kwordquiz
apply:
tags: kwordquiz
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('kwordquiz', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('kwordquiz', {}) }}"
tags: kwordquiz
- include_role:
name: kanagram
apply:
tags: kanagram
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('kanagram', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('kanagram', {}) }}"
tags: kanagram
- include_role:
name: tuxtype
apply:
tags: tuxtype
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('tuxtype', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('tuxtype', {}) }}"
tags: tuxtype
- include_role:
name: foliate
apply:
tags: foliate
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('foliate', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('foliate', {}) }}"
tags: foliate
- include_role:
name: evolution
apply:
tags: evolution
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('evolution', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('evolution', {}) }}"
tags: evolution
- include_role:
name: kturtle
apply:
tags: kturtle
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('kturtle', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('kturtle', {}) }}"
tags: kturtle
- include_role:
name: fritzing
apply:
tags: fritzing
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('fritzing', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('fritzing', {}) }}"
tags: fritzing
- include_role:
name: remmina
apply:
tags: remmina
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('remmina', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('remmina', {}) }}"
tags: remmina
- include_role:
name: geogebra
apply:
tags: geogebra
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('geogebra', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('geogebra', {}) }}"
tags: geogebra
- include_role:
name: marble
apply:
tags: marble
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('marble', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('marble', {}) }}"
tags: marble
- include_role:
name: google-chrome
apply:
tags: google-chrome
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('google-chrome', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('google-chrome', {}) }}"
tags: google-chrome
- include_role:
name: anydesk
apply:
tags: anydesk
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('anydesk', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('anydesk', {}) }}"
tags: anydesk
- include_role:
name: kolibri
apply:
tags: kolibri
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('kolibri', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('kolibri', {}) }}"
tags: kolibri
- include_role:
name: veyon
apply:
tags: veyon
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('veyon', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('veyon', {}) }}"
tags: veyon
- include_role:
name: gdevelop
apply:
tags: gdevelop
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('gdevelop', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('gdevelop', {}) }}"
tags: gdevelop
- include_role:
name: turbowarp
apply:
tags: turbowarp
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('turbowarp', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('turbowarp', {}) }}"
tags: turbowarp
# App-Merkmale 26.10.2026 (Roadmap "Neue App-Merkmale" + Nutzer-Wünsche).
- include_role:
name: tipp10
apply:
tags: tipp10
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('tipp10', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('tipp10', {}) }}"
tags: tipp10
- include_role:
name: zoom
apply:
tags: zoom
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('zoom', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('zoom', {}) }}"
tags: zoom
- include_role:
name: webex
apply:
tags: webex
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('webex', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('webex', {}) }}"
tags: webex
- include_role:
name: shutter
apply:
tags: shutter
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('shutter', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('shutter', {}) }}"
tags: shutter
- include_role:
name: xournalpp
apply:
tags: xournalpp
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('xournalpp', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('xournalpp', {}) }}"
tags: xournalpp
- include_role:
name: bluej
apply:
tags: bluej
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('bluej', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('bluej', {}) }}"
tags: bluej
- include_role:
name: vscode
apply:
tags: vscode
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('vscode', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('vscode', {}) }}"
tags: vscode
- include_role:
name: bluefish
apply:
tags: bluefish
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('bluefish', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('bluefish', {}) }}"
tags: bluefish
- include_role:
name: geany
apply:
tags: geany
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('geany', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('geany', {}) }}"
tags: geany
- include_role:
name: pulsar
apply:
tags: pulsar
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('pulsar', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('pulsar', {}) }}"
tags: pulsar
- include_role:
name: dbeaver
apply:
tags: dbeaver
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('dbeaver', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('dbeaver', {}) }}"
tags: dbeaver
- include_role:
name: chromium
apply:
tags: chromium
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('chromium', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('chromium', {}) }}"
tags: chromium
- include_role:
name: microsoft-edge
apply:
tags: microsoft-edge
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('microsoft-edge', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('microsoft-edge', {}) }}"
tags: microsoft-edge
# Standardbrowser der Workspace-Version (kein Katalog-Merkmal, siehe
# Rolle). Muss NACH allen Browser-Rollen stehen: gesetzt wird nur ein
# Browser, dessen .desktop-Datei es schon gibt. Ohne Auftrag vom Server
# läuft die Rolle gar nicht (kein Tag); der Default "absent" gilt nur,
# wenn jemand das Tag von Hand übergibt.
- include_role:
name: standardbrowser
apply:
tags: standardbrowser
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('standardbrowser', 'absent') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('standardbrowser', {}) }}"
tags: standardbrowser
# Muss NACH chromium/google-chrome stehen (siehe oben) - webapp-
# shortcuts entscheidet den Kiosk-Exec-Befehl serverseitig (siehe
# fetch_workspace_webapps() in app.py), braucht also selbst keine
# Rollen-Reihenfolge-Abhängigkeit zur Laufzeit, aber die Reihenfolge
# hier hält die Zuordnung "Browser-Rollen vor Webapp-Rollen" trotzdem
# konsistent lesbar.
- include_role:
name: webapp-shortcuts
apply:
tags: webapp-shortcuts
vars:
tuxflotte_webapps: "{{ tuxflotte_webapps }}"
tags: webapp-shortcuts
- include_role:
name: multimedia-codecs
apply:
tags: multimedia-codecs
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('multimedia-codecs', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('multimedia-codecs', {}) }}"
tags: multimedia-codecs
- include_role:
name: barrierefreiheit
apply:
tags: barrierefreiheit
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('barrierefreiheit', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('barrierefreiheit', {}) }}"
tags: barrierefreiheit
- include_role:
name: wlan-firmware
apply:
tags: wlan-firmware
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('wlan-firmware', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('wlan-firmware', {}) }}"
tags: wlan-firmware
- include_role:
name: firewall
apply:
tags: firewall
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('firewall', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('firewall', {}) }}"
tags: firewall
- include_role:
name: virenscanner
apply:
tags: virenscanner
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('virenscanner', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('virenscanner', {}) }}"
tags: virenscanner
- include_role:
name: security-updates
apply:
tags: security-updates
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('security-updates', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('security-updates', {}) }}"
tags: security-updates
- include_role:
name: terminal-sperre
apply:
tags: terminal-sperre
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('terminal-sperre', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('terminal-sperre', {}) }}"
tags: terminal-sperre
- include_role:
name: diagnosezugang-sperre
apply:
tags: diagnosezugang-sperre
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('diagnosezugang-sperre', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('diagnosezugang-sperre', {}) }}"
tags: diagnosezugang-sperre
- include_role:
name: konsolenwechsel-sperre
apply:
tags: konsolenwechsel-sperre
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('konsolenwechsel-sperre', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('konsolenwechsel-sperre', {}) }}"
tags: konsolenwechsel-sperre
- include_role:
name: netzwerkscanner-sperre
apply:
tags: netzwerkscanner-sperre
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('netzwerkscanner-sperre', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('netzwerkscanner-sperre', {}) }}"
tags: netzwerkscanner-sperre
- include_role:
name: tastaturlayout
apply:
tags: tastaturlayout
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('tastaturlayout', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('tastaturlayout', {}) }}"
tags: tastaturlayout
- include_role:
name: laender
apply:
tags: laender
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('laender', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('laender', {}) }}"
tags: laender
- include_role:
name: zeitserver
apply:
tags: zeitserver
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('zeitserver', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('zeitserver', {}) }}"
tags: zeitserver
- include_role:
name: auto-update
apply:
tags: auto-update
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('auto-update', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('auto-update', {}) }}"
tags: auto-update
- include_role:
name: ad-anbindung
apply:
tags: ad-anbindung
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('ad-anbindung', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('ad-anbindung', {}) }}"
tags: ad-anbindung
- include_role:
name: org-wlan
apply:
tags: org-wlan
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('org-wlan', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('org-wlan', {}) }}"
tags: org-wlan
- include_role:
name: fileserver
apply:
tags: fileserver
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('fileserver', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('fileserver', {}) }}"
tags: fileserver
- include_role:
name: update-proxy
apply:
tags: update-proxy
vars:
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('update-proxy', 'present') }}"
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('update-proxy', {}) }}"
tags: update-proxy