Mickael Razzouk e108c0d913 add docker_apt_key_env variable to docker role
feat: In some cases, having the option to set enviroment variables
to the get_url module can be useful to pass http proxy config.

Closes-Bug: #2086700
Change-Id: I788cc3893369a531ad216d80aebcab141137cef3
2025-01-23 17:03:48 +00:00

72 lines
1.7 KiB
YAML

---
- name: Install CA certificates and gnupg packages
apt:
name:
- ca-certificates
- gnupg
cache_valid_time: "{{ apt_cache_valid_time }}"
update_cache: true
state: present
become: true
- name: Ensure apt sources list directory exists
file:
path: /etc/apt/sources.list.d
state: directory
recurse: true
become: true
- name: Ensure apt keyrings directory exists
file:
path: /etc/apt/keyrings
state: directory
recurse: true
become: true
- name: Install docker apt gpg key
get_url:
url: "{{ docker_apt_url }}/{{ docker_apt_key_file }}"
dest: "/etc/apt/keyrings/docker.asc"
mode: "0644"
force: true
become: true
environment: "{{ docker_apt_key_env }}"
- name: Install docker apt pin
copy:
dest: "/etc/apt/preferences.d/docker"
content: |
Package: {{ docker_apt_package }}
Pin: version {{ docker_apt_package_pin }}
Pin-Priority: 1000
mode: "0644"
become: true
when: docker_apt_package_pin | length > 0
- name: Ensure old docker repository absent
file:
path: /etc/apt/sources.list.d/docker.list
state: absent
become: true
# TODO(mmalchuk): replace with ansible.builtin.deb822_repository module
# when all stable releases moves to the ansible-core >= 2.15
- name: Enable docker apt repository
copy:
dest: /etc/apt/sources.list.d/docker.sources
content: |
# Ansible managed
Types: deb
URIs: {{ docker_apt_url }}
Suites: {{ ansible_facts.distribution_release }}
Components: stable
Signed-by: /etc/apt/keyrings/docker.asc
mode: "0644"
become: true
- name: Update the apt cache
apt:
update_cache: true
become: true