123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- {{/* 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: {{ .Values.image.tag | default .Chart.AppVersion | quote }}
- {{- end }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
- {{- if .Values.extraLabels }}
- {{ toYaml .Values.extraLabels }}
- {{- 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: {{ .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 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 -}}
|