improve some validations on ports

This commit is contained in:
Stavros kois
2022-11-25 17:51:49 +02:00
parent 4df27956f1
commit 476d57c85f
3 changed files with 19 additions and 3 deletions

View File

@@ -33,6 +33,15 @@ tests:
- failedTemplate:
errorMessage: Port is required on enabled services. Service (main)
- it: should fail without ports dict in an enabled service
set:
service:
other:
enabled: true
asserts:
- failedTemplate:
errorMessage: At least one port is required in an enabled service (other)
- it: should fail with disabled port on enabled service
set:
service:

View File

@@ -30,6 +30,10 @@ tests:
other:
enabled: true
primary: true
ports:
other:
enabled: true
port: 80
asserts:
- failedTemplate:
errorMessage: More than one services are set as primary. This is not supported.

View File

@@ -6,9 +6,12 @@ can be dynamically configured via an env var.
{{/* Ports included by the container. */}}
{{- define "ix.v1.common.container.ports" -}}
{{ $ports := list }}
{{- range .Values.service -}}
{{- if .enabled -}}
{{- range $name, $port := .ports -}}
{{- range $svcName, $svc := .Values.service -}}
{{- if $svc.enabled -}}
{{- if not $svc.ports -}}
{{- fail (printf "At least one port is required in an enabled service (%s)" $svcName) -}}
{{- end -}}
{{- range $name, $port := $svc.ports -}}
{{- $_ := set $port "name" $name -}}
{{- $ports = mustAppend $ports $port -}}
{{- end -}}