56 lines
2.2 KiB
YAML
56 lines
2.2 KiB
YAML
{{- range $componentInstance, $config := .Values.components }}
|
|
{{- if ($config.enabled | default false) }}
|
|
{{- $componentName := $config.name | default $componentInstance }}
|
|
---
|
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
|
kind: HelmRelease
|
|
metadata:
|
|
name: "{{ printf "%s-%s" $.Release.Name $componentInstance | replace (printf "%s-%s" $.Release.Name $.Release.Name) $.Release.Name }}"
|
|
spec:
|
|
chart:
|
|
spec:
|
|
sourceRef:
|
|
kind: "GitRepository"
|
|
{{- with $.Values.base.helm.repo.namespace }}
|
|
namespace: {{ . }}
|
|
{{- if $config.branch }}
|
|
name: "{{ $.Release.Namespace }}-{{ $.Release.Name }}-{{ $componentInstance }}"
|
|
{{- else }}
|
|
name: "{{ $.Release.Namespace }}-{{ $.Release.Name }}"
|
|
{{- end }}
|
|
{{- else }}
|
|
{{- if $config.branch }}
|
|
name: "{{ $.Release.Name }}-{{ $componentInstance }}"
|
|
{{- else }}
|
|
name: "{{ $.Release.Name }}"
|
|
{{- end }}
|
|
{{- end }}
|
|
chart: "./{{ $componentName }}"
|
|
reconcileStrategy: "Revision"
|
|
releaseName: "{{ printf "%s-%s" $.Release.Name $componentInstance | replace (printf "%s-%s" $.Release.Name $.Release.Name) $.Release.Name }}"
|
|
targetNamespace: "{{ ($config.namespace | default (dict)).name | default (dict) | default $.Release.Namespace }}"
|
|
install:
|
|
{{- toYaml $.Values.base.helm.release.install | nindent 4 }}
|
|
test:
|
|
{{- toYaml $.Values.base.helm.release.test | nindent 4 }}
|
|
upgrade:
|
|
{{- toYaml $.Values.base.helm.release.upgrade | nindent 4 }}
|
|
driftDetection:
|
|
{{- toYaml $.Values.base.helm.release.driftDetection | nindent 4 }}
|
|
interval: {{ $.Values.base.helm.release.interval }}
|
|
valuesFrom:
|
|
- kind: ConfigMap
|
|
name: "{{ $componentInstance }}-init"
|
|
optional: true
|
|
valuesKey: init
|
|
targetPath: init.version
|
|
{{- with $.Values.base.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 }}
|