{{/* Renders the Service objects required by the chart. */}} {{- define "common.service" -}} {{- /* Generate named services as required */ -}} {{- range $name, $service := .Values.service }} {{- if $service.enabled -}} {{- $serviceValues := $service -}} {{/* set the default nameOverride to the service name */}} {{- if and (not $serviceValues.nameOverride) (ne $name (include "common.service.primary" $)) -}} {{- $_ := set $serviceValues "nameOverride" $name -}} {{ end -}} {{- $_ := set $ "ObjectValues" (dict "service" $serviceValues) -}} {{- include "common.classes.service" $ }} {{- end }} {{- end }} {{- end }} {{/* Return the primary service object */}} {{- define "common.service.primary" -}} {{- $enabledServices := dict -}} {{- range $name, $service := .Values.service -}} {{- if $service.enabled -}} {{- $_ := set $enabledServices $name . -}} {{- end -}} {{- end -}} {{- $result := "" -}} {{- range $name, $service := $enabledServices -}} {{- if and (hasKey $service "primary") $service.primary -}} {{- $result = $name -}} {{- end -}} {{- end -}} {{- if not $result -}} {{- $result = keys $enabledServices | first -}} {{- end -}} {{- $result -}} {{- end -}}