- name: Ensure marker directory exists ansible.builtin.file: path: /run/tuxflotte/agent/applied state: directory mode: "0755" # systemd-timesyncd ist auf allen drei Ziel-Backends bereits Teil des # Basissystems (kein zusätzliches Paket nötig) - reine Konfiguration. # tuxflotte_optionen.ntp_server erlaubt einen kundeneigenen Zeitserver # (z.B. eigener AD-Zeitserver), Default ist der öffentliche NTP-Pool. - name: NTP-Server in /etc/systemd/timesyncd.conf setzen ansible.builtin.lineinfile: path: /etc/systemd/timesyncd.conf regexp: '^#?NTP=' line: 'NTP={{ tuxflotte_optionen.ntp_server | default("pool.ntp.org") }}' when: tuxflotte_state == "present" register: tuxflotte_ntp_changed - name: systemd-timesyncd neu starten ansible.builtin.systemd: name: systemd-timesyncd state: restarted enabled: true when: tuxflotte_state == "present" and tuxflotte_ntp_changed.changed - name: Record that the zeitserver role ran ansible.builtin.copy: dest: /run/tuxflotte/agent/applied/zeitserver.marker content: "{{ ansible_date_time.iso8601 }}: {{ tuxflotte_optionen.ntp_server | default('pool.ntp.org') }}\n" mode: "0644" when: tuxflotte_state == "present" - name: Auf öffentlichen NTP-Pool zurücksetzen (Auftrag abgewählt) ansible.builtin.lineinfile: path: /etc/systemd/timesyncd.conf regexp: '^#?NTP=' line: 'NTP=pool.ntp.org' when: tuxflotte_state == "absent" - name: zeitserver-Marker entfernen (Auftrag abgewählt) ansible.builtin.file: path: /run/tuxflotte/agent/applied/zeitserver.marker state: absent when: tuxflotte_state == "absent"