geerlingguy.ansible-role-do.../tasks/setup-Debian.yml

77 lines
2.6 KiB
YAML

---
- name: Ensure apt key is not present in trusted.gpg.d
ansible.builtin.file:
path: /etc/apt/trusted.gpg.d/docker.asc
state: absent
- name: Ensure old apt source list is not present in /etc/apt/sources.list.d
ansible.builtin.file:
path: /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list
state: absent
- name: Ensure the repo referencing the previous trusted.gpg.d key is not present
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
environment: "{{ proxy_env | default({}) }}"
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.
ansible.builtin.package:
name: "{{ docker_obsolete_packages_debian }}"
state: absent
- name: Ensure dependencies are installed.
ansible.builtin.apt:
name:
- apt-transport-https
- ca-certificates
state: present
environment: "{{ proxy_env | default({}) }}"
when: docker_add_repo | bool
- name: Ensure directory exists for /etc/apt/keyrings
ansible.builtin.file:
path: /etc/apt/keyrings
state: directory
mode: "0755"
- 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 }}"
environment: "{{ proxy_env | default({}) }}"
when: docker_add_repo | bool
- name: Fallback for older systems without SNI.
when: add_repository_key is failed and docker_add_repo | bool
block:
- name: Ensure curl is present (on older systems without SNI).
ansible.builtin.package:
name: curl
state: present
environment: "{{ proxy_env | default({}) }}"
- name: Add Docker apt key (alternative for older systems without SNI). # noqa command-instead-of-module
ansible.builtin.command: >
curl -sSL {{ docker_apt_gpg_key }} | apt-key add -
environment: "{{ proxy_env | default({}) }}"
changed_when: false
- name: Add Docker repository.
ansible.builtin.apt_repository:
repo: "{{ docker_apt_repository }}"
state: present
filename: "{{ docker_apt_filename }}"
update_cache: true
environment: "{{ proxy_env | default({}) }}"
when: docker_add_repo | bool