- name: Install wireguard-tools become: true ansible.builtin.package: name: wireguard-tools state: present - name: Write wg-quick config file become: true ansible.builtin.template: src: wg-quick.conf.j2 dest: '/etc/wireguard/{{ wireguard_name }}.conf' owner: root group: root mode: '0600' register: wireguard_config - name: Enable wg-quick service when: wireguard_config is changed become: true ansible.builtin.systemd_service: name: 'wg-quick@{{ wireguard_name }}' enabled: '{{ wireguard_autoconnect }}' - name: Restart wg-quick service when: wireguard_config is changed and wireguard_autoconnect become: true ansible.builtin.systemd_service: name: 'wg-quick@{{ wireguard_name }}' state: restarted - name: Set up service dependencies for the interface vars: systemd_depend_iface_name: '{{ wireguard_name }}' systemd_depend_iface_services: '{{ wireguard_dependent_services }}' ansible.builtin.include_role: name: systemd_depend_iface - name: Create override directory for services loop: '{{ wireguard_dependent_services }}' become: true ansible.builtin.file: path: '/etc/systemd/system/{{ item }}.service.d' state: directory owner: root group: root mode: '0755' - name: Set up service dependencies for wg-quick loop: '{{ wireguard_dependent_services }}' become: true ansible.builtin.template: src: depend_service_wg-quick.conf.j2 dest: '/etc/systemd/system/{{ item }}.service.d/depend_service_wg-quick@{{ wireguard_name }}.conf' owner: root group: root mode: '0644' notify: wireguard_reload - name: Reload systemd services if necessary ansible.builtin.meta: flush_handlers