feat(argocd-apps)!: use maps instead of lists

Signed-off-by: irizzant <i.rizzante@gmail.com>
This commit is contained in:
irizzant 2024-02-21 21:31:43 +00:00
parent 43337b5e14
commit 402af475f4
14 changed files with 423 additions and 418 deletions

View file

@ -2,7 +2,7 @@ apiVersion: v2
name: argocd-apps name: argocd-apps
description: A Helm chart for managing additional Argo CD Applications and Projects description: A Helm chart for managing additional Argo CD Applications and Projects
type: application type: application
version: 1.6.1 version: 2.0.0
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
keywords: keywords:

View file

@ -28,11 +28,11 @@ $ helm install my-release argo/argocd-apps
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| applications | list | `[]` (See [values.yaml]) | Deploy Argo CD Applications within this helm release | | applications | object | `{}` (See [values.yaml]) | Deploy Argo CD Applications within this helm release |
| applicationsets | list | `[]` (See [values.yaml]) | Deploy Argo CD ApplicationSets within this helm release | | applicationsets | object | `{}` (See [values.yaml]) | Deploy Argo CD ApplicationSets within this helm release |
| extensions | list | `[]` (See [values.yaml]) | DEPRECATED - Please refer [Deprecation Notice](https://github.com/argoproj-labs/argocd-extensions?tab=readme-ov-file#deprecation-notice) for more info. | | extensions | object | `{}` (See [values.yaml]) | DEPRECATED - Please refer [Deprecation Notice](https://github.com/argoproj-labs/argocd-extensions?tab=readme-ov-file#deprecation-notice) for more info. |
| itemTemplates | list | `[]` (See [values.yaml]) | Deploy Argo CD Applications/ApplicationSets/Projects within this helm release | | itemTemplates | object | `{}` (See [values.yaml]) | Deploy Argo CD Applications/ApplicationSets/Projects within this helm release |
| projects | list | `[]` (See [values.yaml]) | Deploy Argo CD Projects within this helm release | | projects | object | `{}` (See [values.yaml]) | Deploy Argo CD Projects within this helm release |
---------------------------------------------- ----------------------------------------------
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs) Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

View file

@ -1,28 +1,28 @@
# Test with multi-source applications # Test with multi-source applications
applications: applications:
- name: argocd-application-multiple-sources argocd-application-multiple-sources:
additionalLabels: {} additionalLabels: {}
additionalAnnotations: {} additionalAnnotations: {}
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
project: default project: default
sources: sources:
- chart: elasticsearch - chart: elasticsearch
repoURL: https://helm.elastic.co repoURL: https://helm.elastic.co
targetRevision: 8.5.1 targetRevision: 8.5.1
- repoURL: https://github.com/argoproj/argocd-example-apps.git - repoURL: https://github.com/argoproj/argocd-example-apps.git
path: guestbook path: guestbook
targetRevision: HEAD targetRevision: HEAD
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: default namespace: default
syncPolicy: syncPolicy:
automated: automated:
prune: false prune: false
selfHeal: false selfHeal: false
ignoreDifferences: ignoreDifferences:
- group: apps - group: apps
kind: Deployment kind: Deployment
jsonPointers: jsonPointers:
- /spec/replicas - /spec/replicas

View file

@ -1,33 +1,33 @@
# Test with applications # Test with applications
applications: applications:
- name: argocd-application argocd-application:
additionalLabels: {} additionalLabels: {}
additionalAnnotations: {} additionalAnnotations: {}
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
project: default project: default
source: source:
repoURL: https://github.com/argoproj/argocd-example-apps.git repoURL: https://github.com/argoproj/argocd-example-apps.git
targetRevision: HEAD targetRevision: HEAD
path: guestbook path: guestbook
directory: directory:
recurse: true recurse: true
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: default namespace: default
syncPolicy: syncPolicy:
automated: automated:
prune: false prune: false
selfHeal: false selfHeal: false
syncOptions: syncOptions:
- ApplyOutOfSyncOnly=true - ApplyOutOfSyncOnly=true
revisionHistoryLimit: null revisionHistoryLimit: null
ignoreDifferences: ignoreDifferences:
- group: apps - group: apps
kind: Deployment kind: Deployment
jsonPointers: jsonPointers:
- /spec/replicas - /spec/replicas
info: info:
- name: url - name: url
value: https://argoproj.github.io/ value: https://argoproj.github.io/

View file

@ -1,24 +1,24 @@
# Test with multi-source applicationsets # Test with multi-source applicationsets
applicationsets: applicationsets:
- name: applicationset-multiple-sources applicationset-multiple-sources:
generators: generators:
- list: - list:
elements: elements:
- cluster: default-cluster - cluster: default-cluster
url: https://kubernetes.default.svc url: https://kubernetes.default.svc
template: template:
metadata: metadata:
name: '{{cluster}}-guestbook' name: '{{cluster}}-guestbook'
spec: spec:
project: default project: default
sources: sources:
- chart: elasticsearch - chart: elasticsearch
repoURL: https://helm.elastic.co repoURL: https://helm.elastic.co
targetRevision: 8.5.1 targetRevision: 8.5.1
- repoURL: https://github.com/argoproj/argocd-example-apps.git - repoURL: https://github.com/argoproj/argocd-example-apps.git
path: guestbook path: guestbook
targetRevision: HEAD targetRevision: HEAD
destination: destination:
server: '{{url}}' server: '{{url}}'
namespace: default namespace: default

View file

@ -1,41 +1,41 @@
# Test applicationsets with Progressive Syncs # Test applicationsets with Progressive Syncs
applicationsets: applicationsets:
- name: applicationset-progressive-syncs applicationset-progressive-syncs:
generators: generators:
- list: - list:
elements: elements:
- cluster: engineering-dev - cluster: engineering-dev
url: https://1.2.3.4 url: https://1.2.3.4
env: env-dev env: env-dev
- cluster: engineering-prod - cluster: engineering-prod
url: https://9.8.7.6/ url: https://9.8.7.6/
env: env-prod env: env-prod
strategy: strategy:
type: RollingSync type: RollingSync
rollingSync: rollingSync:
steps: steps:
- matchExpressions: - matchExpressions:
- key: envLabel - key: envLabel
operator: In operator: In
values: values:
- env-dev - env-dev
- matchExpressions: - matchExpressions:
- key: envLabel - key: envLabel
operator: In operator: In
values: values:
- env-prod - env-prod
template: template:
metadata: metadata:
name: '{{.cluster}}-guestbook' name: '{{.cluster}}-guestbook'
labels: labels:
envLabel: '{{.env}}' envLabel: '{{.env}}'
spec: spec:
project: my-project project: my-project
source: source:
repoURL: https://github.com/argoproj/argocd-example-apps.git repoURL: https://github.com/argoproj/argocd-example-apps.git
targetRevision: HEAD targetRevision: HEAD
path: guestbook/{{.cluster}} path: guestbook/{{.cluster}}
destination: destination:
server: '{{.url}}' server: '{{.url}}'
namespace: guestbook namespace: guestbook

View file

@ -1,77 +1,77 @@
# Test with applicationsets # Test with applicationsets
applicationsets: applicationsets:
- name: applicationset applicationset:
additionalLabels: {} additionalLabels: {}
additionalAnnotations: {} additionalAnnotations: {}
# See PR #10026 (ArgoCD v2.5 or later) # See PR #10026 (ArgoCD v2.5 or later)
# goTemplate: false # goTemplate: false
generators: generators:
- git: - git:
repoURL: https://github.com/argoproj/argocd-example-apps.git
revision: HEAD
directories:
- path: guestbook
- path: kustomize-*
# Ref https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Controlling-Resource-Modification/#allow-temporarily-toggling-auto-sync
ignoreApplicationDifferences:
- jsonPointers:
- /spec/syncPolicy
template:
metadata:
name: '{{path.basename}}'
labels: {}
annotations: {}
spec:
project: default
source:
repoURL: https://github.com/argoproj/argocd-example-apps.git repoURL: https://github.com/argoproj/argocd-example-apps.git
targetRevision: HEAD revision: HEAD
path: '{{path}}' directories:
destination: - path: guestbook
server: https://kubernetes.default.svc - path: kustomize-*
namespace: default # Ref https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Controlling-Resource-Modification/#allow-temporarily-toggling-auto-sync
syncPolicy: ignoreApplicationDifferences:
automated: - jsonPointers:
prune: false - /spec/syncPolicy
selfHeal: false template:
ignoreDifferences: metadata:
- group: apps name: '{{path.basename}}'
kind: Deployment labels: {}
jsonPointers: annotations: {}
- /spec/replicas spec:
info: project: default
- name: url source:
value: https://argoproj.github.io/ repoURL: https://github.com/argoproj/argocd-example-apps.git
syncPolicy: targetRevision: HEAD
# Set Application finalizer path: '{{path}}'
preserveResourcesOnDeletion: false destination:
- name: applicationset-list-generator server: https://kubernetes.default.svc
generators: namespace: default
- list: syncPolicy:
elements: automated:
- cluster: engineering-dev prune: false
url: https://kubernetes.default.svc selfHeal: false
template: ignoreDifferences:
metadata: {} - group: apps
spec: kind: Deployment
project: '{{cluster}}' jsonPointers:
source: - /spec/replicas
targetRevision: HEAD info:
repoURL: https://github.com/argoproj/argo-cd.git - name: url
# New path value is generated here: value: https://argoproj.github.io/
path: 'applicationset/examples/template-override/{{cluster}}-override' syncPolicy:
destination: {} # Set Application finalizer
template: preserveResourcesOnDeletion: false
metadata: applicationset-list-generator:
name: '{{cluster}}-guestbook' generators:
spec: - list:
project: '{{cluster}}' elements:
source: - cluster: engineering-dev
repoURL: https://github.com/argoproj/argo-cd.git url: https://kubernetes.default.svc
targetRevision: HEAD template:
# This 'default' value is not used: it is is replaced by the generator's template path, above metadata: {}
path: applicationset/examples/template-override/default spec:
destination: project: '{{cluster}}'
server: '{{url}}' source:
namespace: guestbook targetRevision: HEAD
repoURL: https://github.com/argoproj/argo-cd.git
# New path value is generated here:
path: 'applicationset/examples/template-override/{{cluster}}-override'
destination: {}
template:
metadata:
name: '{{cluster}}-guestbook'
spec:
project: '{{cluster}}'
source:
repoURL: https://github.com/argoproj/argo-cd.git
targetRevision: HEAD
# This 'default' value is not used: it is is replaced by the generator's template path, above
path: applicationset/examples/template-override/default
destination:
server: '{{url}}'
namespace: guestbook

View file

@ -1,5 +1,6 @@
itemTemplates: itemTemplates:
- items: first:
items:
- name: my-appset - name: my-appset
generators: &generators generators: &generators
- list: - list:
@ -29,7 +30,8 @@ itemTemplates:
destination: destination:
server: "{{`{{cluster}}`}}" server: "{{`{{cluster}}`}}"
namespace: guestbook namespace: guestbook
- items: second:
items:
- name: my-appset - name: my-appset
generators: generators:
- list: - list:

View file

@ -1,9 +1,9 @@
{{- range .Values.applications }} {{- range $k, $v := .Values.applications }}
--- ---
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: Application kind: Application
metadata: metadata:
{{- with .additionalAnnotations }} {{- with $v.additionalAnnotations }}
annotations: annotations:
{{- range $key, $value := . }} {{- range $key, $value := . }}
{{ $key }}: {{ $value | quote }} {{ $key }}: {{ $value | quote }}
@ -13,7 +13,7 @@ metadata:
labels: labels:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
name: {{ .name }} name: {{ $k }}
{{- with .namespace }} {{- with .namespace }}
namespace: {{ . }} namespace: {{ . }}
{{- end }} {{- end }}

View file

@ -1,5 +1,5 @@
{{- range .Values.applicationsets }} {{- range $k, $v := .Values.applicationsets }}
--- ---
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet kind: ApplicationSet
@ -14,7 +14,7 @@ metadata:
labels: labels:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
name: {{ .name }} name: {{ $k }}
{{- with .namespace }} {{- with .namespace }}
namespace: {{ . }} namespace: {{ . }}
{{- end }} {{- end }}

View file

@ -1,9 +1,9 @@
{{- range .Values.extensions }} {{- range $k, $v := .Values.extensions }}
--- ---
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: ArgoCDExtension kind: ArgoCDExtension
metadata: metadata:
name: {{ .name }} name: {{ $k }}
{{- with .namespace }} {{- with .namespace }}
namespace: {{ . }} namespace: {{ . }}
{{- end }} {{- end }}

View file

@ -1,4 +1,4 @@
{{- range .Values.itemTemplates }} {{- range $k, $v := .Values.itemTemplates }}
{{- if kindIs "string" .template }} {{- if kindIs "string" .template }}
{{- $template := .template -}} {{- $template := .template -}}
{{- range .items }} {{- range .items }}

View file

@ -1,4 +1,4 @@
{{- range .Values.projects }} {{- range $k, $v := .Values.projects }}
--- ---
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: AppProject kind: AppProject
@ -13,7 +13,7 @@ metadata:
labels: labels:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
name: {{ .name }} name: {{ $k }}
{{- with .namespace }} {{- with .namespace }}
namespace: {{ . }} namespace: {{ . }}
{{- end }} {{- end }}

View file

@ -1,239 +1,242 @@
# -- Deploy Argo CD Applications within this helm release # -- Deploy Argo CD Applications within this helm release
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/ ## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/
applications: [] applications: {}
# - name: guestbook # guestbook:
# namespace: argocd # namespace: argocd
# additionalLabels: {} # additionalLabels: {}
# additionalAnnotations: {} # additionalAnnotations: {}
# finalizers: # finalizers:
# - resources-finalizer.argocd.argoproj.io # - resources-finalizer.argocd.argoproj.io
# project: guestbook # project: guestbook
# source: # source:
# repoURL: https://github.com/argoproj/argocd-example-apps.git # repoURL: https://github.com/argoproj/argocd-example-apps.git
# targetRevision: HEAD # targetRevision: HEAD
# path: guestbook # path: guestbook
# directory: # directory:
# recurse: true # recurse: true
# # ArgoCD v2.6 or later # # ArgoCD v2.6 or later
# sources: # sources:
# - chart: elasticsearch # - chart: elasticsearch
# repoURL: https://helm.elastic.co # repoURL: https://helm.elastic.co
# targetRevision: 8.5.1 # targetRevision: 8.5.1
# - repoURL: https://github.com/argoproj/argocd-example-apps.git # - repoURL: https://github.com/argoproj/argocd-example-apps.git
# path: guestbook # path: guestbook
# targetRevision: HEAD # targetRevision: HEAD
# destination: # destination:
# server: https://kubernetes.default.svc # server: https://kubernetes.default.svc
# namespace: guestbook # namespace: guestbook
# syncPolicy: # syncPolicy:
# automated: # automated:
# prune: false # prune: false
# selfHeal: false # selfHeal: false
# syncOptions: # syncOptions:
# - CreateNamespace=true # - CreateNamespace=true
# revisionHistoryLimit: null # revisionHistoryLimit: null
# ignoreDifferences: # ignoreDifferences:
# - group: apps # - group: apps
# kind: Deployment # kind: Deployment
# jsonPointers: # jsonPointers:
# - /spec/replicas # - /spec/replicas
# info: # info:
# - name: url # - name: url
# value: https://argoproj.github.io/ # value: https://argoproj.github.io/
# -- Deploy Argo CD Projects within this helm release # -- Deploy Argo CD Projects within this helm release
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/ ## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/
projects: [] projects: {}
# - name: guestbook # guestbook:
# namespace: argocd # namespace: argocd
# additionalLabels: {} # additionalLabels: {}
# additionalAnnotations: {} # additionalAnnotations: {}
# permitOnlyProjectScopedClusters: false # permitOnlyProjectScopedClusters: false
# finalizers: # finalizers:
# - resources-finalizer.argocd.argoproj.io # - resources-finalizer.argocd.argoproj.io
# description: Example Project # description: Example Project
# sourceRepos: # sourceRepos:
# - '*' # - '*'
# destinations: # destinations:
# - namespace: guestbook # - namespace: guestbook
# server: https://kubernetes.default.svc # server: https://kubernetes.default.svc
# clusterResourceWhitelist: [] # clusterResourceWhitelist: []
# clusterResourceBlacklist: [] # clusterResourceBlacklist: []
# namespaceResourceBlacklist: # namespaceResourceBlacklist:
# - group: '' # - group: ''
# kind: ResourceQuota # kind: ResourceQuota
# - group: '' # - group: ''
# kind: LimitRange # kind: LimitRange
# - group: '' # - group: ''
# kind: NetworkPolicy # kind: NetworkPolicy
# orphanedResources: {} # orphanedResources: {}
# roles: [] # roles: []
# namespaceResourceWhitelist: # namespaceResourceWhitelist:
# - group: 'apps' # - group: 'apps'
# kind: Deployment # kind: Deployment
# - group: 'apps' # - group: 'apps'
# kind: StatefulSet # kind: StatefulSet
# orphanedResources: {} # orphanedResources: {}
# roles: [] # roles: []
# syncWindows: # syncWindows:
# - kind: allow # - kind: allow
# schedule: '10 1 * * *' # schedule: '10 1 * * *'
# duration: 1h # duration: 1h
# applications: # applications:
# - '*-prod' # - '*-prod'
# manualSync: true # manualSync: true
# signatureKeys: # signatureKeys:
# - keyID: ABCDEF1234567890 # - keyID: ABCDEF1234567890
# sourceNamespaces: # sourceNamespaces:
# - argocd # - argocd
# -- Deploy Argo CD ApplicationSets within this helm release # -- Deploy Argo CD ApplicationSets within this helm release
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/ ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/
applicationsets: [] applicationsets: {}
# - name: guestbook # guestbook:
# namespace: argocd # namespace: argocd
# additionalLabels: {} # additionalLabels: {}
# additionalAnnotations: {} # additionalAnnotations: {}
# # See PR #10026 (ArgoCD v2.5 or later) # # See PR #10026 (ArgoCD v2.5 or later)
# # goTemplate: false # # goTemplate: false
# generators: # generators:
# - git: # - git:
# repoURL: https://github.com/argoproj/argocd-example-apps.git # repoURL: https://github.com/argoproj/argocd-example-apps.git
# revision: HEAD # revision: HEAD
# directories: # directories:
# - path: guestbook # - path: guestbook
# - path: kustomize-* # - path: kustomize-*
# # Ref https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Controlling-Resource-Modification/#allow-temporarily-toggling-auto-sync # # Ref https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Controlling-Resource-Modification/#allow-temporarily-toggling-auto-sync
# ignoreApplicationDifferences: # ignoreApplicationDifferences:
# - jsonPointers: # - jsonPointers:
# - /spec/syncPolicy # - /spec/syncPolicy
# # Progressive Syncs is an experimental feature and it must be explicitly enabled # # Progressive Syncs is an experimental feature and it must be explicitly enabled
# # Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Progressive-Syncs/#enabling-progressive-syncs # # Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Progressive-Syncs/#enabling-progressive-syncs
# strategy: # strategy:
# type: RollingSync # type: RollingSync
# rollingSync: # rollingSync:
# steps: # steps:
# - matchExpressions: # - matchExpressions:
# - key: project # - key: project
# operator: In # operator: In
# values: # values:
# - guestbook # - guestbook
# - matchExpressions: # - matchExpressions:
# - key: project # - key: project
# operator: In # operator: In
# values: # values:
# - kustomize-foo # - kustomize-foo
# - kustomize-bar # - kustomize-bar
# template: # template:
# metadata: # metadata:
# name: '{{path.basename}}' # name: '{{path.basename}}'
# labels: # labels:
# project: '{{path.basename}}' # project: '{{path.basename}}'
# annotations: {} # annotations: {}
# spec: # spec:
# project: default # project: default
# source: # source:
# repoURL: https://github.com/argoproj/argocd-example-apps.git # repoURL: https://github.com/argoproj/argocd-example-apps.git
# targetRevision: HEAD # targetRevision: HEAD
# path: '{{path}}' # path: '{{path}}'
# destination: # destination:
# server: https://kubernetes.default.svc # server: https://kubernetes.default.svc
# namespace: default # namespace: default
# syncPolicy: # syncPolicy:
# automated: # automated:
# prune: false # prune: false
# selfHeal: false # selfHeal: false
# ignoreDifferences: # ignoreDifferences:
# - group: apps # - group: apps
# kind: Deployment # kind: Deployment
# jsonPointers: # jsonPointers:
# - /spec/replicas # - /spec/replicas
# info: # info:
# - name: url # - name: url
# value: https://argoproj.github.io/ # value: https://argoproj.github.io/
# syncPolicy: # syncPolicy:
# # Set Application finalizer # # Set Application finalizer
# preserveResourcesOnDeletion: false # preserveResourcesOnDeletion: false
# -- Deploy Argo CD Applications/ApplicationSets/Projects within this helm release # -- Deploy Argo CD Applications/ApplicationSets/Projects within this helm release
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/ ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/
itemTemplates: [] itemTemplates: {}
# - items: # first:
# - name: my-appset # items:
# generators: &generators # - name: my-appset
# - list: # generators: &generators
# elements: # - list:
# - cluster: engineering-dev # elements:
# url: https://1.2.3.4 # - cluster: engineering-dev
# - cluster: engineering-prod # url: https://1.2.3.4
# url: https://2.4.6.8 # - cluster: engineering-prod
# - cluster: finance-preprod # url: https://2.4.6.8
# url: https://9.8.7.6 # - cluster: finance-preprod
# template: # url: https://9.8.7.6
# apiVersion: argoproj.io/v1alpha1 # template:
# kind: ApplicationSet # apiVersion: argoproj.io/v1alpha1
# metadata: # kind: ApplicationSet
# name: "{{ .name }}" # metadata:
# spec: # name: "{{ .name }}"
# generators: *generators # spec:
# template: # generators: *generators
# metadata: # template:
# name: "{{`{{cluster}}`}}-guestbook" # metadata:
# spec: # name: "{{`{{cluster}}`}}-guestbook"
# project: my-project # spec:
# source: # project: my-project
# repoURL: https://github.com/infra-team/cluster-deployments.git # source:
# targetRevision: HEAD # repoURL: https://github.com/infra-team/cluster-deployments.git
# path: guestbook/{{`{{cluster}}`}} # targetRevision: HEAD
# destination: # path: guestbook/{{`{{cluster}}`}}
# server: "{{`{{cluster}}`}}" # destination:
# namespace: guestbook # server: "{{`{{cluster}}`}}"
# - items: # namespace: guestbook
# - name: my-appset # second:
# generators: # items:
# - list: # - name: my-appset
# elements: # generators:
# - cluster: engineering-dev # - list:
# url: https://1.2.3.4 # elements:
# - cluster: engineering-prod # - cluster: engineering-dev
# url: https://2.4.6.8 # url: https://1.2.3.4
# - cluster: finance-preprod # - cluster: engineering-prod
# url: https://9.8.7.6 # url: https://2.4.6.8
# template: |- # - cluster: finance-preprod
# apiVersion: argoproj.io/v1alpha1 # url: https://9.8.7.6
# kind: ApplicationSet # template: |-
# metadata: # apiVersion: argoproj.io/v1alpha1
# name: {{ .name }} # kind: ApplicationSet
# spec: # metadata:
# generators: {{ toYaml .generators | nindent 4 }} # name: {{ .name }}
# template: # spec:
# metadata: # generators: {{ toYaml .generators | nindent 4 }}
# name: '{{`{{cluster}}`}}-guestbook' # template:
# spec: # metadata:
# project: my-project # name: '{{`{{cluster}}`}}-guestbook'
# source: # spec:
# repoURL: https://github.com/infra-team/cluster-deployments.git # project: my-project
# targetRevision: HEAD # source:
# path: guestbook/{{`{{cluster}}`}} # repoURL: https://github.com/infra-team/cluster-deployments.git
# destination: # targetRevision: HEAD
# server: '{{`{{cluster}}`}}' # path: guestbook/{{`{{cluster}}`}}
# namespace: guestbook # destination:
# server: '{{`{{cluster}}`}}'
# namespace: guestbook
# -- DEPRECATED - Please refer [Deprecation Notice](https://github.com/argoproj-labs/argocd-extensions?tab=readme-ov-file#deprecation-notice) for more info. # -- DEPRECATED - Please refer [Deprecation Notice](https://github.com/argoproj-labs/argocd-extensions?tab=readme-ov-file#deprecation-notice) for more info.
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
## This function in tech preview stage, do expect unstability or breaking changes in newer versions. Bump image.tag if necessary. ## This function in tech preview stage, do expect unstability or breaking changes in newer versions. Bump image.tag if necessary.
## Ref: https://github.com/argoproj-labs/argocd-extensions ## Ref: https://github.com/argoproj-labs/argocd-extensions
extensions: [] extensions: {}
# - name: example # example:
# namespace: argocd # namespace: argocd
# additionalLabels: {} # additionalLabels: {}
# additionalAnnotations: {} # additionalAnnotations: {}
# sources: # sources:
# - git: # - git:
# url: https://github.com/argoproj-labs/argocd-example-extension.git # url: https://github.com/argoproj-labs/argocd-example-extension.git
# - web: # - web:
# url: https://github.com/argoproj-labs/argocd-example-extension/releases/download/v0.1.0/extension.tar # url: https://github.com/argoproj-labs/argocd-example-extension/releases/download/v0.1.0/extension.tar
#