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>
This commit is contained in:
parent
dc1cb25da0
commit
78397251e5
1
roles/google-earth/defaults/main.yml
Normal file
1
roles/google-earth/defaults/main.yml
Normal file
@ -0,0 +1 @@
|
|||||||
|
tuxflotte_state: present
|
||||||
47
roles/google-earth/tasks/main.yml
Normal file
47
roles/google-earth/tasks/main.yml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
- name: Ensure marker directory exists
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /run/tuxflotte/agent/applied
|
||||||
|
state: directory
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
# Google Earth Pro gibt es nicht als Flatpak - Google vertreibt nur eigene
|
||||||
|
# .deb/.rpm-Pakete direkt. Beide Backends (fedora, mint) nutzen denselben
|
||||||
|
# Rollennamen "google-earth" (siehe blueprints-Seed, gleiches Muster wie bei
|
||||||
|
# guest-session), die Rolle installiert je nach os_family das passende Paket.
|
||||||
|
|
||||||
|
- name: Install Google Earth Pro (Debian/Mint)
|
||||||
|
ansible.builtin.apt:
|
||||||
|
deb: https://dl.google.com/dl/earth/client/current/google-earth-pro-stable_current_amd64.deb
|
||||||
|
update_cache: true
|
||||||
|
when: tuxflotte_state == "present" and ansible_facts['os_family'] == 'Debian'
|
||||||
|
|
||||||
|
- name: Install Google Earth Pro (Fedora)
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: https://dl.google.com/dl/earth/client/current/google-earth-pro-stable_current_x86_64.rpm
|
||||||
|
state: present
|
||||||
|
when: tuxflotte_state == "present" and ansible_facts['os_family'] == 'RedHat'
|
||||||
|
|
||||||
|
- name: Record that the google-earth role ran
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: /run/tuxflotte/agent/applied/google-earth.marker
|
||||||
|
content: "{{ ansible_date_time.iso8601 }}\n"
|
||||||
|
mode: "0644"
|
||||||
|
when: tuxflotte_state == "present"
|
||||||
|
|
||||||
|
- name: Remove Google Earth Pro (Debian/Mint, Auftrag abgewählt)
|
||||||
|
ansible.builtin.apt:
|
||||||
|
name: google-earth-pro-stable
|
||||||
|
state: absent
|
||||||
|
when: tuxflotte_state == "absent" and ansible_facts['os_family'] == 'Debian'
|
||||||
|
|
||||||
|
- name: Remove Google Earth Pro (Fedora, Auftrag abgewählt)
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: google-earth-pro-stable
|
||||||
|
state: absent
|
||||||
|
when: tuxflotte_state == "absent" and ansible_facts['os_family'] == 'RedHat'
|
||||||
|
|
||||||
|
- name: Remove google-earth marker (Auftrag abgewählt)
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /run/tuxflotte/agent/applied/google-earth.marker
|
||||||
|
state: absent
|
||||||
|
when: tuxflotte_state == "absent"
|
||||||
9
site.yml
9
site.yml
@ -47,3 +47,12 @@
|
|||||||
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('libreoffice', 'present') }}"
|
tuxflotte_state: "{{ tuxflotte_auftrag_states.get('libreoffice', 'present') }}"
|
||||||
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('libreoffice', {}) }}"
|
tuxflotte_optionen: "{{ tuxflotte_auftrag_optionen.get('libreoffice', {}) }}"
|
||||||
tags: 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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user