--- - name: Create directory {{ _service_host_directory }} ansible.builtin.file: path: "{{ _service_host_directory }}" state: directory mode: "0755" - name: Create directory {{ _service_host_directory + '/mounts' }} ansible.builtin.file: path: "{{ _service_host_directory }}/mounts" state: directory mode: "0700" - name: Create service template mount directories ansible.builtin.file: path: "{{ item }}" state: directory mode: "0700" loop: "{{ _service_all_template_mount_host_files | map('dirname') | unique }}" - name: Template files for template mounts ansible.builtin.template: src: "{{ item.source }}" dest: "{{ item.hostfile }}" mode: "{{ item.mode | default('0644') }}" validate: "{{ validate if item.template_validate_command is defined else omit }}" notify: >- {{ 'Reload' if service_container_reload_method != 'none' else 'Restart' }} container service {{ service_name }} loop: "{{ _service_all_template_mounts_full }}" vars: validate: "{{ _service_template_validate_command }}" - name: Ensure no legacy templated files present ansible.builtin.file: path: "{{ _service_host_directory }}/mounts/{{ item.source | regex_replace('\\.j2$', '') }}" state: absent loop: "{{ _service_all_template_mounts_full }}" - name: Copy files for copy mounts ansible.builtin.copy: src: "{{ item[0].source }}" dest: "{{ item[1] }}" mode: "{{ item[0].mode | default('0644') }}" directory_mode: "0755" notify: Restart container service {{ service_name }} loop: "{{ _service_all_copy_mounts | zip(_service_all_copy_mount_host_files) }}"