--- - 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