From b4051f883f3a2d05f2b4bd956cff20ce6826d7b3 Mon Sep 17 00:00:00 2001 From: Bryan Joshua Pedini Date: Wed, 6 Apr 2022 12:06:26 +0200 Subject: [PATCH] added playbook docker --- docker.yml | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 docker.yml diff --git a/docker.yml b/docker.yml new file mode 100644 index 0000000..a0d5629 --- /dev/null +++ b/docker.yml @@ -0,0 +1,63 @@ +--- +- hosts: all + become: true + tasks: + - name: ensure the dependencies are installed + ansible.builtin.apt: + update_cache: yes + name: + - apt-transport-https + - ca-certificates + - curl + - gnupg + - lsb-release + - name: check if Docker PGP key is already present + ansible.builtin.stat: + path: /usr/share/keyrings/docker-archive-keyring.gpg + register: docker_gpg_presence + - name: download armored Docker PGP key + ansible.builtin.get_url: + url: https://download.docker.com/linux/debian/gpg + dest: /tmp/docker.gpg + when: not docker_gpg_presence.stat.exists + - name: ensure unarmored Docker PGP key is present + ansible.builtin.command: + cmd: gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg /tmp/docker.gpg + when: not docker_gpg_presence.stat.exists + - name: remove temporary armored Docker PGP key + ansible.builtin.file: + path: /tmp/docker.gpg + state: absent + when: not docker_gpg_presence.stat.exists + - name: retrieve machine DPKG architecture + ansible.builtin.command: + cmd: dpkg --print-architecture + register: dpkg_architecture + changed_when: false + - name: ensure Docker repository is present + ansible.builtin.copy: + content: "deb [arch={{ dpkg_architecture.stdout }} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable" + dest: /etc/apt/sources.list.d/docker.list + owner: root + group: root + mode: 0644 + - name: ensure Docker is installed and latest version + ansible.builtin.apt: + update_cache: yes + name: + - docker-ce + - docker-ce-cli + - containerd.io + state: latest + - name: ensure Docker Compose v1 is not present + ansible.builtin.file: + path: /usr/local/bin/docker-compose + state: absent + - name: ensure Docker Compose v2 is installed and latest version + ansible.builtin.get_url: + url: "https://github.com/docker/compose/releases/latest/download/docker-compose-{{ ansible_facts.system }}-{{ ansible_facts.architecture }}" + dest: /usr/libexec/docker/cli-plugins/docker-compose + owner: root + group: root + mode: 0755 + when: ansible_facts.os_family == "Debian"