From 48165bef42900eeac8c28df934e7464ee0349a19 Mon Sep 17 00:00:00 2001 From: Sangelo Date: Tue, 5 Mar 2024 09:08:10 +0100 Subject: [PATCH] [a] experimental new docker compose file creator --- roles/docker/defaults/main.yml | 19 +++++++++++++++++++ roles/docker/tasks/compose.yml | 31 +++++++++++++++++++++++++++++++ roles/docker/tasks/main.yml | 6 ++++++ 3 files changed, 56 insertions(+) create mode 100644 roles/docker/defaults/main.yml create mode 100644 roles/docker/tasks/compose.yml diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml new file mode 100644 index 0000000..ec11ba7 --- /dev/null +++ b/roles/docker/defaults/main.yml @@ -0,0 +1,19 @@ +# run compose task? +core_docker_compose: false + +# the docker compose service's name +core_docker_compose_name: "Docker Compose" + +# create directories +core_docker_compose_mkdir: false +# chown directories with this value +core_docker_compose_dirs_mode: '0750' + +# copy templates +core_docker_compose_cp_files: false +# chown templates with this value +core_docker_compose_templates_mode: '0650' + +# docker-compose.yml template source +core_docker_compose_file: + src: docker-compose.yml.j2 \ No newline at end of file diff --git a/roles/docker/tasks/compose.yml b/roles/docker/tasks/compose.yml new file mode 100644 index 0000000..b571bff --- /dev/null +++ b/roles/docker/tasks/compose.yml @@ -0,0 +1,31 @@ +- name: "Create {{ core_docker_compose_name }} directories." + ansible.builtin.file: + path: '{{ core_docker_compose_dirs_loop }}' + state: directory + owner: '{{ core_docker_compose_user }}' + group: '{{ core_docker_compose_group }}' + mode: "{{ core_docker_compose_dirs_mode }}" + loop: '{{ core_docker_compose_dirs }}' + loop_control: + loop_var: core_docker_compose_dirs_loop + when: core_docker_compose_mkdir + +- name: "Create {{ core_docker_compose_name }} files" + ansible.builtin.template: + src: '{{ core_docker_compose_template_loop.src }}' + dest: '{{ core_docker_compose_template_loop.dest }}' + owner: '{{ core_docker_compose_user }}' + group: '{{ core_docker_compose_group }}' + mode: '{{ core_docker_compose_templates_mode }}' + loop: '{{ core_docker_compose_templates }}' + loop_control: + loop_var: '{{ core_docker_compose_template_loop }}' + when: core_docker_compose_cp_files + +- name: "Create docker-compose.yml for {{ core_docker_compose_name }}" + ansible.builtin.template: + src: '{{ core_docker_compose_file.src }}' + dest: '{{ core_docker_compose_file.dest }}' + owner: '{{ core_docker_compose_compose_user }}' + group: '{{ core_docker_compose_compose_group }}' + mode: '0750' \ No newline at end of file diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index 9a95eb1..534b5a7 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -28,3 +28,9 @@ - docker-compose-plugin state: present update_cache: yes + +- name: Run docker-compose creation process + ansible.builtin.include_role: + name: docker + tasks_from: compose + when: core_docker_compose \ No newline at end of file