mirror of
https://github.com/geerlingguy/ansible-role-docker.git
synced 2025-10-15 11:15:35 +02:00
update: all modules to their FQCN name, resolved all ansible-lint and yamllint warnings and errors
This commit is contained in:
parent
ab6e66c460
commit
f7163e942d
@ -1,4 +1,8 @@
|
|||||||
|
---
|
||||||
skip_list:
|
skip_list:
|
||||||
- 'yaml'
|
- 'yaml'
|
||||||
- 'risky-shell-pipe'
|
- 'risky-shell-pipe'
|
||||||
- 'role-name'
|
- 'role-name'
|
||||||
|
|
||||||
|
enable_list:
|
||||||
|
- fqcn-builtins
|
||||||
|
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -60,7 +60,7 @@ jobs:
|
|||||||
python-version: '3.x'
|
python-version: '3.x'
|
||||||
|
|
||||||
- name: Install test dependencies.
|
- name: Install test dependencies.
|
||||||
run: pip3 install ansible molecule molecule-plugins[docker] docker
|
run: pip3 install -r requirements.txt
|
||||||
|
|
||||||
- name: Run Molecule tests.
|
- name: Run Molecule tests.
|
||||||
run: molecule test
|
run: molecule test
|
||||||
|
16
.yamllint
16
.yamllint
@ -1,10 +1,24 @@
|
|||||||
---
|
---
|
||||||
extends: default
|
extends: default
|
||||||
|
|
||||||
|
yaml-files:
|
||||||
|
- '*.yaml'
|
||||||
|
- '*.yml'
|
||||||
|
- .yamllint
|
||||||
|
- .ansible-lint
|
||||||
|
|
||||||
rules:
|
rules:
|
||||||
line-length:
|
line-length:
|
||||||
max: 200
|
max: 240
|
||||||
level: warning
|
level: warning
|
||||||
|
comments:
|
||||||
|
min-spaces-from-content: 1
|
||||||
|
comments-indentation: false
|
||||||
|
braces:
|
||||||
|
max-spaces-inside: 1
|
||||||
|
octal-values:
|
||||||
|
forbid-implicit-octal: true
|
||||||
|
forbid-explicit-octal: true
|
||||||
|
|
||||||
ignore: |
|
ignore: |
|
||||||
.github/workflows/stale.yml
|
.github/workflows/stale.yml
|
||||||
|
19
README.md
19
README.md
@ -30,14 +30,29 @@ Debian/Ubuntu: `docker-{{ docker_edition }}=<VERSION>` (Note: you have to add th
|
|||||||
You can control whether the package is installed, uninstalled, or at the latest version by setting `docker_packages_state` to `present`, `absent`, or `latest`, respectively. Note that the Docker daemon will be automatically restarted if the Docker package is updated. This is a side effect of flushing all handlers (running any of the handlers that have been notified by this and any other role up to this point in the play).
|
You can control whether the package is installed, uninstalled, or at the latest version by setting `docker_packages_state` to `present`, `absent`, or `latest`, respectively. Note that the Docker daemon will be automatically restarted if the Docker package is updated. This is a side effect of flushing all handlers (running any of the handlers that have been notified by this and any other role up to this point in the play).
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
docker_obsolete_packages:
|
docker_obsolete_packages_debian:
|
||||||
- docker
|
- docker
|
||||||
- docker.io
|
- docker.io
|
||||||
- docker-engine
|
- docker-engine
|
||||||
- docker-doc
|
- docker-doc
|
||||||
|
- docker-compose
|
||||||
|
- docker-compose-v2
|
||||||
- podman-docker
|
- podman-docker
|
||||||
- containerd
|
- containerd
|
||||||
- runc
|
- runc
|
||||||
|
|
||||||
|
# Used only for Fedora/CentOS/Rocky
|
||||||
|
docker_obsolete_packages_redhat:
|
||||||
|
- docker
|
||||||
|
- docker-client
|
||||||
|
- docker-client-latest
|
||||||
|
- docker-common
|
||||||
|
- docker-latest
|
||||||
|
- docker-latest-logrotate
|
||||||
|
- docker-logrotate
|
||||||
|
- docker-selinux
|
||||||
|
- docker-engine-selinux
|
||||||
|
- docker-engine
|
||||||
```
|
```
|
||||||
|
|
||||||
A list of packages to be uninstalled prior to running this role. See [Docker's installation instructions](https://docs.docker.com/engine/install/debian/#uninstall-old-versions) for an up-to-date list of old packages that should be removed.
|
A list of packages to be uninstalled prior to running this role. See [Docker's installation instructions](https://docs.docker.com/engine/install/debian/#uninstall-old-versions) for an up-to-date list of old packages that should be removed.
|
||||||
@ -61,7 +76,7 @@ Docker Compose Plugin installation options. These differ from the below in that
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
docker_install_compose: false
|
docker_install_compose: false
|
||||||
docker_compose_version: "2.29.2"
|
docker_compose_version: "v2.32.1"
|
||||||
docker_compose_arch: "{{ ansible_architecture }}"
|
docker_compose_arch: "{{ ansible_architecture }}"
|
||||||
docker_compose_url: "https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-linux-{{ docker_compose_arch }}"
|
docker_compose_url: "https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-linux-{{ docker_compose_arch }}"
|
||||||
docker_compose_path: /usr/local/bin/docker-compose
|
docker_compose_path: /usr/local/bin/docker-compose
|
||||||
|
@ -25,15 +25,32 @@ docker_packages:
|
|||||||
- "containerd.io"
|
- "containerd.io"
|
||||||
- docker-buildx-plugin
|
- docker-buildx-plugin
|
||||||
docker_packages_state: present
|
docker_packages_state: present
|
||||||
docker_obsolete_packages:
|
|
||||||
|
# Used only for Debian/Ubuntu
|
||||||
|
docker_obsolete_packages_debian:
|
||||||
- docker
|
- docker
|
||||||
- docker.io
|
- docker.io
|
||||||
- docker-engine
|
- docker-engine
|
||||||
- docker-doc
|
- docker-doc
|
||||||
|
- docker-compose
|
||||||
|
- docker-compose-v2
|
||||||
- podman-docker
|
- podman-docker
|
||||||
- containerd
|
- containerd
|
||||||
- runc
|
- runc
|
||||||
|
|
||||||
|
# Used only for Fedora/CentOS/Rocky
|
||||||
|
docker_obsolete_packages_redhat:
|
||||||
|
- docker
|
||||||
|
- docker-client
|
||||||
|
- docker-client-latest
|
||||||
|
- docker-common
|
||||||
|
- docker-latest
|
||||||
|
- docker-latest-logrotate
|
||||||
|
- docker-logrotate
|
||||||
|
- docker-selinux
|
||||||
|
- docker-engine-selinux
|
||||||
|
- docker-engine
|
||||||
|
|
||||||
# Service options.
|
# Service options.
|
||||||
docker_service_manage: true
|
docker_service_manage: true
|
||||||
docker_service_state: started
|
docker_service_state: started
|
||||||
@ -47,7 +64,7 @@ docker_compose_package_state: present
|
|||||||
|
|
||||||
# Docker Compose options.
|
# Docker Compose options.
|
||||||
docker_install_compose: false
|
docker_install_compose: false
|
||||||
docker_compose_version: "v2.29.2"
|
docker_compose_version: "v2.32.1"
|
||||||
docker_compose_arch: "{{ ansible_architecture }}"
|
docker_compose_arch: "{{ ansible_architecture }}"
|
||||||
docker_compose_url: "https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-linux-{{ docker_compose_arch }}"
|
docker_compose_url: "https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-linux-{{ docker_compose_arch }}"
|
||||||
docker_compose_path: /usr/local/bin/docker-compose
|
docker_compose_path: /usr/local/bin/docker-compose
|
||||||
@ -71,10 +88,10 @@ docker_apt_gpg_key_checksum: "sha256:1500c1f56fa9e26b9b8f42452a553675796ade0807c
|
|||||||
docker_apt_filename: "docker"
|
docker_apt_filename: "docker"
|
||||||
|
|
||||||
# Used only for RedHat/CentOS/Fedora.
|
# Used only for RedHat/CentOS/Fedora.
|
||||||
docker_yum_repo_url: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora','centos') }}/docker-{{ docker_edition }}.repo"
|
docker_yum_repo_url: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora', 'centos') }}/docker-{{ docker_edition }}.repo"
|
||||||
docker_yum_repo_enable_nightly: '0'
|
docker_yum_repo_enable_nightly: '0'
|
||||||
docker_yum_repo_enable_test: '0'
|
docker_yum_repo_enable_test: '0'
|
||||||
docker_yum_gpg_key: "{{ docker_repo_url }}/centos/gpg"
|
docker_yum_gpg_key: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora', 'centos') }}/gpg"
|
||||||
|
|
||||||
# A list of users who will be added to the docker group.
|
# A list of users who will be added to the docker group.
|
||||||
docker_users: []
|
docker_users: []
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
- name: restart docker
|
- name: Restart docker
|
||||||
service:
|
ansible.builtin.service:
|
||||||
name: docker
|
name: docker
|
||||||
state: "{{ docker_restart_handler_state }}"
|
state: "{{ docker_restart_handler_state }}"
|
||||||
ignore_errors: "{{ ansible_check_mode }}"
|
ignore_errors: "{{ ansible_check_mode }}"
|
||||||
|
@ -7,7 +7,7 @@ galaxy_info:
|
|||||||
description: Docker for Linux.
|
description: Docker for Linux.
|
||||||
company: "Midwestern Mac, LLC"
|
company: "Midwestern Mac, LLC"
|
||||||
license: "license (BSD, MIT)"
|
license: "license (BSD, MIT)"
|
||||||
min_ansible_version: 2.10
|
min_ansible_version: "2.10"
|
||||||
platforms:
|
platforms:
|
||||||
- name: Fedora
|
- name: Fedora
|
||||||
versions:
|
versions:
|
||||||
|
@ -5,11 +5,13 @@
|
|||||||
|
|
||||||
pre_tasks:
|
pre_tasks:
|
||||||
- name: Update apt cache.
|
- name: Update apt cache.
|
||||||
apt: update_cache=yes cache_valid_time=600
|
ansible.builtin.apt:
|
||||||
|
update_cache: true
|
||||||
|
cache_valid_time: 600
|
||||||
when: ansible_os_family == 'Debian'
|
when: ansible_os_family == 'Debian'
|
||||||
|
|
||||||
- name: Wait for systemd to complete initialization. # noqa 303
|
- name: Wait for systemd to complete initialization. # noqa command-instead-of-module
|
||||||
command: systemctl is-system-running
|
ansible.builtin.command: systemctl is-system-running
|
||||||
register: systemctl_status
|
register: systemctl_status
|
||||||
until: >
|
until: >
|
||||||
'running' in systemctl_status.stdout or
|
'running' in systemctl_status.stdout or
|
||||||
|
@ -4,6 +4,7 @@ dependency:
|
|||||||
name: galaxy
|
name: galaxy
|
||||||
options:
|
options:
|
||||||
ignore-errors: true
|
ignore-errors: true
|
||||||
|
requirements-file: requirements.yml
|
||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
platforms:
|
platforms:
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Check current docker-compose version.
|
|
||||||
command: "{{ docker_compose_path }} --version"
|
|
||||||
register: docker_compose_vsn
|
|
||||||
check_mode: false
|
|
||||||
changed_when: false
|
|
||||||
failed_when: false
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
docker_compose_current_version: "{{ docker_compose_vsn.stdout | regex_search('(\\d+(\\.\\d+)+)') }}"
|
|
||||||
when: >
|
|
||||||
docker_compose_vsn.stdout is defined
|
|
||||||
and (docker_compose_vsn.stdout | length > 0)
|
|
||||||
|
|
||||||
- name: Delete existing docker-compose version if it's different.
|
|
||||||
file:
|
|
||||||
path: "{{ docker_compose_path }}"
|
|
||||||
state: absent
|
|
||||||
when: >
|
|
||||||
docker_compose_current_version is defined
|
|
||||||
and (docker_compose_version | regex_replace('v', '')) not in docker_compose_current_version
|
|
||||||
|
|
||||||
- name: Install Docker Compose (if configured).
|
|
||||||
get_url:
|
|
||||||
url: "{{ docker_compose_url }}"
|
|
||||||
dest: "{{ docker_compose_path }}"
|
|
||||||
mode: 0755
|
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
|
||||||
when: >
|
|
||||||
(docker_compose_current_version is not defined)
|
|
||||||
or (docker_compose_current_version | length == 0)
|
|
||||||
or (docker_compose_current_version is version((docker_compose_version | regex_replace('v', '')), '<'))
|
|
@ -1,10 +1,10 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure docker users are added to the docker group.
|
- name: Ensure docker users are added to the docker group.
|
||||||
user:
|
ansible.builtin.user:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
groups: docker
|
groups: docker
|
||||||
append: true
|
append: true
|
||||||
with_items: "{{ docker_users }}"
|
with_items: "{{ docker_users }}"
|
||||||
|
|
||||||
- name: Reset ssh connection to apply user changes.
|
- name: Reset ssh connection to apply user changes.
|
||||||
meta: reset_connection
|
ansible.builtin.meta: reset_connection
|
||||||
|
@ -1,76 +1,76 @@
|
|||||||
---
|
---
|
||||||
- name: Load OS-specific vars.
|
- name: Load os family specific vars.
|
||||||
include_vars: "{{ lookup('first_found', params) }}"
|
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
|
||||||
vars:
|
vars:
|
||||||
params:
|
params:
|
||||||
files:
|
files:
|
||||||
- '{{ansible_distribution}}.yml'
|
- '{{ ansible_distribution }}.yml'
|
||||||
- '{{ansible_os_family}}.yml'
|
- '{{ ansible_os_family }}.yml'
|
||||||
- main.yml
|
- main.yml
|
||||||
paths:
|
paths:
|
||||||
- 'vars'
|
- 'vars'
|
||||||
|
|
||||||
- include_tasks: setup-RedHat.yml
|
- ansible.builtin.include_tasks: setup-RedHat.yml # noqa: name[missing]
|
||||||
when: ansible_os_family == 'RedHat'
|
when: ansible_os_family == 'RedHat'
|
||||||
|
|
||||||
- include_tasks: setup-Debian.yml
|
- ansible.builtin.include_tasks: setup-Debian.yml # noqa: name[missing]
|
||||||
when: ansible_os_family == 'Debian'
|
when: ansible_os_family == 'Debian'
|
||||||
|
|
||||||
- name: Install Docker packages.
|
- name: Install Docker packages.
|
||||||
package:
|
ansible.builtin.package:
|
||||||
name: "{{ docker_packages }}"
|
name: "{{ docker_packages }}"
|
||||||
state: "{{ docker_packages_state }}"
|
state: "{{ docker_packages_state }}"
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
notify: restart docker
|
notify: Restart docker
|
||||||
ignore_errors: "{{ ansible_check_mode }}"
|
ignore_errors: "{{ ansible_check_mode }}"
|
||||||
when: "ansible_version.full is version_compare('2.12', '<') or ansible_os_family not in ['RedHat', 'Debian']"
|
when: "ansible_version.full is version_compare('2.12', '<') or ansible_os_family not in ['RedHat', 'Debian']"
|
||||||
|
|
||||||
- name: Install Docker packages (with downgrade option).
|
- name: Install Docker packages (with downgrade option).
|
||||||
package:
|
ansible.builtin.package:
|
||||||
name: "{{ docker_packages }}"
|
name: "{{ docker_packages }}"
|
||||||
state: "{{ docker_packages_state }}"
|
state: "{{ docker_packages_state }}"
|
||||||
allow_downgrade: true
|
allow_downgrade: true
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
notify: restart docker
|
notify: Restart docker
|
||||||
ignore_errors: "{{ ansible_check_mode }}"
|
ignore_errors: "{{ ansible_check_mode }}"
|
||||||
when: "ansible_version.full is version_compare('2.12', '>=') and ansible_os_family in ['RedHat', 'Debian']"
|
when: "ansible_version.full is version_compare('2.12', '>=') and ansible_os_family in ['RedHat', 'Debian']"
|
||||||
|
|
||||||
- name: Install docker-compose plugin.
|
- name: Install docker-compose plugin.
|
||||||
package:
|
ansible.builtin.package:
|
||||||
name: "{{ docker_compose_package }}"
|
name: "{{ docker_compose_package }}"
|
||||||
state: "{{ docker_compose_package_state }}"
|
state: "{{ docker_compose_package_state }}"
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
notify: restart docker
|
notify: Restart docker
|
||||||
ignore_errors: "{{ ansible_check_mode }}"
|
ignore_errors: "{{ ansible_check_mode }}"
|
||||||
when: "docker_install_compose_plugin | bool == true and (ansible_version.full is version_compare('2.12', '<') or ansible_os_family not in ['RedHat', 'Debian'])"
|
when: "docker_install_compose_plugin | bool and (ansible_version.full is version_compare('2.12', '<') or ansible_os_family not in ['RedHat', 'Debian'])"
|
||||||
|
|
||||||
- name: Install docker-compose-plugin (with downgrade option).
|
- name: Install docker-compose-plugin (with downgrade option).
|
||||||
package:
|
ansible.builtin.package:
|
||||||
name: "{{ docker_compose_package }}"
|
name: "{{ docker_compose_package }}"
|
||||||
state: "{{ docker_compose_package_state }}"
|
state: "{{ docker_compose_package_state }}"
|
||||||
allow_downgrade: true
|
allow_downgrade: true
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
notify: restart docker
|
notify: Restart docker
|
||||||
ignore_errors: "{{ ansible_check_mode }}"
|
ignore_errors: "{{ ansible_check_mode }}"
|
||||||
when: "docker_install_compose_plugin | bool == true and ansible_version.full is version_compare('2.12', '>=') and ansible_os_family in ['RedHat', 'Debian']"
|
when: "docker_install_compose_plugin | bool and ansible_version.full is version_compare('2.12', '>=') and ansible_os_family in ['RedHat', 'Debian']"
|
||||||
|
|
||||||
- name: Ensure /etc/docker/ directory exists.
|
- name: Ensure /etc/docker/ directory exists.
|
||||||
file:
|
ansible.builtin.file:
|
||||||
path: /etc/docker
|
path: /etc/docker
|
||||||
state: directory
|
state: directory
|
||||||
mode: 0755
|
mode: "0755"
|
||||||
when: docker_daemon_options.keys() | length > 0
|
when: docker_daemon_options.keys() | length > 0
|
||||||
|
|
||||||
- name: Configure Docker daemon options.
|
- name: Configure Docker daemon options.
|
||||||
copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ docker_daemon_options | to_nice_json }}"
|
content: "{{ docker_daemon_options | to_nice_json }}"
|
||||||
dest: /etc/docker/daemon.json
|
dest: /etc/docker/daemon.json
|
||||||
mode: 0644
|
mode: "0644"
|
||||||
when: docker_daemon_options.keys() | length > 0
|
when: docker_daemon_options.keys() | length > 0
|
||||||
notify: restart docker
|
notify: Restart docker
|
||||||
|
|
||||||
- name: Ensure Docker is started and enabled at boot.
|
- name: Ensure Docker is started and enabled at boot.
|
||||||
service:
|
ansible.builtin.service:
|
||||||
name: docker
|
name: docker
|
||||||
state: "{{ docker_service_state }}"
|
state: "{{ docker_service_state }}"
|
||||||
enabled: "{{ docker_service_enabled }}"
|
enabled: "{{ docker_service_enabled }}"
|
||||||
@ -78,25 +78,25 @@
|
|||||||
when: docker_service_manage | bool
|
when: docker_service_manage | bool
|
||||||
|
|
||||||
- name: Ensure handlers are notified now to avoid firewall conflicts.
|
- name: Ensure handlers are notified now to avoid firewall conflicts.
|
||||||
meta: flush_handlers
|
ansible.builtin.meta: flush_handlers
|
||||||
|
|
||||||
- include_tasks: docker-compose.yml
|
- ansible.builtin.include_tasks: setup-docker-compose.yml # noqa: name[missing]
|
||||||
when: docker_install_compose | bool
|
when: docker_install_compose | bool
|
||||||
|
|
||||||
- name: Get docker group info using getent.
|
- name: Get docker group info using getent.
|
||||||
getent:
|
ansible.builtin.getent:
|
||||||
database: group
|
database: group
|
||||||
key: docker
|
key: docker
|
||||||
split: ':'
|
split: ':'
|
||||||
when: docker_users | length > 0
|
when: docker_users | length > 0
|
||||||
|
|
||||||
- name: Check if there are any users to add to the docker group.
|
- name: Check if there are any users to add to the docker group.
|
||||||
set_fact:
|
ansible.builtin.set_fact:
|
||||||
at_least_one_user_to_modify: true
|
at_least_one_user_to_modify: true
|
||||||
when:
|
when:
|
||||||
- docker_users | length > 0
|
- docker_users | length > 0
|
||||||
- item not in ansible_facts.getent_group["docker"][2]
|
- item not in ansible_facts.getent_group["docker"][2]
|
||||||
with_items: "{{ docker_users }}"
|
with_items: "{{ docker_users }}"
|
||||||
|
|
||||||
- include_tasks: docker-users.yml
|
- ansible.builtin.include_tasks: docker-users.yml # noqa: name[missing]
|
||||||
when: at_least_one_user_to_modify is defined
|
when: at_least_one_user_to_modify is defined
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
- name: Ensure the repo referencing the previous trusted.gpg.d key is not present
|
- name: Ensure the repo referencing the previous trusted.gpg.d key is not present
|
||||||
apt_repository:
|
ansible.builtin.apt_repository:
|
||||||
repo: "deb [arch={{ docker_apt_arch }} signed-by=/etc/apt/trusted.gpg.d/docker.asc] {{ docker_repo_url }}/{{ docker_apt_ansible_distribution | lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}"
|
repo: "deb [arch={{ docker_apt_arch }} signed-by=/etc/apt/trusted.gpg.d/docker.asc] {{ docker_repo_url }}/{{ docker_apt_ansible_distribution | lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}"
|
||||||
state: absent
|
state: absent
|
||||||
filename: "{{ docker_apt_filename }}"
|
filename: "{{ docker_apt_filename }}"
|
||||||
@ -20,12 +20,12 @@
|
|||||||
|
|
||||||
- # See https://docs.docker.com/engine/install/debian/#uninstall-old-versions
|
- # See https://docs.docker.com/engine/install/debian/#uninstall-old-versions
|
||||||
name: Ensure old versions of Docker are not installed.
|
name: Ensure old versions of Docker are not installed.
|
||||||
package:
|
ansible.builtin.package:
|
||||||
name: "{{ docker_obsolete_packages }}"
|
name: "{{ docker_obsolete_packages_debian }}"
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
- name: Ensure dependencies are installed.
|
- name: Ensure dependencies are installed.
|
||||||
apt:
|
ansible.builtin.apt:
|
||||||
name:
|
name:
|
||||||
- apt-transport-https
|
- apt-transport-https
|
||||||
- ca-certificates
|
- ca-certificates
|
||||||
@ -34,7 +34,7 @@
|
|||||||
when: docker_add_repo | bool
|
when: docker_add_repo | bool
|
||||||
|
|
||||||
- name: Ensure directory exists for /etc/apt/keyrings
|
- name: Ensure directory exists for /etc/apt/keyrings
|
||||||
file:
|
ansible.builtin.file:
|
||||||
path: /etc/apt/keyrings
|
path: /etc/apt/keyrings
|
||||||
state: directory
|
state: directory
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
@ -51,19 +51,23 @@
|
|||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
when: docker_add_repo | bool
|
when: docker_add_repo | bool
|
||||||
|
|
||||||
- name: Ensure curl is present (on older systems without SNI).
|
- name: Fallback for older systems without SNI.
|
||||||
package: name=curl state=present
|
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
|
||||||
when: add_repository_key is failed and docker_add_repo | bool
|
when: add_repository_key is failed and docker_add_repo | bool
|
||||||
|
block:
|
||||||
|
- name: Ensure curl is present (on older systems without SNI).
|
||||||
|
ansible.builtin.package:
|
||||||
|
name: curl
|
||||||
|
state: present
|
||||||
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
|
|
||||||
- name: Add Docker apt key (alternative for older systems without SNI).
|
- name: Add Docker apt key (alternative for older systems without SNI). # noqa command-instead-of-module
|
||||||
shell: >
|
ansible.builtin.command: >
|
||||||
curl -sSL {{ docker_apt_gpg_key }} | apt-key add -
|
curl -sSL {{ docker_apt_gpg_key }} | apt-key add -
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
when: add_repository_key is failed and docker_add_repo | bool
|
changed_when: false
|
||||||
|
|
||||||
- name: Add Docker repository.
|
- name: Add Docker repository.
|
||||||
apt_repository:
|
ansible.builtin.apt_repository:
|
||||||
repo: "{{ docker_apt_repository }}"
|
repo: "{{ docker_apt_repository }}"
|
||||||
state: present
|
state: present
|
||||||
filename: "{{ docker_apt_filename }}"
|
filename: "{{ docker_apt_filename }}"
|
||||||
|
@ -1,67 +1,66 @@
|
|||||||
---
|
---
|
||||||
|
# See https://docs.docker.com/engine/install/fedora/#uninstall-old-versions
|
||||||
|
# or https://docs.docker.com/engine/install/centos/#uninstall-old-versions
|
||||||
- name: Ensure old versions of Docker are not installed.
|
- name: Ensure old versions of Docker are not installed.
|
||||||
package:
|
ansible.builtin.package:
|
||||||
name:
|
name: "{{ docker_obsolete_packages_redhat }}"
|
||||||
- docker
|
|
||||||
- docker-common
|
|
||||||
- docker-engine
|
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
- name: Add Docker GPG key.
|
- name: Add Docker GPG key.
|
||||||
rpm_key:
|
ansible.builtin.rpm_key:
|
||||||
key: "{{ docker_yum_gpg_key }}"
|
key: "{{ docker_yum_gpg_key }}"
|
||||||
state: present
|
state: present
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
when: docker_add_repo | bool
|
when: docker_add_repo | bool
|
||||||
|
|
||||||
- name: Add Docker repository.
|
- name: Add Docker repository.
|
||||||
get_url:
|
ansible.builtin.get_url:
|
||||||
url: "{{ docker_yum_repo_url }}"
|
url: "{{ docker_yum_repo_url }}"
|
||||||
dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
|
dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: 0644
|
mode: "0644"
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
when: docker_add_repo | bool
|
when: docker_add_repo | bool
|
||||||
|
|
||||||
- name: Configure Docker Nightly repo.
|
- name: Configure Docker Nightly repo.
|
||||||
ini_file:
|
community.general.ini_file:
|
||||||
dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
|
dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
|
||||||
section: 'docker-{{ docker_edition }}-nightly'
|
section: 'docker-{{ docker_edition }}-nightly'
|
||||||
option: enabled
|
option: enabled
|
||||||
value: '{{ docker_yum_repo_enable_nightly }}'
|
value: '{{ docker_yum_repo_enable_nightly }}'
|
||||||
mode: 0644
|
mode: "0644"
|
||||||
no_extra_spaces: true
|
no_extra_spaces: true
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
when: docker_add_repo | bool
|
when: docker_add_repo | bool
|
||||||
|
|
||||||
- name: Configure Docker Test repo.
|
- name: Configure Docker Test repo.
|
||||||
ini_file:
|
community.general.ini_file:
|
||||||
dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
|
dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo'
|
||||||
section: 'docker-{{ docker_edition }}-test'
|
section: 'docker-{{ docker_edition }}-test'
|
||||||
option: enabled
|
option: enabled
|
||||||
value: '{{ docker_yum_repo_enable_test }}'
|
value: '{{ docker_yum_repo_enable_test }}'
|
||||||
mode: 0644
|
mode: "0644"
|
||||||
no_extra_spaces: true
|
no_extra_spaces: true
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
when: docker_add_repo | bool
|
when: docker_add_repo | bool
|
||||||
|
|
||||||
- name: Configure containerd on RHEL 8.
|
- name: Configure containerd on RHEL 8.
|
||||||
|
when: ansible_distribution_major_version | int == 8
|
||||||
block:
|
block:
|
||||||
- name: Ensure runc is not installed.
|
- name: Ensure runc is not installed.
|
||||||
package:
|
ansible.builtin.package:
|
||||||
name: runc
|
name: runc
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
- name: Ensure container-selinux is installed.
|
- name: Ensure container-selinux is installed.
|
||||||
package:
|
ansible.builtin.package:
|
||||||
name: container-selinux
|
name: container-selinux
|
||||||
state: present
|
state: present
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
|
|
||||||
- name: Ensure containerd.io is installed.
|
- name: Ensure containerd.io is installed.
|
||||||
package:
|
ansible.builtin.package:
|
||||||
name: containerd.io
|
name: containerd.io
|
||||||
state: present
|
state: present
|
||||||
environment: "{{ proxy_env | default({}) }}"
|
environment: "{{ proxy_env | default({}) }}"
|
||||||
when: ansible_distribution_major_version | int == 8
|
|
||||||
|
Loading…
Reference in New Issue
Block a user