Infra: Ansible maintenance
[csit.git] / resources / tools / testbed-setup / ansible / roles / docker / tasks / main.yaml
1 ---
2 # file: roles/docker/tasks/main.yaml
3
4 - include_tasks: "{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml"
5   tags:
6     - docker-inst-dependencies
7
8 - name: Inst - Docker
9   package:
10     name: "{{ docker_package }}"
11     state: "{{ docker_package_state }}"
12   notify:
13     - "Restart Docker"
14   tags:
15     - docker-inst-package
16
17 - name: Conf - Docker Service
18   service:
19     name: docker
20     state: "{{ docker_service_state }}"
21     enabled: "{{ docker_service_enabled }}"
22   tags:
23     - docker-conf-service
24
25 - name: Conf - Docker Service Directory
26   file:
27     path: "/etc/systemd/system/docker.service.d"
28     state: "directory"
29   tags:
30     - docker-conf-service
31
32 - name: Conf - Docker HTTP Proxy
33   template:
34     src: "templates/docker.service.proxy.http"
35     dest: "/etc/systemd/system/docker.service.d/http-proxy.conf"
36     owner: "root"
37     group: "root"
38     mode: "0644"
39   notify:
40     - "Restart Docker"
41   when: >
42     proxy_env is defined and
43     proxy_env.http_proxy is defined
44   tags:
45     - docker-conf-service
46
47 - name: Conf - Docker HTTPS Proxy
48   template:
49     src: "templates/docker.service.proxy.https"
50     dest: "/etc/systemd/system/docker.service.d/https-proxy.conf"
51     owner: "root"
52     group: "root"
53     mode: "0644"
54   notify:
55     - "Restart Docker"
56   when: >
57     proxy_env is defined and
58     proxy_env.https_proxy is defined
59   tags:
60     - docker-conf-service
61
62 - name: Conf - Users to Docker Group
63   user:
64     name: "{{ item }}"
65     groups: "docker"
66     append: True
67   loop: "{{ docker_users }}"
68   when: docker_users
69   tags:
70     - docker-conf-user
71
72 - meta: flush_handlers