# Copyright 2020-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

---

- name: Install dependencies for Docker
  apt:
    name: "{{ item }}"
    state: present
  with_items:
      - apt-transport-https
      - ca-certificates
      - curl
      - software-properties-common
  tags: docker

- name: Add Docker GPG key
  apt_key:
    url: https://download.docker.com/linux/ubuntu/gpg
    state: present
  tags: docker

- name: Add Docker repository
  apt_repository:
    repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
    update_cache: yes
    state: present
  tags: docker

- name: Install Docker CE
  apt:
    name: docker-ce={{ docker_version }}
    state: present
    update_cache: yes
  tags: docker

- name: Add current user to "docker" group
  user:
    name: "{{ ansible_user }}"
    groups:
      - docker
    append: true
  tags: docker

- name: Configure Docker daemon options
  copy:
    dest: /etc/docker/daemon.json
    content: "{{ docker_daemon_options | to_json }}"
  register: docker_register_options
  notify: restart docker
  tags: docker

- name: Reload systemd daemon
  systemd:
    daemon_reload: true
  when: docker_register_options is changed
  tags: docker
