--- - name: create wireguard config for fastds template: src: wg.conf.j2 dest: /etc/wireguard/wgbb{{ hostvars[item]['wireguard_bb_name'] }}.conf mode: 0400 with_items: - "{{ groups['fastd'] }}" - "{{ groups['wg'] }}" - name: create wireguard config for uplinks template: src: wg.conf.j2 dest: /etc/wireguard/wgbb{{ hostvars[item]['wireguard_bb_name'] }}.conf mode: 0400 with_items: "{{ groups['uplink'] | difference([inventory_hostname]) }}" - name: create wireguard config for additional peers template: src: wg2.conf.j2 dest: /etc/wireguard/wgbb{{ item.name }}.conf mode: 0400 with_items: "{{ wireguard_bb_peers|default([]) }}" - name: create wireguard up scripts for fastds template: src: up.sh.j2 dest: /etc/wireguard/upbb{{ hostvars[item]['wireguard_bb_name'] }}.sh mode: 0744 with_items: - "{{ groups['fastd'] }}" - "{{ groups['wg'] }}" - name: create wireguard up scripts for uplinks template: src: up.sh.j2 dest: /etc/wireguard/upbb{{ hostvars[item]['wireguard_bb_name'] }}.sh mode: 0744 with_items: "{{ groups['uplink'] | difference([inventory_hostname]) }}" - name: create wireguard up scripts for additional peers template: src: up2.sh.j2 dest: /etc/wireguard/upbb{{ item.name }}.sh mode: 0744 with_items: "{{ wireguard_bb_peers|default([]) }}" - name: create wireguard down scripts for fastds template: src: down.sh.j2 dest: /etc/wireguard/downbb{{ hostvars[item]['wireguard_bb_name'] }}.sh mode: 0744 with_items: - "{{ groups['fastd'] }}" - "{{ groups['wg'] }}" - name: create wireguard down scripts for uplinks template: src: down.sh.j2 dest: /etc/wireguard/downbb{{ hostvars[item]['wireguard_bb_name'] }}.sh mode: 0744 with_items: "{{ groups['uplink'] | difference([inventory_hostname]) }}" - name: create wireguard down scripts for additional peers template: src: down2.sh.j2 dest: /etc/wireguard/downbb{{ item.name }}.sh mode: 0744 with_items: "{{ wireguard_bb_peers|default([]) }}" - name: start and enable wireguard mesh for fastds systemd: name: wgbackbone@{{ hostvars[item]['wireguard_bb_name'] }}.service enabled: yes state: started daemon_reload: yes with_items: - "{{ groups['fastd'] }}" - "{{ groups['wg'] }}" - name: start and enable wireguard mesh for uplinks systemd: name: wgbackbone@{{ hostvars[item]['wireguard_bb_name'] }}.service enabled: yes state: started daemon_reload: yes with_items: "{{ groups['uplink'] | difference([inventory_hostname]) }}" - name: start and enable wireguard mesh for additional peers systemd: name: wgbackbone@{{ item.name }}.service enabled: yes state: started daemon_reload: yes with_items: "{{ wireguard_bb_peers|default([]) }}"