--- - name: Ensure custom facts directory is present file: path: /etc/ansible/facts.d/ state: directory - name: Ensure custom fact is present copy: src: files/debian_docker_version.fact dest: /etc/ansible/facts.d owner: root group: root mode: '0755' - name: reload facts setup: filter=ansible_local - name: Ensure old versions of Docker are not installed. package: name: - docker - docker-engine state: absent - name: Ensure dependencies are installed. apt: name: - apt-transport-https - ca-certificates - gnupg2 state: present - name: Add Docker apt key. apt_key: url: https://download.docker.com/linux/debian/gpg id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88 state: present register: add_repository_key ignore_errors: "{{ docker_apt_ignore_key_error }}" - name: Ensure curl is present (on older systems without SNI). package: name=curl state=present when: add_repository_key is failed - name: Add Docker apt key (alternative for older systems without SNI). shell: | set -o pipefail curl -sSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - args: warn: false when: add_repository_key is failed - name: Add Docker repository. apt_repository: repo: "{{ docker_apt_repository }}" state: present update_cache: true