init_wg_vars.yml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. ---
  2. - name: preflight - {{item}} - generate privatekey
  3. shell:
  4. cmd: echo $(wg genkey)
  5. register: wg_privatekey
  6. delegate_to: localhost
  7. when: hostvars[item].vpn_wg0_privatekey is not defined
  8. - name: preflight - {{item}} - generate publickey
  9. shell:
  10. cmd: echo $(echo {{ wg_privatekey.stdout }} | wg pubkey)
  11. register: wg_publickey
  12. delegate_to: localhost
  13. when: hostvars[item].vpn_wg0_publickey is not defined
  14. - name: preflight - {{item}} - generate presharedkey
  15. shell:
  16. cmd: wg genpsk
  17. register: wg_presharedkey
  18. delegate_to: localhost
  19. when: hostvars[item].vpn_wg0_presharedkey is not defined
  20. - name: preflight - {{item}} - Init host_vars wireguard
  21. blockinfile:
  22. path: ../host_vars/{{ item }}.yml
  23. block: |
  24. vpn_wg0_privatekey: {% if hostvars[item].vpn_wg0_privatekey is defined %}{{ hostvars[item].vpn_wg0_privatekey}}{%else%}{{wg_privatekey.stdout}}{%endif%}
  25. vpn_wg0_publickey: {% if hostvars[item].vpn_wg0_publickey is defined %}{{ hostvars[item].vpn_wg0_publickey}}{%else%}{{wg_publickey.stdout}}{%endif%}
  26. vpn_wg0_presharedkey: {% if hostvars[item].vpn_wg0_presharedkey is defined %}{{hostvars[item].vpn_wg0_presharedkey}}{%else%}{{wg_presharedkey.stdout}}{%endif%}
  27. vpn_wg0_listenport: {{ default_vpn_wg0_listenport }}
  28. vpn_wg0_address: {{ vpn_wg0_network }}.{{ hostvars[item].ip_host }}{{ vpn_wg0_netmask }}
  29. marker: "# {mark} ANSIBLE MANAGED BLOCK {{ item }} vpn wireguard wg0"
  30. delegate_to: localhost
  31. when: hostvars[item].vpn_wg0_privatekey is not defined