From 3e09e3dc135375fd4003faec1e28f8561acdd198 Mon Sep 17 00:00:00 2001 From: Kurnesay Date: Sat, 29 Aug 2026 22:34:30 +0300 Subject: [PATCH 01/11] moved main.yml from roles/homelab/wireguard/vars to roles/homelab/wireguard/defauls and delete empty folder. --- roles/homelab/wireguard/{vars => defaults}/main.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename roles/homelab/wireguard/{vars => defaults}/main.yml (100%) diff --git a/roles/homelab/wireguard/vars/main.yml b/roles/homelab/wireguard/defaults/main.yml similarity index 100% rename from roles/homelab/wireguard/vars/main.yml rename to roles/homelab/wireguard/defaults/main.yml From f0110348a210c8fa63cdb6462d4d871e33950b7a Mon Sep 17 00:00:00 2001 From: Kurnesay Date: Sat, 29 Aug 2026 22:39:26 +0300 Subject: [PATCH 02/11] Delete old comment string for not-existent notify --- roles/homelab/wireguard/tasks/peers.yml | 26 ++++++++++--------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/roles/homelab/wireguard/tasks/peers.yml b/roles/homelab/wireguard/tasks/peers.yml index bdd133b..8f23eac 100644 --- a/roles/homelab/wireguard/tasks/peers.yml +++ b/roles/homelab/wireguard/tasks/peers.yml @@ -1,27 +1,21 @@ --- -- name: "Generate private keys" - ansible.builtin.shell: - cmd: wg genkey - register: "peer_keys" +- name: "Check if peer private key exist" + ansible.builtin.stat: + path: "{{ wireguard_config_dir }}/peer_{{ item.name }}_private.key" + register: peer_key_stat loop: "{{ wireguard_clients }}" loop_control: label: "{{ item.name }}" - args: - creates: "{{ wireguard_config_dir }}/peer_{{ item.name }}_private.key" - no_log: true -- name: "Save private keys" - ansible.builtin.copy: - content: "{{ item.stdout }}" - dest: "{{ wireguard_config_dir }}/peer_{{ item.item.name }}_private.key" - owner: root - group: root - mode: "0600" - loop: "{{ peer_keys.results }}" +- name: "Generate and save private key" + ansible.builtin.shell: | + wg genkey > {{ wireguard_client_config_dir }}/peer_{{ item.name }}_private.key + chmod 0600 {{ wireguard_client_config_dir }}/peer_{{ item.name }}_private.key + loop: "{{ peer_key_stat.results }}" loop_control: label: "{{ item.item.name }}" - when: item.change | default(false) + when: not item.stat.exists no_log: true - name: "Read all private keys" From 27173cbe2d19c99a2a1bb88a6290d485af565be1 Mon Sep 17 00:00:00 2001 From: Kurnesay Date: Sat, 29 Aug 2026 22:47:04 +0300 Subject: [PATCH 03/11] Cange first roles in roles/homelab/wireguard/tasks/peers/yml --- roles/homelab/wireguard/tasks/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/roles/homelab/wireguard/tasks/main.yml b/roles/homelab/wireguard/tasks/main.yml index 94e2acf..e13ef72 100644 --- a/roles/homelab/wireguard/tasks/main.yml +++ b/roles/homelab/wireguard/tasks/main.yml @@ -42,7 +42,6 @@ group: root mode: '0600' notify: "restart wireguard" - #notify: restart wireguard_client_config_dir - name: "Confiugre bind9" tags: bind9 From 25887f3bcfc85039e88e37449aeca35d52e77f8d Mon Sep 17 00:00:00 2001 From: Kurnesay Date: Sat, 29 Aug 2026 23:03:36 +0300 Subject: [PATCH 04/11] Change task Generate and save private key --- roles/homelab/wireguard/tasks/peers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/homelab/wireguard/tasks/peers.yml b/roles/homelab/wireguard/tasks/peers.yml index 8f23eac..b9e6407 100644 --- a/roles/homelab/wireguard/tasks/peers.yml +++ b/roles/homelab/wireguard/tasks/peers.yml @@ -16,7 +16,7 @@ loop_control: label: "{{ item.item.name }}" when: not item.stat.exists - no_log: true +# no_log: true - name: "Read all private keys" ansible.builtin.slurp: From bcf0c9e47e3f716454c79817cc7058f321c3e790 Mon Sep 17 00:00:00 2001 From: Kurnesay Date: Sat, 29 Aug 2026 23:10:38 +0300 Subject: [PATCH 05/11] Change task Generate and save private keys --- roles/homelab/wireguard/tasks/peers.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/homelab/wireguard/tasks/peers.yml b/roles/homelab/wireguard/tasks/peers.yml index b9e6407..8cdb612 100644 --- a/roles/homelab/wireguard/tasks/peers.yml +++ b/roles/homelab/wireguard/tasks/peers.yml @@ -8,15 +8,15 @@ loop_control: label: "{{ item.name }}" -- name: "Generate and save private key" +- name: "Generate and save peer private keys" ansible.builtin.shell: | - wg genkey > {{ wireguard_client_config_dir }}/peer_{{ item.name }}_private.key - chmod 0600 {{ wireguard_client_config_dir }}/peer_{{ item.name }}_private.key + wg genkey > {{ wireguard_config_dir }}/peer_{{ item.item.name }}_private.key + chmod 0600 {{ wireguard_config_dir }}/peer_{{ item.item.name }}_private.key loop: "{{ peer_key_stat.results }}" loop_control: label: "{{ item.item.name }}" when: not item.stat.exists -# no_log: true + no_log: false - name: "Read all private keys" ansible.builtin.slurp: From 5bceda5da8ab2684e4bc6f820334afe26fe7dcde Mon Sep 17 00:00:00 2001 From: Kurnesay Date: Sat, 29 Aug 2026 23:11:41 +0300 Subject: [PATCH 06/11] Change task Generate and save private keys, edit no_log to true --- roles/homelab/wireguard/tasks/peers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/homelab/wireguard/tasks/peers.yml b/roles/homelab/wireguard/tasks/peers.yml index 8cdb612..977c415 100644 --- a/roles/homelab/wireguard/tasks/peers.yml +++ b/roles/homelab/wireguard/tasks/peers.yml @@ -16,7 +16,7 @@ loop_control: label: "{{ item.item.name }}" when: not item.stat.exists - no_log: false + no_log: true - name: "Read all private keys" ansible.builtin.slurp: From af652dd9059f0902ec96b238fb3ec9459acefade Mon Sep 17 00:00:00 2001 From: Kurnesay Date: Sun, 30 Aug 2026 00:42:50 +0300 Subject: [PATCH 07/11] Move task Change repos in install_package.yml and united Install default and Install wireguard tasks in Install packages --- .../wireguard/tasks/install_package.yml | 19 +++++++++++-------- roles/homelab/wireguard/tasks/main.yml | 5 ----- roles/homelab/wireguard/tasks/peers.yml | 2 +- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/roles/homelab/wireguard/tasks/install_package.yml b/roles/homelab/wireguard/tasks/install_package.yml index c937426..c286abe 100644 --- a/roles/homelab/wireguard/tasks/install_package.yml +++ b/roles/homelab/wireguard/tasks/install_package.yml @@ -1,14 +1,17 @@ --- -- name: "Install default packages" - ansible.builtin.apt: - name: "{{ default_packages }}" - state: present - become: true - register: deps_installed -- name: "Install wireguard" +- name: "Change repos" + ansible.builtin.template: + src: mirror-yandex.ru.j2 + dest: /etc/apt/sources.list + owner: root + group: root + mode: '0744' + +- name: "Install packages" ansible.builtin.apt: - name: "{{ wireguard_packages }}" + name: "{{ default_packages + wireguard_packages }}" state: present + update_cache: true become: true register: deps_installed \ No newline at end of file diff --git a/roles/homelab/wireguard/tasks/main.yml b/roles/homelab/wireguard/tasks/main.yml index e13ef72..783a266 100644 --- a/roles/homelab/wireguard/tasks/main.yml +++ b/roles/homelab/wireguard/tasks/main.yml @@ -8,11 +8,6 @@ group: root mode: '0744' -- name: "Update cache" - ansible.builtin.apt: - update_cache: true - cache_valid_time: 3600 - - name: "Install packages" ansible.builtin.include_tasks: install_package.yml diff --git a/roles/homelab/wireguard/tasks/peers.yml b/roles/homelab/wireguard/tasks/peers.yml index 977c415..8cdb612 100644 --- a/roles/homelab/wireguard/tasks/peers.yml +++ b/roles/homelab/wireguard/tasks/peers.yml @@ -16,7 +16,7 @@ loop_control: label: "{{ item.item.name }}" when: not item.stat.exists - no_log: true + no_log: false - name: "Read all private keys" ansible.builtin.slurp: From c76f61cefe1c3a6501bef41344e4aba33e2b2ac3 Mon Sep 17 00:00:00 2001 From: Kurnesay Date: Sun, 30 Aug 2026 00:44:24 +0300 Subject: [PATCH 08/11] Delete Change repos task because move this in install_package.yml --- roles/homelab/wireguard/tasks/main.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/roles/homelab/wireguard/tasks/main.yml b/roles/homelab/wireguard/tasks/main.yml index 783a266..fc605e7 100644 --- a/roles/homelab/wireguard/tasks/main.yml +++ b/roles/homelab/wireguard/tasks/main.yml @@ -1,13 +1,5 @@ --- -- name: "Change repos" - ansible.builtin.template: - src: mirror-yandex.ru.j2 - dest: /etc/apt/sources.list - owner: root - group: root - mode: '0744' - - name: "Install packages" ansible.builtin.include_tasks: install_package.yml From 8acb71961bd5c41caa6b21058e00fe4f5317272f Mon Sep 17 00:00:00 2001 From: Kurnesay Date: Sun, 30 Aug 2026 00:47:37 +0300 Subject: [PATCH 09/11] Delete task Enable and start bind9 in main.yml and errors in tasks names have been corrected --- roles/homelab/wireguard/tasks/main.yml | 12 +++--------- roles/homelab/wireguard/tasks/peers.yml | 2 +- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/roles/homelab/wireguard/tasks/main.yml b/roles/homelab/wireguard/tasks/main.yml index fc605e7..edf72f8 100644 --- a/roles/homelab/wireguard/tasks/main.yml +++ b/roles/homelab/wireguard/tasks/main.yml @@ -9,7 +9,7 @@ - name: "Configure wireguard server" ansible.builtin.include_tasks: configure_wireguard_server.yml -- name: "Create client dirrectory" +- name: "Create client directory" ansible.builtin.file: path: "{{ wireguard_client_config_dir }}" state: directory @@ -30,7 +30,7 @@ mode: '0600' notify: "restart wireguard" -- name: "Confiugre bind9" +- name: "Configure bind9" tags: bind9 ansible.builtin.include_tasks: configure_bind9.yml @@ -50,10 +50,4 @@ ansible.builtin.systemd: name: "bind9" state: started - enabled: yes - -- name: "Enable and start named" - ansible.builtin.systemd: - name: "named" - state: started - enabled: yes + enabled: yes \ No newline at end of file diff --git a/roles/homelab/wireguard/tasks/peers.yml b/roles/homelab/wireguard/tasks/peers.yml index 8cdb612..6766d21 100644 --- a/roles/homelab/wireguard/tasks/peers.yml +++ b/roles/homelab/wireguard/tasks/peers.yml @@ -56,7 +56,7 @@ loop_control: label: "{{ item.0.name }}" -- name: "Generate QR codes for moblie clients" +- name: "Generate QR codes for mobile clients" ansible.builtin.shell: cmd: "qrencode -t ansiutf8 < {{ wireguard_client_config_dir }}/{{ item.name }}.conf > {{ wireguard_client_config_dir }}/{{ item.name }}_qr.txt" loop: "{{ wireguard_clients }}" From 6e4ac1fc30c3450248d51a38ec89427ef31cb417 Mon Sep 17 00:00:00 2001 From: Kurnesay Date: Sun, 30 Aug 2026 01:00:52 +0300 Subject: [PATCH 10/11] Add task Generate QR for mobile clients via image format for generate qr in png and rename last task --- roles/homelab/wireguard/tasks/peers.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/roles/homelab/wireguard/tasks/peers.yml b/roles/homelab/wireguard/tasks/peers.yml index 6766d21..3c0c559 100644 --- a/roles/homelab/wireguard/tasks/peers.yml +++ b/roles/homelab/wireguard/tasks/peers.yml @@ -56,10 +56,22 @@ loop_control: label: "{{ item.0.name }}" -- name: "Generate QR codes for mobile clients" +- name: "Generate QR codes for mobile clients via text format" ansible.builtin.shell: cmd: "qrencode -t ansiutf8 < {{ wireguard_client_config_dir }}/{{ item.name }}.conf > {{ wireguard_client_config_dir }}/{{ item.name }}_qr.txt" loop: "{{ wireguard_clients }}" loop_control: label: "{{ item.name }}" + args: + creates: "{{ wireguard_client_config_dir }}/{{ item.name }}_qr.txt" + changed_when: false + +- name: "Generate QR codes for mobile clients via image format" + ansible.builtin.shell: + cmd: "qrencode -t png -o {{ wireguard_client_config_dir }}/{{ item.name }}.png < {{ wireguard_client_config_dir }}/{{ item.name }}.conf" + loop: "{{ wireguard_clients }}" + loop_control: + label: "{{ item.name }}" + args: + creates: "{{ wireguard_client_config_dir }}/{{ item.name }}.png" changed_when: false From 4a59590590b3086fbe87a5e22e1e6ddd8812e44d Mon Sep 17 00:00:00 2001 From: Kurnesay Date: Sun, 30 Aug 2026 02:07:09 +0300 Subject: [PATCH 11/11] Change restart named to bind9 in handlers --- roles/homelab/wireguard/handlers/main.yml | 4 ++-- roles/homelab/wireguard/tasks/configure_bind9.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/homelab/wireguard/handlers/main.yml b/roles/homelab/wireguard/handlers/main.yml index 17178fc..3edbe76 100644 --- a/roles/homelab/wireguard/handlers/main.yml +++ b/roles/homelab/wireguard/handlers/main.yml @@ -10,7 +10,7 @@ name: "nftables" state: restarted -- name: "restart named" +- name: "restart bind9" ansible.builtin.systemd: - name: "named" + name: "bind9" state: restarted \ No newline at end of file diff --git a/roles/homelab/wireguard/tasks/configure_bind9.yml b/roles/homelab/wireguard/tasks/configure_bind9.yml index 5cbd215..1e74276 100644 --- a/roles/homelab/wireguard/tasks/configure_bind9.yml +++ b/roles/homelab/wireguard/tasks/configure_bind9.yml @@ -17,4 +17,4 @@ owner: root group: bind mode: '0644' - notify: "restart named" \ No newline at end of file + notify: "restart bind9" \ No newline at end of file