Skip to content
Snippets Groups Projects
_helpers.tpl 4.54 KiB
Newer Older
  • Learn to ignore specific revisions
  • #
    # Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
    # Ministerpräsidenten des Landes Schleswig-Holstein
    # Staatskanzlei
    # Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
    #
    # Lizenziert unter der EUPL, Version 1.2 oder - sobald
    # diese von der Europäischen Kommission genehmigt wurden -
    # Folgeversionen der EUPL ("Lizenz");
    # Sie dürfen dieses Werk ausschließlich gemäß
    # dieser Lizenz nutzen.
    # Eine Kopie der Lizenz finden Sie hier:
    #
    # https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
    #
    # Sofern nicht durch anwendbare Rechtsvorschriften
    # gefordert oder in schriftlicher Form vereinbart, wird
    # die unter der Lizenz verbreitete Software "so wie sie
    # ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
    # ausdrücklich oder stillschweigend - verbreitet.
    # Die sprachspezifischen Genehmigungen und Beschränkungen
    # unter der Lizenz sind dem Lizenztext zu entnehmen.
    #
    
    {{/* vim: set filetype=mustache: */}}
    
    {{/* 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" }}
    
    Felix Reichenbach's avatar
    Felix Reichenbach committed
    app.kubernetes.io/instance: eingang-adapter
    
    app.kubernetes.io/managed-by: {{ include "app.managedBy" . }}
    app.kubernetes.io/name: {{ .Release.Name }}
    app.kubernetes.io/part-of: ozgcloud
    app.kubernetes.io/version: {{ .Chart.Version }}
    app.kubernetes.io/namespace: {{ include "app.namespace" . }}
    helm.sh/chart: {{ include "app.chart" . }}
    ozg-component: eingangsadapter
    {{- 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" -}}
    {{ $length := len (.Values.ozgcloud).bezeichner }}
    {{- if ge 46 $length -}}
    {{ (.Values.ozgcloud).bezeichner }}
    {{- else -}}
    {{ required (printf "Bezeichner %s ist zu lang (max. 46 Zeichen)" (.Values.ozgcloud).bezeichner) nil }}
    {{- end -}}
    {{- end -}}
    
    {{- define "app.ingress.host" }}
    {{- if (.Values.ingress).adapterBezeichner }}
    {{- printf "%s-%s.%s" (include "app.ozgcloudBezeichner" .) .Values.ingress.adapterBezeichner .Values.baseUrl }}
    {{- else if eq (.Values.image).name "formcycle-adapter" }}
    {{- printf "%s-formcycle.%s" (include "app.ozgcloudBezeichner" .) .Values.baseUrl }}
    {{- else }}
    
    Felix Reichenbach's avatar
    Felix Reichenbach committed
    {{- printf "%s-eingang.%s" (include "app.ozgcloudBezeichner" .) .Values.baseUrl }}
    
    {{- end }}
    {{- end -}}
    
    {{- define "app.serviceAccountName" -}}
    {{- if (.Values.serviceAccount).name }}
    {{- printf "%s" .Values.serviceAccount.name }}
    {{- else if eq (.Values.image).name "formcycle-adapter" }}
    {{- printf "formcycle-adapter-service-account" }}
    {{- else if eq (.Values.image).name "enterprise-adapter" }}
    {{- printf "enterprise-adapter-service-account" }}
    
    {{- else if eq (.Values.image).name "forwarder" }}
    {{- printf "forwarder-service-account" }}
    
    {{- end }}
    {{- 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 -}}