argo/charts/app-of-apps/templates/app-template.yaml

49 lines
1.2 KiB
YAML

---
{{ range $k, $v := $.Values.apps }}
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: {{ $v.name }}
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: {{ $.Values.project }}
source:
repoURL: {{ $.Values.source.repoURL }}
targetRevision: main
path: {{ print $.Values.source.path "/" $v.path }}
{{- with $v.helm }}
helm:
{{- with .valueFiles }}
valueFiles:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- with $v.plugin }}
plugin:
{{- toYaml . | nindent 6 }}
{{- end }}
destination:
server: {{ $.Values.destination.server }}
namespace: {{ $v.namespace }}
syncPolicy:
{{- if hasKey $v "selfHeal" | ternary $v.selfHeal false }}
automated:
selfHeal: {{ hasKey $v "selfHeal" | ternary $v.selfHeal false }}
{{- end }}
{{- with $v.managedNamespaceMetadata }}
managedNamespaceMetadata:
{{- toYaml . | nindent 6 }}
{{- end }}
syncOptions:
- CreateNamespace=true
{{- with $v.extraSyncOptions }}
{{- toYaml . | nindent 6 }}
{{- end }}
{{- with $v.ignoreDifferences }}
ignoreDifferences:
{{- toYaml . | nindent 4 }}
{{- end }}
---
{{ end }}