---
- name: Create docker service systemd directory if it doesn't exist
  file:
    path: /etc/systemd/system/docker.service.d
    state: directory

- name: Write docker proxy drop-in
  template:
    src: http-proxy.conf.j2
    dest: /etc/systemd/system/docker.service.d/http-proxy.conf
  when: http_proxy is defined or https_proxy is defined or no_proxy is defined

- name: Write docker.service systemd file
  template:
    src: docker.service.j2
    dest: /etc/systemd/system/docker.service
  register: docker_service_file
  when: not (ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] or is_atomic)

- name: Write docker.service systemd file for atomic
  template:
    src: docker_atomic.service.j2
    dest: /etc/systemd/system/docker.service
  notify: restart docker
  when: is_atomic

- name: Write docker options systemd drop-in
  template:
    src: docker-options.conf.j2
    dest: "/etc/systemd/system/docker.service.d/docker-options.conf"
  notify: restart docker

- name: Write docker dns systemd drop-in
  template:
    src: docker-dns.conf.j2
    dest: "/etc/systemd/system/docker.service.d/docker-dns.conf"
  notify: restart docker
  when: dns_mode != 'none' and resolvconf_mode == 'docker_dns'

- meta: flush_handlers