# Addon provider {{- if .Values.addon }} {{- $addons := split ";" .Values.addon }} {{- $addonNamespace := "" }} {{- $addonName := "" }} {{- $addonVersion := "" }} {{- range $addon := $addons }} {{- $addonArgs := split ":" $addon }} {{- $addonArgsLen := len $addonArgs }} {{- if eq $addonArgsLen 3 }} {{- $addonNamespace = $addonArgs._0 }} {{- $addonName = $addonArgs._1 }} {{- $addonVersion = $addonArgs._2 }} {{- else if eq $addonArgsLen 2 }} {{- $addonNamespace = print $addonArgs._0 "-addon-system" }} {{- $addonName = $addonArgs._0 }} {{- $addonVersion = $addonArgs._1 }} {{- else if eq $addonArgsLen 1 }} {{- $addonNamespace = print $addonArgs._0 "-addon-system" }} {{- $addonName = $addonArgs._0 }} {{- else }} {{- fail "addon provider argument should have the following format helm:v1.0.0 or mynamespace:helm:v1.0.0" }} {{- end }} --- apiVersion: v1 kind: Namespace metadata: annotations: "helm.sh/hook": "post-install,post-upgrade" "helm.sh/hook-weight": "1" "argocd.argoproj.io/sync-wave": "1" name: {{ $addonNamespace }} --- apiVersion: operator.cluster.x-k8s.io/v1alpha2 kind: AddonProvider metadata: name: {{ $addonName }} namespace: {{ $addonNamespace }} annotations: "helm.sh/hook": "post-install,post-upgrade" "helm.sh/hook-weight": "2" "argocd.argoproj.io/sync-wave": "2" {{- if or $addonVersion $.Values.secretName }} spec: {{- end}} {{- if $addonVersion }} version: {{ $addonVersion }} {{- end }} {{- if $.Values.secretName }} secretName: {{ $.Values.secretName }} {{- end }} {{- if $.Values.secretNamespace }} secretNamespace: {{ $.Values.secretNamespace }} {{- end }} {{- end }} {{- end }}