aboutsummaryrefslogtreecommitdiff
path: root/tasks/wg_setup.yaml
diff options
context:
space:
mode:
authorheqnx <root@heqnx.com>2025-06-24 00:28:18 +0300
committerheqnx <root@heqnx.com>2025-06-24 00:28:18 +0300
commit4d996aff99c9c31ed66f82afb11c74569ccc6763 (patch)
treea4dd5b17132fb2a9543fcb2f8eecf440b5b76577 /tasks/wg_setup.yaml
parent5832dc592761147a607a3ba35af8715c9adb0527 (diff)
downloadansible-pve-host-4d996aff99c9c31ed66f82afb11c74569ccc6763.tar.gz
ansible-pve-host-4d996aff99c9c31ed66f82afb11c74569ccc6763.zip
adding wireguard setup for pve vm access
Diffstat (limited to 'tasks/wg_setup.yaml')
-rw-r--r--tasks/wg_setup.yaml72
1 files changed, 72 insertions, 0 deletions
diff --git a/tasks/wg_setup.yaml b/tasks/wg_setup.yaml
new file mode 100644
index 0000000..9557a79
--- /dev/null
+++ b/tasks/wg_setup.yaml
@@ -0,0 +1,72 @@
+- name: install wireguard and dependencies
+ apt:
+ name: "{{ wireguard_packages }}"
+ state: present
+ update_cache: yes
+
+- name: update apt packages
+ apt:
+ update_cache: true
+
+- name: install apt packages
+ apt:
+ name: "{{ apt_packages }}"
+ state: present
+ update_cache: true
+ environment:
+ DEBIAN_FRONTEND: noninteractive
+
+- name: create wireguard server directory
+ file:
+ path: "{{ wireguard_server_home }}"
+ state: directory
+ mode: "0700"
+
+- name: create wireguard peers directory
+ file:
+ path: "{{ wireguard_peers_home }}"
+ state: directory
+ mode: "0700"
+
+- name: generate wireguard server keys
+ shell:
+ cmd: |
+ wg genpsk > "{{ wireguard_server_home }}/psk.key"
+ wg genkey > "{{ wireguard_server_home }}/server.key"
+ creates: "{{ wireguard_server_home }}/server.key"
+ args:
+ chdir: "{{ wireguard_server_home }}"
+
+- name: get server public key
+ shell:
+ cmd: wg pubkey < "{{ wireguard_server_home }}/server.key"
+ register: server_pubkey
+ changed_when: false
+
+- name: read wireguard server.key from remote host
+ slurp:
+ src: "{{ wireguard_server_home }}/server.key"
+ register: wg_key
+
+- name: set private key from remote file
+ set_fact:
+ private_key: "{{ wg_key.content | b64decode }}"
+
+- name: deploy {{ wireguard_server_home }}/wg0.conf
+ template:
+ src: wg0.conf.j2
+ dest: "{{ wireguard_server_home }}/wg0.conf"
+ mode: "0600"
+
+- name: deploy manage_wg_peers.sh
+ template:
+ src: manage_wg_peers.sh.j2
+ dest: /root/manage_wg_peers.sh
+ mode: "0600"
+
+- name: restart wireguard
+ systemd:
+ name: wg-quick@wg0.service
+ state: restarted
+ enabled: true
+ when: ansible_service_mgr == 'systemd'