charts/dial-core/templates/_helpers.tpl (135 lines of code) (raw):

{{/* Return name for backend resources */}} {{- define "dialCore.names.fullname" -}} {{- template "common.names.fullname" . -}} {{- end -}} {{/* Create the labels to use */}} {{- define "dialCore.labels.standard" -}} {{- include "common.labels.standard" . }} app.kubernetes.io/component: core {{- end -}} {{/* Create the matchLabels to use */}} {{- define "dialCore.labels.matchLabels" -}} {{- include "common.labels.matchLabels" . }} app.kubernetes.io/component: core {{- end -}} {{/* Create the name of the service account to use */}} {{- define "dialCore.serviceAccountName" -}} {{- if .Values.serviceAccount.create -}} {{ default (include "dialCore.names.fullname" .) .Values.serviceAccount.name }} {{- else -}} {{ default "default" .Values.serviceAccount.name }} {{- end -}} {{- end -}} {{/* Compile all warnings into a single message. {{- $messages := append $messages (include "dialCore.validateValues.foo" .) -}} {{- $messages := append $messages (include "dialCore.validateValues.bar" .) -}} */}} {{- define "dialCore.validateValues" -}} {{- $messages := list -}} {{- $messages := without $messages "" -}} {{- $message := join "\n" $messages -}} {{- if $message -}} {{- printf "\nVALUES VALIDATION:\n%s" $message | fail -}} {{- end -}} {{- end -}} {{/* Return name for logger resources */}} {{- define "dialCoreLogger.names.fullname" -}} {{- template "common.names.fullname" . -}}-logger {{- end -}} {{/* Return name for encryption secret */}} {{- define "dialCore.encryptionSecretName" -}} {{- template "dialCore.names.fullname" . -}}-encryption {{- end -}} {{/* vim: set filetype=mustache: */}} {{/* Validate dial-core required passwords are not empty. Usage: {{ include "dialCore.values.requirePasswords" (dict "secret" "secretName" "subchart" false "context" $) }} Params: - secret - String - Required. Name of the secret where dial-core values are stored, e.g: "core-encryption" - subchart - Boolean - Optional. Whether dial-core is used as subchart or not. Default: false */}} {{- define "dialCore.values.requirePasswords" -}} {{- $existingSecret := include "dialCore.values.existingSecret" . -}} {{- $enabled := include "dialCore.values.enabled" . -}} {{- $authPrefix := include "dialCore.values.key.encryption" . -}} {{- $valueKeySecret := printf "%s.secret" $authPrefix -}} {{- $valueKeyKey := printf "%s.key" $authPrefix -}} {{- if and (or (not $existingSecret) (eq $existingSecret "\"\"")) (eq $enabled "true") -}} {{- $requiredPasswords := list -}} {{- $requiredSecret := dict "valueKey" $valueKeySecret "secret" .secret "field" "aidial.encryption.secret" -}} {{- $requiredPasswords = append $requiredPasswords $requiredSecret -}} {{- $requiredKey := dict "valueKey" $valueKeyKey "secret" .secret "field" "aidial.encryption.key" -}} {{- $requiredPasswords = append $requiredPasswords $requiredKey -}} {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} {{- end -}} {{- end -}} {{/* Auxiliary function to get the right value for existingSecret. Usage: {{ include "dialCore.values.existingSecret" (dict "context" $) }} Params: - subchart - Boolean - Optional. Whether dial-core is used as subchart or not. Default: false */}} {{- define "dialCore.values.existingSecret" -}} {{- if .subchart -}} {{- .context.Values.core.configuration.encryption.existingSecret | quote -}} {{- else -}} {{- .context.Values.configuration.encryption.existingSecret | quote -}} {{- end -}} {{- end -}} {{/* Auxiliary function to get the right value for enabled dial-core. Usage: {{ include "dialCore.values.enabled" (dict "context" $) }} */}} {{- define "dialCore.values.enabled" -}} {{- if .subchart -}} {{- printf "%v" .context.Values.core.enabled -}} {{- else -}} {{- printf "%v" (not .context.Values.enabled) -}} {{- end -}} {{- end -}} {{/* Auxiliary function to get the right value for the key auth Usage: {{ include "dialCore.values.key.encryption" (dict "subchart" "true" "context" $) }} Params: - subchart - Boolean - Optional. Whether dial-core is used as subchart or not. Default: false */}} {{- define "dialCore.values.key.encryption" -}} {{- if .subchart -}} core.configuration.encryption {{- else -}} configuration.encryption {{- end -}} {{- end -}} {{/* Return Redis configuration for dial-core for dependency chart */}} {{- define "dialCore.redisSettings" -}} {{- if .Values.redis.enabled -}} - name: aidial.redis.clusterServersConfig.nodeAddresses value: '[{{- printf "redis://%s:6379" (include "common.names.fullname" .Subcharts.redis) | quote -}}]' {{- if .Values.redis.usePassword }} - name: aidial.redis.clusterServersConfig.password valueFrom: secretKeyRef: name: {{ include "redis-cluster.secretName" .Subcharts.redis }} key: {{ include "redis-cluster.secretPasswordKey" .Subcharts.redis }} {{- end -}} {{- end -}} {{- end -}}