---
- 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: "{{ docker_apt_gpg_key }}"
    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: >
    curl -sSL {{ docker_apt_gpg_key }} | 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