service: fix template mounts for additional containers

This commit is contained in:
uumas
2025-08-28 11:02:35 +03:00
parent d260e28625
commit 014edb08ac
3 changed files with 40 additions and 3 deletions

View File

@@ -11,10 +11,17 @@
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].source }}"
dest: "{{ item[1] }}"
mode: "0644"
notify: "Restart container service {{ service_name }}"
loop: "{{ _service_template_mounts | zip(_service_container_template_mounts) }}"
loop: "{{ _service_all_template_mounts | zip(_service_all_template_mount_host_files) }}"

View File

@@ -10,7 +10,7 @@ _service_container_requires: >-
_service_container_wants: >-
{{
service_wants
+ ([service_name + '-socat.socket'] if service_domains | length > 0 else [])
+ ([service_name + '-socat.socket'] if service_container_http_port > 0 else [])
+ _service_additional_containers
| map(attribute='name')
| map('regex_replace', '$', '.service')

View File

@@ -36,3 +36,33 @@ _service_container_mounts: >-
_service_container_bind_mounts +
_service_container_template_mounts
}}
_service_all_template_mounts: >-
{{
(
_service_template_mounts +
(
_service_additional_containers |
map(attribute='mounts') |
flatten
)
) |
selectattr('type', '==', 'template') |
unique
}}
_service_all_template_mount_directories: >-
{{
_service_all_template_mounts |
map(attribute='source') |
map('dirname') |
unique |
select('!=', '')
}}
_service_all_template_mount_host_files: >-
{{
_service_all_template_mounts |
map(attribute='source') |
map('regex_replace', '\.j2$', '') |
map('regex_replace', '^', _service_host_directory ~ '/mounts/')
}}