service: Add support for template mounts
Template mounts are templated from jinja2 templates to a service name -specific directory under /srv and bind mounted inside the container.
This commit is contained in:
@@ -1,18 +1,21 @@
|
||||
---
|
||||
- name: Set container named mounts
|
||||
ansible.builtin.set_fact:
|
||||
_service_container_mounts: >
|
||||
{{ _service_container_mounts +
|
||||
[mount | combine({'source': service_name + '-' + mount.source})] }}
|
||||
when: mount.type == 'volume'
|
||||
loop: "{{ service_container_mounts }}"
|
||||
loop_control:
|
||||
loop_var: mount
|
||||
- name: Create template mount directories under /srv
|
||||
when: _service_template_mounts | length > 0
|
||||
block:
|
||||
- name: Create directory {{ _service_host_directory }}
|
||||
ansible.builtin.file:
|
||||
path: "{{ _service_host_directory }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
|
||||
- name: Set container named mounts
|
||||
ansible.builtin.set_fact:
|
||||
_service_container_mounts: "{{ _service_container_mounts + [mount] }}"
|
||||
when: mount.type == 'bind'
|
||||
- name: Create directory {{ _service_host_directory + '/mounts' }}
|
||||
ansible.builtin.file:
|
||||
path: "{{ _service_host_directory }}/mounts"
|
||||
state: directory
|
||||
mode: "0700"
|
||||
|
||||
- name: Set mount definitions for {{ service_name }}
|
||||
ansible.builtin.include_tasks: mount.yaml
|
||||
loop: "{{ service_container_mounts }}"
|
||||
loop_control:
|
||||
loop_var: mount
|
||||
|
||||
Reference in New Issue
Block a user