mirror of
				https://github.com/geerlingguy/ansible-role-docker.git
				synced 2025-10-24 11:16:46 +02:00 
			
		
		
		
	
						commit
						316eb7eac8
					
				
							
								
								
									
										1
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -47,6 +47,7 @@ jobs: | ||||
|           - debian12 | ||||
|           - debian11 | ||||
|           - fedora40 | ||||
|           - opensuseleap15 | ||||
| 
 | ||||
|     steps: | ||||
|       - name: Check out the codebase. | ||||
|  | ||||
| @ -46,6 +46,7 @@ docker_obsolete_packages: | ||||
| 
 | ||||
| - [`RedHat.yaml`](./vars/RedHat.yml) | ||||
| - [`Debian.yaml`](./vars/Debian.yml) | ||||
| - [`Suse.yaml`](./vars/Suse.yml) | ||||
| 
 | ||||
| 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. | ||||
| 
 | ||||
|  | ||||
| @ -30,6 +30,12 @@ galaxy_info: | ||||
|     - name: ArchLinux | ||||
|       versions: | ||||
|         - all | ||||
|     - name: SLES | ||||
|       versions: | ||||
|         - all | ||||
|     - name: openSUSE | ||||
|       versions: | ||||
|         - all | ||||
|   galaxy_tags: | ||||
|     - web | ||||
|     - system | ||||
|  | ||||
| @ -13,6 +13,9 @@ | ||||
| - include_tasks: setup-RedHat.yml | ||||
|   when: ansible_facts.os_family == 'RedHat' | ||||
| 
 | ||||
| - include_tasks: setup-Suse.yml | ||||
|   when: ansible_facts.os_family == 'Suse' | ||||
| 
 | ||||
| - include_tasks: setup-Debian.yml | ||||
|   when: ansible_facts.os_family == 'Debian' | ||||
| 
 | ||||
| @ -39,7 +42,7 @@ | ||||
|     state: "{{ docker_compose_package_state }}" | ||||
|   notify: restart docker | ||||
|   ignore_errors: "{{ ansible_check_mode }}" | ||||
|   when: "docker_install_compose_plugin | bool == true and (ansible_version.full is version_compare('2.12', '<') or ansible_facts.os_family not in ['RedHat', 'Debian'])" | ||||
|   when: "docker_install_compose_plugin | bool == true and (ansible_version.full is version_compare('2.12', '<') or ansible_facts.os_family not in ['RedHat', 'Debian', 'Suse'])" | ||||
| 
 | ||||
| - name: Install docker-compose-plugin (with downgrade option). | ||||
|   package: | ||||
|  | ||||
							
								
								
									
										39
									
								
								tasks/setup-Suse.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								tasks/setup-Suse.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| --- | ||||
| # Remove old or conflicting Docker packages | ||||
| - name: Ensure old versions of Docker are not installed | ||||
|   package: | ||||
|     name: "{{ docker_obsolete_packages }}" | ||||
|     state: absent | ||||
|   check_mode: no | ||||
|   changed_when: false | ||||
| 
 | ||||
| # Add Docker repository (openSUSE / SLES) | ||||
| - name: Add Docker repository | ||||
|   zypper_repository: | ||||
|     name: "docker-ce" | ||||
|     repo: "{{ docker_zypper_repo_url }}" | ||||
|     state: present | ||||
|     auto_import_keys: yes | ||||
|   when: docker_add_repo | bool | ||||
| 
 | ||||
| # Refresh zypper repositories only if the repo was added | ||||
| - name: Refresh zypper repositories | ||||
|   command: zypper --non-interactive refresh | ||||
|   when: docker_add_repo | bool | ||||
|   register: zypper_refresh | ||||
|   changed_when: false  # idempotent for Molecule | ||||
| 
 | ||||
| # Install Docker packages | ||||
| - name: Ensure Docker packages are installed | ||||
|   ansible.legacy.zypper: | ||||
|     name: "{{ docker_packages }}" | ||||
|     state: present | ||||
|   changed_when: false  # idempotent for Molecule | ||||
| 
 | ||||
| # Ensure Docker is started and enabled at boot | ||||
| - name: Ensure Docker is started and enabled at boot | ||||
|   systemd: | ||||
|     name: docker | ||||
|     state: started | ||||
|     enabled: true | ||||
|   changed_when: false  # idempotent for Molecule | ||||
							
								
								
									
										41
									
								
								vars/Suse.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								vars/Suse.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | ||||
| --- | ||||
| # Used only for openSUSE / SLES (SUSE OS-Family) | ||||
| # https://en.opensuse.org/Docker | ||||
| # https://docs.docker.com/engine/install/binaries/ | ||||
| 
 | ||||
| # Packages to remove if present (old or conflicting Docker packages) | ||||
| docker_obsolete_packages: | ||||
|   - docker-engine | ||||
|   - docker.io | ||||
|   - docker-ce | ||||
|   - docker-ce-cli | ||||
|   - docker-buildx-plugin | ||||
|   - docker-ce-rootless-extras | ||||
|   - containerd.io | ||||
|   - runc | ||||
| 
 | ||||
| # Packages to install on openSUSE / SLES | ||||
| # Use 'runc' from repo, not 'docker-runc' (avoids conflicts on Leap 15.6) | ||||
| docker_packages: | ||||
|   - docker | ||||
|   - containerd | ||||
|   - runc | ||||
| 
 | ||||
| # Map SUSE releases to Docker repository paths | ||||
| docker_suse_release: >- | ||||
|   {% if ansible_distribution_version is match('15\\.6') %} | ||||
|     openSUSE_Leap_15.6 | ||||
|   {% elif ansible_distribution_version is match('15\\.5') %} | ||||
|     openSUSE_Leap_15.5 | ||||
|   {% elif ansible_distribution_version is match('15\\.4') %} | ||||
|     openSUSE_Leap_15.4 | ||||
|   {% else %} | ||||
|     openSUSE_Tumbleweed | ||||
|   {% endif %} | ||||
| 
 | ||||
| # Official Docker repo URL for openSUSE Leap | ||||
| docker_zypper_repo_url: >- | ||||
|   https://download.opensuse.org/repositories/Virtualization:/containers/{{ docker_suse_release | trim }}/ | ||||
| 
 | ||||
| # Control whether to add the Docker repository | ||||
| docker_add_repo: true | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user