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