From c31fbf0833951393185c3efe167d0c35f3f5afdf Mon Sep 17 00:00:00 2001 From: uumas Date: Sat, 5 Jul 2025 16:24:26 +0300 Subject: [PATCH] service: Support specifying container command --- roles/service/defaults/main.yaml | 2 ++ roles/service/meta/argument_specs.yaml | 17 +++++++++++++++-- roles/service/tasks/additional.yaml | 1 + roles/service/tasks/main.yaml | 1 + 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/roles/service/defaults/main.yaml b/roles/service/defaults/main.yaml index 8a8a80d..6570613 100644 --- a/roles/service/defaults/main.yaml +++ b/roles/service/defaults/main.yaml @@ -1,4 +1,6 @@ --- +service_container_command: [] + service_domains: [] service_vhost_locations: [] service_proxy_pass_host_header: true diff --git a/roles/service/meta/argument_specs.yaml b/roles/service/meta/argument_specs.yaml index 60eeab2..474a478 100644 --- a/roles/service/meta/argument_specs.yaml +++ b/roles/service/meta/argument_specs.yaml @@ -8,6 +8,13 @@ argument_specs: type: str required: true + service_container_command: + description: Command to start the service container with. + type: list + required: false + default: [] + elements: str + service_domains: description: A list of domains which should be proxied to the main service container type: list @@ -242,8 +249,8 @@ argument_specs: description: - List of additional containers for the service. - > - Will inherit most options from main service container, except for publish_ports. - All options can be overridden per-container. + Will inherit most options from main service container. All options can be overridden + per-container. type: list required: false default: [] @@ -263,6 +270,12 @@ argument_specs: type: str required: false default: "{{ service_container_image }}" + command: + description: Command to start the container with. + type: list + required: false + default: "[]" + elements: str mounts: description: List of bind mounts or volumes to be mounted inside the main service container. type: list diff --git a/roles/service/tasks/additional.yaml b/roles/service/tasks/additional.yaml index 2a9703f..e0f66be 100644 --- a/roles/service/tasks/additional.yaml +++ b/roles/service/tasks/additional.yaml @@ -6,6 +6,7 @@ container_name: "{{ container.name }}" container_image: "{{ container.image | default(service_container_image) }}" container_image_creds: "{{ service_container_image_creds }}" + container_command: "{{ container.command | default([]) }}" container_user: "{{ service_container_user }}" container_mounts: "{{ container.mounts | default(_service_container_mounts) }}" container_publish_ports: "{{ container.publish_ports | default([]) }}" diff --git a/roles/service/tasks/main.yaml b/roles/service/tasks/main.yaml index 933b237..2e0f327 100644 --- a/roles/service/tasks/main.yaml +++ b/roles/service/tasks/main.yaml @@ -33,6 +33,7 @@ container_name: "{{ service_name }}" container_image: "{{ service_container_image }}" container_image_creds: "{{ service_container_image_creds }}" + container_command: "{{ service_container_command }}" container_user: "{{ service_container_user }}" container_mounts: "{{ _service_container_mounts }}" container_publish_ports: "{{ service_container_publish_ports }}"