--- application_id: "svc-net-wireguard" WIREGUARD_CONFIG_DIR: "/etc/wireguard" WIREGUARD_INTERFACES: "{{ lookup('config', application_id, 'networks.interfaces', []) }}" WIREGUARD_ACTIVE_MESHES: >- {{ dict(WIREGUARD_INTERFACES | selectattr('address') | map(attribute='name') | zip(WIREGUARD_INTERFACES | selectattr('address'))) }} WIREGUARD_MESH_NAMES: "{{ WIREGUARD_ACTIVE_MESHES.keys() | list | sort }}" WIREGUARD_MESHLESS_COMPOSE_HOST: "{{ DEPLOYMENT_MODE == 'compose' and WIREGUARD_MESH_NAMES | length == 0 }}" WIREGUARD_SPOKE_MESH_NAMES: >- {{ WIREGUARD_ACTIVE_MESHES | dict2items | rejectattr('value.is_hub') | map(attribute='key') | list | sort }} WIREGUARD_PING_BINARY: "/bin/ping" WIREGUARD_PRIVATE_KEY: "{{ lookup('config', application_id, 'secrets.credentials.mesh_private_key', '') }}" WIREGUARD_IS_HUB: >- {{ WIREGUARD_ACTIVE_MESHES.values() | map(attribute='is_hub') | select | list | length > 0 }} WIREGUARD_DIALLED_PEERS: >- {{ WIREGUARD_ACTIVE_MESHES.values() | map('mesh_dialled_peers') | flatten | list }} WIREGUARD_EXPECTED_PEERS: "{{ WIREGUARD_DIALLED_PEERS | map(attribute='address') | list }}" WIREGUARD_HEADER_BYTES: 60 WIREGUARD_VXLAN_HEADER_BYTES: 50 WIREGUARD_PMTU_TARGETS: >- {{ (WIREGUARD_DIALLED_PEERS | map(attribute='endpoint') | list) | default(NETWORK_PUBLIC_DNS_RESOLVERS, true) }}