From eb59034462640db9aa461b9b8c09066e8705384e Mon Sep 17 00:00:00 2001 From: vincent Date: Wed, 1 Nov 2023 09:55:11 +0100 Subject: [PATCH] add daemon file template --- defaults/main.yml | 6 ++++++ tasks/main.yml | 43 ++++++++++++++++++++++++++++------------- template/daemon.json.j2 | 1 + 3 files changed, 37 insertions(+), 13 deletions(-) create mode 100644 template/daemon.json.j2 diff --git a/defaults/main.yml b/defaults/main.yml index d54c90c..d18c1e5 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -8,3 +8,9 @@ docker_restart_handler_state: restarted # A list of users who will be added to the docker group. docker_users: [] +## yaml docker config convert in json in template +# exemaple: +# docker_daemon_config: +# dns: +# - 172.17.0.1 +docker_daemon_config: diff --git a/tasks/main.yml b/tasks/main.yml index 5a32d21..28cdf60 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,32 +1,49 @@ - name: Include OS-specific variables. - include_vars: "{{ ansible_os_family }}.yml" + ansible.builtin.include_vars: "{{ ansible_os_family }}.yml" - name: Add CentOS repository - block: - - - name: Add Docker repository. - get_url: - url: "https://download.docker.com/linux/centos/docker-ce.repo" - dest: '/etc/yum.repos.d/docker-ce.repo' - owner: root - group: root - mode: 0644 when: ansible_os_family == "RedHat" become: true + block: + - name: Add Docker repository. + ansible.builtin.get_url: + url: "https://download.docker.com/linux/centos/docker-ce.repo" + dest: '/etc/yum.repos.d/docker-ce.repo' + owner: root + group: root + mode: "0644" - name: Install Docker. - package: + ansible.builtin.package: name: "{{ docker_package }}" state: present notify: restart docker become: true +- name: Ensure /etc/docker exist + ansible.builtin.file: + dest: /etc/docker/ + owner: root + group: root + mode: "0755" + state: directory + become: true + +- name: Template daemon.json + ansible.builtin.template: + dest: /etc/docker/daemon.json + src: template/daemon.json.j2 + mode: "0644" + notify: restart docker + become: true + - name: Ensure Docker is started and enabled at boot. - service: + ansible.builtin.service: name: docker state: "{{ docker_service_state }}" enabled: "{{ docker_service_enabled }}" become: true -- include_tasks: docker-users.yml +- name: Include Users task + ansible.builtin.include_tasks: docker-users.yml when: docker_users | length > 0 diff --git a/template/daemon.json.j2 b/template/daemon.json.j2 new file mode 100644 index 0000000..50973a6 --- /dev/null +++ b/template/daemon.json.j2 @@ -0,0 +1 @@ +{{ docker_daemon_config|to_json(indent=4) }}