{{- define "kubezero-app.app" }} {{- $name := regexReplaceAll "kubezero/templates/([a-z-]*)..*" .Template.Name "${1}" }} {{- if index .Values $name "enabled" }} apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: {{ $name }} namespace: argocd labels: {{- include "kubezero-lib.labels" . | nindent 4 }} {{- if not ( index .Values $name "retain" ) }} finalizers: - resources-finalizer.argocd.argoproj.io {{- end }} spec: project: kubezero source: {{- if index .Values $name "chart" }} chart: {{ index .Values $name "chart" }} {{- else }} chart: kubezero-{{ $name }} {{- end }} repoURL: {{ .Values.kubezero.repoURL }} targetRevision: {{ default .Values.kubezero.targetRevision ( index .Values $name "targetRevision" ) | quote }} helm: values: | {{- include (print $name "-values") $ | nindent 8 }} destination: server: {{ .Values.kubezero.server }} namespace: {{ default "kube-system" ( index .Values $name "namespace" ) }} syncPolicy: syncOptions: - CreateNamespace=true {{- with .Values.kubezero.syncPolicy }} {{- toYaml . | nindent 4 }} {{- end }} {{- include (print $name "-argo") $ }} {{- end }} {{- end }}