1 {{/* vim: set filetype=mustache: */}}
3 Create a short app name.
5 {{- define "hdfs-k8s.name" -}}
10 Create a fully qualified app name.
11 We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
12 If release name contains chart name it will be used as a full name.
14 {{- define "hdfs-k8s.fullname" -}}
15 {{- if .Values.global.fullnameOverride -}}
16 {{- .Values.global.fullnameOverride | trunc 63 | trimSuffix "-" -}}
18 {{- $name := include "hdfs-k8s.name" . -}}
19 {{- if contains $name .Release.Name -}}
20 {{- .Release.Name | trunc 63 | trimSuffix "-" -}}
22 {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
28 Create chart name and version as used by the subchart label.
30 {{- define "hdfs-k8s.subchart" -}}
31 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
34 {{- define "zookeeper-fullname" -}}
35 {{- $fullname := include "hdfs-k8s.fullname" . -}}
36 {{- if contains "zookeeper" $fullname -}}
37 {{- printf "%s" $fullname -}}
39 {{- printf "%s-zookeeper" $fullname | trunc 63 | trimSuffix "-" -}}
43 {{- define "hdfs-k8s.config.name" -}}
44 {{- template "hdfs-k8s.name" . -}}-config
47 {{- define "hdfs-k8s.config.fullname" -}}
48 {{- $fullname := include "hdfs-k8s.fullname" . -}}
49 {{- if contains "config" $fullname -}}
50 {{- printf "%s" $fullname -}}
52 {{- printf "%s-config" $fullname | trunc 63 | trimSuffix "-" -}}
56 {{- define "hdfs-k8s.krb5.name" -}}
57 {{- template "hdfs-k8s.name" . -}}-krb5
60 {{- define "hdfs-k8s.krb5.fullname" -}}
61 {{- $fullname := include "hdfs-k8s.fullname" . -}}
62 {{- if contains "config" $fullname -}}
63 {{- printf "%s" $fullname -}}
65 {{- printf "%s-krb5" $fullname | trunc 63 | trimSuffix "-" -}}
69 {{- define "hdfs-k8s.journalnode.name" -}}
70 {{- template "hdfs-k8s.name" . -}}-journalnode
73 {{- define "hdfs-k8s.journalnode.fullname" -}}
74 {{- $fullname := include "hdfs-k8s.fullname" . -}}
75 {{- if contains "journalnode" $fullname -}}
76 {{- printf "%s" $fullname -}}
78 {{- printf "%s-journalnode" $fullname | trunc 63 | trimSuffix "-" -}}
82 {{- define "hdfs-k8s.namenode.name" -}}
83 {{- template "hdfs-k8s.name" . -}}-namenode
86 {{- define "hdfs-k8s.namenode.fullname" -}}
87 {{- $fullname := include "hdfs-k8s.fullname" . -}}
88 {{- if contains "namenode" $fullname -}}
89 {{- printf "%s" $fullname -}}
91 {{- printf "%s-namenode" $fullname | trunc 63 | trimSuffix "-" -}}
95 {{- define "hdfs-k8s.datanode.name" -}}
96 {{- template "hdfs-k8s.name" . -}}-datanode
99 {{- define "hdfs-k8s.datanode.fullname" -}}
100 {{- $fullname := include "hdfs-k8s.fullname" . -}}
101 {{- if contains "datanode" $fullname -}}
102 {{- printf "%s" $fullname -}}
104 {{- printf "%s-datanode" $fullname | trunc 63 | trimSuffix "-" -}}
108 {{- define "hdfs-k8s.client.name" -}}
109 {{- template "hdfs-k8s.name" . -}}-client
112 {{- define "hdfs-k8s.client.fullname" -}}
113 {{- $fullname := include "hdfs-k8s.fullname" . -}}
114 {{- if contains "client" $fullname -}}
115 {{- printf "%s" $fullname -}}
117 {{- printf "%s-client" $fullname | trunc 63 | trimSuffix "-" -}}
122 Create the kerberos principal suffix for core HDFS services
124 {{- define "hdfs-principal" -}}
125 {{- printf "hdfs/_HOST@%s" .Values.global.kerberosRealm -}}
129 Create the kerberos principal for HTTP services
131 {{- define "http-principal" -}}
132 {{- printf "HTTP/_HOST@%s" .Values.global.kerberosRealm -}}
136 Create the name for a Kubernetes Configmap containing a Kerberos config file.
138 {{- define "krb5-configmap" -}}
139 {{- if .Values.global.kerberosConfigMapOverride -}}
140 {{- .Values.global.kerberosConfigMapOverride | trunc 63 | trimSuffix "-" -}}
142 {{- $name := include "hdfs-k8s.krb5.fullname" . -}}
143 {{- printf "%s-config" $name | trunc 63 | trimSuffix "-" -}}
148 Create the name for a Kubernetes Secret containing Kerberos keytabs.
150 {{- define "krb5-keytabs-secret" -}}
151 {{- if .Values.global.kerberosKeytabsSecretOverride -}}
152 {{- .Values.global.kerberosKeytabsSecretOverride | trunc 63 | trimSuffix "-" -}}
154 {{- $name := include "hdfs-k8s.krb5.fullname" . -}}
155 {{- printf "%s-keytabs" $name | trunc 63 | trimSuffix "-" -}}
161 Create the domain name part of services.
162 The HDFS config file should specify FQDN of services. Otherwise, Kerberos
165 {{- define "svc-domain" -}}
166 {{- printf "%s.svc.cluster.local" .Release.Namespace -}}
170 Create the zookeeper quorum server list. The below uses two loops to make
171 sure the last item does not have comma. It uses index 0 for the last item
172 since that is the only special index that helm template gives us.
174 {{- define "zookeeper-quorum" -}}
175 {{- if .Values.global.zookeeperQuorumOverride -}}
176 {{- .Values.global.zookeeperQuorumOverride -}}
178 {{- $service := include "zookeeper-fullname" . -}}
179 {{- $domain := include "svc-domain" . -}}
180 {{- $replicas := .Values.global.zookeeperQuorumSize | int -}}
181 {{- range $i, $e := until $replicas -}}
183 {{- printf "%s-%d.%s-headless.%s:2181," $service $i $service $domain -}}
186 {{- range $i, $e := until $replicas -}}
188 {{- printf "%s-%d.%s-headless.%s:2181" $service $i $service $domain -}}
195 Construct the name of the Kerberos KDC pod 0.
197 {{- define "krb5-pod-0" -}}
198 {{- template "hdfs-k8s.krb5.fullname" . -}}-0
202 Construct the full name of the Kerberos KDC statefulset member 0.
204 {{- define "krb5-svc-0" -}}
205 {{- $pod := include "krb5-pod-0" . -}}
206 {{- $service := include "hdfs-k8s.krb5.fullname" . -}}
207 {{- $domain := include "svc-domain" . -}}
208 {{- printf "%s.%s.%s" $pod $service $domain -}}
212 Create the journalnode quorum server list. The below uses two loops to make
213 sure the last item does not have the delimiter. It uses index 0 for the last
214 item since that is the only special index that helm template gives us.
216 {{- define "journalnode-quorum" -}}
217 {{- $service := include "hdfs-k8s.journalnode.fullname" . -}}
218 {{- $domain := include "svc-domain" . -}}
219 {{- $replicas := .Values.global.journalnodeQuorumSize | int -}}
220 {{- range $i, $e := until $replicas -}}
222 {{- printf "%s-%d.%s.%s:8485;" $service $i $service $domain -}}
225 {{- range $i, $e := until $replicas -}}
227 {{- printf "%s-%d.%s.%s:8485" $service $i $service $domain -}}
233 Construct the name of the namenode pod 0.
235 {{- define "namenode-pod-0" -}}
236 {{- template "hdfs-k8s.namenode.fullname" . -}}-0
240 Construct the full name of the namenode statefulset member 0.
242 {{- define "namenode-svc-0" -}}
243 {{- $pod := include "namenode-pod-0" . -}}
244 {{- $service := include "hdfs-k8s.namenode.fullname" . -}}
245 {{- $domain := include "svc-domain" . -}}
246 {{- printf "%s.%s.%s" $pod $service $domain -}}
250 Construct the name of the namenode pod 1.
252 {{- define "namenode-pod-1" -}}
253 {{- template "hdfs-k8s.namenode.fullname" . -}}-1
257 Construct the full name of the namenode statefulset member 1.
259 {{- define "namenode-svc-1" -}}
260 {{- $pod := include "namenode-pod-1" . -}}
261 {{- $service := include "hdfs-k8s.namenode.fullname" . -}}
262 {{- $domain := include "svc-domain" . -}}
263 {{- printf "%s.%s.%s" $pod $service $domain -}}