Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
54 lines
2.1 KiB
Smarty
54 lines
2.1 KiB
Smarty
{{/*
|
|
Chart name + release name produce a unique resource name.
|
|
*/}}
|
|
{{- define "vergabe.fullname" -}}
|
|
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
|
{{- printf "%s" $name | trunc 63 | trimSuffix "-" -}}
|
|
{{- end -}}
|
|
|
|
{{- define "vergabe.labels" -}}
|
|
app.kubernetes.io/name: {{ include "vergabe.fullname" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
app.kubernetes.io/part-of: railiance-apps
|
|
helm.sh/chart: {{ printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" }}
|
|
{{- end -}}
|
|
|
|
{{- define "vergabe.selectorLabels" -}}
|
|
app.kubernetes.io/name: {{ include "vergabe.fullname" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
{{- end -}}
|
|
|
|
{{- define "vergabe.image" -}}
|
|
{{- if .Values.image.digest -}}
|
|
{{- if not (regexMatch "^sha256:[a-f0-9]{64}$" .Values.image.digest) -}}
|
|
{{- fail "image.digest must be a sha256 OCI digest" -}}
|
|
{{- end -}}
|
|
{{- printf "%s@%s" .Values.image.repository .Values.image.digest -}}
|
|
{{- else -}}
|
|
{{- if not .Values.image.tag -}}
|
|
{{- fail "image.tag is required — pin it in helm/vergabe-teilnahme-values.yaml" -}}
|
|
{{- end -}}
|
|
{{- printf "%s:%s" .Values.image.repository .Values.image.tag -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- define "vergabe.validatePilot" -}}
|
|
{{- if .Values.pilot.enabled -}}
|
|
{{- if ne (int .Values.replicaCount) 1 -}}
|
|
{{- fail "invited pilot requires exactly one application replica" -}}
|
|
{{- end -}}
|
|
{{- if or (not .Values.persistence.media.enabled) (not .Values.persistence.appState.enabled) -}}
|
|
{{- fail "invited pilot requires persistent media and appState" -}}
|
|
{{- end -}}
|
|
{{- if not .Values.image.digest -}}
|
|
{{- fail "invited pilot requires an immutable image.digest" -}}
|
|
{{- end -}}
|
|
{{- $mediaClaim := default (printf "%s-media" (include "vergabe.fullname" .)) .Values.persistence.media.existingClaim -}}
|
|
{{- $stateClaim := default (printf "%s-app-state" (include "vergabe.fullname" .)) .Values.persistence.appState.existingClaim -}}
|
|
{{- if eq $mediaClaim $stateClaim -}}
|
|
{{- fail "media and appState must use distinct claims; operational state must not be downloadable" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|