Files
ansible-podman/roles/service/tasks/host_mounts.yaml

47 lines
1.6 KiB
YAML

---
- 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: "{{ _service_host_directory }}/mounts/{{ item }}"
state: directory
mode: "0700"
loop: "{{ _service_all_template_mount_directories }}"
- name: Template files for template mounts
ansible.builtin.template:
src: "{{ item[0].source }}"
dest: "{{ item[1] }}"
mode: "{{ item[0].mode | default('0644') }}"
validate: "{{ validate if item[0].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 | zip(_service_all_template_mount_host_files) }}"
vars:
validate: >-
podman run --rm
-v %s:{{ item[0].destination }}:ro
--entrypoint {{ item[0].template_validate_command.split(' ', 1)[0] }}
{{ service_container_image }}
{{ item[0].template_validate_command.split(' ', 1)[1] }}
- 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) }}"