summaryrefslogtreecommitdiff
path: root/playbooks/roles/wireguard-mesh/templates
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/roles/wireguard-mesh/templates')
-rw-r--r--playbooks/roles/wireguard-mesh/templates/mmtmesh.conf.j217
1 files changed, 17 insertions, 0 deletions
diff --git a/playbooks/roles/wireguard-mesh/templates/mmtmesh.conf.j2 b/playbooks/roles/wireguard-mesh/templates/mmtmesh.conf.j2
new file mode 100644
index 0000000..aa15d23
--- /dev/null
+++ b/playbooks/roles/wireguard-mesh/templates/mmtmesh.conf.j2
@@ -0,0 +1,17 @@
+[Interface]
+Address={{ wireguard_node_ips[inventory_hostname] }}/32
+SaveConfig=true
+ListenPort={{ wireguard_listen_port }}
+PrivateKey={{ wireguard_private_key.stdout }}
+
+{% for peer in groups['wireguard-mesh'] %}
+{% if peer != inventory_hostname %}
+
+[Peer]
+PublicKey={{ hostvars[peer].wireguard_public_key.stdout }}
+PresharedKey={{ wireguard_preshared_keys[peer] if inventory_hostname < peer else hostvars[peer].wireguard_preshared_keys[inventory_hostname] }}
+AllowedIPs={{ wireguard_node_ips[peer] }}/32
+Endpoint={{ peer | replace('.int.', '.pub.') }}:{{ wireguard_listen_port }}
+
+{% endif %}
+{% endfor %}