[Interface] Address = {{ wg_address | default(AllowedIPs) }} PrivateKey = {{ private_key }} ListenPort = {{ listenport }} {% if vpn_dns is defined %}DNS = {{ vpn_dns }}{% endif %} # From inventory {% for item in groups['wireguard_clients'] %}{% if hostvars[item]['inventory_hostname'] != inventory_hostname and 'PublicKey' in hostvars[item] and 'AllowedIPs' in hostvars[item] and hostvars[item]['PublicKey'] != ""%} # Peer name: {{ item }} [Peer] PublicKey = {{ hostvars[item]['PublicKey'] }} AllowedIPs = {{ hostvars[item]['AllowedIPs'] }} {% if hostvars[item]['EndPointIP'] is defined and hostvars[item]['EndPointIP'] != '' %}EndPoint = {{ hostvars[item]['EndPointIP'] }}:{{ hostvars[item]['listenport'] | default(listenport) }} {% endif %}{% endif %}{% endfor %} # From peers configuration {% for item in wireguard_peers %}{% if item['name'] != inventory_hostname and 'PublicKey' in item and 'AllowedIPs' in item %} # Peer name: {{ item.name }} [Peer] PublicKey = {{ item.PublicKey }} AllowedIPs = {{ item.AllowedIPs }} {% if item.EndPointIP is defined and item.EndPointIP != '' %} EndPoint = {{ item.EndPointIP }}:{{ listenport }} {% endif %} {% endif %}{% endfor %}