- name: Deploy service ansible.builtin.template: src: wg-ipv6-conv.service.jinja2 dest: /etc/systemd/system/wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }}.service register: serviceFile - name: Enable service ansible.builtin.service: name: wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }} daemon-reload: true enabled: true - name: Ensure drop-in directory for the bound service exists ansible.builtin.file: path: /etc/systemd/system/{{ wireguard_ipv6_converter.service.bindTo }}.d state: directory mode: "0755" when: "wireguard_ipv6_converter.service.bindTo is defined" - name: Deploy start-propagation drop-in for the bound service ansible.builtin.template: src: wg-ipv6-conv-restart.conf.jinja2 dest: /etc/systemd/system/{{ wireguard_ipv6_converter.service.bindTo }}.d/10-wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }}.conf mode: "0644" when: "wireguard_ipv6_converter.service.bindTo is defined" register: upholdsFile - name: Reload systemd for drop-in ansible.builtin.systemd: daemon_reload: true when: "upholdsFile.changed" - name: Start service if interface exists already ansible.builtin.service: name: wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }} state: "restarted" register: service when: "wireguard_ipv6_converter.setup.interface in ansible_interfaces" - name: Pause for 5s to wait for program to have run ansible.builtin.pause: seconds: 5 when: "service.changed" - name: Gather facts to get changes ansible.builtin.gather_facts: when: "service.changed"