--- - name: Install Wireguard Server apt: pkg: - wireguard state: latest update_cache: true - name: Create directory for wg keys ansible.builtin.file: path: /etc/wireguard/keys state: directory mode: '0755' - name: Creating server privatekey and publickey shell: wg genkey | tee privatekey | wg pubkey > publickey args: chdir: /etc/wireguard/keys - name: Get Private Key [privatekey => var_privatekey] shell: cat privatekey register: var_privatekey args: chdir: /etc/wireguard/keys #- name: Add WireGuard interface # command: ip link add dev wg0 type wireguard - name: Updating configuration template: src: wireguard_server.jinja dest: /etc/wireguard/wg0.conf #- name: Activating link # command: ip link set up dev wg0 - name: Starting wg service systemd: state: started name: wg-quick@wg0 enabled: yes - name: Getting public key shell: cat publickey register: var_publickey args: chdir: /etc/wireguard/keys - name: Check server public IP shell: curl https://ipinfo.io/ip register: var_server_ip - name: Printing public key debug: msg: "Server {{ ansible_hostname }} reachable @{{var_server_ip}}. Public key is {{ var_publickey }}"