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.
type: str
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:
description: List of systemd units this service container depends on.

View File

@@ -16,7 +16,7 @@
container_secrets: "{{ _service_additional_container_secrets }}"
container_env: "{{ _service_additional_container.env }}"
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_auto_update: "{{ service_auto_update }}"
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: >-
{{
([{ 'image': service_container_image }] * service_additional_containers | length)
([_service_additional_container_defaults] * service_additional_containers | length)
| zip(service_additional_containers)
| map('combine')
}}
@@ -72,13 +77,16 @@ _service_additional_containers: >-
_service_additional_container_wants: >-
{{
service_wants
+ _service_additional_container_publish_socket_ports
service_wants + _service_additional_container.wants +
_service_additional_container_publish_socket_ports
| map(attribute='name')
| map('regex_replace', '^', service_name ~ '-')
| map('regex_replace', '$', '-socat.socket')
}}
_service_additional_container_requires: >-
{{ _service_container_requires + _service_additional_container.requires }}
_service_additional_container_networks: >-
{{
[{