--- - name: Set OS dependent variables ansible.builtin.include_vars: "{{ lookup('first_found', params) }}" vars: params: files: - "{{ ansible_distribution | lower }}_{{ ansible_distribution_version | lower }}.yml" - "{{ ansible_distribution | lower }}_{{ ansible_distribution_major_version | lower }}.yml" - "{{ ansible_distribution | lower }}.yml" - "{{ ansible_os_family | lower }}.yml" - "{{ ansible_system | lower }}.yml" paths: - '{{ role_path }}/vars' ignore_errors: True - name: OS is supported ansible.builtin.assert: that: __os_supported quiet: True vars: __os_supported: "{{ lookup('vars', '{}_os_supported'.format(role_name)) | bool }}" - name: Install required packages apt: pkg: - wireguard - qrencode state: present update_cache: yes - name: Set wg0.conf template: src: wg0.conf.j2 dest: /etc/wireguard/wg0.conf owner: root mode: 0600 - name: Set add_client.sh template: src: add_client.sh.j2 dest: /etc/wireguard/add_client.sh owner: root mode: 0700 - name: Set to_qr.sh template: src: to_qr.sh.j2 dest: /etc/wireguard/to_qr.sh owner: root mode: 0700 - name: Set genpair.sh template: src: genpair.sh.j2 dest: /etc/wireguard/genpair.sh owner: root mode: 0700 - name: Enable wireguard service service: name: wg-quick@wg0.service state: started enabled: yes daemon_reload: yes