Skip to content
Snippets Groups Projects
Select Git revision
  • 850e9c96e4f82a48b7a9c481e946ef9fc1b7d65b
  • main default protected
  • release
  • master-interface-proto4
  • ozg-5634-ozgcloud-ingress
  • OZG-3322_connect_to_mongodb_over_tls
  • 2.20.0
  • 2.19.0
  • 2.18.0
  • 2.17.0
  • 2.16.0
  • 2.15.0
  • 2.14.0
  • 2.13.0
  • 2.12.0
  • 2.11.0
  • 2.10.1
  • 2.10.0
  • 2.9.0
  • 2.8.0
  • 2.7.1
  • 2.7.0
  • 2.6.0
  • 2.5.1
  • 2.5.0
  • 2.4.0
26 results

_helpers.tpl

Blame
  • _helpers.tpl 3.70 KiB
    {{/* vim: set filetype=mustache: */}}
    
    {{/* Truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec) */}}
    {{/* Name */}}
    {{- define "app.name" -}}
    {{- default .Release.Name | toString | trunc 63 | trimSuffix "-" -}}
    {{- end -}}
    
    {{/* Namespace */}}
    {{- define "app.namespace" -}}
    {{- default .Release.Namespace | toString | trunc 63 | trimSuffix "-" -}}
    {{- end -}}
    
    {{/* Version */}}
    {{- define "app.version" -}}
    {{- default .Chart.Version | toString | trunc 63 | trimSuffix "-" -}}
    {{- end -}}
    
    {{/* Chart: Name + Version */}}
    {{- define "app.chart" -}}
    {{ printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
    {{- end -}}
    
    {{/* Managed-by -> On Helm, this value is always Helm */}}
    {{- define "app.managedBy" -}}
    {{- default .Release.Service | toString | trunc 63 | trimSuffix "-" -}}
    {{- end -}}
    
    {{/* Default Labels: Helm recommended best-practice labels https://helm.sh/docs/chart_best_practices/labels/ */}}
    {{- define "app.defaultLabels" }}
    app.kubernetes.io/instance: user-manager
    app.kubernetes.io/managed-by: {{ include "app.managedBy" . }}
    app.kubernetes.io/name: {{ include "app.name" . }}
    app.kubernetes.io/namespace: {{ include "app.namespace" . }}
    app.kubernetes.io/part-of: kop
    app.kubernetes.io/version: {{ include "app.version" . }}
    helm.sh/chart: {{ include "app.chart" . }}
    {{- end -}}
    
    {{- define "app.matchLabels" }}
    app.kubernetes.io/name: {{ include "app.name" . }}
    app.kubernetes.io/namespace: {{ include "app.namespace" . }}
    {{- end -}}
    
    {{- define "app.imagePullSecret" }}
    {{- with .Values.imageCredentials }}
    {{- printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}}}" .registry .username .password .email (printf "%s:%s" .username .password | b64enc) | b64enc }}
    {{- end }}
    {{- end }}
    
    {{- define "app.cronjobScheduler" }}
    {{- printf "%d %d * * *" (div (randNumeric 2) 2) (div (randNumeric 1) 2) -}}
    {{- end -}}
    
    {{- define "app.kopEnvironment" -}}
    {{- required "Environment muss angegeben sein" (.Values.kop).environment -}}
    {{- end -}}
    
    {{- define "app.databasePassword" -}}
    {{- required "Database Passwort muss angegeben sein" (.Values.database).password -}}
    {{- end -}}
    
    {{- define "app.resources" }}
    {{- if eq (include "app.kopEnvironment" . ) "prod" }}
      limits:
        cpu: "500m"
        memory: "2000Mi"
      requests:
        cpu: "50m"
        memory: "250Mi"
    {{- else }}
      limits:
        cpu: "500m"
        memory: "100Mi"
      requests:
        cpu: "50m"
        memory: "100Mi"
    {{- end }}
    {{- end -}}
    
    {{- define "app.ssoServerUrl" -}}
    {{- if contains "https://" .Values.sso.serverUrl -}}
    {{- .Values.sso.serverUrl -}}
    {{- else -}}
    {{- printf "https://%s" .Values.sso.serverUrl -}}
    {{- end -}}
    {{- end -}}
    
    {{- define "app.kopBundesland" -}}
    {{- required "kop.bundesland must be set " (.Values.kop).bundesland }}
    {{- end -}}
    
    {{- define "app.kopBezeichner" -}}
    {{- if (.Values.kop).bezeichner -}}
    
    {{ $length := len (.Values.kop).bezeichner }}
    {{- if lt 27 $length -}}
    {{ required (printf "Bezeichner %s ist zu lang (max. 27 Zeichen)" (.Values.kop).bezeichner) nil }}
    {{- else -}}
    {{- required "Bezeichner muss angegeben sein" (.Values.kop).bezeichner -}}
    {{- end -}}
    {{- else -}}
    {{- required "Bezeichner muss angegeben sein" (.Values.kop).bezeichner -}}
    {{- end -}}
    {{- end -}}
    
    {{- define "app.ssoRealm" -}}
    {{ printf "%s-%s-%s" (include "app.kopBundesland" .) ( include "app.kopBezeichner" . ) ( include "app.kopEnvironment" . ) | trunc 63 | trimSuffix "-" }}
    {{- end -}}
    
    {{- define "app.baseUrl" -}}
    {{ printf "https://%s-%s.%s" (include "app.kopBezeichner" .) (include "app.name" .) .Values.baseUrl }}
    {{- end -}}
    
    {{- define "app.goofyAddress" -}}
    {{ printf "https://%s.%s" (include "app.kopBezeichner" .) .Values.baseUrl }}
    {{- end -}}