{{/* vim: set filetype=mustache: */}} {{/* Expand the name of the chart. */}} {{- define "elasticsearch.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 "elasticsearch.fullname" -}} {{- $name := default .Chart.Name .Values.nameOverride -}} {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} {{- end -}} {{- define "elasticsearch.uname" -}} {{- if empty .Values.fullnameOverride -}} {{- if empty .Values.nameOverride -}} {{ .Values.clusterName }}-{{ .Values.nodeGroup }} {{- else -}} {{ .Values.nameOverride }}-{{ .Values.nodeGroup }} {{- end -}} {{- else -}} {{ .Values.fullnameOverride }} {{- end -}} {{- end -}} {{/* Generate certificates when the secret doesn't exist */}} {{- define "elasticsearch.gen-certs" -}} {{- $certs := lookup "v1" "Secret" .Release.Namespace ( printf "%s-certs" (include "elasticsearch.uname" . ) ) -}} {{- if $certs -}} tls.crt: {{ index $certs.data "tls.crt" }} tls.key: {{ index $certs.data "tls.key" }} ca.crt: {{ index $certs.data "ca.crt" }} {{- else -}} {{- $altNames := list ( include "elasticsearch.masterService" . ) ( printf "%s.%s" (include "elasticsearch.masterService" .) .Release.Namespace ) ( printf "%s.%s.svc" (include "elasticsearch.masterService" .) .Release.Namespace ) -}} {{- $ca := genCA "elasticsearch-ca" 365 -}} {{- $cert := genSignedCert ( include "elasticsearch.masterService" . ) nil $altNames 365 $ca -}} tls.crt: {{ $cert.Cert | toString | b64enc }} tls.key: {{ $cert.Key | toString | b64enc }} ca.crt: {{ $ca.Cert | toString | b64enc }} {{- end -}} {{- end -}} {{- define "elasticsearch.masterService" -}} {{- if empty .Values.masterService -}} {{- if empty .Values.fullnameOverride -}} {{- if empty .Values.nameOverride -}} {{ .Values.clusterName }}-master {{- else -}} {{ .Values.nameOverride }}-master {{- end -}} {{- else -}} {{ .Values.fullnameOverride }} {{- end -}} {{- else -}} {{ .Values.masterService }} {{- end -}} {{- end -}} {{- define "elasticsearch.endpoints" -}} {{- $replicas := int (toString (.Values.replicas)) }} {{- $uname := (include "elasticsearch.uname" .) }} {{- range $i, $e := untilStep 0 $replicas 1 -}} {{ $uname }}-{{ $i }}, {{- end -}} {{- end -}} {{- define "elasticsearch.roles" -}} {{- range $.Values.roles -}} {{ . }}, {{- end -}} {{- end -}} {{- define "elasticsearch.esMajorVersion" -}} {{- if .Values.esMajorVersion -}} {{ .Values.esMajorVersion }} {{- else -}} {{- $version := int (index (.Values.imageTag | splitList ".") 0) -}} {{- if and (contains "docker.elastic.co/elasticsearch/elasticsearch" .Values.image) (not (eq $version 0)) -}} {{ $version }} {{- else -}} 8 {{- end -}} {{- end -}} {{- end -}} {{/* Use the fullname if the serviceAccount value is not set */}} {{- define "elasticsearch.serviceAccount" -}} {{- .Values.rbac.serviceAccountName | default (include "elasticsearch.uname" .) -}} {{- end -}}