Skip to content
Snippets Groups Projects
_helpers.tpl 3.08 KiB
Newer Older
  • Learn to ignore specific revisions
  • 
    {{/* error check 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec) */}}
    {{/* Namespace */}}
    {{- define "app.namespace" -}}
    {{- if gt (len (.Release.Namespace)) 63 -}}
    {{- fail (printf ".Release.Namespace %s ist zu lang (max. 63 Zeichen)" .Release.Namespace) -}}
    {{- end -}}
    {{ printf "%s" .Release.Namespace }}
    {{- end -}}
    
    {{/* Chart: Name + Version */}}
    {{- define "app.chart" -}}
    {{- if gt (len (printf "%s-%s" .Chart.Name .Chart.Version)) 63 -}}
    {{- fail (printf ".Chart.Name-.Chart.Version %s-%s ist zu lang (max. 63 Zeichen)" .Chart.Name .Chart.Version) -}}
    {{- end -}}
    {{ printf "%s-%s" .Chart.Name .Chart.Version }}
    {{- end -}}
    
    {{/* Managed-by -> On Helm, this value is always Helm */}}
    {{- define "app.managedBy" -}}
    {{- if gt (len (.Release.Service)) 63 -}}
    {{- fail (printf ".Release.Service %s ist zu lang (max. 63 Zeichen)" .Release.Service) -}}
    {{- end -}}
    {{ printf "%s" .Release.Service }}
    {{- end -}}
    
    
    {{/* Default Labels: Helm recommended best-practice labels https://helm.sh/docs/chart_best_practices/labels/ */}}
    {{- define "app.defaultLabels" }}
    app.kubernetes.io/instance: xta-test-server
    app.kubernetes.io/managed-by: {{ include "app.managedBy" . }}
    app.kubernetes.io/name: {{ .Release.Name }}
    app.kubernetes.io/namespace: {{ include "app.namespace" . }}
    app.kubernetes.io/part-of: ozgcloud
    app.kubernetes.io/version: {{ .Chart.Version }}
    helm.sh/chart: {{ include "app.chart" . }}
    ozgcloud-mongodb-client: "true"
    {{- end -}}
    
    {{- define "app.matchLabels" }}
    app.kubernetes.io/name: {{ .Release.Name }}
    app.kubernetes.io/namespace: {{ include "app.namespace" . }}
    {{- end -}}
    
    
    {{- define "app.envSpringProfiles" }}
    {{- if (.Values.env).overrideSpringProfiles -}}
    {{ printf "%s" (.Values.env).overrideSpringProfiles }}
    {{- else -}}
    {{ printf "oc, %s" (include "app.ozgcloudEnvironment" . ) }}
    {{- end -}}
    {{- end -}}
    
    {{- define "app.ozgcloudEnvironment" -}}
    {{- required "Environment muss angegeben sein" (.Values.ozgcloud).environment -}}
    {{- end -}}
    
    {{- define "app.ozgcloudBezeichner" -}}
    {{- required "ozgcloud.bezeichner muss angegeben sein" (.Values.ozgcloud).bezeichner -}}
    {{- if lt 46 (len (.Values.ozgcloud).bezeichner) -}}
    {{ fail (printf "ozgcloud.bezeichner %s ist zu lang (max. 46 Zeichen)" (.Values.ozgcloud).bezeichner) }}
    {{- end -}}
    {{- end -}}
    
    {{- define "app.baseDomain" -}}
    {{- printf "%s.%s" (include "app.ozgcloudBezeichner" .) (include "app.baseUrl" .) }}
    {{- end -}}
    
    {{- define "app.baseUrl" -}}
    {{- required "baseUrl muss angegeben sein" .Values.baseUrl }}
    {{- end -}}
    
    
    Martin's avatar
    Martin committed
    {{- define "app.getServiceAccountName" -}}
    
    {{ printf "%s" ( (.Values.serviceAccount).name | default "xta-test-server-service-account" ) }}
    {{- end -}}
    
    {{- define "app.getCustomList" -}}
    {{- with (.Values.env).customList -}}
    {{- if kindIs "map" . -}}
    {{ include "app.dictToList" . }}
    {{- else if kindIs "slice" . -}}
    {{ . | toYaml }}
    {{- end -}}
    {{- end -}}
    {{- end -}}
    
    {{- define "app.dictToList" -}}
    {{- $customList := list -}}
    {{- range $key, $value := . -}}
    {{- $customList = append $customList (dict "name" $key "value" $value) }}
    {{- end -}}
    {{- $customList | toYaml -}}
    {{- end -}}