Files
computer-playbook/roles/svc-net-wireguard/vars/main.yml

42 lines
1.3 KiB
YAML

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