<p>I was reviewing helm template on git repo <a href="https://github.com/helm/charts/tree/master/incubator/cassandra" rel="nofollow noreferrer">https://github.com/helm/charts/tree/master/incubator/cassandra</a>
for deploying cassandra in Kubernetes.</p>
<p>I can see in helper template file <code>&quot;_helpers.tpl&quot;</code> , &quot;cassandra.name&quot; has been defined as below , as I can understand whose default value set to name of the Chart , but why .Values.nameOverride used here , without any pipe (just after <code>.Chart.Name</code>) , what is the significant of the same ,I am confused here .</p>
<pre><code>{{- define &quot;cassandra.name&quot; -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix &quot;-&quot; -}}
{{- end -}}
</code></pre>
<p>which is  used in cassandra/template/configmap.yaml as below</p>
<pre><code>{{- if .Values.configOverrides }}
kind: ConfigMap
apiVersion: v1
metadata:
  name: {{ template &quot;cassandra.name&quot; . }}
  namespace: {{ .Release.Namespace }}
  labels:
    app: {{ template &quot;cassandra.name&quot; . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace &quot;+&quot; &quot;_&quot; }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
data:
{{ toYaml .Values.configOverrides | indent 2 }}
{{- end }} 
</code></pre>

<p><a href="http://masterminds.github.io/sprig/defaults.html" rel="nofollow noreferrer">Sprig <code>default</code> function</a> takes two parameters, that's why there is no pipe.</p>
<p>If <code>.Values.nameOverride</code> is <em>empty</em>, <code>.Chart.Name</code> will be used.</p>
