mirror of
				https://github.com/geerlingguy/ansible-role-docker.git
				synced 2025-10-24 11:16:46 +02:00 
			
		
		
		
	Refactor Debian setup to use deb822_repository
- Replaces deprecated apt_repository and manual GPG key management with ansible.builtin.deb822_repository, introduced in apt 1.1. - Updates handlers to use FQCNs.
This commit is contained in:
		
							parent
							
								
									94b787389d
								
							
						
					
					
						commit
						a44d1bee2a
					
				| @ -1,7 +1,11 @@ | ||||
| --- | ||||
| - name: restart docker | ||||
|   service: | ||||
|   ansible.builtin.service: | ||||
|     name: docker | ||||
|     state: "{{ docker_restart_handler_state }}" | ||||
|   ignore_errors: "{{ ansible_check_mode }}" | ||||
|   when: docker_service_manage | bool | ||||
| 
 | ||||
| - name: apt update | ||||
|   ansible.builtin.apt: | ||||
|     update_cache: true | ||||
|  | ||||
| @ -10,57 +10,46 @@ | ||||
|     state: absent | ||||
| 
 | ||||
| - 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 }}" | ||||
|     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: | ||||
| # 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. | ||||
|   apt: | ||||
|   ansible.builtin.apt: | ||||
|     name: | ||||
|       - apt-transport-https | ||||
|       - ca-certificates | ||||
|       - curl | ||||
|       - gpg | ||||
|       - python3-debian | ||||
|     state: present | ||||
|   when: docker_add_repo | bool | ||||
| 
 | ||||
| - name: Ensure directory exists for /etc/apt/keyrings | ||||
|   file: | ||||
|     path: /etc/apt/keyrings | ||||
|     state: directory | ||||
|     mode: "0755" | ||||
| - 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: Add Docker apt key. | ||||
|   ansible.builtin.get_url: | ||||
|     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 | ||||
| - 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' }}" | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user