mirror of
https://github.com/truenas/charts.git
synced 2026-06-18 01:26:53 +08:00
update primary utils to catch edge cases and add tests
This commit is contained in:
@@ -33,6 +33,23 @@ tests:
|
||||
- failedTemplate:
|
||||
errorMessage: Port is required on enabled services. Service (main)
|
||||
|
||||
- it: should fail with multiple port, but none set as primary
|
||||
set:
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
enabled: true
|
||||
primary: false
|
||||
port: 65535
|
||||
main2:
|
||||
enabled: true
|
||||
primary: false
|
||||
port: 65534
|
||||
asserts:
|
||||
- failedTemplate:
|
||||
errorMessage: At least one port must be set as primary in service (main)
|
||||
|
||||
- it: should fail without ports dict in an enabled service
|
||||
set:
|
||||
service:
|
||||
|
||||
@@ -15,6 +15,19 @@ tests:
|
||||
- isKind:
|
||||
of: Deployment
|
||||
|
||||
- it: should fail with multiple service accounts, without any set as primary
|
||||
set:
|
||||
rbac:
|
||||
main:
|
||||
enabled: true
|
||||
primary: false
|
||||
main2:
|
||||
enabled: true
|
||||
primary: false
|
||||
asserts:
|
||||
- failedTemplate:
|
||||
errorMessage: At least one RBAC must be set as primary
|
||||
|
||||
- it: should fail with no rules in rbac
|
||||
set:
|
||||
rbac:
|
||||
|
||||
@@ -12,6 +12,27 @@ tests:
|
||||
- isKind:
|
||||
of: Deployment
|
||||
|
||||
- it: should fail with multiple services, without any set as primary
|
||||
set:
|
||||
service:
|
||||
main:
|
||||
enabled: true
|
||||
primary: false
|
||||
ports:
|
||||
main:
|
||||
enabled: true
|
||||
port: 65535
|
||||
main2:
|
||||
enabled: true
|
||||
primary: false
|
||||
ports:
|
||||
main2:
|
||||
enabled: true
|
||||
port: 65534
|
||||
asserts:
|
||||
- failedTemplate:
|
||||
errorMessage: At least one Service must be set as primary
|
||||
|
||||
- it: should fail without externalName on ExternalName service
|
||||
set:
|
||||
service:
|
||||
|
||||
@@ -13,6 +13,19 @@ tests:
|
||||
- isKind:
|
||||
of: Deployment
|
||||
|
||||
- it: should fail with multiple service accounts, without any set as primary
|
||||
set:
|
||||
serviceAccount:
|
||||
main:
|
||||
enabled: true
|
||||
primary: false
|
||||
main2:
|
||||
enabled: true
|
||||
primary: false
|
||||
asserts:
|
||||
- failedTemplate:
|
||||
errorMessage: At least one Service Account must be set as primary
|
||||
|
||||
- it: should pass with service account enabled
|
||||
documentIndex: &serviceAccountDoc 0
|
||||
set:
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
{{/* A dict containing .values and .serviceName is passed when this function is called */}}
|
||||
{{/* Return the primary port for a given Service object. */}}
|
||||
{{- define "ix.v1.common.lib.util.service.ports.primary" -}}
|
||||
{{- $svcName := .svcName -}}
|
||||
{{- $enabledPorts := dict -}}
|
||||
{{- range $name, $port := .values.ports -}}
|
||||
{{- if $port.enabled -}}
|
||||
{{- $_ := set $enabledPorts $name . -}}
|
||||
{{- $_ := set $enabledPorts $name $port -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
@@ -25,7 +26,13 @@
|
||||
{{- end -}}
|
||||
|
||||
{{- if not $result -}}
|
||||
{{- $result = keys $enabledPorts | first -}}
|
||||
{{- if eq (len $enabledPorts) 1 -}}
|
||||
{{- $result = keys $enabledPorts | first -}}
|
||||
{{- else -}}
|
||||
{{- if $enabledPorts -}}
|
||||
{{- fail (printf "At least one port must be set as primary in service (%s)" $svcName) -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $result -}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
{{- $enabledrbacs := dict -}}
|
||||
{{- range $name, $rbac := .Values.rbac -}}
|
||||
{{- if $rbac.enabled -}}
|
||||
{{- $_ := set $enabledrbacs $name . -}}
|
||||
{{- $_ := set $enabledrbacs $name $rbac -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
@@ -20,7 +20,13 @@
|
||||
{{- end -}}
|
||||
|
||||
{{- if not $result -}}
|
||||
{{- $result = keys $enabledrbacs | first -}}
|
||||
{{- if eq (len $enabledrbacs) 1 -}}
|
||||
{{- $result = keys $enabledrbacs | first -}}
|
||||
{{- else -}}
|
||||
{{- if $enabledrbacs -}}
|
||||
{{- fail "At least one RBAC must be set as primary" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $result -}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
{{- $enabledServices := dict -}}
|
||||
{{- range $name, $service := .Values.service -}}
|
||||
{{- if $service.enabled -}}
|
||||
{{- $_ := set $enabledServices $name . -}}
|
||||
{{- $_ := set $enabledServices $name $service -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
@@ -20,7 +20,13 @@
|
||||
{{- end -}}
|
||||
|
||||
{{- if not $result -}}
|
||||
{{- $result = keys $enabledServices | first -}}
|
||||
{{- if eq (len $enabledServices) 1 -}}
|
||||
{{- $result = keys $enabledServices | first -}}
|
||||
{{- else -}}
|
||||
{{- if $enabledServices -}}
|
||||
{{- fail "At least one Service must be set as primary" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $result -}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
{{- $enabledServiceAccounts := dict -}}
|
||||
{{- range $name, $serviceAccount := .Values.serviceAccount -}}
|
||||
{{- if $serviceAccount.enabled -}}
|
||||
{{- $_ := set $enabledServiceAccounts $name . -}}
|
||||
{{- $_ := set $enabledServiceAccounts $name $serviceAccount -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
@@ -20,7 +20,13 @@
|
||||
{{- end -}}
|
||||
|
||||
{{- if not $result -}}
|
||||
{{- $result = keys $enabledServiceAccounts | first -}}
|
||||
{{- if eq (len $enabledServiceAccounts) 1 -}}
|
||||
{{- $result = keys $enabledServiceAccounts | first -}}
|
||||
{{- else -}}
|
||||
{{- if $enabledServiceAccounts -}}
|
||||
{{- fail "At least one Service Account must be set as primary" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $result -}}
|
||||
|
||||
Reference in New Issue
Block a user