service: Support udp port mappings

This commit is contained in:
uumas
2026-06-08 17:29:44 +03:00
parent 284ad35406
commit 40357a17ad
3 changed files with 21 additions and 3 deletions

View File

@@ -113,6 +113,14 @@ argument_specs:
description: Container port to publish description: Container port to publish
type: int type: int
required: true required: true
protocol:
description: Protocol of the port
type: str
required: false
default: tcp
choices:
- tcp
- udp
type: type:
description: Whether to publish as a port or socket description: Whether to publish as a port or socket
type: str type: str
@@ -495,6 +503,14 @@ argument_specs:
description: Container port to publish description: Container port to publish
type: int type: int
required: true required: true
protocol:
description: Protocol of the port
type: str
required: false
default: tcp
choices:
- tcp
- udp
type: type:
description: Whether to publish as a port or socket description: Whether to publish as a port or socket
type: str type: str

View File

@@ -152,6 +152,7 @@ _service_additional_container_publish_ports: >-
_service_additional_container_publish_port_ports | map(attribute='host_port'), _service_additional_container_publish_port_ports | map(attribute='host_port'),
_service_additional_container_publish_port_ports | map(attribute='container_port') _service_additional_container_publish_port_ports | map(attribute='container_port')
) | map('join', ':') ) | map('join', ':')
| zip(_service_additional_container_publish_port_ports | map(attribute='protocol')) | map('join', '/')
}} }}
_service_additional_volume_mounts: "{{ _service_additional_container.mounts | selectattr('type', '==', 'volume') }}" _service_additional_volume_mounts: "{{ _service_additional_container.mounts | selectattr('type', '==', 'volume') }}"

View File

@@ -1,7 +1,7 @@
--- ---
_service_container_publish_ports_with_defaults: >- _service_container_publish_ports_with_defaults: >-
{{ {{
([{ 'type': 'port', 'host_address': '0.0.0.0' }] * service_container_publish_ports | length) ([{ 'type': 'port', 'host_address': '0.0.0.0', 'protocol': 'tcp' }] * service_container_publish_ports | length)
| zip(service_container_publish_ports) | zip(service_container_publish_ports)
| map('combine') | map('combine')
}} }}
@@ -13,9 +13,10 @@ _service_container_publish_port_ports: >-
_service_container_publish_ports: >- _service_container_publish_ports: >-
{{ {{
_service_container_publish_port_ports | map(attribute='host_address') | _service_container_publish_port_ports | map(attribute='host_address')
zip( | zip(
_service_container_publish_port_ports | map(attribute='host_port'), _service_container_publish_port_ports | map(attribute='host_port'),
_service_container_publish_port_ports | map(attribute='container_port') _service_container_publish_port_ports | map(attribute='container_port')
) | map('join', ':') ) | map('join', ':')
| zip(_service_container_publish_port_ports | map(attribute='protocol')) | map('join', '/')
}} }}