--- - name: Ensure apt key is not present in trusted.gpg.d ansible.builtin.file: path: /etc/apt/trusted.gpg.d/docker.asc state: absent - name: Ensure old apt source list is not present in /etc/apt/sources.list.d ansible.builtin.file: path: "/etc/apt/sources.list.d/download_docker_com_linux_{{ docker_apt_ansible_distribution | lower }}.list" state: absent - name: Ensure the repo referencing the previous trusted.gpg.d key is not present 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 }}" state: absent filename: "{{ docker_apt_filename }}" update_cache: true when: docker_add_repo | bool # See https://docs.docker.com/engine/install/debian/#uninstall-old-versions - name: Ensure old versions of Docker are not installed. ansible.builtin.package: name: "{{ docker_obsolete_packages }}" state: absent - name: Ensure legacy repo file is not present. ansible.builtin.file: path: "/etc/apt/sources.list.d/docker.list" state: absent - name: Ensure dependencies are installed. ansible.builtin.apt: name: - apt-transport-https - ca-certificates - curl - gpg - python3-debian state: present - name: Add or remove Docker repository. ansible.builtin.deb822_repository: name: docker types: deb uris: "{{ docker_repo_url }}/{{ ansible_distribution | lower }}" suites: "{{ ansible_distribution_release }}" components: "{{ docker_apt_release_channel }}" signed_by: "{{ docker_apt_gpg_key }}" state: "{{ 'present' if docker_add_repo | bool else 'absent' }}" notify: apt update - name: Remove Docker apt key if docker_add_repo is false. ansible.builtin.file: path: /etc/apt/keyrings/docker.asc state: "{{ 'file' if docker_add_repo | bool else 'absent' }}"