--- - name: enable spreadspace repo when: (ansible_distribution == 'Debian' and (ansible_distribution_major_version | int) < 11) or (ansible_distribution == 'Ubuntu' and (ansible_distribution_major_version | int) < 20) import_role: name: apt-repo/spreadspace - name: install wireguard modules via dkms (legacy systems only) when: (ansible_distribution == 'Debian' and (ansible_distribution_major_version | int) < 11) or (ansible_distribution == 'Ubuntu' and (ansible_distribution_major_version | int) < 22) block: - name: install dkms import_role: name: prepare-dkms - name: install wireguard-dkms package apt: name: wireguard-dkms state: present - name: check if module is available for the currently running kernel command: modprobe --dry-run wireguard check_mode: no register: wireguard_module_available failed_when: false changed_when: false - name: rebuild wireguard module when: wireguard_module_available.rc != 0 command: dpkg-reconfigure wireguard-dkms - name: check again if module is available for the currently running kernel when: wireguard_module_available.rc != 0 command: modprobe --dry-run wireguard check_mode: no changed_when: false - name: install wireguard tools apt: name: wireguard-tools state: present