52 lines
1.8 KiB
YAML
52 lines
1.8 KiB
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: ApplicationSet
|
|
metadata:
|
|
name: cluster-addons
|
|
namespace: argocd
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "-1"
|
|
spec:
|
|
syncPolicy:
|
|
preserveResourcesOnDeletion: false # to be able to cleanup
|
|
goTemplate: true
|
|
goTemplateOptions:
|
|
- missingkey=error
|
|
generators:
|
|
- clusters:
|
|
selector:
|
|
matchLabels:
|
|
fleet_member: control-plane
|
|
values:
|
|
addonChart: application-sets
|
|
template:
|
|
metadata:
|
|
name: cluster-addons
|
|
spec:
|
|
project: default
|
|
sources:
|
|
- ref: values
|
|
repoURL: '{{.metadata.annotations.addons_repo_url}}'
|
|
targetRevision: '{{.metadata.annotations.addons_repo_revision}}'
|
|
- repoURL: '{{.metadata.annotations.addons_repo_url}}'
|
|
path: 'charts/{{.values.addonChart}}'
|
|
targetRevision: '{{.metadata.annotations.addons_repo_revision}}'
|
|
helm:
|
|
ignoreMissingValueFiles: true
|
|
valueFiles:
|
|
- $values/{{.metadata.annotations.addons_repo_basepath}}bootstrap/default/addons.yaml
|
|
- $values/{{.metadata.annotations.addons_repo_basepath}}environments/{{ .metadata.labels.environment }}/addons.yaml
|
|
- $values/{{.metadata.annotations.addons_repo_basepath}}tenants/{{ .metadata.labels.tenant }}/default/{{ .values.addonChart }}/addons.yaml
|
|
- $values/{{.metadata.annotations.addons_repo_basepath}}tenants/{{ .metadata.labels.tenant }}/clusters/{{ .name }}/{{.values.addonChart}}/addons.yaml
|
|
destination:
|
|
namespace: argocd
|
|
name: '{{.name}}'
|
|
syncPolicy:
|
|
automated:
|
|
selfHeal: false
|
|
allowEmpty: true
|
|
prune: false
|
|
retry:
|
|
limit: 100
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- ServerSideApply=true # Big CRDs. |