1
0
forked from finallycoffee/base

feat(docker): support fedora targets

This commit is contained in:
transcaffeine 2025-04-21 18:17:36 +02:00
parent 0111f74f0f
commit 0090baee97
Signed by untrusted user: transcaffeine
GPG Key ID: 03624C433676E465
5 changed files with 63 additions and 7 deletions

View 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"

View File

@ -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 }}"

View 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 }}"

View File

@ -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:

View File

@ -1,3 +1,4 @@
---
docker_supported_os_families:
docker_supported_oses:
- 'debian'
- 'fedora'