142 lines
4.5 KiB
YAML
142 lines
4.5 KiB
YAML
---
|
|
- name: docker_setup | Docker configuration and service management
|
|
when: docker_install
|
|
tags: [docker]
|
|
block:
|
|
- name: docker_setup | Install the Docker default options
|
|
template: src=docker-default.j2 dest={{ docker_defaults_file }} owner=root group=root mode=0644
|
|
when: ansible_service_mgr != 'systemd'
|
|
notify: Restart docker
|
|
tags: ['docker', 'docker_conf']
|
|
|
|
- name: docker_setup | Install the Docker daemon config
|
|
template: src=daemon.json.j2 dest=/etc/docker/daemon.json owner=root group=root mode=0644
|
|
notify: Restart docker
|
|
tags: ['docker', 'docker_conf']
|
|
|
|
- name: docker_setup | Create the docker service systemd directory
|
|
file: dest=/etc/systemd/system/docker.service.d state=directory mode=0755
|
|
when: ansible_service_mgr == 'systemd'
|
|
tags: ['docker', 'docker_systemd', 'docker_conf']
|
|
|
|
- name: docker_setup | Install the Docker additional systemd unit
|
|
template:
|
|
src: docker-systemd-override.conf.j2
|
|
dest: /etc/systemd/system/docker.service.d/override.conf
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
when: ansible_service_mgr == 'systemd'
|
|
notify: Restart docker
|
|
register: reload_systemd
|
|
tags: ['docker', 'docker_systemd', 'docker_conf']
|
|
|
|
- name: docker_setup | systemd reload
|
|
command: systemctl daemon-reload
|
|
when: reload_systemd is defined and reload_systemd is changed
|
|
tags: ['docker', 'docker_systemd', 'docker_conf']
|
|
|
|
- name: docker_setup | Ensure that the service is started and enabled
|
|
service: name=docker state=started enabled=yes
|
|
|
|
- name: docker_setup | Docker configuration and service management
|
|
when: docker_install
|
|
tags: [docker, containerd, containerd_conf]
|
|
block:
|
|
- name: docker_setup | Set the containerd data directory
|
|
community.general.ini_file:
|
|
path: /etc/containerd/config.toml
|
|
option: root
|
|
value: '"{{ docker_containerd_data_dir }}"'
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
state: present
|
|
notify:
|
|
- Restart containerd
|
|
- Restart docker
|
|
|
|
- name: docker_setup | Set the containerd state directory
|
|
community.general.ini_file:
|
|
path: /etc/containerd/config.toml
|
|
option: state
|
|
value: '"{{ docker_containerd_state_dir }}"'
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
state: present
|
|
notify:
|
|
- Restart containerd
|
|
- Restart docker
|
|
|
|
- name: Cron job that prunes all the docker system
|
|
block:
|
|
- name: Install a script that prunes the entire docker system
|
|
copy:
|
|
src: docker-system-prune-all.sh
|
|
dest: /usr/local/sbin/docker-system-prune-all
|
|
owner: root
|
|
group: root
|
|
mode: 0744
|
|
|
|
- name: Install a cron job that prunes the entire docker system
|
|
cron:
|
|
name: Prune docker system
|
|
cron_file: docker-system-prune-all
|
|
minute: "0"
|
|
hour: "1,13"
|
|
user: root
|
|
state: present
|
|
job: "/usr/local/sbin/docker-system-prune-all"
|
|
when: docker_system_prune_all
|
|
|
|
- name: Disable the cron job that prunes the docker system
|
|
cron:
|
|
name: Prune docker system
|
|
cron_file: docker-system-prune-all
|
|
minute: "0"
|
|
hour: "1,13"
|
|
user: root
|
|
state: absent
|
|
job: "/usr/local/sbin/docker-system-prune-all"
|
|
when: not docker_system_prune_all
|
|
|
|
when: docker_install
|
|
tags: [docker, docker_system_prune_all]
|
|
|
|
- name: docker_setup | Cron job that restart docker daemon daily
|
|
block:
|
|
- name: docker_setup | Install a script that restart the docker daemon
|
|
copy:
|
|
src: docker-restart-daemon.sh
|
|
dest: /usr/local/sbin/docker-restart-daemon
|
|
owner: root
|
|
group: root
|
|
mode: "0744"
|
|
|
|
- name: docker_setup | Install a cron job that restart the docker daemon
|
|
cron:
|
|
name: Restart docker daemon
|
|
cron_file: docker-restart-daemon
|
|
minute: "0"
|
|
hour: "7"
|
|
user: root
|
|
state: present
|
|
job: "/usr/local/sbin/docker-restart-daemon"
|
|
when: docker_restart_daemon_cronjob
|
|
|
|
- name: docker_setup | Disable the cron job that restart the docker daemon
|
|
cron:
|
|
name: Restart docker daemon
|
|
cron_file: docker-prune-images
|
|
minute: "0"
|
|
hour: "7"
|
|
user: root
|
|
state: absent
|
|
job: "/usr/local/sbin/docker-restart-daemon"
|
|
when: not docker_restart_daemon_cronjob
|
|
|
|
when: docker_install
|
|
tags: [docker, docker_restart_daemon_cronjob]
|
|
|