diff --git a/handlers/main.yml b/handlers/main.yml index 998ed00..76d3161 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,2 +1,7 @@ --- -# handlers file for ensure_podman \ No newline at end of file +# handlers file for ensure_podman +- name: 'ensure_podman.package_facts' + ansible.builtin.package_facts: +- name: 'ensure_podman.service_facts' + ansible.builtin.service_facts: + diff --git a/tasks/main.yml b/tasks/main.yml index c60dda6..5e9f569 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,2 +1,65 @@ --- -# tasks file for ensure_podman \ No newline at end of file +# tasks file for ensure_podman +- name: 'include variables' + when: + - ansible_system == 'Linux' + include_vars: + file: '{{ lookup("first_found", findme ) }}' + name: 'ensure_podman' + vars: + findme: + files: + - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' + - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-default.yml' + - '{{ ansible_distribution }}-default.yml' + - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' + - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-default.yml' + - '{{ ansible_os_family }}-default.yml' + - 'default.yml' + paths: + - '../vars/' + errors: 'ignore' +- name: 'package discovery' + when: + - ansible_system == 'Linux' + - packages is not defined + ansible.builtin.package_facts: +- name: 'service discovery' + when: + - ansible_system == 'Linux' + - services is not defined + ansible.builtin.service_facts: +- name: 'ensure packages' + when: + - ansible_system == 'Linux' + - ensure_podman is defined + - ensure_podman.package_list is defined + - ensure_podman.package_list is iterable + - packages[item.name] is not defined + ansible.builtin.package: + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: '{{ ensure_podman.package_list }}' + loop_control: + label: '{{ item.name }} will be {{ item.state }}' + notify: + - 'ensure_podman.package_facts' + - 'ensure_podman.service_facts' +- name: 'ensure services' + when: + - ansible_system == 'Linux' + - ensure_podman is defined + - ensure_podman.service_list is defined + - ensure_podman.service_list is iterable + ansible.builtin.service: + enabled: '{{ item.enabled }}' + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: '{{ ensure_podman.service_list }}' + loop_control: + label: '{{ item.name }} will be {{ item.state }}' + notify: + - 'ensure_podman.package_facts' + - 'ensure_podman.service_facts' +- name: 'flush handlers' + meta: 'flush_handlers' diff --git a/vars/CentOS-8.yml b/vars/CentOS-8.yml new file mode 100644 index 0000000..e911115 --- /dev/null +++ b/vars/CentOS-8.yml @@ -0,0 +1,11 @@ +--- +# vars file for ensure_podman +package_list: + - name: 'cockpit-podman' + state: 'present' + - name: 'podman' + state: 'present' +service_list: + - name: 'podman.socket' + state: 'started' + enabled: 'yes' diff --git a/vars/Fedora-31.yml b/vars/Fedora-31.yml new file mode 100644 index 0000000..e911115 --- /dev/null +++ b/vars/Fedora-31.yml @@ -0,0 +1,11 @@ +--- +# vars file for ensure_podman +package_list: + - name: 'cockpit-podman' + state: 'present' + - name: 'podman' + state: 'present' +service_list: + - name: 'podman.socket' + state: 'started' + enabled: 'yes' diff --git a/vars/Fedora-32.yml b/vars/Fedora-32.yml new file mode 100644 index 0000000..e911115 --- /dev/null +++ b/vars/Fedora-32.yml @@ -0,0 +1,11 @@ +--- +# vars file for ensure_podman +package_list: + - name: 'cockpit-podman' + state: 'present' + - name: 'podman' + state: 'present' +service_list: + - name: 'podman.socket' + state: 'started' + enabled: 'yes' diff --git a/vars/Fedora-33.yml b/vars/Fedora-33.yml new file mode 100644 index 0000000..e911115 --- /dev/null +++ b/vars/Fedora-33.yml @@ -0,0 +1,11 @@ +--- +# vars file for ensure_podman +package_list: + - name: 'cockpit-podman' + state: 'present' + - name: 'podman' + state: 'present' +service_list: + - name: 'podman.socket' + state: 'started' + enabled: 'yes' diff --git a/vars/default.yml b/vars/default.yml new file mode 100644 index 0000000..b70da1a --- /dev/null +++ b/vars/default.yml @@ -0,0 +1,2 @@ +--- +# vars file for ensure_podman \ No newline at end of file