Include potentially distro-specific tasks at runtime

This avoids Ansible trying to ensure `community.general.pacman` is
available, even if that module will never run (because `when` says so).

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2228
This commit is contained in:
Slavi Pantaleev 2022-11-05 08:31:22 +02:00
parent 264d1716e0
commit c1c152f7ac
8 changed files with 46 additions and 32 deletions

View File

@ -1,23 +1,12 @@
--- ---
# This is for both RedHat 7 and 8 # This is for both RedHat 7 and 8
- name: Ensure fuse installed (RedHat) - ansible.builtin.include_tasks: "{{ role_path }}/tasks/util/ensure_fuse_installed_redhat.yml"
ansible.builtin.yum:
name:
- fuse
state: present
when: ansible_os_family == 'RedHat' when: ansible_os_family == 'RedHat'
# This is for both Debian and Raspbian # This is for both Debian and Raspbian
- name: Ensure fuse installed (Debian/Raspbian) - ansible.builtin.include_tasks: "{{ role_path }}/tasks/util/ensure_fuse_installed_debian.yml"
ansible.builtin.apt:
name:
- fuse
state: present
when: ansible_os_family == 'Debian' when: ansible_os_family == 'Debian'
- name: Ensure fuse installed (Archlinux) - ansible.builtin.include_tasks: "{{ role_path }}/tasks/util/ensure_fuse_installed_archlinux.yml"
community.general.pacman: when: ansible_os_family == 'Archlinux'
name:
- fuse3
state: present
when: ansible_distribution == 'Archlinux'

View File

@ -0,0 +1,6 @@
---
- name: Ensure fuse installed (Archlinux)
community.general.pacman:
name: fuse3
state: present

View File

@ -0,0 +1,6 @@
---
- name: Ensure fuse installed (Debian/Raspbian)
ansible.builtin.apt:
name: fuse
state: present

View File

@ -0,0 +1,6 @@
---
- name: Ensure fuse installed (RedHat)
ansible.builtin.yum:
name: fuse
state: present

View File

@ -1,23 +1,12 @@
--- ---
# This is for both RedHat 7 and 8 # This is for both RedHat 7 and 8
- name: Ensure openssl installed (RedHat) - ansible.builtin.include_tasks: "{{ role_path }}/tasks/util/ensure_openssl_installed_redhat.yml"
ansible.builtin.yum:
name:
- openssl
state: present
when: ansible_os_family == 'RedHat' when: ansible_os_family == 'RedHat'
# This is for both Debian and Raspbian # This is for both Debian and Raspbian
- name: Ensure openssl installed (Debian/Raspbian) - ansible.builtin.include_tasks: "{{ role_path }}/tasks/util/ensure_openssl_installed_debian.yml"
ansible.builtin.apt:
name:
- openssl
state: present
when: ansible_os_family == 'Debian' when: ansible_os_family == 'Debian'
- name: Ensure openssl installed (Archlinux) - ansible.builtin.include_tasks: "{{ role_path }}/tasks/util/ensure_openssl_installed_archlinux.yml"
community.general.pacman: when: ansible_os_family == 'Archlinux'
name:
- openssl
state: present
when: ansible_distribution == 'Archlinux'

View File

@ -0,0 +1,6 @@
---
- name: Ensure openssl installed (Archlinux)
community.general.pacman:
name: openssl
state: present

View File

@ -0,0 +1,6 @@
---
- name: Ensure openssl installed (Debian/Raspbian)
ansible.builtin.apt:
name: openssl
state: present

View File

@ -0,0 +1,6 @@
---
- name: Ensure openssl installed (RedHat)
ansible.builtin.yum:
name: openssl
state: present