Add docker role for making sure Docker is installed

Add a docker role for making sure Docker is installed from the Docker
repositories.
Take the role from the ccchh-ansible repo, provide attribution in the
README and add the relevant license in a new licenses directory.
Modify the role by removing the distribution check and adjusting the
task names to be in line with other task names in this repo.
This commit is contained in:
Julian Schacher
2023-11-24 13:37:40 +01:00
parent 7ddb91550f
commit 75acd59ee8
6 changed files with 81 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
# Role `docker`
Makes sure Docker Engine and other related packages are installed from the Docker repos on the specified hosts.
For details see: [`tasks/main/02_docker_install.yaml`](./tasks/main/02_docker_install.yaml).
## Required Arguments
None.
## Updates
This role doesn't handle updates.
However it uses the system package manager for installing Docker Engine and the other related packages, so when you're making sure the system packages are up-to-date, you're handling updates for the packages installed by this role as well.
## `hosts`
The `hosts` for this role need to be the machines for which you want to make sure Docker Engine and other related packages are installed from the Docker repos.
## Links & Resources
- <https://docs.docker.com/engine/install/debian/>

View File

@@ -0,0 +1,7 @@
- name: Ensure the Docker repo is setup
ansible.builtin.import_tasks:
file: main/01_repo_setup.yaml
- name: Ensure Docker Engine and other related packages are installed
ansible.builtin.import_tasks:
file: main/02_docker_install.yaml

View File

@@ -0,0 +1,15 @@
- name: Ensure Dockers GPG key is added
ansible.builtin.get_url:
url: https://download.docker.com/linux/debian/gpg
dest: /etc/apt/trusted.gpg.d/docker.asc
mode: "0644"
owner: root
group: root
become: true
- name: Ensure Dockers APT repository is added
ansible.builtin.apt_repository:
repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker.asc] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable"
filename: docker
state: present
become: true

View File

@@ -0,0 +1,11 @@
- name: Ensure Docker Engine and other related packages are installed
ansible.builtin.apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: present
update_cache: true
become: true