forked from finallycoffee/base
		
	feat(docker): support fedora targets
This commit is contained in:
		
							
								
								
									
										34
									
								
								roles/docker/defaults/main/fedora.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								roles/docker/defaults/main/fedora.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
---
 | 
			
		||||
docker_fedora_repo_name: "docker-ce-stable"
 | 
			
		||||
docker_fedora_repo_description: "Docker CE Stable - $basearch"
 | 
			
		||||
docker_fedora_repo_url: "https://download.docker.com/linux/fedora/$releasever/$basearch/stable"
 | 
			
		||||
docker_fedora_repo_validate_certs: true
 | 
			
		||||
docker_fedora_repo_gpg_check: true
 | 
			
		||||
docker_fedora_repo_gpg_key: "https://download.docker.com/linux/fedora/gpg"
 | 
			
		||||
 | 
			
		||||
docker_fedora_cli_package: "docker-ce-cli"
 | 
			
		||||
docker_fedora_plugin_buildx_package: "docker-buildx-plugin"
 | 
			
		||||
docker_fedora_plugin_compose_package: "docker-compose-plugin"
 | 
			
		||||
docker_fedora_base_packages:
 | 
			
		||||
  - "docker-ce"
 | 
			
		||||
  - "docker-ce-cli"
 | 
			
		||||
  - "containerd.io"
 | 
			
		||||
docker_fedora_packages: >-2
 | 
			
		||||
  {{
 | 
			
		||||
    docker_fedora_base_packages
 | 
			
		||||
    + (docker_plugin_buildx_enable | default(false)
 | 
			
		||||
      | ternary([ docker_fedora_plugin_buildx_package ], []))
 | 
			
		||||
    + (docker_plugin_compose_enable | default(false)
 | 
			
		||||
      | ternary([ docker_fedora_plugin_compose_package ], []))
 | 
			
		||||
  }}
 | 
			
		||||
docker_fedora_legacy_packages:
 | 
			
		||||
  - "docker"
 | 
			
		||||
  - "docker-client"
 | 
			
		||||
  - "docker-client-latest"
 | 
			
		||||
  - "docker-common"
 | 
			
		||||
  - "docker-latest"
 | 
			
		||||
  - "docker-latest-logrotate"
 | 
			
		||||
  - "docker-logrotate"
 | 
			
		||||
  - "docker-selinux"
 | 
			
		||||
  - "docker-engine-selinux"
 | 
			
		||||
  - "docker-engine"
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
 | 
			
		||||
- name: Configure docker daemon using '{{ docker_daemon_config_file }}'
 | 
			
		||||
  ansible.builtin.copy:
 | 
			
		||||
    content: "{{ docker_daemon_config | to_json }}"
 | 
			
		||||
    content: "{{ docker_daemon_config | to_nice_json }}"
 | 
			
		||||
    dest: "{{ docker_daemon_config_file }}"
 | 
			
		||||
    mode: "{{ docker_daemon_config_file_mode }}"
 | 
			
		||||
    owner: "{{ docker_daemon_config_owner }}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								roles/docker/tasks/install-fedora.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								roles/docker/tasks/install-fedora.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
---
 | 
			
		||||
- name: Ensure legacy docker packages are removed
 | 
			
		||||
  ansible.builtin.dnf:
 | 
			
		||||
    name: "{{ docker_fedora_legacy_packages }}"
 | 
			
		||||
    state: "removed"
 | 
			
		||||
  when: docker_remove_legacy_packages
 | 
			
		||||
 | 
			
		||||
- name: Ensure dnf repository for docker is {{ docker_state }}
 | 
			
		||||
  ansible.builtin.yum_repository:
 | 
			
		||||
    name: "{{ docker_fedora_repo_name }}"
 | 
			
		||||
    description: "{{ docker_fedora_repo_description }}"
 | 
			
		||||
    baseurl: "{{ docker_fedora_repo_url }}"
 | 
			
		||||
    validate_certs: "{{ docker_fedora_repo_validate_certs }}" 
 | 
			
		||||
    gpgkey: "{{ docker_fedora_repo_gpg_key }}"
 | 
			
		||||
    gpgcheck: "{{ docker_fedora_repo_gpg_check }}"
 | 
			
		||||
    state: "{{ docker_state }}"
 | 
			
		||||
 | 
			
		||||
- name: Install dnf packages for docker
 | 
			
		||||
  ansible.builtin.dnf:
 | 
			
		||||
    name: "{{ docker_fedora_packages }}"
 | 
			
		||||
    state: "{{ docker_state }}"
 | 
			
		||||
@@ -2,14 +2,14 @@
 | 
			
		||||
- name: Check if target OS is supported
 | 
			
		||||
  ansible.builtin.fail:
 | 
			
		||||
    msg: >-2
 | 
			
		||||
      OS Family '{{ docker_os_family }}' is not supported!
 | 
			
		||||
  when: docker_os_family not in docker_supported_os_families
 | 
			
		||||
      OS '{{ docker_os }}' is not supported!
 | 
			
		||||
  when: docker_os not in docker_supported_oses
 | 
			
		||||
  vars:
 | 
			
		||||
    docker_os_family: "{{ ansible_os_family | lower }}"
 | 
			
		||||
    docker_os: "{{ ansible_distribution | lower }}"
 | 
			
		||||
 | 
			
		||||
- name: Ensure docker is {{ docker_state }} on {{ ansible_os_family }}-family
 | 
			
		||||
- name: Ensure docker is {{ docker_state }} on {{ ansible_distribution }}
 | 
			
		||||
  ansible.builtin.include_tasks:
 | 
			
		||||
    file: "install-{{ ansible_os_family | lower }}.yml"
 | 
			
		||||
    file: "install-{{ ansible_distribution | lower }}.yml"
 | 
			
		||||
 | 
			
		||||
- name: Configure docker daemon
 | 
			
		||||
  ansible.builtin.include_tasks:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,4 @@
 | 
			
		||||
---
 | 
			
		||||
docker_supported_os_families:
 | 
			
		||||
docker_supported_oses:
 | 
			
		||||
  - 'debian'
 | 
			
		||||
  - 'fedora'
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user