diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a243ffa..bb4b327 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,12 +19,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out the codebase. - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: path: 'geerlingguy.docker' - name: Set up Python 3. - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: '3.x' @@ -41,23 +41,24 @@ jobs: strategy: matrix: distro: + - rockylinux9 - rockylinux8 + - ubuntu2404 - ubuntu2204 - ubuntu2004 - - ubuntu1804 - debian12 - debian11 - debian10 - - fedora34 + - fedora39 steps: - name: Check out the codebase. - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: path: 'geerlingguy.docker' - name: Set up Python 3. - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: '3.x' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0b04d24..c9faaea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,12 +22,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out the codebase. - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: path: 'geerlingguy.docker' - name: Set up Python 3. - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: '3.x' diff --git a/README.md b/README.md index 3449e28..a31968b 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ The main Docker repo URL, common between Debian and RHEL systems. You can change `docker_apt_gpg_key` to a different url if you are behind a firewall or provide a trustworthy mirror. Usually in combination with changing `docker_apt_repository` as well. `docker_apt_filename` controls the name of the source list file created in `sources.list.d`. If you are upgrading from an older (<7.0.0) version of this role, you should change this to the name of the existing file (e.g. `download_docker_com_linux_debian` on Debian) to avoid conflicting lists. - docker_yum_repo_url: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora','centos') }}/docker-{{ docker_edition }}.repo"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_test: '0' docker_yum_gpg_key: "{{ docker_repo_url }}/centos/gpg" diff --git a/defaults/main.yml b/defaults/main.yml index cdf94f0..f0ed366 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -6,6 +6,7 @@ docker_packages: - "docker-{{ docker_edition }}-cli" - "docker-{{ docker_edition }}-rootless-extras" - "containerd.io" + - docker-buildx-plugin docker_packages_state: present # Service options. @@ -37,7 +38,7 @@ docker_apt_release_channel: stable # docker_apt_ansible_distribution is a workaround for Ubuntu variants which can't be identified as such by Ansible, # and is only necessary until Docker officially supports them. docker_apt_ansible_distribution: "{{ 'ubuntu' if ansible_distribution in ['Pop!_OS', 'Linux Mint'] else ansible_distribution }}" -docker_apt_arch: "{{ 'arm64' if ansible_architecture == 'aarch64' else 'amd64' }}" +docker_apt_arch: "{{ 'arm64' if ansible_architecture == 'aarch64' else 'armhf' if ansible_architecture == 'armv7l' else 'amd64' }}" docker_apt_repository: "deb [arch={{ docker_apt_arch }} signed-by=/etc/apt/keyrings/docker.asc] {{ docker_repo_url }}/{{ docker_apt_ansible_distribution | lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}" docker_apt_ignore_key_error: true docker_apt_gpg_key: "{{ docker_repo_url }}/{{ docker_apt_ansible_distribution | lower }}/gpg" diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index d291e5b..147da5d 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -2,11 +2,13 @@ role_name_check: 1 dependency: name: galaxy + options: + ignore-errors: true driver: name: docker platforms: - name: instance - image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" + image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux8}-ansible:latest" command: ${MOLECULE_DOCKER_COMMAND:-""} volumes: - /sys/fs/cgroup:/sys/fs/cgroup:rw diff --git a/tasks/setup-Debian.yml b/tasks/setup-Debian.yml index 04b427d..ec25234 100644 --- a/tasks/setup-Debian.yml +++ b/tasks/setup-Debian.yml @@ -1,10 +1,14 @@ --- -- name: Ensure old versions of Docker are not installed. +- # See https://docs.docker.com/engine/install/debian/#uninstall-old-versions + name: Ensure old versions of Docker are not installed. package: name: - docker - docker.io - docker-engine + - podman-docker + - containerd + - runc state: absent - name: Ensure dependencies are installed.