44 lines
1.6 KiB
YAML
44 lines
1.6 KiB
YAML
---
|
|
- name: Set Ubuntu codename for Linux Mint
|
|
ansible.builtin.set_fact:
|
|
docker_ubuntu_codename: >
|
|
{{ 'jammy' if ansible_distribution_version is version('22', '>=') else
|
|
'focal' if ansible_distribution_version is version('21', '>=') else
|
|
'focal' if ansible_distribution_version is version('20', '>=') else
|
|
'bionic' }}
|
|
|
|
- name: Check if Docker repository exists and is correct
|
|
ansible.builtin.shell: |
|
|
if [ -f /etc/apt/sources.list.d/docker.list ]; then
|
|
if grep -q "deb \[arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg\] https://download.docker.com/linux/ubuntu" /etc/apt/sources.list.d/docker.list; then
|
|
echo "correct_config"
|
|
else
|
|
echo "wrong_config"
|
|
fi
|
|
else
|
|
echo "not_exists"
|
|
fi
|
|
register: docker_repo_check
|
|
failed_when: false
|
|
changed_when: false
|
|
|
|
- name: Remove incorrect Docker repository
|
|
ansible.builtin.file:
|
|
path: /etc/apt/sources.list.d/docker.list
|
|
state: absent
|
|
become: true
|
|
when: docker_repo_check.stdout == "wrong_config"
|
|
|
|
- name: Add Docker repository for Linux Mint (using Ubuntu base) only if needed
|
|
ansible.builtin.apt_repository:
|
|
repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu {{ docker_ubuntu_codename }} stable"
|
|
state: present
|
|
update_cache: false
|
|
when: docker_repo_check.stdout in ["not_exists", "wrong_config"]
|
|
|
|
- name: Update apt cache after adding Docker repository
|
|
ansible.builtin.apt:
|
|
update_cache: true
|
|
become: true
|
|
when: docker_repo_check.stdout in ["not_exists", "wrong_config"]
|