76 lines
2.8 KiB
Smarty
76 lines
2.8 KiB
Smarty
{{/*
|
|
Compile all warnings into a single message, and call fail.
|
|
*/}}
|
|
{{- define "app.validateValues" -}}
|
|
{{- $messages := list -}}
|
|
{{- $messages := append $messages (include "app.validateValues.nameGiven" .) -}}
|
|
{{- $messages := append $messages (include "app.validateValues.imageRepositoryGiven" .) -}}
|
|
{{- $messages := append $messages (include "app.validateValues.noSecretsData" .) -}}
|
|
{{- $messages := append $messages (include "app.validateValues.noConfigMapsData" .) -}}
|
|
{{- $messages := append $messages (include "app.validateValues.ingressHasPortsProvided" .) -}}
|
|
{{- $messages := without $messages "" -}}
|
|
{{- $message := join "\n" $messages -}}
|
|
|
|
{{- if $message -}}
|
|
{{- printf "\nVALUES VALIDATION:\n%s" $message | fail -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/* Validate value name is given */}}
|
|
{{- define "app.validateValues.nameGiven" -}}
|
|
{{- if not .Values.name -}}
|
|
app: no-name
|
|
You did not specify the application name for the generic app chart. Please
|
|
set name.
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/* Validate that the container repository name is given */}}
|
|
{{- define "app.validateValues.imageRepositoryGiven" -}}
|
|
{{- if and (not .Values.image.repository) (has .Values.appKind (list "Deployment" "StatefulSet" "DaemonSet")) -}}
|
|
app: no-image-repository
|
|
You did not specify the application image repository. Please
|
|
set image.repository.
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/* Validate that the container has command or args given */}}
|
|
{{- define "app.validateValues.containerCommandOrArgsGiven" -}}
|
|
{{- if not (or .Values.command .Values.args) -}}
|
|
app: no-command-or-args
|
|
You did not specify command or args for the application default
|
|
container. Please set command or args.
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/* Validate that secrets have data or stringData given */}}
|
|
{{- define "app.validateValues.noSecretsData" -}}
|
|
{{- range $_, $values := .Values.secrets -}}
|
|
{{- if not (or $values.data $values.stringData) -}}
|
|
app: no-secrets-data-or-stringdata
|
|
Each item of .secrets must have data or stringData field. Please
|
|
check the input configuration.
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/* Validate that configMaps have data given */}}
|
|
{{- define "app.validateValues.noConfigMapsData" -}}
|
|
{{- range $_, $values := .Values.configMaps -}}
|
|
{{- if not $values.data -}}
|
|
app: no-configmaps-data
|
|
Each item of .configMaps must have data field. Please
|
|
check the input configuration.
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/* Validate that the enabled ingress has service ports provided */}}
|
|
{{- define "app.validateValues.ingressHasPortsProvided" -}}
|
|
{{- if and .Values.ingress.enabled (not (or .Values.service.port .Values.service.ports)) -}}
|
|
app: no-service-ports-for-ingress
|
|
You enabled ingress, but did not specify service port or ports. Please set
|
|
service.port or service.ports.
|
|
{{- end -}}
|
|
{{- end -}}
|