Compare commits

...

2 Commits

Author SHA1 Message Date
uumas
b2540e2bd3 service: Validation, set default for mounts in additional containers 2025-11-26 22:26:12 +02:00
uumas
47088fd1a0 Allow setting container entrypoint 2025-11-26 22:25:54 +02:00
9 changed files with 26 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
---
container_command: []
container_entrypoint: ""
container_user: ""
container_mounts: []
container_publish_ports: []

View File

@@ -13,6 +13,11 @@ argument_specs:
required: false
default: []
elements: str
container_entrypoint:
description: Entrypoint to use for the continaer
type: str
required: false
default: ""
container_user:
description: The UID to run as inside the container
type: str

View File

@@ -45,6 +45,7 @@
image: "{{ _container_image }}"
name: "{{ container_name }}"
command: "{{ container_command or omit }}"
entrypoint: "{{ container_entrypoint or omit }}"
user: "{{ container_user or omit }}"
mount: "{{ _container_mounts | map('items') | map('map', 'join', '=') | map('join', ',') }}"
network: "{{ _container_networks_with_ip }}"

View File

@@ -1,5 +1,6 @@
---
service_container_command: []
service_container_entrypoint: ""
service_domains: []
service_container_http_port: 0

View File

@@ -14,6 +14,11 @@ argument_specs:
required: false
default: []
elements: str
service_container_entrypoint:
description: Entrypoint to use in the service container
type: str
required: false
default: ""
service_domains:
description: A list of domains which should be proxied to the main service container
@@ -304,6 +309,11 @@ argument_specs:
required: false
default: "[]"
elements: str
entrypoint:
description: Entrypoint to use in the container
type: str
required: false
default: ""
mounts:
description: List of bind mounts or volumes to be mounted inside the main service container.
type: list

View File

@@ -6,6 +6,7 @@
container_name: "{{ _service_additional_container.name }}"
container_image: "{{ _service_additional_container.image | default(service_container_image) }}"
container_command: "{{ _service_additional_container.command | default([]) }}"
container_entrypoint: "{{ _service_additional_container.entrypoint | default('') }}"
container_user: "{{ service_container_user }}"
container_mounts: "{{ _service_additional_container_mounts }}"
container_publish_ports: "{{ _service_additional_container.publish_ports | default([]) }}"

View File

@@ -29,6 +29,7 @@
container_name: "{{ service_name }}"
container_image: "{{ service_container_image }}"
container_command: "{{ service_container_command }}"
container_entrypoint: "{{ service_container_entrypoint }}"
container_user: "{{ service_container_user }}"
container_mounts: "{{ _service_container_mounts }}"
container_publish_ports: "{{ service_container_publish_ports }}"

View File

@@ -1,4 +1,9 @@
---
- name: Fail if service_name is empty
ansible.builtin.fail:
msg: service_name must not be empty
when: service_name | length == 0
- name: Fail if service_container_user is not string
ansible.builtin.fail:
msg: "service_container_user must be a string, not int."

View File

@@ -45,7 +45,7 @@ _service_all_template_mounts: >-
_service_template_mounts +
(
_service_additional_containers |
map(attribute='mounts') |
map(attribute='mounts', default=[]) |
flatten
)
) |