{{- range $name, $config := .Values.components }} {{- if $config.enabled }} {{- $name = $config.name | default $name }} --- apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease metadata: name: "{{ $.Release.Name }}-{{ $name }}" spec: chart: spec: sourceRef: {{- toYaml $.Values.commons.helm.chart.sourceRef | nindent 8 }} chart: "./{{ $name }}" reconcileStrategy: "Revision" releaseName: "{{ $.Release.Name }}-{{ $name }}" targetNamespace: "{{ $config.namespace | default $.Release.Namespace }}" install: {{- toYaml $.Values.commons.helm.release.install | nindent 4 }} test: {{- toYaml $.Values.commons.helm.release.test | nindent 4 }} upgrade: {{- toYaml $.Values.commons.helm.release.upgrade | nindent 4 }} interval: 5m valuesFrom: - kind: ConfigMap name: "{{ $.Release.Name }}-{{ $name }}-init" optional: true valuesKey: init targetPath: init.version {{- with $.Values.componentCommons.helm.release.valuesFrom }} {{- toYaml . | nindent 4 }} {{- end }} {{- with $config.valuesFrom }} {{- toYaml . | nindent 4 }} {{- end }} values: {{- $config.values | default (dict) | mergeOverwrite (dict "commons" $.Values.commons "global" $.Values.global "init" (dict "namespace" $.Release.Namespace)) | toYaml | nindent 4 }} {{- end }} {{- end }}