Files
ansible-pull/roles/dns-registrierung/tasks/install.yml
2026-03-20 18:16:35 +01:00

69 lines
1.7 KiB
YAML

- name: curl installieren (falls nicht vorhanden)
ansible.builtin.package:
name: curl
state: present
- name: Verzeichnis für Skript sicherstellen
ansible.builtin.file:
path: "{{ script_path | dirname }}"
state: directory
owner: root
group: root
mode: '0755'
- name: Skript installieren
ansible.builtin.template:
src: update-dns.sh.j2
dest: "{{ script_path }}"
owner: root
group: root
mode: '0755'
- name: systemd Service-Datei erstellen
ansible.builtin.copy:
dest: "/etc/systemd/system/{{ service_name }}.service"
content: |
[Unit]
Description=Update DNS after boot
[Service]
ExecStart={{ script_path }}
Type=oneshot
owner: root
group: root
mode: "0644"
- name: systemd Timer-Datei erstellen
ansible.builtin.copy:
dest: "/etc/systemd/system/{{ service_name }}.timer"
content: |
[Unit]
Description=Run DNS update 10 seconds after boot
[Timer]
OnBootSec=10s
AccuracySec=1s
Unit={{ service_name }}.service
[Install]
WantedBy=timers.target
owner: root
group: root
mode: "0644"
- name: systemd Timer aktivieren und starten
ansible.builtin.systemd:
name: "{{ service_name }}.timer"
enabled: true
state: started
daemon_reload: true
- name: Skript sofort ausführen (einmalig beim Installieren)
ansible.builtin.shell: "{{ script_path }}"
register: dns_script_output
failed_when: "'Fehler' in dns_script_output.stdout or dns_script_output.rc != 0"
- name: Ausgabe des DNS-Update-Skripts anzeigen
ansible.builtin.debug:
var: dns_script_output.stdout_lines
when: dns_script_output is defined