diff --git a/roles/docker/defaults/main/rhel.yml b/roles/docker/defaults/main/rhel.yml new file mode 100644 index 0000000..f344ec8 --- /dev/null +++ b/roles/docker/defaults/main/rhel.yml @@ -0,0 +1,34 @@ +--- +docker_rhel_repo_name: "docker-ce-stable" +docker_rhel_repo_description: "Docker CE Stable - $basearch" +docker_rhel_repo_url: "https://download.docker.com/linux/rhel/$releasever/$basearch/stable" +docker_rhel_repo_validate_certs: true +docker_rhel_repo_gpg_check: true +docker_rhel_repo_gpg_key: "https://download.docker.com/linux/rhel/gpg" + +docker_rhel_cli_package: "docker-ce-cli" +docker_rhel_plugin_buildx_package: "docker-buildx-plugin" +docker_rhel_plugin_compose_package: "docker-compose-plugin" +docker_rhel_base_packages: + - "docker-ce" + - "docker-ce-cli" + - "containerd.io" +docker_rhel_packages: >-2 + {{ + docker_fedora_base_packages + + (docker_plugin_buildx_enable | default(false) + | ternary([ docker_rhel_plugin_buildx_package ], [])) + + (docker_plugin_compose_enable | default(false) + | ternary([ docker_rhel_plugin_compose_package ], [])) + }} +docker_rhel_legacy_packages: + - "docker" + - "docker-client" + - "docker-client-latest" + - "docker-common" + - "docker-latest" + - "docker-latest-logrotate" + - "docker-logrotate" + - "docker-engine" + - "podman" + - "runc" diff --git a/roles/docker/tasks/install-redhat.yml b/roles/docker/tasks/install-redhat.yml new file mode 100644 index 0000000..39de739 --- /dev/null +++ b/roles/docker/tasks/install-redhat.yml @@ -0,0 +1,21 @@ +--- +- name: Ensure legacy docker packages are removed + ansible.builtin.dnf: + name: "{{ docker_rhel_legacy_packages }}" + state: absent + when: docker_remove_legacy_packages + +- name: Add dnf repository for docker + ansible.builtin.yum_repository: + name: "{{ docker_rhel_repo_name }}" + description: "{{ docker_rhel_repo_description }}" + baseurl: "{{ docker_rhel_repo_url }}" + validate_certs: "{{ docker_rhel_repo_validate_certs }}" + gpgkey: "{{ docker_rhel_repo_gpg_key }}" + gpgcheck: "{{ docker_rhel_repo_gpg_check }}" + state: "{{ docker_state }}" + +- name: Install dnf packages for docker + ansible.builtin.dnf: + name: "{{ docker_rhel_packages }}" + state: "{{ docker_state }}" diff --git a/roles/docker/vars/main.yml b/roles/docker/vars/main.yml index 09988d0..bbe8f51 100644 --- a/roles/docker/vars/main.yml +++ b/roles/docker/vars/main.yml @@ -2,3 +2,5 @@ docker_supported_oses: - 'debian' - 'fedora' +docker_supported_os_families: + - 'rhel'