Merge pull request #511 from sebdanielsson/deb822_repository

Refactor Debian setup to use deb822_repository
This commit is contained in:
Jeff Geerling 2025-08-19 00:44:34 -04:00 committed by GitHub
commit b941efcdc4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 27 additions and 46 deletions

View File

@ -1,7 +1,11 @@
--- ---
- 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 }}"
when: docker_service_manage | bool when: docker_service_manage | bool
- name: apt update
ansible.builtin.apt:
update_cache: true

View File

@ -9,58 +9,35 @@
path: "/etc/apt/sources.list.d/download_docker_com_linux_{{ docker_apt_ansible_distribution | lower }}.list" path: "/etc/apt/sources.list.d/download_docker_com_linux_{{ docker_apt_ansible_distribution | lower }}.list"
state: absent state: absent
- name: Ensure the repo referencing the previous trusted.gpg.d key is not present # See https://docs.docker.com/engine/install/debian/#uninstall-old-versions
apt_repository: - name: Ensure old versions of Docker are not installed.
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 }}" ansible.builtin.package:
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.
package:
name: "{{ docker_obsolete_packages }}" name: "{{ docker_obsolete_packages }}"
state: absent 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. - name: Ensure dependencies are installed.
apt: ansible.builtin.apt:
name: name:
- apt-transport-https - apt-transport-https
- ca-certificates - ca-certificates
- python3-debian
state: present state: present
when: docker_add_repo | bool
- name: Ensure directory exists for /etc/apt/keyrings - name: Add or remove Docker repository.
file: ansible.builtin.deb822_repository:
path: /etc/apt/keyrings name: docker
state: directory types: deb
mode: "0755" 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: Add Docker apt key. - name: Ensure handlers are notified immediately to update the apt cache.
ansible.builtin.get_url: ansible.builtin.meta: flush_handlers
url: "{{ docker_apt_gpg_key }}"
dest: /etc/apt/keyrings/docker.asc
mode: "0644"
force: false
checksum: "{{ docker_apt_gpg_key_checksum | default(omit) }}"
register: add_repository_key
ignore_errors: "{{ docker_apt_ignore_key_error }}"
when: docker_add_repo | bool
- name: Ensure curl is present (on older systems without SNI).
package: name=curl state=present
when: add_repository_key is failed and docker_add_repo | bool
- name: Add Docker apt key (alternative for older systems without SNI).
shell: >
curl -sSL {{ docker_apt_gpg_key }} | apt-key add -
when: add_repository_key is failed and docker_add_repo | bool
- name: Add Docker repository.
apt_repository:
repo: "{{ docker_apt_repository }}"
state: present
filename: "{{ docker_apt_filename }}"
update_cache: true
when: docker_add_repo | bool