- name: Copy Wireguard media configuration files become: true ansible.builtin.template: src: '{{ item.src }}' dest: '{{ item.dest }}' owner: root group: systemd-network mode: '0640' loop: - src: 'templates/network/wireguard/media/wg1.netdev.j2' dest: '/etc/systemd/network/wg1.netdev' - src: 'templates/network/wireguard/media/wg1.network.j2' dest: '/etc/systemd/network/wg1.network' notify: restart systemd-networkd - name: Create Wireguard media directories become: true ansible.builtin.file: path: '{{ item }}' owner: root group: systemd-network mode: '0750' state: directory recurse: true loop: - '{{ vpn_config_dir }}' - '{{ vpn_media_server_public_key_path | dirname }}' - '{{ vpn_media_server_key_path | dirname }}' - name: Copy Wireguard server media credentials become: true ansible.builtin.copy: src: '{{ item.src }}' dest: '{{ item.dest }}' owner: root group: systemd-network mode: '0640' loop: - src: 'files/wireguard/media/server.pub' dest: '{{ vpn_media_server_public_key_path }}' - src: 'files/wireguard/media/server.key' dest: '{{ vpn_media_server_key_path }}' - name: Copy Wireguard mobile media credentials become: true ansible.builtin.copy: src: '{{ item.src }}' dest: '{{ item.dest }}' owner: root group: systemd-network mode: '0640' loop: - src: 'files/wireguard/media/mobile-1.pub' dest: '{{ vpn_config_dir }}/keys/public/mobile_1.pub' - src: 'files/wireguard/media/mobile-1.key' dest: '{{ vpn_config_dir }}/keys/private/mobile_1.key' - src: 'files/wireguard/media/mobile-2.pub' dest: '{{ vpn_config_dir }}/keys/public/mobile_2.pub' - src: 'files/wireguard/media/mobile-2.key' dest: '{{ vpn_config_dir }}/keys/private/mobile_2.key' - src: 'files/wireguard/media/tv.pub' dest: '{{ vpn_config_dir }}/keys/public/tv.pub' - src: 'files/wireguard/media/tv.key' dest: '{{ vpn_config_dir }}/keys/private/tv.key' - name: Copy wireguard media preshared keys become: true ansible.builtin.copy: src: '{{ item.value.preshared_key_source_path }}' dest: '{{ item.value.preshared_key_path }}' owner: root group: systemd-network mode: '0640' with_dict: '{{ vpn_media_peers }}' - name: Copy Wireguard external media configurations become: true ansible.builtin.template: src: '{{ item.src }}' dest: '{{ item.dest }}' mode: '0600' owner: '{{ ansible_user_id }}' loop: - src: 'templates/network/wireguard/media/mobile_1.wireguard.j2' dest: '/tmp/mobile_1.conf' - src: 'templates/network/wireguard/media/mobile_2.wireguard.j2' dest: '/tmp/mobile_2.conf' - src: 'templates/network/wireguard/media/tv.wireguard.j2' dest: '/tmp/tv.conf' when: copy_vpn_media_configurations