- name: Create DDNS Service hosts: 3dserver vars_files: - vars.yaml - secrets/secret_vars.yaml tasks: - name: Ensure moreutils, jq is installed ansible.builtin.dnf: name: - moreutils - jq state: present - name: Create /usr/local/scripts dir ansible.builtin.file: path: /usr/local/scripts state: directory mode: '0755' - name: Copy ddns.sh template: src: ddns.sh dest: /usr/local/scripts/ddns.sh owner: root group: root mode: '0755' - name: Create /etc/ddns dir ansible.builtin.file: path: /etc/ddns state: directory mode: '0755' - name: Copy IPv4 reeseapps_record_template.json template: src: ipv4_reeseapps_record_template.json.j2 dest: /etc/ddns/ipv4_reeseapps_record_template.json owner: root group: root mode: '0644' - name: Copy IPv4 reeselink_record_template.json template: src: ipv4_reeselink_record_template.json.j2 dest: /etc/ddns/ipv4_reeselink_record_template.json owner: root group: root mode: '0644' - name: Copy IPv6 reeseapps_record_template.json template: src: ipv6_reeseapps_record_template.json.j2 dest: /etc/ddns/ipv6_reeseapps_record_template.json owner: root group: root mode: '0644' - name: Copy IPv6 reeselink_record_template.json template: src: ipv6_reeselink_record_template.json.j2 dest: /etc/ddns/ipv6_reeselink_record_template.json owner: root group: root mode: '0644' - name: Copy ddns.service template: src: ddns.service dest: /etc/systemd/system/ddns.service owner: root group: root mode: '0644' - name: Copy ddns.timer template: src: ddns.timer dest: /etc/systemd/system/ddns.timer owner: root group: root mode: '0644' - name: Run ddns script ansible.builtin.shell: /usr/local/scripts/ddns.sh - name: Reload ddns timer ansible.builtin.systemd_service: state: restarted name: ddns.timer enabled: true