You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
algo/roles/wireguard/tasks/keys.yml

61 lines
1.4 KiB
YAML

---
- name: Delete the lock files
file:
dest: "/etc/wireguard/private_{{ item }}.lock"
state: absent
when: easyrsa_reinit_existent|bool == True
with_items:
- "{{ users }}"
- "{{ IP_subject_alt_name }}"
- name: Generate private keys
command: wg genkey
register: wg_genkey
args:
creates: "/etc/wireguard/private_{{ item }}.lock"
executable: bash
with_items:
- "{{ users }}"
- "{{ IP_subject_alt_name }}"
- block:
- name: Save private keys
copy:
dest: "{{ wireguard_config_path }}/private/{{ item['item'] }}"
content: "{{ item['stdout'] }}"
mode: "0600"
no_log: true
when: item.changed
with_items: "{{ wg_genkey['results'] }}"
delegate_to: localhost
become: false
- name: Touch the lock file
file:
dest: "/etc/wireguard/private_{{ item }}.lock"
state: touch
with_items:
- "{{ users }}"
- "{{ IP_subject_alt_name }}"
when: wg_genkey.changed
- name: Generate public keys
shell: echo "{{ lookup('file', wireguard_config_path + '/private/' + item) }}" | wg pubkey
register: wg_pubkey
changed_when: false
args:
executable: bash
with_items:
- "{{ users }}"
- "{{ IP_subject_alt_name }}"
- name: Save public keys
copy:
dest: "{{ wireguard_config_path }}/public/{{ item['item'] }}"
content: "{{ item['stdout'] }}"
mode: "0600"
no_log: true
with_items: "{{ wg_pubkey['results'] }}"
delegate_to: localhost
become: false