- 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-1.pub' dest: '{{ vpn_config_dir }}/keys/public/tv-1.pub' - src: 'files/wireguard/media/tv-1.key' dest: '{{ vpn_config_dir }}/keys/private/tv-1.key' - src: 'files/wireguard/media/tv-2.pub' dest: '{{ vpn_config_dir }}/keys/public/tv-2.pub' - src: 'files/wireguard/media/tv-2.key' dest: '{{ vpn_config_dir }}/keys/private/tv-2.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_1.wireguard.j2 dest: /tmp/tv_1.conf - src: templates/network/wireguard/media/tv_2.wireguard.j2 dest: /tmp/tv_2.conf when: copy_vpn_media_configurations