191 lines
5.3 KiB
Smarty
191 lines
5.3 KiB
Smarty
|
|
{{/* vim: set filetype=mustache: */}}
|
||
|
|
|
||
|
|
{{ define "tpl.url.ensureTrailingSlash" -}}
|
||
|
|
{{ $url := . | trimSuffix "/" -}}
|
||
|
|
{{ printf "%s/" $url }}
|
||
|
|
{{- end -}}
|
||
|
|
|
||
|
|
{{ define "tpl.chart.deprecated" -}}
|
||
|
|
{{ $val := index . 0 -}}
|
||
|
|
{{ $name := index . 1 -}}
|
||
|
|
{{ $msg := "" -}}
|
||
|
|
{{ if ge (len .) 3 -}}
|
||
|
|
{{ $msg = index . 2 -}}
|
||
|
|
{{ end -}}
|
||
|
|
{{ if $val -}}
|
||
|
|
{{ printf "[WARNING] Deprecated: %s is deprecated and will be removed in a future release.%s\n" $name $msg | indent 0 }}
|
||
|
|
{{ end -}}
|
||
|
|
{{ end -}}
|
||
|
|
|
||
|
|
{{ define "tpl.chart.replace" -}}
|
||
|
|
{{ $val := index . 0 -}}
|
||
|
|
{{ $old := index . 1 -}}
|
||
|
|
{{ $new := index . 2 -}}
|
||
|
|
{{ if $val -}}
|
||
|
|
{{ printf "[WARNING] Deprecated: %s is deprecated. Please use %s instead.\n" $old $new | indent 0 }}
|
||
|
|
{{ end -}}
|
||
|
|
{{ end -}}
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Expand the name of the chart.
|
||
|
|
*/}}
|
||
|
|
{{- define "rancher.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 "rancher.fullname" -}}
|
||
|
|
{{- $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 -}}
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Create a default fully qualified chart name.
|
||
|
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||
|
|
*/}}
|
||
|
|
{{- define "rancher.chartname" -}}
|
||
|
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | trunc 63 | trimSuffix "-" -}}
|
||
|
|
{{- end -}}
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Prepare the Rancher Image value w/ new fields as opt-in for now.
|
||
|
|
*/}}
|
||
|
|
{{ define "rancher.image" -}}
|
||
|
|
{{ if .Values.rancherImage -}}
|
||
|
|
{{ .Values.rancherImage -}}
|
||
|
|
{{ else -}}
|
||
|
|
{{ printf "%s%s" (include "defaultOrOverrideRegistry" (list . (default "" .Values.image.registry))) (include "rancher.imageRepo" .) -}}
|
||
|
|
{{ end -}}
|
||
|
|
{{ end -}}
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Prepare the Rancher Image repo value w/ new fields as opt-in for now.
|
||
|
|
*/}}
|
||
|
|
{{ define "rancher.imageRepo" -}}
|
||
|
|
{{ default "rancher/rancher" .Values.image.repository -}}
|
||
|
|
{{ end -}}
|
||
|
|
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Prepare the Rancher Image Tag value w/ new fields as opt-in for now.
|
||
|
|
*/}}
|
||
|
|
{{ define "rancher.imageTag" -}}
|
||
|
|
{{ default .Chart.AppVersion (default .Values.image.tag (default "" .Values.rancherImageTag)) -}}
|
||
|
|
{{ end -}}
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Prepare the Rancher Image Pull Policy value w/ new fields as opt-in for now.
|
||
|
|
*/}}
|
||
|
|
{{ define "rancher.imagePullPolicy" -}}
|
||
|
|
{{ default "IfNotPresent" (default .Values.image.pullPolicy (default "" .Values.rancherImagePullPolicy)) -}}
|
||
|
|
{{ end -}}
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Render Values in configurationSnippet
|
||
|
|
*/}}
|
||
|
|
{{- define "configurationSnippet" -}}
|
||
|
|
{{- tpl (.Values.ingress.configurationSnippet) . | nindent 6 -}}
|
||
|
|
{{- end -}}
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Generate the labels.
|
||
|
|
*/}}
|
||
|
|
{{- define "rancher.labels" -}}
|
||
|
|
app: {{ template "rancher.fullname" . }}
|
||
|
|
chart: {{ template "rancher.chartname" . }}
|
||
|
|
heritage: {{ .Release.Service }}
|
||
|
|
release: {{ .Release.Name }}
|
||
|
|
{{- end }}
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Generate the labels for pre-upgrade-hook.
|
||
|
|
*/}}
|
||
|
|
{{- define "rancher.preupgradelabels" -}}
|
||
|
|
app: {{ template "rancher.fullname" . }}-pre-upgrade
|
||
|
|
chart: {{ template "rancher.chartname" . }}
|
||
|
|
heritage: {{ .Release.Service }}
|
||
|
|
release: {{ .Release.Name }}
|
||
|
|
{{- end }}
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Generate the Kubernetes recommended common labels.
|
||
|
|
|
||
|
|
Usage:
|
||
|
|
include "rancher.commonLabels" (dict "context" . "component" "xyz" "partOf" "abc")
|
||
|
|
*/}}
|
||
|
|
{{- define "rancher.commonLabels" -}}
|
||
|
|
{{- $ctx := .context }}
|
||
|
|
app.kubernetes.io/name: {{ $ctx.Chart.Name | quote }}
|
||
|
|
app.kubernetes.io/instance: {{ $ctx.Release.Name | quote }}
|
||
|
|
app.kubernetes.io/version: {{ $ctx.Chart.AppVersion | quote }}
|
||
|
|
app.kubernetes.io/managed-by: {{ $ctx.Release.Service | quote }}
|
||
|
|
{{- with .component }}
|
||
|
|
app.kubernetes.io/component: {{ . | quote }}
|
||
|
|
{{- end }}
|
||
|
|
{{- with .partOf }}
|
||
|
|
app.kubernetes.io/part-of: {{ . | quote }}
|
||
|
|
{{- end }}
|
||
|
|
{{- end }}
|
||
|
|
|
||
|
|
# Windows Support
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Windows cluster will add default taint for linux nodes,
|
||
|
|
add below linux tolerations to workloads could be scheduled to those linux nodes
|
||
|
|
*/}}
|
||
|
|
|
||
|
|
{{- define "linux-node-tolerations" -}}
|
||
|
|
- key: "cattle.io/os"
|
||
|
|
value: "linux"
|
||
|
|
effect: "NoSchedule"
|
||
|
|
operator: "Equal"
|
||
|
|
{{- end -}}
|
||
|
|
|
||
|
|
{{- define "linux-node-selector-terms" -}}
|
||
|
|
{{- $key := "kubernetes.io/os" -}}
|
||
|
|
- key: {{ $key }}
|
||
|
|
operator: NotIn
|
||
|
|
values:
|
||
|
|
- windows
|
||
|
|
{{- end -}}
|
||
|
|
|
||
|
|
{{ define "system_default_registry" -}}
|
||
|
|
{{ if .Values.systemDefaultRegistry -}}
|
||
|
|
{{ include "tpl.url.ensureTrailingSlash" .Values.systemDefaultRegistry }}
|
||
|
|
{{- end -}}
|
||
|
|
{{ end -}}
|
||
|
|
|
||
|
|
{{ define "defaultOrOverrideRegistry" -}}
|
||
|
|
{{ $rootContext := index . 0 -}}
|
||
|
|
{{ $inputRegistry := index . 1 | default "" -}}
|
||
|
|
{{ if ne $inputRegistry "" -}}
|
||
|
|
{{ $inputRegistry = (include "tpl.url.ensureTrailingSlash" $inputRegistry) -}}
|
||
|
|
{{ end -}}
|
||
|
|
{{ $systemDefault := include "system_default_registry" $rootContext | default "" -}}
|
||
|
|
{{ coalesce $inputRegistry $systemDefault "" }}
|
||
|
|
{{- end -}}
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Select correct auditLog image
|
||
|
|
*/}}
|
||
|
|
{{ define "auditLog.image" -}}
|
||
|
|
{{ if .Values.busyboxImage -}}
|
||
|
|
{{ .Values.busyboxImage -}}
|
||
|
|
{{ else -}}
|
||
|
|
{{- .Values.auditLog.image.repository -}}:{{- .Values.auditLog.image.tag -}}
|
||
|
|
{{ end -}}
|
||
|
|
{{ end -}}
|
||
|
|
|
||
|
|
{{/*
|
||
|
|
Determine the registration mode, defaulting to online if not specified
|
||
|
|
*/}}
|
||
|
|
{{ define "registration.mode" -}}
|
||
|
|
{{ default "online" .Values.registration.mode | quote }}
|
||
|
|
{{- end -}}
|