202 lines
6.1 KiB
Smarty
202 lines
6.1 KiB
Smarty
{{/* vim: set filetype=mustache: */}}
|
|
{{/*
|
|
Expand the name of the chart.
|
|
*/}}
|
|
{{- define "grafana.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).
|
|
If release name contains chart name it will be used as a full name.
|
|
*/}}
|
|
{{- define "grafana.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 "grafana.chart" -}}
|
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Create the name of the service account
|
|
*/}}
|
|
{{- define "grafana.serviceAccountName" -}}
|
|
{{- if .Values.serviceAccount.create }}
|
|
{{- default (include "grafana.fullname" .) .Values.serviceAccount.name }}
|
|
{{- else }}
|
|
{{- default "default" .Values.serviceAccount.name }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- define "grafana.serviceAccountNameTest" -}}
|
|
{{- if .Values.serviceAccount.create }}
|
|
{{- default (print (include "grafana.fullname" .) "-test") .Values.serviceAccount.nameTest }}
|
|
{{- else }}
|
|
{{- default "default" .Values.serviceAccount.nameTest }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Allow the release namespace to be overridden for multi-namespace deployments in combined charts
|
|
*/}}
|
|
{{- define "grafana.namespace" -}}
|
|
{{- if .Values.namespaceOverride }}
|
|
{{- .Values.namespaceOverride }}
|
|
{{- else }}
|
|
{{- .Release.Namespace }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Common labels
|
|
*/}}
|
|
{{- define "grafana.labels" -}}
|
|
helm.sh/chart: {{ include "grafana.chart" . }}
|
|
{{ include "grafana.selectorLabels" . }}
|
|
{{- if or .Chart.AppVersion .Values.image.tag }}
|
|
app.kubernetes.io/version: {{ mustRegexReplaceAllLiteral "@sha.*" .Values.image.tag "" | default .Chart.AppVersion | quote }}
|
|
{{- end }}
|
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
{{- with .Values.extraLabels }}
|
|
{{ toYaml . }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Selector labels
|
|
*/}}
|
|
{{- define "grafana.selectorLabels" -}}
|
|
app.kubernetes.io/name: {{ include "grafana.name" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Common labels
|
|
*/}}
|
|
{{- define "grafana.imageRenderer.labels" -}}
|
|
helm.sh/chart: {{ include "grafana.chart" . }}
|
|
{{ include "grafana.imageRenderer.selectorLabels" . }}
|
|
{{- if or .Chart.AppVersion .Values.image.tag }}
|
|
app.kubernetes.io/version: {{ mustRegexReplaceAllLiteral "@sha.*" .Values.image.tag "" | default .Chart.AppVersion | quote }}
|
|
{{- end }}
|
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Selector labels ImageRenderer
|
|
*/}}
|
|
{{- define "grafana.imageRenderer.selectorLabels" -}}
|
|
app.kubernetes.io/name: {{ include "grafana.name" . }}-image-renderer
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Looks if there's an existing secret and reuse its password. If not it generates
|
|
new password and use it.
|
|
*/}}
|
|
{{- define "grafana.password" -}}
|
|
{{- $secret := (lookup "v1" "Secret" (include "grafana.namespace" .) (include "grafana.fullname" .) ) }}
|
|
{{- if $secret }}
|
|
{{- index $secret "data" "admin-password" }}
|
|
{{- else }}
|
|
{{- (randAlphaNum 40) | b64enc | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for rbac.
|
|
*/}}
|
|
{{- define "grafana.rbac.apiVersion" -}}
|
|
{{- if $.Capabilities.APIVersions.Has "rbac.authorization.k8s.io/v1" }}
|
|
{{- print "rbac.authorization.k8s.io/v1" }}
|
|
{{- else }}
|
|
{{- print "rbac.authorization.k8s.io/v1beta1" }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for ingress.
|
|
*/}}
|
|
{{- define "grafana.ingress.apiVersion" -}}
|
|
{{- if and ($.Capabilities.APIVersions.Has "networking.k8s.io/v1") (semverCompare ">= 1.19-0" .Capabilities.KubeVersion.Version) }}
|
|
{{- print "networking.k8s.io/v1" }}
|
|
{{- else if $.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
|
|
{{- print "networking.k8s.io/v1beta1" }}
|
|
{{- else }}
|
|
{{- print "extensions/v1beta1" }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for Horizontal Pod Autoscaler.
|
|
*/}}
|
|
{{- define "grafana.hpa.apiVersion" -}}
|
|
{{- if $.Capabilities.APIVersions.Has "autoscaling/v2/HorizontalPodAutoscaler" }}
|
|
{{- print "autoscaling/v2" }}
|
|
{{- else if $.Capabilities.APIVersions.Has "autoscaling/v2beta2/HorizontalPodAutoscaler" }}
|
|
{{- print "autoscaling/v2beta2" }}
|
|
{{- else }}
|
|
{{- print "autoscaling/v2beta1" }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Return the appropriate apiVersion for podDisruptionBudget.
|
|
*/}}
|
|
{{- define "grafana.podDisruptionBudget.apiVersion" -}}
|
|
{{- if $.Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" }}
|
|
{{- print "policy/v1" }}
|
|
{{- else }}
|
|
{{- print "policy/v1beta1" }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Return if ingress is stable.
|
|
*/}}
|
|
{{- define "grafana.ingress.isStable" -}}
|
|
{{- eq (include "grafana.ingress.apiVersion" .) "networking.k8s.io/v1" }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Return if ingress supports ingressClassName.
|
|
*/}}
|
|
{{- define "grafana.ingress.supportsIngressClassName" -}}
|
|
{{- or (eq (include "grafana.ingress.isStable" .) "true") (and (eq (include "grafana.ingress.apiVersion" .) "networking.k8s.io/v1beta1") (semverCompare ">= 1.18-0" .Capabilities.KubeVersion.Version)) }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Return if ingress supports pathType.
|
|
*/}}
|
|
{{- define "grafana.ingress.supportsPathType" -}}
|
|
{{- or (eq (include "grafana.ingress.isStable" .) "true") (and (eq (include "grafana.ingress.apiVersion" .) "networking.k8s.io/v1beta1") (semverCompare ">= 1.18-0" .Capabilities.KubeVersion.Version)) }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Formats imagePullSecrets. Input is (dict "root" . "imagePullSecrets" .{specific imagePullSecrets})
|
|
*/}}
|
|
{{- define "grafana.imagePullSecrets" -}}
|
|
{{- $root := .root }}
|
|
{{- range (concat .root.Values.global.imagePullSecrets .imagePullSecrets) }}
|
|
{{- if eq (typeOf .) "map[string]interface {}" }}
|
|
- {{ toYaml (dict "name" (tpl .name $root)) | trim }}
|
|
{{- else }}
|
|
- name: {{ tpl . $root }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|