service: Allow additional dependencies for additional containers

This commit is contained in:
uumas
2026-03-26 04:06:26 +02:00
parent 1d180106d6
commit 351ef2c5d4
3 changed files with 29 additions and 4 deletions

View File

@@ -571,6 +571,23 @@ argument_specs:
the name of the environment variable. Defaults to secret name. the name of the environment variable. Defaults to secret name.
type: str type: str
required: false required: false
requires:
description: >-
List of systemd units this container depends on, in addition to
service-wide requires.
type: list
required: false
default: []
elements: str
wants:
description: >-
List of systemd units this container weakly depends on, in addition to
service-wide wants.
type: list
required: false
default: []
elements: str
service_requires: service_requires:
description: List of systemd units this service container depends on. description: List of systemd units this service container depends on.

View File

@@ -16,7 +16,7 @@
container_secrets: "{{ _service_additional_container_secrets }}" container_secrets: "{{ _service_additional_container_secrets }}"
container_env: "{{ _service_additional_container.env }}" container_env: "{{ _service_additional_container.env }}"
container_add_capabilities: "{{ _service_additional_container.add_capabilities }}" container_add_capabilities: "{{ _service_additional_container.add_capabilities }}"
container_requires: "{{ _service_container_requires }}" container_requires: "{{ _service_additional_container_requires }}"
container_wants: "{{ _service_additional_container_wants }}" container_wants: "{{ _service_additional_container_wants }}"
container_auto_update: "{{ service_auto_update }}" container_auto_update: "{{ service_auto_update }}"
loop: "{{ _service_additional_containers }}" loop: "{{ _service_additional_containers }}"

View File

@@ -1,7 +1,12 @@
--- ---
_service_additional_container_defaults:
image: "{{ service_container_image }}"
requires: []
wants: []
_service_additional_containers_with_default_image: >- _service_additional_containers_with_default_image: >-
{{ {{
([{ 'image': service_container_image }] * service_additional_containers | length) ([_service_additional_container_defaults] * service_additional_containers | length)
| zip(service_additional_containers) | zip(service_additional_containers)
| map('combine') | map('combine')
}} }}
@@ -72,13 +77,16 @@ _service_additional_containers: >-
_service_additional_container_wants: >- _service_additional_container_wants: >-
{{ {{
service_wants service_wants + _service_additional_container.wants +
+ _service_additional_container_publish_socket_ports _service_additional_container_publish_socket_ports
| map(attribute='name') | map(attribute='name')
| map('regex_replace', '^', service_name ~ '-') | map('regex_replace', '^', service_name ~ '-')
| map('regex_replace', '$', '-socat.socket') | map('regex_replace', '$', '-socat.socket')
}} }}
_service_additional_container_requires: >-
{{ _service_container_requires + _service_additional_container.requires }}
_service_additional_container_networks: >- _service_additional_container_networks: >-
{{ {{
[{ [{