From 3b3d474d2e11e8970ae9a44bae05e45033c8b8ba Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 1 Aug 2026 21:27:25 +0200 Subject: Support netplan hosts --- personal_infra/playbooks/setup_wireguard.yaml | 28 +++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/personal_infra/playbooks/setup_wireguard.yaml b/personal_infra/playbooks/setup_wireguard.yaml index 7e1e73ac..9bed8607 100644 --- a/personal_infra/playbooks/setup_wireguard.yaml +++ b/personal_infra/playbooks/setup_wireguard.yaml @@ -20,7 +20,7 @@ slurp: src: /etc/wireguard/privatekey register: privatekey - - name: configure + - name: configure (no netplan) copy: content: | [Interface] @@ -43,11 +43,35 @@ {% endif %} {% endfor %} dest: /etc/wireguard/wg0.conf - - name: enable wireguard + when: inventory_hostname not in groups['netplan'] + - name: configure (netplan) + copy: + content: | + network: + tunnels: + wg0: + mode: wireguard + port: 51820 + key: {{ privatekey['content'] | b64decode }} + addresses: + - {{ network.self_internal_ip }}/24 + peers: + {% for host in groups['tinc'] %} + {% if host != inventory_hostname %} + - allowed-ips: [{{ hostvars[host].network.self_internal_network }}] + endpoint: {{ hostvars[host].network.public_hostname }}:51820 + keys: + public: {{ lookup('file', '/tmp/wireguard-publickeys/{}/etc/wireguard/publickey'.format(host)) }} + {% endif %} + {% endfor %} + dest: /etc/netplan/wireguard.yaml + when: inventory_hostname in groups['netplan'] + - name: enable wireguard (no netplan) service: name: wg-quick@wg0 state: restarted enabled: yes + when: inventory_hostname not in groups['netplan'] - name: set congestion control copy: content: | -- cgit v1.2.3