summaryrefslogtreecommitdiff
path: root/roles/wireguard/gateway/templates
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2020-02-28 23:27:11 +0100
committerChristian Pointner <equinox@spreadspace.org>2020-02-28 23:27:11 +0100
commit73629c402a19444e4c5dd1d08ff0a484cb130954 (patch)
tree1225d1d11e8a77443a1bb1b3e33b3b61d64ddef3 /roles/wireguard/gateway/templates
parentadded new vm el-gwhetzner (diff)
added role wireguard/gateway
Diffstat (limited to 'roles/wireguard/gateway/templates')
-rw-r--r--roles/wireguard/gateway/templates/systemd.netdev.j226
-rw-r--r--roles/wireguard/gateway/templates/systemd.network.j27
2 files changed, 33 insertions, 0 deletions
diff --git a/roles/wireguard/gateway/templates/systemd.netdev.j2 b/roles/wireguard/gateway/templates/systemd.netdev.j2
new file mode 100644
index 00000000..62f0d0a6
--- /dev/null
+++ b/roles/wireguard/gateway/templates/systemd.netdev.j2
@@ -0,0 +1,26 @@
+[NetDev]
+Name={{ item.key }}
+Kind=wireguard
+{% if 'description' in item.value %}
+Description={{ item.value.description }}
+{% endif %}
+
+
+[WireGuard]
+PrivateKey={{ item.value.priv_key }}
+ListenPort={{ item.value.listen_port | default(51820) }}
+
+{% for peer in item.value.peers %}
+
+[WireGuardPeer]
+PublicKey={{ peer.pub_key }}
+{% for ip in peer.allowed_ips %}
+AllowedIPs={{ ip }}
+{% endfor %}
+{% if 'endpoint' in peer %}
+Endpoint={{ peer.endpoint }}
+{% endif %}
+{% if 'keepalive_interval' in peer %}
+PersistentKeepalive={{ peer.keepalive_interval }}
+{% endif %}
+{% endfor %}
diff --git a/roles/wireguard/gateway/templates/systemd.network.j2 b/roles/wireguard/gateway/templates/systemd.network.j2
new file mode 100644
index 00000000..8d8af966
--- /dev/null
+++ b/roles/wireguard/gateway/templates/systemd.network.j2
@@ -0,0 +1,7 @@
+[Match]
+Name={{ item.key }}
+
+[Network]
+{% for addr in item.value.addresses %}
+Address={{ addr }}
+{% endfor %}