- name: Ensure marker directory exists ansible.builtin.file: path: /run/tuxflotte/agent/applied state: directory mode: "0755" # Google Chrome gibt es nicht im Debian/Ubuntu-Repo (proprietär) - Googles # eigenes apt-Repo ist aber distributionsunabhängig gepflegt (funktioniert # gleichermaßen für Debian und Ubuntu, verifiziert 09.09.2026), deshalb ein # einziger Rollencode für alle drei Backends, kein os_family-Zweig nötig. - name: GPG-Schlüssel für Googles apt-Repo herunterladen und importieren ansible.builtin.shell: | set -euo pipefail wget -q https://dl.google.com/linux/linux_signing_key.pub -O- | gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg args: creates: /usr/share/keyrings/google-chrome.gpg executable: /bin/bash when: tuxflotte_state == "present" - name: Googles apt-Repo eintragen ansible.builtin.apt_repository: repo: "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] https://dl.google.com/linux/chrome/deb/ stable main" filename: google-chrome state: present update_cache: true when: tuxflotte_state == "present" - name: Google Chrome installieren ansible.builtin.apt: name: google-chrome-stable state: present when: tuxflotte_state == "present" - name: Record that the google-chrome role ran ansible.builtin.copy: dest: /run/tuxflotte/agent/applied/google-chrome.marker content: "{{ ansible_date_time.iso8601 }}\n" mode: "0644" when: tuxflotte_state == "present" - name: Google Chrome entfernen (Auftrag abgewählt) ansible.builtin.apt: name: google-chrome-stable state: absent when: tuxflotte_state == "absent" - name: Googles apt-Repo entfernen (Auftrag abgewählt) ansible.builtin.apt_repository: repo: "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] https://dl.google.com/linux/chrome/deb/ stable main" filename: google-chrome state: absent when: tuxflotte_state == "absent" - name: google-chrome-Marker entfernen (Auftrag abgewählt) ansible.builtin.file: path: /run/tuxflotte/agent/applied/google-chrome.marker state: absent when: tuxflotte_state == "absent"