Add `nameOverride` and `fullnameOverride` in helm chart
Add possibility to overwrite naming in helm chart adding nameOverride and fullnameOverride helpers.
These are commonly used helpers and helpful in scenarios where the robusta helm chart is used as a subchart. Without the opportunity to override the naming -> the robusta manifest will be enriched with the release name of the parent chart.
I belive this is already covered by my PR. Look at the helper template codelines: https://github.com/robusta-dev/robusta/blob/e31d6db8a2e3ee9a6ab1f413422411843044c64a/helm/robusta/templates/_helpers.tpl#L17-L21
If fullnameOverride and/or nameOverride isn't specified the robusta.fullname template is just .Release.name
Maybe I'm reading it wrong..
{{- $name := default .Chart.Name .Values.nameOverride }} - here name will be the Chart name
then
{{- if contains $name .Release.Name }}
and here we check if the Chart name is in the Release name?
The chart name is probably fixed, and the release name can be anything, isn't it?
Yes. The .Chart.Name is static and determined by the name value in Chart.yaml. It then checks if the name variable (consisting og the chart name or the nameOverride value (if given)) is a substring of the release name. If it is: robusta.fullname will be the release name. If it is not a substring robusta.fullname will be the release name + name variable. But if nameOverride is empty, robusta.fullname will be the release name + chart name.
This is a common practice for helm charts, some examples are:
It is easy to verify the output with this command
helm install my-release-name ./robusta -f values.yaml --dry-run
playing around with the release name and the fullnameOverride and/or nameOverride values.
Well,
There is however some cases where this will break as you point out. E.g. if someone has a completely different release name e.g. some-release which will result in robusta.fullname being some-release-robusta...
A possibility is to remove the nameOverride value, as fullnameOverride will be sufficient in my usecase.
can you please simplify the logic, to something like:
{{- define "robusta.fullname" -}}
{{- if .Values.fullnameOverride }}
.... all the logic for the override
{{- else }}
{{- .Release.Name | trunc 63 }}
{{- end }}
{{- end }}
So if someone doesn't specify the fullnameOverride nothing changes