212 lines
6.6 KiB
Smarty
212 lines
6.6 KiB
Smarty
{{/* vim: set filetype=mustache: */}}
|
|
|
|
{{/*
|
|
Create argo workflows server name and version as used by the chart label.
|
|
*/}}
|
|
{{- define "argo-workflows.server.fullname" -}}
|
|
{{- printf "%s-%s" (include "argo-workflows.fullname" .) .Values.server.name | trunc 63 | trimSuffix "-" -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Create controller name and version as used by the chart label.
|
|
*/}}
|
|
{{- define "argo-workflows.controller.fullname" -}}
|
|
{{- printf "%s-%s" (include "argo-workflows.fullname" .) .Values.controller.name | trunc 63 | trimSuffix "-" -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Expand the name of the chart.
|
|
*/}}
|
|
{{- define "argo-workflows.name" -}}
|
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Create a default fully qualified app name.
|
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
|
*/}}
|
|
{{- define "argo-workflows.fullname" -}}
|
|
{{- if .Values.fullnameOverride -}}
|
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
|
{{- else -}}
|
|
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
|
{{- if contains $name .Release.Name -}}
|
|
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
|
{{- else -}}
|
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Create chart name and version as used by the chart label.
|
|
*/}}
|
|
{{- define "argo-workflows.chart" -}}
|
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Create kubernetes friendly chart version label for the controller.
|
|
Examples:
|
|
image.tag = v3.4.4
|
|
output = v3.4.4
|
|
|
|
image.tag = v3.4.4@sha256:d06860f1394a94ac3ff8401126ef32ba28915aa6c3c982c7e607ea0b4dadb696
|
|
output = v3.4.4
|
|
*/}}
|
|
{{- define "argo-workflows.controller_chart_version_label" -}}
|
|
{{- regexReplaceAll "[^a-zA-Z0-9-_.]+" (regexReplaceAll "@sha256:[a-f0-9]+" (default (include "argo-workflows.defaultTag" .) .Values.controller.image.tag) "") "" | trunc 63 | quote -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Create kubernetes friendly chart version label for the server.
|
|
Examples:
|
|
image.tag = v3.4.4
|
|
output = v3.4.4
|
|
|
|
image.tag = v3.4.4@sha256:d06860f1394a94ac3ff8401126ef32ba28915aa6c3c982c7e607ea0b4dadb696
|
|
output = v3.4.4
|
|
*/}}
|
|
{{- define "argo-workflows.server_chart_version_label" -}}
|
|
{{- regexReplaceAll "[^a-zA-Z0-9-_.]+" (regexReplaceAll "@sha256:[a-f0-9]+" (default (include "argo-workflows.defaultTag" .) .Values.server.image.tag) "") "" | trunc 63 | quote -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Common labels
|
|
*/}}
|
|
{{- define "argo-workflows.labels" -}}
|
|
helm.sh/chart: {{ include "argo-workflows.chart" .context }}
|
|
{{ include "argo-workflows.selectorLabels" (dict "context" .context "component" .component "name" .name) }}
|
|
app.kubernetes.io/managed-by: {{ .context.Release.Service }}
|
|
app.kubernetes.io/part-of: argo-workflows
|
|
{{- with .context.Values.commonLabels }}
|
|
{{ toYaml .}}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Selector labels
|
|
*/}}
|
|
{{- define "argo-workflows.selectorLabels" -}}
|
|
{{- if .name -}}
|
|
app.kubernetes.io/name: {{ include "argo-workflows.name" .context }}-{{ .name }}
|
|
{{ end -}}
|
|
app.kubernetes.io/instance: {{ .context.Release.Name }}
|
|
{{- if .component }}
|
|
app.kubernetes.io/component: {{ .component }}
|
|
app: {{ .component }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Create the name of the controller configMap
|
|
*/}}
|
|
{{- define "argo-workflows.controller.config-map.name" -}}
|
|
{{- .Values.controller.configMap.name | default (printf "%s-%s" (include "argo-workflows.controller.fullname" .) "configmap") | trunc 63 | trimSuffix "-" -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Create the name of the server service account to use
|
|
*/}}
|
|
{{- define "argo-workflows.serverServiceAccountName" -}}
|
|
{{- if .Values.server.serviceAccount.create -}}
|
|
{{ default (include "argo-workflows.server.fullname" .) .Values.server.serviceAccount.name }}
|
|
{{- else -}}
|
|
{{ default "default" .Values.server.serviceAccount.name }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Create the name of the controller service account to use
|
|
*/}}
|
|
{{- define "argo-workflows.controllerServiceAccountName" -}}
|
|
{{- if .Values.controller.serviceAccount.create -}}
|
|
{{ default (include "argo-workflows.controller.fullname" .) .Values.controller.serviceAccount.name }}
|
|
{{- else -}}
|
|
{{ default "default" .Values.controller.serviceAccount.name }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for ingress
|
|
*/}}
|
|
{{- define "argo-workflows.ingress.apiVersion" -}}
|
|
{{- if semverCompare "<1.14-0" (include "argo-workflows.kubeVersion" $) -}}
|
|
{{- print "extensions/v1beta1" -}}
|
|
{{- else if semverCompare "<1.19-0" (include "argo-workflows.kubeVersion" $) -}}
|
|
{{- print "networking.k8s.io/v1beta1" -}}
|
|
{{- else -}}
|
|
{{- print "networking.k8s.io/v1" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the target Kubernetes version
|
|
*/}}
|
|
{{- define "argo-workflows.kubeVersion" -}}
|
|
{{- default .Capabilities.KubeVersion.Version .Values.kubeVersionOverride }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the default Argo Workflows app version
|
|
*/}}
|
|
{{- define "argo-workflows.defaultTag" -}}
|
|
{{- default .Chart.AppVersion .Values.images.tag }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return full image name including or excluding registry based on existence
|
|
*/}}
|
|
{{- define "argo-workflows.image" -}}
|
|
{{- if and .image.registry .image.repository -}}
|
|
{{ .image.registry }}/{{ .image.repository }}
|
|
{{- else -}}
|
|
{{ .image.repository }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for autoscaling
|
|
*/}}
|
|
{{- define "argo-workflows.apiVersion.autoscaling" -}}
|
|
{{- if .Values.apiVersionOverrides.autoscaling -}}
|
|
{{- print .Values.apiVersionOverrides.autoscaling -}}
|
|
{{- else if semverCompare "<1.23-0" (include "argo-workflows.kubeVersion" .) -}}
|
|
{{- print "autoscaling/v2beta1" -}}
|
|
{{- else -}}
|
|
{{- print "autoscaling/v2" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for GKE resources
|
|
*/}}
|
|
{{- define "argo-workflows.apiVersions.cloudgoogle" -}}
|
|
{{- if .Values.apiVersionOverrides.cloudgoogle -}}
|
|
{{- print .Values.apiVersionOverrides.cloudgoogle -}}
|
|
{{- else if .Capabilities.APIVersions.Has "cloud.google.com/v1" -}}
|
|
{{- print "cloud.google.com/v1" -}}
|
|
{{- else -}}
|
|
{{- print "cloud.google.com/v1beta1" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for monitoring CRDs
|
|
*/}}
|
|
{{- define "argo-workflows.apiVersions.monitoring" -}}
|
|
{{- if .Values.apiVersionOverrides.monitoring -}}
|
|
{{- print .Values.apiVersionOverrides.monitoring -}}
|
|
{{- else -}}
|
|
{{- print "monitoring.coreos.com/v1" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Expand the namespace of the release.
|
|
Allows overriding it for multi-namespace deployments in combined charts.
|
|
*/}}
|
|
{{- define "argo-workflows.namespace" -}}
|
|
{{- default .Release.Namespace .Values.namespaceOverride | trunc 63 | trimSuffix "-" -}}
|
|
{{- end }}
|