--- - name: "Generate private key" ansible.builtin.command: cmd: wg genkey register: wg_server_privkey args: creates: "{{ wireguard_config_dir }}/server_private.key" no_log: true - name: "Save private key" ansible.builtin.copy: content: "{{ wg_server_privkey.stdout }}" dest: "{{ wireguard_config_dir }}/server_private.key" owner: root group: root mode: "0600" when: wg_server_privkey.changed no_log: true - name: "Read private key" ansible.builtin.slurp: src: "{{ wireguard_config_dir }}/server_private.key" register: wg_server_privkey_content no_log: true - name: "Generate public key" ansible.builtin.shell: cmd: "cat {{ wireguard_config_dir }}/server_private.key | wg pubkey" register: wg_server_pubkey changed_when: false - name: "Save public key" ansible.builtin.copy: content: "{{ wg_server_pubkey.stdout }}" dest: "{{ wireguard_config_dir }}/server_public.key" owner: root group: root mode: "0600"