1## Argo CD configuration
2## Ref: https://github.com/argoproj/argo-cd
5# -- Provide a name in place of `argocd`
7# -- String to fully override `"argo-cd.fullname"`
9# -- Override the namespace
10# @default -- `.Release.Namespace`
12# -- Override the Kubernetes version, which is used to evaluate certain manifests
13kubeVersionOverride: ""
15# If you want to template helm charts but cannot access k8s API server
16# you can set api versions here
17apiVersionOverrides: {}
18# -- Create aggregated roles that extend existing cluster roles to interact with argo-cd resources
19## Ref: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles
20createAggregateRoles: false
21# -- Create cluster roles for cluster-wide installation.
22## Used when you manage applications in the same cluster where Argo CD runs
23createClusterRoles: true
25 # -- enables using arbitrary uid for argo repo server
27## Custom resource configuration
29 # -- Install and upgrade CRDs
31 # -- Keep CRDs on chart uninstall
33 # -- Annotations to be added to all CRDs
35 argocd.argoproj.io/sync-options: ServerSideApply=true
36 # -- Additional labels to be added to all CRDs
38## Globally shared configuration
40 # -- Default domain used by all components
41 ## Used for ingresses, certificates, SSO, notifications, etc.
42 domain: argocd.example.com
43 # -- Runtime class name for all components
45 # -- Common labels for the all resources
49 # -- Number of old deployment ReplicaSets to retain. The rest will be garbage collected.
50 revisionHistoryLimit: 3
51 # Default image used by all components
53 # -- If defined, a repository applied to all Argo CD deployments
54 repository: cgr.dev/chainguard-private/argocd
55 # -- Overrides the global Argo CD image tag whose default is the chart appVersion
56 tag: latest@sha256:b4def3ec57cd6e8e903a7aaf79841f8f28ad493571424220989c499cb3e815ef
57 # -- If defined, a imagePullPolicy applied to all Argo CD deployments
58 imagePullPolicy: IfNotPresent
59 # -- Secrets with credentials to pull images from a private registry
61 # Default logging options used by all components
63 # -- Set the global logging format. Either: `text` or `json`
65 # -- Set the global logging level. One of: `debug`, `info`, `warn` or `error`
67 # -- Annotations for the all deployed Statefulsets
68 statefulsetAnnotations: {}
69 # -- Labels for the all deployed Statefulsets
71 # -- Annotations for the all deployed Deployments
72 deploymentAnnotations: {}
73 # -- Labels for the all deployed Deployments
75 # -- Annotations for the all deployed pods
77 # -- Labels for the all deployed pods
79 # -- Add Prometheus scrape annotations to all metrics services. This can be used as an alternative to the ServiceMonitors.
80 addPrometheusAnnotations: false
81 # -- Toggle and define pod-level security context.
82 # @default -- `{}` (See [values.yaml])
88 # -- Mapping between IP and hostnames that will be injected as entries in the pod's hosts files
94 # Configure dual-stack used by all component services
96 # -- IP family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
98 # -- IP families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
100 # Default network policy rules used by all components
102 # -- Create NetworkPolicy objects for all components
104 # -- Default deny all ingress traffic
105 defaultDenyIngress: false
106 # -- Default priority class for all components
107 priorityClassName: ""
108 # -- Default node selector for all components
110 kubernetes.io/os: linux
111 # -- Default tolerations for all components
113 # Default affinity preset for all components
115 # -- Default pod anti-affinity rules. Either: `none`, `soft` or `hard`
116 podAntiAffinity: soft
117 # Node affinity rules
119 # -- Default node affinity rules. Either: `none`, `soft` or `hard`
121 # -- Default match expressions for node affinity
123 # - key: topology.kubernetes.io/zone
128 # -- Default [TopologySpreadConstraints] rules for all components
129 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
130 ## If labelSelector is left out, it will default to the labelSelector of the component
131 topologySpreadConstraints: []
133 # topologyKey: topology.kubernetes.io/zone
134 # whenUnsatisfiable: DoNotSchedule
136 # -- Deployment strategy for the all deployed Deployments
137 deploymentStrategy: {}
138 # type: RollingUpdate
141 # maxUnavailable: 25%
143 # -- Environment variables to pass to all deployed Deployments
145 # -- Extra volumes to add to all deployed Deployments and StatefulSets
147 # Example of adding a custom CA bundle from a ConfigMap:
150 # name: my-trustbundle
153 # path: ca-certificates.crt
155 # -- Extra volume mounts to add to all deployed Deployments and StatefulSets
156 extraVolumeMounts: []
157 # Example of adding a custom CA bundle mount:
159 # mountPath: /etc/ssl/certs
161 # -- Annotations for the all deployed Certificates
162 certificateAnnotations: {}
165 # General Argo CD configuration. Any values you put under `.configs.cm` are passed to argocd-cm ConfigMap.
166 ## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-cm.yaml
168 # -- Create the argocd-cm configmap for [declarative setup]
170 # -- Annotations to be added to argocd-cm configmap
172 # -- The name of tracking label used by Argo CD for resource pruning
173 application.instanceLabelKey: argocd.argoproj.io/instance
174 # -- Enable control of the service account used for the sync operation (alpha)
175 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/app-sync-using-impersonation/
176 application.sync.impersonation.enabled: false
177 # -- Enable exec feature in Argo UI
178 ## Ref: https://argo-cd.readthedocs.io/en/latest/operator-manual/rbac/#exec-resource
180 # -- Enable local admin user
181 ## Ref: https://argo-cd.readthedocs.io/en/latest/faq/#how-to-disable-admin-user
183 # -- Timeout to discover if a new manifests version got published to the repository
184 timeout.reconciliation: 120s
185 # -- Maximum jitter added to the reconciliation timeout to spread out refreshes and reduce repo-server load
186 timeout.reconciliation.jitter: 60s
187 # -- Timeout to refresh application data as well as target manifests cache
188 timeout.hard.reconciliation: 0s
189 # -- Enable Status Badge
190 ## Ref: https://argo-cd.readthedocs.io/en/stable/user-guide/status-badge/
191 statusbadge.enabled: false
200 # clientID: aabbccddeeff00112233
201 # clientSecret: $dex.github.clientSecret # Alternatively $<some_K8S_secret>:dex.github.clientSecret
203 # - name: your-github-org
205 # OIDC configuration as an alternative to dex (optional).
208 # issuer: https://login.microsoftonline.com/TENANT_ID/v2.0
209 # clientID: aaaabbbbccccddddeee
210 # clientSecret: $oidc.azuread.clientSecret
211 # # Optional: set to true to use Azure Workload Identity instead of clientSecret
213 # useWorkloadIdentity: false
215 # Some OIDC providers require a separate clientID for different callback URLs.
216 # For example, if configuring Argo CD with self-hosted Dex, you will need a separate client ID
217 # for the 'localhost' (CLI) client to Dex. This field is optional. If omitted, the CLI will
218 # use the same clientID as the Argo CD server
219 # cliClientID: vvvvwwwwxxxxyyyyzzzz
222 # -----BEGIN CERTIFICATE-----
223 # ... encoded certificate data here ...
224 # -----END CERTIFICATE-----
226 # Optional list of allowed aud claims. If omitted or empty, defaults to the clientID value above (and the
227 # cliClientID, if that is also specified). If you specify a list and want the clientID to be allowed, you must
228 # explicitly include it in the list.
229 # Token verification will pass if any of the token's audiences matches any of the audiences in this list.
231 # - aaaabbbbccccddddeee
232 # - qqqqwwwweeeerrrrttt
234 # Optional set of OIDC claims to request on the ID token.
235 # requestedIDTokenClaims:
239 # Optional set of OIDC scopes to request. If omitted, defaults to: ["openid", "profile", "email", "groups"]
245 # PKCE authentication flow processes authorization flow from browser only - default false
247 # make sure the Identity Provider (IdP) is public and doesn't need clientSecret
248 # make sure the Identity Provider (IdP) has this redirect URI registered: https://argocd.example.com/pkce/verify
249 # enablePKCEAuthentication: true
251 # Extension Configuration
252 ## Ref: https://argo-cd.readthedocs.io/en/latest/developer-guide/extensions/proxy-extensions/
253 # extension.config: |
257 # connectionTimeout: 2s
259 # idleConnectionTimeout: 60s
260 # maxIdleConnections: 30
262 # - url: http://httpbin.org
264 # - name: some-header
265 # value: '$some.argocd.secret.key'
268 # server: https://some-cluster
270 ## Default configuration for ignoreResourceUpdates.
271 ## The ignoreResourceUpdates list contains K8s resource's properties that are known to be frequently updated
272 ## by controllers and operators. These resources, when watched by argo, will cause many unnecessary updates.
274 # -- Ignoring status for all resources. An update will still be sent if the status update causes the health to change.
275 # @default -- See [values.yaml]
276 resource.customizations.ignoreResourceUpdates.all: |
279 # -- Some Application fields are generated and not related to the application updates itself
280 ## The Application itself is already watched by the controller lister, but this configuration is applied for apps of apps
281 # @default -- See [values.yaml]
282 resource.customizations.ignoreResourceUpdates.argoproj.io_Application: |
284 - '.metadata.annotations."notified.notifications.argoproj.io"'
285 - '.metadata.annotations."argocd.argoproj.io/refresh"'
286 - '.metadata.annotations."argocd.argoproj.io/hydrate"'
288 # -- Ignore Argo Rollouts generated fields
289 # @default -- See [values.yaml]
290 resource.customizations.ignoreResourceUpdates.argoproj.io_Rollout: |
292 - '.metadata.annotations."notified.notifications.argoproj.io"'
293 # -- Legacy annotations used on HPA autoscaling/v1
294 # @default -- See [values.yaml]
295 resource.customizations.ignoreResourceUpdates.autoscaling_HorizontalPodAutoscaler: |
297 - '.metadata.annotations."autoscaling.alpha.kubernetes.io/behavior"'
298 - '.metadata.annotations."autoscaling.alpha.kubernetes.io/conditions"'
299 - '.metadata.annotations."autoscaling.alpha.kubernetes.io/metrics"'
300 - '.metadata.annotations."autoscaling.alpha.kubernetes.io/current-metrics"'
301 # -- Ignore the cluster-autoscaler status
302 # @default -- See [values.yaml]
303 resource.customizations.ignoreResourceUpdates.ConfigMap: |
305 # Ignore the cluster-autoscaler status
306 - '.metadata.annotations."cluster-autoscaler.kubernetes.io/last-updated"'
307 # Ignore the annotation of the legacy Leases election
308 - '.metadata.annotations."control-plane.alpha.kubernetes.io/leader"'
309 # -- Ignore the common scaling annotations
310 # @default -- See [values.yaml]
311 resource.customizations.ignoreResourceUpdates.apps_ReplicaSet: |
313 - '.metadata.annotations."deployment.kubernetes.io/desired-replicas"'
314 - '.metadata.annotations."deployment.kubernetes.io/max-replicas"'
315 - '.metadata.annotations."rollout.argoproj.io/desired-replicas"'
316 # -- Ignores update if EndpointSlice is not excluded globally
317 # @default -- See [values.yaml]
318 resource.customizations.ignoreResourceUpdates.discovery.k8s.io_EndpointSlice: |
323 # -- Ignores update if Endpoints is not excluded globally
324 # @default -- See [values.yaml]
325 resource.customizations.ignoreResourceUpdates.Endpoints: |
329 ## Default configuration for exclusions.
330 ## The exclusion list are K8s resources that we assume will never be declared in Git,
331 ## and are never child objects of managed resources that need to be presented in the resource tree.
332 ## This list contains high volume and high churn metadata objects which we exclude for performance
333 ## reasons, reducing connections and load to the K8s API servers of managed clusters.
335 # -- Resource Exclusion/Inclusion
336 # @default -- See [values.yaml]
337 resource.exclusions: |
338 ### Network resources created by the Kubernetes control plane and excluded to reduce the number of watched events and UI clutter
345 ### Internal Kubernetes resources excluded reduce the number of watched events
347 - coordination.k8s.io
350 ### Internal Kubernetes Authz/Authn resources excluded reduce the number of watched events
352 - authentication.k8s.io
353 - authorization.k8s.io
357 - LocalSubjectAccessReview
358 - SelfSubjectAccessReview
359 - SelfSubjectRulesReview
360 - SubjectAccessReview
361 ### Intermediate Certificate Request excluded reduce the number of watched events
363 - certificates.k8s.io
365 - CertificateSigningRequest
370 ### Cilium internal resources excluded reduce the number of watched events and UI Clutter
376 - CiliumEndpointSlice
377 ### Kyverno intermediate and reporting resources excluded reduce the number of watched events and improve performance
384 - ClusterPolicyReport
386 - ClusterEphemeralReport
388 - ClusterAdmissionReport
389 - BackgroundScanReport
390 - ClusterBackgroundScanReport
392 # Argo CD configuration parameters
393 ## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-cmd-params-cm.yaml
395 # -- Create the argocd-cmd-params-cm configmap
396 # If false, it is expected the configmap will be created by something else.
398 # -- Annotations to be added to the argocd-cmd-params-cm ConfigMap
400 # You can customize parameters by adding parameters here.
403 # Argo CD RBAC policy configuration
404 ## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/rbac.md
406 # -- Create the argocd-rbac-cm configmap with ([Argo CD RBAC policy]) definitions.
407 # If false, it is expected the configmap will be created by something else.
408 # Argo CD will not work if there is no configmap created with the name above.
410 # -- Annotations to be added to argocd-rbac-cm configmap
412 # -- The name of the default role which Argo CD will falls back to, when authorizing API requests (optional).
413 # If omitted or empty, users may be still be able to login, but will see no apps, projects, etc...
415 # -- File containing user-defined policies and role definitions.
416 # @default -- `''` (See [values.yaml])
418 # Policy rules are in the form:
419 # p, subject, resource, action, object, effect
420 # Role definitions and bindings are in the form:
421 # g, subject, inherited-subject
423 # p, role:org-admin, applications, *, */*, allow
424 # p, role:org-admin, clusters, get, *, allow
425 # p, role:org-admin, repositories, *, *, allow
426 # p, role:org-admin, logs, get, *, allow
427 # p, role:org-admin, exec, create, */*, allow
428 # g, your-github-org:your-team, role:org-admin
430 # -- OIDC scopes to examine during rbac enforcement (in addition to `sub` scope).
431 # The scope value can be a string, or a list of strings.
433 # -- Matcher function for Casbin, `glob` for glob matcher and `regex` for regex matcher.
434 policy.matchMode: "glob"
435 # GnuPG public keys for commit verification
436 ## Ref: https://argo-cd.readthedocs.io/en/stable/user-guide/gpg-verification/
438 # -- Annotations to be added to argocd-gpg-keys-cm configmap
440 # -- [GnuPG] public keys to add to the keyring
441 # @default -- `{}` (See [values.yaml])
442 ## Note: Public keys should be exported with `gpg --export --armor <KEY>`
444 # 4AEE18F83AFDEB23: |
445 # -----BEGIN PGP PUBLIC KEY BLOCK-----
447 # -----END PGP PUBLIC KEY BLOCK-----
448 # SSH known hosts for Git repositories
449 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#ssh-known-host-public-keys
451 # -- Specifies if the argocd-ssh-known-hosts-cm configmap should be created by Helm.
453 # -- Annotations to be added to argocd-ssh-known-hosts-cm configmap
455 # -- Known hosts to be added to the known host list by default.
456 # @default -- See [values.yaml]
458 [ssh.github.com]:443 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
459 [ssh.github.com]:443 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
460 [ssh.github.com]:443 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=
461 bitbucket.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPIQmuzMBuKdWeF4+a2sjSSpBK0iqitSQ+5BM9KhpexuGt20JpTVM7u5BDZngncgrqDMbWdxMWWOGtZ9UgbqgZE=
462 bitbucket.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIazEu89wgQZ4bqs3d63QSMzYVa0MuJ2e2gKTKqu+UUO
463 bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQeJzhupRu0u0cdegZIa8e86EG2qOCsIsD1Xw0xSeiPDlCr7kq97NLmMbpKTX6Esc30NuoqEEHCuc7yWtwp8dI76EEEB1VqY9QJq6vk+aySyboD5QF61I/1WeTwu+deCbgKMGbUijeXhtfbxSxm6JwGrXrhBdofTsbKRUsrN1WoNgUa8uqN1Vx6WAJw1JHPhglEGGHea6QICwJOAr/6mrui/oB7pkaWKHj3z7d1IC4KWLtY47elvjbaTlkN04Kc/5LFEirorGYVbt15kAUlqGM65pk6ZBxtaO3+30LVlORZkxOh+LKL/BvbZ/iRNhItLqNyieoQj/uh/7Iv4uyH/cV/0b4WDSd3DptigWq84lJubb9t/DnZlrJazxyDCulTmKdOR7vs9gMTo+uoIrPSb8ScTtvw65+odKAlBj59dhnVp9zd7QUojOpXlL62Aw56U4oO+FALuevvMjiWeavKhJqlR7i5n9srYcrNV7ttmDw7kf/97P5zauIhxcjX+xHv4M=
464 github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
465 github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
466 github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=
467 gitlab.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY=
468 gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf
469 gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9
470 ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
471 vs-ssh.visualstudio.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
472 # -- Additional known hosts for private repositories
474 # Repository TLS certificates
475 # Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#repositories-using-self-signed-tls-certificates-or-are-signed-by-custom-ca
477 # -- Annotations to be added to argocd-tls-certs-cm configmap
479 # -- TLS certificates for Git repositories
480 # @default -- `{}` (See [values.yaml])
482 # server.example.com: |
483 # -----BEGIN CERTIFICATE-----
485 # -----END CERTIFICATE-----
487 # -- Specifies if the argocd-tls-certs-cm configmap should be created by Helm.
489 # ConfigMap for Config Management Plugins
490 # Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/config-management-plugins/
492 # -- Create the argocd-cmp-cm configmap
494 # -- Annotations to be added to argocd-cmp-cm configmap
496 # -- Plugin yaml files to be added to argocd-cmp-cm
502 # args: [-c, 'echo "Initializing..."']
507 # echo "{\"kind\": \"ConfigMap\", \"apiVersion\": \"v1\", \"metadata\": { \"name\": \"$ARGOCD_APP_NAME\", \"namespace\": \"$ARGOCD_APP_NAMESPACE\", \"annotations\": {\"Foo\": \"$ARGOCD_ENV_FOO\", \"KubeVersion\": \"$KUBE_VERSION\", \"KubeApiVersion\": \"$KUBE_API_VERSIONS\",\"Bar\": \"baz\"}}}"
509 # fileName: "./subdir/s*.yaml"
511 # glob: "**/Chart.yaml"
512 # command: [sh, -c, find . -name env.yaml]
517 # args: [-c, 'echo "Initializing..."']
522 # echo "{\"kind\": \"ConfigMap\", \"apiVersion\": \"v1\", \"metadata\": { \"name\": \"$ARGOCD_APP_NAME\", \"namespace\": \"$ARGOCD_APP_NAMESPACE\", \"annotations\": {\"Foo\": \"$ARGOCD_ENV_FOO\", \"KubeVersion\": \"$KUBE_VERSION\", \"KubeApiVersion\": \"$KUBE_API_VERSIONS\",\"Bar\": \"baz\"}}}"
524 # fileName: "./subdir/s*.yaml"
526 # glob: "**/Chart.yaml"
527 # command: [sh, -c, find . -name env.yaml]
529 # -- Provide one or multiple [external cluster credentials]
530 # @default -- `{}` (See [values.yaml])
532 ## - https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters
533 ## - https://argo-cd.readthedocs.io/en/stable/operator-manual/security/#external-cluster-credentials
534 ## - https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters
535 clusterCredentials: {}
537 # server: https://mycluster.example.com
541 # bearerToken: "<authentication token>"
544 # caData: "<base64 encoded certificate>"
546 # server: https://mycluster2.example.com
549 # namespaces: namespace1,namespace2
550 # clusterResources: true
552 # bearerToken: "<authentication token>"
555 # caData: "<base64 encoded certificate>"
556 # mycluster3-project-scoped:
557 # server: https://mycluster3.example.com
560 # project: my-project1
562 # bearerToken: "<authentication token>"
565 # caData: "<base64 encoded certificate>"
566 # mycluster4-sharded:
568 # server: https://mycluster4.example.com
572 # bearerToken: "<authentication token>"
575 # caData: "<base64 encoded certificate>"
577 # -- Repository credentials to be used as Templates for other repos
578 ## Creates a secret for each key/value specified below to create repository credentials
579 credentialTemplates: {}
580 # github-enterprise-creds-1:
581 # url: https://github.com/argoproj
583 # githubAppInstallationID: 2
584 # githubAppEnterpriseBaseUrl: https://ghe.example.com/api/v3
585 # githubAppPrivateKey: |
586 # -----BEGIN OPENSSH PRIVATE KEY-----
588 # -----END OPENSSH PRIVATE KEY-----
590 # url: https://github.com/argoproj
591 # password: my-password
592 # username: my-username
594 # url: git@github.com:argoproj-labs
596 # -----BEGIN OPENSSH PRIVATE KEY-----
598 # -----END OPENSSH PRIVATE KEY-----
600 # -- Annotations to be added to `configs.credentialTemplates` Secret
601 credentialTemplatesAnnotations: {}
602 # -- Repositories list to be used by applications
603 ## Creates a secret for each key/value specified below to create repositories
604 ## Note: the last example in the list would use a repository credential template, configured under "configs.credentialTemplates".
607 # url: https://storage.googleapis.com/istio-prerelease/daily-build/master-latest-daily/charts
611 # url: https://my-private-chart-repo.internal
614 # password: my-password
615 # username: my-username
617 # url: https://github.com/argoproj/private-repo
619 # -- Annotations to be added to `configs.repositories` Secret
620 repositoriesAnnotations: {}
621 # Argo CD sensitive data
622 # Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/user-management/#sensitive-data-and-sso-client-secrets
624 # -- Create the argocd-secret
626 # -- Labels to be added to argocd-secret
628 # -- Annotations to be added to argocd-secret
630 # -- Shared secret for authenticating GitHub webhook events
632 # -- Shared secret for authenticating GitLab webhook events
634 # -- Shared secret for authenticating BitbucketServer webhook events
635 bitbucketServerSecret: ""
636 # -- UUID for authenticating Bitbucket webhook events
638 # -- Shared secret for authenticating Gogs webhook events
642 # -- Shared secret username for authenticating Azure DevOps webhook events
644 # -- Shared secret password for authenticating Azure DevOps webhook events
646 # -- add additional secrets to be added to argocd-secret
647 ## Custom secrets. Useful for injecting SSO secrets into environment variables.
648 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/user-management/#sensitive-data-and-sso-client-secrets
649 ## Note that all values must be non-empty.
651 # LDAP_PASSWORD: "mypassword"
653 # -- Bcrypt hashed admin password
654 ## Argo expects the password in the secret to be bcrypt hashed. You can create this hash with
655 ## `htpasswd -nbBC 10 "" $ARGO_PWD | tr -d ':\n' | sed 's/$2y/$2a/'`
656 argocdServerAdminPassword: ""
657 # -- Admin password modification time. Eg. `"2006-01-02T15:04:05Z"`
658 # @default -- `""` (defaults to current time)
659 argocdServerAdminPasswordMtime: ""
660 # -- Define custom [CSS styles] for your argo instance.
661 # This setting will automatically mount the provided CSS and reference it in the argo configuration.
662 # @default -- `""` (See [values.yaml])
663 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
667 # background: linear-gradient(to bottom, #999, #777, #333, #222, #111);
669# -- Array of extra K8s manifests to deploy
670## Note: Supports use of custom Helm templates
672# - apiVersion: secrets-store.csi.x-k8s.io/v1
673# kind: SecretProviderClass
675# name: argocd-secrets-store
680# - objectName: "argocd"
681# objectType: "secretsmanager"
684# objectAlias: "client_id"
685# - path: "client_secret"
686# objectAlias: "client_secret"
690# objectName: client_id
691# - key: client_secret
692# objectName: client_secret
693# secretName: argocd-secrets-store
696# app.kubernetes.io/part-of: argocd
698## Application controller
700 # -- Application controller name string
701 name: application-controller
702 # -- The number of application controller pods to run.
703 # Additional replicas will cause sharding of managed clusters across number of replicas.
704 ## With dynamic cluster distribution turned on, sharding of the clusters will gracefully
705 ## rebalance if the number of replica's changes or one becomes unhealthy. (alpha)
707 # -- Enable dynamic cluster distribution (alpha)
708 # Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/dynamic-cluster-distribution
709 ## This is done using a deployment instead of a statefulSet
710 ## When replicas are added or removed, the sharding algorithm is re-run to ensure that the
711 ## clusters are distributed according to the algorithm. If the algorithm is well-balanced,
712 ## like round-robin, then the shards will be well-balanced.
713 dynamicClusterDistribution: false
714 # -- Runtime class name for the application controller
715 # @default -- `""` (defaults to global.runtimeClassName)
717 # -- Application controller heartbeat time
718 # Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/dynamic-cluster-distribution/#working-of-dynamic-distribution
720 # -- Maximum number of controller revisions that will be maintained in StatefulSet history
721 revisionHistoryLimit: 5
722 ## Application controller Pod Disruption Budget
723 ## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
725 # -- Deploy a [PodDisruptionBudget] for the application controller
727 # -- Labels to be added to application controller pdb
729 # -- Annotations to be added to application controller pdb
731 # -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
732 # @default -- `""` (defaults to 0 if not specified)
734 # -- Number of pods that are unavailable after eviction as number or percentage (eg.: 50%).
735 ## Has higher precedence over `controller.pdb.minAvailable`
737 ## Application controller Vertical Pod Autoscaler
738 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/
740 # -- Deploy a [VerticalPodAutoscaler](https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/) for the application controller
742 # -- Labels to be added to application controller vpa
744 # -- Annotations to be added to application controller vpa
746 # -- One of the VPA operation modes
747 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically
748 ## Note: Recreate update mode requires more than one replica unless the min-replicas VPA controller flag is overridden
750 # -- Controls how VPA computes the recommended resources for application controller container
751 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/examples/hamster.yaml
753 # controlledResources: ["cpu", "memory"]
760 # -- The recommenders that will provide recommendations for vertical scaling. Only relevant if a named VPA recommender (e.g. one started with a custom recommender name) is in use; leave unset to use the cluster's default recommender
761 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/docs/api.md#verticalpodautoscalerspec
762 ## NOTE: specify only zero or one recommender as of VPA 1.7.1
764 ## Application controller image
766 # -- Repository to use for the application controller
767 # @default -- `""` (defaults to global.image.repository)
769 # -- Tag to use for the application controller
770 # @default -- `""` (defaults to global.image.tag)
772 # -- Image pull policy for the application controller
773 # @default -- `""` (defaults to global.image.imagePullPolicy)
775 # -- Secrets with credentials to pull images from a private registry
776 # @default -- `[]` (defaults to global.imagePullSecrets)
778 # -- Additional command line arguments to pass to application controller
780 # -- Environment variables to pass to application controller
782 # -- envFrom to pass to application controller
783 # @default -- `[]` (See [values.yaml])
786 # name: config-map-name
790 # -- Additional containers to be added to the application controller pod
791 ## Note: Supports use of custom Helm templates
793 # -- Init containers to add to the application controller pod
794 ## If your target Kubernetes cluster(s) require a custom credential (exec) plugin
795 ## you could use this (and the same in the server pod) to provide such executable
796 ## Ref: https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins
797 ## Note: Supports use of custom Helm templates
799 # - name: download-tools
803 # - wget -qO /custom-tools/kubelogin.zip https://github.com/Azure/kubelogin/releases/download/v0.2.7/kubelogin-linux-amd64.zip &&
804 # mkdir /custom-tools/tmp && unzip -d /custom-tools/tmp /custom-tools/kubelogin.zip &&
805 # mv /custom-tools/tmp/bin/linux_amd64/kubelogin /custom-tools/ && rm -rf custom-tools/tmp && rm /custom-tools/kubelogin.zip
807 # - mountPath: /custom-tools
810 # -- Additional volumeMounts to the application controller main container
812 # - mountPath: /usr/local/bin/kubelogin
816 # -- Additional volumes to the application controller pod
818 # - name: custom-tools
821 ## Application controller emptyDir volumes
823 # -- EmptyDir size limit for application controller
824 # @default -- `""` (defaults not set if not specified i.e. no size limit)
827 # -- Annotations for the application controller StatefulSet
828 statefulsetAnnotations: {}
829 # -- Labels for the application controller StatefulSet
830 statefulsetLabels: {}
831 # -- Annotations for the application controller Deployment
832 deploymentAnnotations: {}
833 # -- Labels for the application controller Deployment
835 # -- Annotations to be added to application controller pods
837 # -- Labels to be added to application controller pods
839 # -- Resource limits and requests for the application controller pods
848 # Application controller container ports
850 # -- Metrics container port
852 # -- Host Network for application controller pods
854 # -- [DNS configuration]
856 # -- Alternative DNS policy for application controller pods
857 dnsPolicy: "ClusterFirst"
858 # -- Application controller container-level security context
859 # @default -- See [values.yaml]
860 containerSecurityContext:
862 readOnlyRootFilesystem: true
863 allowPrivilegeEscalation: false
869 # Readiness probe for application controller
870 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
872 # -- Http path to use for the readiness probe
874 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
876 # -- Number of seconds after the container has started before [probe] is initiated
877 initialDelaySeconds: 10
878 # -- How often (in seconds) to perform the [probe]
880 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
882 # -- Number of seconds after which the [probe] times out
884 ## Startup probe for application controller (optional)
885 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
887 # -- Enable Kubernetes startup probe for application controller
889 # -- Http path to use for the startup probe
891 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
893 # -- Number of seconds after the container has started before [probe] is initiated
894 initialDelaySeconds: 10
895 # -- How often (in seconds) to perform the [probe]
897 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
899 # -- Number of seconds after which the [probe] times out
901 # -- terminationGracePeriodSeconds for container lifecycle hook
902 terminationGracePeriodSeconds: 30
903 # -- Priority class for the application controller pods
904 # @default -- `""` (defaults to global.priorityClassName)
905 priorityClassName: ""
907 # @default -- `{}` (defaults to global.nodeSelector)
909 # -- [Tolerations] for use with node taints
910 # @default -- `[]` (defaults to global.tolerations)
912 # -- Assign custom [affinity] rules to the deployment
913 # @default -- `{}` (defaults to global.affinity preset)
915 # -- Assign custom [TopologySpreadConstraints] rules to the application controller
916 # @default -- `[]` (defaults to global.topologySpreadConstraints)
917 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
918 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
919 topologySpreadConstraints: []
921 # topologyKey: topology.kubernetes.io/zone
922 # whenUnsatisfiable: DoNotSchedule
924 # -- Automount API credentials for the Service Account into the pod.
925 automountServiceAccountToken: true
927 # -- Create a service account for the application controller
929 # -- Service account name
930 name: argocd-application-controller
931 # -- Annotations applied to created service account
933 # -- Labels applied to created service account
935 # -- Automount API credentials for the Service Account
936 automountServiceAccountToken: true
937 ## Application controller metrics configuration
939 # -- Deploy metrics service
942 # -- Enables additional labels in argocd_app_labels metric
944 # -- Additional labels
947 # -- Metrics service type
949 # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
951 # -- Metrics service annotations
953 # -- Metrics service labels
955 # -- Metrics service port
957 # -- Metrics service port name
958 portName: http-metrics
960 # -- Enable a prometheus ServiceMonitor
962 # -- Prometheus ServiceMonitor interval
964 # -- Prometheus ServiceMonitor scrapeTimeout. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used.
966 # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
968 # -- Prometheus [RelabelConfigs] to apply to samples before scraping
970 # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
971 metricRelabelings: []
972 # -- Prometheus ServiceMonitor selector
974 # prometheus: kube-prometheus
976 # -- Prometheus ServiceMonitor scheme
978 # -- Prometheus ServiceMonitor tlsConfig
980 # -- Prometheus ServiceMonitor namespace
981 namespace: "" # "monitoring"
982 # -- Prometheus ServiceMonitor labels
984 # -- Prometheus ServiceMonitor annotations
987 # -- Deploy a PrometheusRule for the application controller
989 # -- PrometheusRule namespace
990 namespace: "" # "monitoring"
991 # -- PrometheusRule selector
993 # prometheus: kube-prometheus
995 # -- PrometheusRule labels
997 # -- PrometheusRule annotations
999 # -- PrometheusRule.Spec for the application controller
1001 # - alert: ArgoAppMissing
1003 # absent(argocd_app_info) == 1
1006 # severity: critical
1008 # summary: "[Argo CD] No reported applications"
1010 # Argo CD has not reported any applications data for the past 15 minutes which
1011 # means that it must be down or not functioning properly. This needs to be
1012 # resolved for this cloud to continue to maintain state.
1013 # - alert: ArgoAppNotSynced
1015 # argocd_app_info{sync_status!="Synced"} == 1
1020 # summary: "[{{ $labels.name }}] Application not synchronized"
1022 # The application {{ $labels.name }} has not been synchronized for over
1023 # 12 hours which means that the state of this cloud has drifted away from the
1025 ## Enable this and set the rules: to whatever custom rules you want for the Cluster Role resource.
1028 # -- Enable custom rules for the application controller's ClusterRole resource
1030 # -- List of custom rules for the application controller's ClusterRole resource
1032 ## Enable this and set the rules: to whatever custom rules you want for the Role resource.
1034 # -- List of custom rules for the application controller's Role resource
1036 # Default application controller's network policy
1038 # -- Default network policy rules used by application controller
1039 # @default -- `false` (defaults to global.networkPolicy.create)
1047 # -- Additional command line arguments to pass to the Dex server
1049 # -- Runtime class name for Dex
1050 # @default -- `""` (defaults to global.runtimeClassName)
1051 runtimeClassName: ""
1053 # -- Deploy metrics service
1056 # -- Metrics service annotations
1058 # -- Metrics service labels
1060 # -- Metrics service port name
1061 portName: http-metrics
1063 # -- Enable a prometheus ServiceMonitor
1065 # -- Prometheus ServiceMonitor interval
1067 # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
1069 # -- Prometheus [RelabelConfigs] to apply to samples before scraping
1071 # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
1072 metricRelabelings: []
1073 # -- Prometheus ServiceMonitor selector
1075 # prometheus: kube-prometheus
1077 # -- Prometheus ServiceMonitor scheme
1079 # -- Prometheus ServiceMonitor tlsConfig
1081 # -- Prometheus ServiceMonitor namespace
1082 namespace: "" # "monitoring"
1083 # -- Prometheus ServiceMonitor labels
1084 additionalLabels: {}
1085 # -- Prometheus ServiceMonitor annotations
1087 ## Dex Pod Disruption Budget
1088 ## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
1090 # -- Deploy a [PodDisruptionBudget] for the Dex server
1092 # -- Labels to be added to Dex server pdb
1094 # -- Annotations to be added to Dex server pdb
1096 # -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
1097 # @default -- `""` (defaults to 0 if not specified)
1099 # -- Number of pods that are unavailble after eviction as number or percentage (eg.: 50%).
1100 ## Has higher precedence over `dex.pdb.minAvailable`
1102 ## Dex Vertical Pod Autoscaler
1103 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/
1105 # -- Deploy a [VerticalPodAutoscaler](https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/) for the Dex server
1107 # -- Labels to be added to Dex server vpa
1109 # -- Annotations to be added to Dex server vpa
1111 # -- One of the VPA operation modes
1112 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically
1113 ## Note: Recreate update mode requires more than one replica unless the min-replicas VPA controller flag is overridden
1115 # -- Controls how VPA computes the recommended resources for Dex server container
1116 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/examples/hamster.yaml
1118 # controlledResources: ["cpu", "memory"]
1125 # -- The recommenders that will provide recommendations for vertical scaling. Only relevant if a named VPA recommender (e.g. one started with a custom recommender name) is in use; leave unset to use the cluster's default recommender
1126 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/docs/api.md#verticalpodautoscalerspec
1127 ## NOTE: specify only zero or one recommender as of VPA 1.7.1
1131 # -- Dex image repository
1132 repository: cgr.dev/chainguard-private/dex
1134 tag: latest@sha256:cb136bfd4f1f065c929f8d0823e375f0a4995916c393fd756d2b5b945ce775ff
1135 # -- Dex imagePullPolicy
1136 # @default -- `""` (defaults to global.image.imagePullPolicy)
1138 # -- Secrets with credentials to pull images from a private registry
1139 # @default -- `[]` (defaults to global.imagePullSecrets)
1140 imagePullSecrets: []
1141 # Argo CD init image that creates Dex config
1143 # -- Argo CD init image repository
1144 # @default -- `""` (defaults to global.image.repository)
1146 # -- Argo CD init image tag
1147 # @default -- `""` (defaults to global.image.tag)
1149 # -- Argo CD init image imagePullPolicy
1150 # @default -- `""` (defaults to global.image.imagePullPolicy)
1152 # -- Argo CD init image resources
1153 # @default -- `{}` (defaults to dex.resources)
1161 # -- Environment variables to pass to the Dex server
1163 # -- envFrom to pass to the Dex server
1164 # @default -- `[]` (See [values.yaml])
1167 # name: config-map-name
1171 # -- Additional containers to be added to the dex pod
1172 ## Note: Supports use of custom Helm templates
1174 # -- Init containers to add to the dex pod
1175 ## Note: Supports use of custom Helm templates
1177 # -- Additional volumeMounts to the dex main container
1179 # -- Additional volumes to the dex pod
1181 ## Dex server emptyDir volumes
1183 # -- EmptyDir size limit for Dex server
1184 # @default -- `""` (defaults not set if not specified i.e. no size limit)
1187 # TLS certificate configuration via Secret
1188 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/tls/#configuring-tls-to-argocd-dex-server
1189 ## Note: Issuing certificates via cert-manager in not supported right now because it's not possible to restart Dex automatically without extra controllers.
1191 # -- Create argocd-dex-server-tls secret
1193 # -- Labels to be added to argocd-dex-server-tls secret
1195 # -- Annotations to be added to argocd-dex-server-tls secret
1197 # -- Certificate authority. Required for self-signed certificates.
1199 # -- Certificate private key
1201 # -- Certificate data. Must contain SANs of Dex service (ie: argocd-dex-server, argocd-dex-server.argo-cd.svc)
1203 # -- Annotations to be added to the Dex server Deployment
1204 deploymentAnnotations: {}
1205 # -- Labels for the Dex server Deployment
1206 deploymentLabels: {}
1207 # -- Annotations to be added to the Dex server pods
1209 # -- Labels to be added to the Dex server pods
1211 # -- Resource limits and requests for dex
1220 # Dex container ports
1221 # NOTE: These ports are currently hardcoded and cannot be changed
1223 # -- HTTP container port
1225 # -- gRPC container port
1227 # -- Metrics container port
1229 # -- [DNS configuration]
1231 # -- Alternative DNS policy for Dex server pods
1232 dnsPolicy: "ClusterFirst"
1233 # -- Dex container-level security context
1234 # @default -- See [values.yaml]
1235 containerSecurityContext:
1238 readOnlyRootFilesystem: true
1239 allowPrivilegeEscalation: false
1241 type: RuntimeDefault
1245 ## Probes for Dex server
1246 ## Supported from Dex >= 2.28.0
1248 # -- Enable Kubernetes liveness probe for Dex >= 2.28.0
1250 # -- Http path to use for the liveness probe
1251 httpPath: /healthz/live
1252 # -- Http port to use for the liveness probe
1254 # -- Scheme to use for for the liveness probe (can be HTTP or HTTPS)
1256 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
1258 # -- Number of seconds after the container has started before [probe] is initiated
1259 initialDelaySeconds: 10
1260 # -- How often (in seconds) to perform the [probe]
1262 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
1264 # -- Number of seconds after which the [probe] times out
1267 # -- Enable Kubernetes readiness probe for Dex >= 2.28.0
1269 # -- Http path to use for the readiness probe
1270 httpPath: /healthz/ready
1271 # -- Http port to use for the readiness probe
1273 # -- Scheme to use for for the liveness probe (can be HTTP or HTTPS)
1275 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
1277 # -- Number of seconds after the container has started before [probe] is initiated
1278 initialDelaySeconds: 10
1279 # -- How often (in seconds) to perform the [probe]
1281 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
1283 # -- Number of seconds after which the [probe] times out
1285 ## Startup probe for Dex server (optional)
1286 ## Supported from Dex >= 2.28.0
1288 # -- Enable Kubernetes startup probe for Dex >= 2.28.0
1290 # -- Http path to use for the startup probe
1291 httpPath: /healthz/ready
1292 # -- Http port to use for the startup probe
1294 # -- Scheme to use for the startup probe (can be HTTP or HTTPS)
1296 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
1297 failureThreshold: 20
1298 # -- Number of seconds after the container has started before [probe] is initiated
1299 initialDelaySeconds: 10
1300 # -- How often (in seconds) to perform the [probe]
1302 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
1304 # -- Number of seconds after which the [probe] times out
1306 # -- terminationGracePeriodSeconds for container lifecycle hook
1307 terminationGracePeriodSeconds: 30
1308 # -- Automount API credentials for the Service Account into the pod.
1309 automountServiceAccountToken: true
1311 # -- Create dex service account
1313 # -- Dex service account name
1314 name: argocd-dex-server
1315 # -- Annotations applied to created service account
1317 # -- Automount API credentials for the Service Account
1318 automountServiceAccountToken: true
1319 # -- Service port for HTTP access
1320 servicePortHttp: 5556
1321 # -- Service port name for HTTP access
1322 servicePortHttpName: http
1323 # -- Service port for gRPC access
1324 servicePortGrpc: 5557
1325 # -- Service port name for gRPC access
1326 servicePortGrpcName: grpc
1327 # -- Service port for metrics access
1328 servicePortMetrics: 5558
1329 # -- Priority class for the dex pods
1330 # @default -- `""` (defaults to global.priorityClassName)
1331 priorityClassName: ""
1332 # -- [Node selector]
1333 # @default -- `{}` (defaults to global.nodeSelector)
1335 # -- [Tolerations] for use with node taints
1336 # @default -- `[]` (defaults to global.tolerations)
1338 # -- Assign custom [affinity] rules to the deployment
1339 # @default -- `{}` (defaults to global.affinity preset)
1341 # -- Assign custom [TopologySpreadConstraints] rules to dex
1342 # @default -- `[]` (defaults to global.topologySpreadConstraints)
1343 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
1344 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
1345 topologySpreadConstraints: []
1347 # topologyKey: topology.kubernetes.io/zone
1348 # whenUnsatisfiable: DoNotSchedule
1350 # -- Deployment strategy to be added to the Dex server Deployment
1351 deploymentStrategy: {}
1352 # type: RollingUpdate
1355 # maxUnavailable: 25%
1357 # Default Dex server's network policy
1359 # -- Default network policy rules used by Dex server
1360 # @default -- `false` (defaults to global.networkPolicy.create)
1362 # DEPRECATED - Use configs.params to override
1363 # -- Dex log format. Either `text` or `json`
1364 # @default -- `""` (defaults to global.logging.format)
1366 # -- Dex log level. One of: `debug`, `info`, `warn`, `error`
1367 # @default -- `""` (defaults to global.logging.level)
1375 # -- Runtime class name for redis
1376 # @default -- `""` (defaults to global.runtimeClassName)
1377 runtimeClassName: ""
1378 ## Redis Pod Disruption Budget
1379 ## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
1381 # -- Deploy a [PodDisruptionBudget] for the Redis
1383 # -- Labels to be added to Redis pdb
1385 # -- Annotations to be added to Redis pdb
1387 # -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
1388 # @default -- `""` (defaults to 0 if not specified)
1390 # -- Number of pods that are unavailble after eviction as number or percentage (eg.: 50%).
1391 ## Has higher precedence over `redis.pdb.minAvailable`
1393 ## Redis Vertical Pod Autoscaler
1394 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/
1396 # -- Deploy a [VerticalPodAutoscaler](https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/) for the Redis
1398 # -- Labels to be added to Redis vpa
1400 # -- Annotations to be added to Redis vpa
1402 # -- One of the VPA operation modes
1403 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically
1404 ## Note: Recreate update mode requires more than one replica unless the min-replicas VPA controller flag is overridden
1406 # -- Controls how VPA computes the recommended resources for Redis container
1407 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/examples/hamster.yaml
1409 # controlledResources: ["cpu", "memory"]
1416 # -- The recommenders that will provide recommendations for vertical scaling. Only relevant if a named VPA recommender (e.g. one started with a custom recommender name) is in use; leave unset to use the cluster's default recommender
1417 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/docs/api.md#verticalpodautoscalerspec
1418 ## NOTE: specify only zero or one recommender as of VPA 1.7.1
1422 # -- Redis repository
1423 repository: cgr.dev/chainguard-private/redis
1425 ## Do not use 7.4.0 <= v < 8.0.0, otherwise you are no longer using an open source version of Redis
1426 tag: latest@sha256:2489227e9f6db4f2ef666e3c0aa215865dfe6679df29ff76768d0d0b7ed90b12
1427 # -- Redis image pull policy
1428 # @default -- `""` (defaults to global.image.imagePullPolicy)
1430 ## Prometheus redis-exporter sidecar
1432 # -- Enable Prometheus redis-exporter sidecar
1434 # -- Environment variables to pass to the Redis exporter
1436 ## Prometheus redis-exporter image
1438 # -- Repository to use for the redis-exporter
1439 repository: cgr.dev/chainguard-private/prometheus-redis-exporter
1440 # -- Tag to use for the redis-exporter
1441 tag: latest@sha256:84685ff9e12dd58e0c71dce22cf808c2efc734468f749d490b718de91a90a92b
1442 # -- Image pull policy for the redis-exporter
1443 # @default -- `""` (defaults to global.image.imagePullPolicy)
1445 # -- Redis exporter security context
1446 # @default -- See [values.yaml]
1447 containerSecurityContext:
1449 readOnlyRootFilesystem: true
1450 allowPrivilegeEscalation: false
1452 type: RuntimeDefault
1456 ## Probes for Redis exporter (optional)
1457 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
1459 # -- Enable Kubernetes liveness probe for Redis exporter (optional)
1461 # -- Number of seconds after the container has started before [probe] is initiated
1462 initialDelaySeconds: 30
1463 # -- How often (in seconds) to perform the [probe]
1465 # -- Number of seconds after which the [probe] times out
1467 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
1469 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
1472 # -- Enable Kubernetes liveness probe for Redis exporter
1474 # -- Number of seconds after the container has started before [probe] is initiated
1475 initialDelaySeconds: 30
1476 # -- How often (in seconds) to perform the [probe]
1478 # -- Number of seconds after which the [probe] times out
1480 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
1482 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
1484 # -- Resource limits and requests for redis-exporter sidecar
1492 # -- Secrets with credentials to pull images from a private registry
1493 # @default -- `[]` (defaults to global.imagePullSecrets)
1494 imagePullSecrets: []
1495 # -- Additional command line arguments to pass to redis-server
1500 # -- Environment variables to pass to the Redis server
1502 # -- envFrom to pass to the Redis server
1503 # @default -- `[]` (See [values.yaml])
1506 # name: config-map-name
1510 ## Probes for Redis server (optional)
1511 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
1513 # -- Enable Kubernetes liveness probe for Redis server
1515 # -- Number of seconds after the container has started before [probe] is initiated
1516 initialDelaySeconds: 30
1517 # -- How often (in seconds) to perform the [probe]
1519 # -- Number of seconds after which the [probe] times out
1521 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
1523 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
1526 # -- Enable Kubernetes liveness probe for Redis server
1528 # -- Number of seconds after the container has started before [probe] is initiated
1529 initialDelaySeconds: 30
1530 # -- How often (in seconds) to perform the [probe]
1532 # -- Number of seconds after which the [probe] times out
1534 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
1536 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
1538 # -- Additional containers to be added to the redis pod
1539 ## Note: Supports use of custom Helm templates
1541 # -- Init containers to add to the redis pod
1542 ## Note: Supports use of custom Helm templates
1544 # -- Additional volumeMounts to the redis container
1546 # -- Additional volumes to the redis pod
1548 # -- Annotations to be added to the Redis server Deployment
1549 deploymentAnnotations: {}
1550 # -- Labels for the Redis server Deployment
1551 deploymentLabels: {}
1552 # -- Annotations to be added to the Redis server pods
1554 # -- Labels to be added to the Redis server pods
1556 # -- Resource limits and requests for redis
1565 # -- Redis pod-level security context
1566 # @default -- See [values.yaml]
1571 type: RuntimeDefault
1572 # Redis container ports
1574 # -- Redis container port
1576 # -- Metrics container port
1578 # -- [DNS configuration]
1580 # -- Alternative DNS policy for Redis server pods
1581 dnsPolicy: "ClusterFirst"
1582 # -- Redis container-level security context
1583 # @default -- See [values.yaml]
1584 containerSecurityContext:
1585 readOnlyRootFilesystem: true
1586 allowPrivilegeEscalation: false
1590 # -- Redis service port
1592 # -- Priority class for redis pods
1593 # @default -- `""` (defaults to global.priorityClassName)
1594 priorityClassName: ""
1595 # -- [Node selector]
1596 # @default -- `{}` (defaults to global.nodeSelector)
1598 # -- [Tolerations] for use with node taints
1599 # @default -- `[]` (defaults to global.tolerations)
1601 # -- Assign custom [affinity] rules to the deployment
1602 # @default -- `{}` (defaults to global.affinity preset)
1604 # -- Assign custom [TopologySpreadConstraints] rules to redis
1605 # @default -- `[]` (defaults to global.topologySpreadConstraints)
1606 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
1607 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
1608 topologySpreadConstraints: []
1610 # topologyKey: topology.kubernetes.io/zone
1611 # whenUnsatisfiable: DoNotSchedule
1613 # -- terminationGracePeriodSeconds for container lifecycle hook
1614 terminationGracePeriodSeconds: 30
1615 # -- Automount API credentials for the Service Account into the pod.
1616 automountServiceAccountToken: true
1618 # -- Create a service account for the redis pod
1620 # -- Service account name for redis pod
1622 # -- Annotations applied to created service account
1624 # -- Automount API credentials for the Service Account
1625 automountServiceAccountToken: false
1627 # -- Redis service annotations
1629 # -- Additional redis service labels
1632 # -- Deploy metrics service
1634 # Redis metrics service configuration
1636 # -- Metrics service type
1638 # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
1640 # -- Metrics service annotations
1642 # -- Metrics service labels
1644 # -- Metrics service port
1646 # -- Metrics service port name
1647 portName: http-metrics
1649 # -- Enable a prometheus ServiceMonitor
1651 # -- Interval at which metrics should be scraped
1653 # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
1655 # -- Prometheus [RelabelConfigs] to apply to samples before scraping
1657 # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
1658 metricRelabelings: []
1659 # -- Prometheus ServiceMonitor selector
1661 # prometheus: kube-prometheus
1663 # -- Prometheus ServiceMonitor scheme
1665 # -- Prometheus ServiceMonitor tlsConfig
1667 # -- Prometheus ServiceMonitor namespace
1668 namespace: "" # "monitoring"
1669 # -- Prometheus ServiceMonitor labels
1670 additionalLabels: {}
1671 # -- Prometheus ServiceMonitor annotations
1673 # Default redis's network policy
1675 # -- Default network policy rules used by redis
1676 # @default -- `false` (defaults to global.networkPolicy.create)
1678## Redis-HA subchart replaces custom redis deployment when `redis-ha.enabled=true`
1679# Ref: https://github.com/DandyDeveloper/charts/blob/master/charts/redis-ha/values.yaml
1681 # -- Enables the Redis HA subchart and disables the custom Redis single node deployment
1685 # -- Redis repository
1686 repository: ecr-public.aws.com/docker/library/redis
1688 ## Do not upgrade to >= 7.4.0, otherwise you are no longer using an open source version of Redis
1690 ## Prometheus redis-exporter sidecar
1692 # -- Enable Prometheus redis-exporter sidecar
1694 # -- Repository to use for the redis-exporter
1695 image: ghcr.io/oliver006/redis_exporter
1696 # -- Tag to use for the redis-exporter
1699 # -- Configures persistence on Redis nodes
1701 ## Redis specific configuration options
1703 # -- Redis convention for naming the cluster group: must match `^[\\w-\\.]+$` and can be templated
1704 masterGroupName: argocd
1705 # -- Any valid redis config options in this section will be applied to each server (see `redis-ha` chart)
1706 # @default -- See [values.yaml]
1708 # -- Will save the DB if both the given number of seconds and the given number of write operations against the DB occurred. `""` is disabled
1709 # @default -- `'""'`
1711 ## Enables a HA Proxy for better LoadBalancing / Sentinel Master support. Automatically proxies to Redis master.
1713 # -- Enabled HAProxy LoadBalancing/Proxy
1715 # -- Custom labels for the haproxy pod. This is relevant for Argo CD CLI.
1717 app.kubernetes.io/name: argocd-redis-ha-haproxy
1719 # -- HAProxy Image Repository
1720 repository: ecr-public.aws.com/docker/library/haproxy
1722 # -- HAProxy enable prometheus metric scraping
1724 # -- Whether the haproxy pods should be forced to run on separate nodes.
1725 hardAntiAffinity: true
1726 # -- Additional affinities to add to the haproxy pods.
1727 additionalAffinities: {}
1728 # -- Assign custom [affinity] rules to the haproxy pods.
1730 # -- [Tolerations] for use with node taints for haproxy pods.
1732 # -- HAProxy container-level security context
1733 # @default -- See [values.yaml]
1734 containerSecurityContext:
1735 readOnlyRootFilesystem: true
1736 # -- Configures redis-ha with AUTH
1738 # -- Existing Secret to use for redis-ha authentication.
1739 # By default the redis-secret-init Job is generating this Secret.
1740 existingSecret: argocd-redis
1741 # -- Whether the Redis server pods should be forced to run on separate nodes.
1742 hardAntiAffinity: true
1743 # -- Additional affinities to add to the Redis server pods.
1744 additionalAffinities: {}
1745 # -- Assign custom [affinity] rules to the Redis pods.
1747 # -- [Tolerations] for use with node taints for Redis pods.
1749 # -- Assign custom [TopologySpreadConstraints] rules to the Redis pods.
1750 ## https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
1751 topologySpreadConstraints:
1752 # -- Enable Redis HA topology spread constraints
1754 # -- Max skew of pods tolerated
1755 # @default -- `""` (defaults to `1`)
1757 # -- Topology key for spread
1758 # @default -- `""` (defaults to `topology.kubernetes.io/zone`)
1760 # -- Enforcement policy, hard or soft
1761 # @default -- `""` (defaults to `ScheduleAnyway`)
1762 whenUnsatisfiable: ""
1763 # -- Redis HA statefulset container-level security context
1764 # @default -- See [values.yaml]
1765 containerSecurityContext:
1766 readOnlyRootFilesystem: true
1767# External Redis parameters
1769 # -- External Redis server host
1771 # -- External Redis username
1773 # -- External Redis password
1775 # -- External Redis server port
1777 # -- The name of an existing secret with Redis (must contain key `redis-password`. And should contain `redis-username` if username is not `default`) and Sentinel credentials.
1778 # When it's set, the `externalRedis.username` and `externalRedis.password` parameters are ignored
1780 # -- External Redis Secret annotations
1781 secretAnnotations: {}
1783 # -- Enable Redis secret initialization. If disabled, secret must be provisioned by alternative methods
1785 # -- Redis secret-init name
1786 name: redis-secret-init
1788 # -- Repository to use for the Redis secret-init Job
1789 # @default -- `""` (defaults to global.image.repository)
1790 repository: "" # defaults to global.image.repository
1791 # -- Tag to use for the Redis secret-init Job
1792 # @default -- `""` (defaults to global.image.tag)
1793 tag: "" # defaults to global.image.tag
1794 # -- Image pull policy for the Redis secret-init Job
1795 # @default -- `""` (defaults to global.image.imagePullPolicy)
1796 imagePullPolicy: "" # IfNotPresent
1797 # -- Additional command line arguments for the Redis secret-init Job
1799 # -- Secrets with credentials to pull images from a private registry
1800 # @default -- `[]` (defaults to global.imagePullSecrets)
1801 imagePullSecrets: []
1802 # -- Runtime class name for the Redis secret-init Job
1803 # @default -- `""` (defaults to global.runtimeClassName)
1804 runtimeClassName: ""
1805 # -- Annotations to be added to the Redis secret-init Job
1807 # -- Annotations to be added to the Redis secret-init Job
1809 # -- Labels to be added to the Redis secret-init Job
1811 # -- Resource limits and requests for Redis secret-init Job
1820 # -- Application controller container-level security context
1821 # @default -- See [values.yaml]
1822 containerSecurityContext:
1823 allowPrivilegeEscalation: false
1827 readOnlyRootFilesystem: true
1830 type: RuntimeDefault
1831 # -- Redis secret-init Job pod-level security context
1834 # -- Create a service account for the redis pod
1836 # -- Service account name for redis pod
1838 # -- Annotations applied to created service account
1840 # -- Automount API credentials for the Service Account
1841 automountServiceAccountToken: true
1842 # -- Priority class for Redis secret-init Job
1843 # @default -- `""` (defaults to global.priorityClassName)
1844 priorityClassName: ""
1845 # -- Assign custom [affinity] rules to the Redis secret-init Job
1847 # -- Node selector to be added to the Redis secret-init Job
1848 # @default -- `{}` (defaults to global.nodeSelector)
1850 # -- Tolerations to be added to the Redis secret-init Job
1851 # @default -- `[]` (defaults to global.tolerations)
1855 # -- Argo CD server name
1857 # -- The number of server pods to run
1859 # -- Runtime class name for the Argo CD server
1860 # @default -- `""` (defaults to global.runtimeClassName)
1861 runtimeClassName: ""
1862 ## Argo CD server Horizontal Pod Autoscaler
1864 # -- Enable Horizontal Pod Autoscaler ([HPA]) for the Argo CD server
1866 # -- Minimum number of replicas for the Argo CD server [HPA]
1868 # -- Maximum number of replicas for the Argo CD server [HPA]
1870 # -- Average CPU utilization percentage for the Argo CD server [HPA]
1871 targetCPUUtilizationPercentage: 50
1872 # -- Average memory utilization percentage for the Argo CD server [HPA]
1873 targetMemoryUtilizationPercentage: 50
1874 # -- Configures the scaling behavior of the target in both Up and Down directions.
1877 # stabilizationWindowSeconds: 300
1881 # periodSeconds: 180
1883 # stabilizationWindowSeconds: 300
1888 # -- Configures custom HPA metrics for the Argo CD server
1889 # Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
1891 ## Argo CD server Pod Disruption Budget
1892 ## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
1894 # -- Deploy a [PodDisruptionBudget] for the Argo CD server
1896 # -- Labels to be added to Argo CD server pdb
1898 # -- Annotations to be added to Argo CD server pdb
1900 # -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
1901 # @default -- `""` (defaults to 0 if not specified)
1903 # -- Number of pods that are unavailable after eviction as number or percentage (eg.: 50%).
1904 ## Has higher precedence over `server.pdb.minAvailable`
1906 ## Argo CD server Vertical Pod Autoscaler
1907 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/
1909 # -- Deploy a [VerticalPodAutoscaler](https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/) for the Argo CD server
1911 # -- Labels to be added to Argo CD server vpa
1913 # -- Annotations to be added to Argo CD server vpa
1915 # -- One of the VPA operation modes
1916 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically
1917 ## Note: Recreate update mode requires more than one replica unless the min-replicas VPA controller flag is overridden
1919 # -- Controls how VPA computes the recommended resources for Argo CD server container
1920 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/examples/hamster.yaml
1922 # controlledResources: ["cpu", "memory"]
1929 # -- The recommenders that will provide recommendations for vertical scaling. Only relevant if a named VPA recommender (e.g. one started with a custom recommender name) is in use; leave unset to use the cluster's default recommender
1930 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/docs/api.md#verticalpodautoscalerspec
1931 ## NOTE: specify only zero or one recommender as of VPA 1.7.1
1933 ## Argo CD server image
1935 # -- Repository to use for the Argo CD server
1936 # @default -- `""` (defaults to global.image.repository)
1937 repository: "" # defaults to global.image.repository
1938 # -- Tag to use for the Argo CD server
1939 # @default -- `""` (defaults to global.image.tag)
1940 tag: "" # defaults to global.image.tag
1941 # -- Image pull policy for the Argo CD server
1942 # @default -- `""` (defaults to global.image.imagePullPolicy)
1943 imagePullPolicy: "" # IfNotPresent
1944 # -- Secrets with credentials to pull images from a private registry
1945 # @default -- `[]` (defaults to global.imagePullSecrets)
1946 imagePullSecrets: []
1947 # -- Additional command line arguments to pass to Argo CD server
1949 # -- Environment variables to pass to Argo CD server
1951 # -- envFrom to pass to Argo CD server
1952 # @default -- `[]` (See [values.yaml])
1955 # name: config-map-name
1959 # -- Specify postStart and preStop lifecycle hooks for your argo-cd-server container
1961 ## Argo CD extensions
1962 ## This function in tech preview stage, do expect instability or breaking changes in newer versions.
1963 ## Ref: https://github.com/argoproj-labs/argocd-extension-installer
1964 ## When you enable extensions, you need to configure RBAC of logged in Argo CD user.
1965 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/#the-extensions-resource
1967 # -- Enable support for Argo CD extensions
1969 ## Argo CD extension installer image
1971 # -- Repository to use for extension installer image
1972 repository: cgr.dev/chainguard-private/argocd-extension-installer
1973 # -- Tag to use for extension installer image
1974 tag: latest@sha256:75f77e5bf7b7b7ce788b4bd0e8898b4f5e17b287d5379f0284c118d920a8d842
1975 # -- Image pull policy for extensions
1976 # @default -- `""` (defaults to global.image.imagePullPolicy)
1978 # -- Extensions for Argo CD
1979 # @default -- `[]` (See [values.yaml])
1980 ## Ref: https://github.com/argoproj-labs/argocd-extension-metrics#install-ui-extension
1982 # - name: extension-metrics
1984 # - name: EXTENSION_URL
1985 # value: https://github.com/argoproj-labs/argocd-extension-metrics/releases/download/v1.0.0/extension.tar.gz
1986 # - name: EXTENSION_CHECKSUM_URL
1987 # value: https://github.com/argoproj-labs/argocd-extension-metrics/releases/download/v1.0.0/extension_checksums.txt
1989 # -- Server UI extensions container-level security context
1990 # @default -- See [values.yaml]
1991 containerSecurityContext:
1993 readOnlyRootFilesystem: true
1994 allowPrivilegeEscalation: false
1997 type: RuntimeDefault
2001 # -- Resource limits and requests for the argocd-extensions container
2009 # -- Additional containers to be added to the server pod
2010 ## Note: Supports use of custom Helm templates
2012 # - name: my-sidecar
2013 # image: nginx:latest
2014 # - name: lemonldap-ng-controller
2015 # image: lemonldapng/lemonldap-ng-controller:0.2.0
2017 # - /lemonldap-ng-controller
2018 # - --alsologtostderr
2019 # - --configmap=$(POD_NAMESPACE)/lemonldap-ng-configuration
2024 # fieldPath: metadata.name
2025 # - name: POD_NAMESPACE
2028 # fieldPath: metadata.namespace
2030 # - name: copy-portal-skins
2031 # mountPath: /srv/var/lib/lemonldap-ng/portal/skins
2033 # -- Init containers to add to the server pod
2034 ## If your target Kubernetes cluster(s) require a custom credential (exec) plugin
2035 ## you could use this (and the same in the application controller pod) to provide such executable
2036 ## Ref: https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins
2038 # - name: download-tools
2042 # - wget -qO /custom-tools/kubelogin.zip https://github.com/Azure/kubelogin/releases/download/v0.2.7/kubelogin-linux-amd64.zip &&
2043 # mkdir /custom-tools/tmp && unzip -d /custom-tools/tmp /custom-tools/kubelogin.zip &&
2044 # mv /custom-tools/tmp/bin/linux_amd64/kubelogin /custom-tools/ && rm -rf custom-tools/tmp && rm /custom-tools/kubelogin.zip
2046 # - mountPath: /custom-tools
2047 # name: custom-tools
2049 # -- Additional volumeMounts to the server main container
2051 # - mountPath: /usr/local/bin/kubelogin
2052 # name: custom-tools
2053 # subPath: kubelogin
2055 # -- Additional volumes to the server pod
2057 # - name: custom-tools
2060 ## Argo CD server emptyDir volumes
2062 # -- EmptyDir size limit for the Argo CD server
2063 # @default -- `""` (defaults not set if not specified i.e. no size limit)
2066 # -- Annotations to be added to server Deployment
2067 deploymentAnnotations: {}
2068 # -- Labels for the server Deployment
2069 deploymentLabels: {}
2070 # -- Annotations to be added to server pods
2072 # -- Labels to be added to server pods
2074 # -- Resource limits and requests for the Argo CD server
2083 # Server container ports
2085 # -- Server container port
2087 # -- Metrics container port
2089 # -- Host Network for Server pods
2091 # -- [DNS configuration]
2093 # -- Alternative DNS policy for Server pods
2094 dnsPolicy: "ClusterFirst"
2095 # -- Server container-level security context
2096 # @default -- See [values.yaml]
2097 containerSecurityContext:
2099 readOnlyRootFilesystem: true
2100 allowPrivilegeEscalation: false
2102 type: RuntimeDefault
2106 ## Readiness and liveness probes for default backend
2107 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
2109 # -- Enable Kubernetes readiness probe for default backend
2111 # -- Http path to use for the readiness probe
2113 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
2115 # -- Number of seconds after the container has started before [probe] is initiated
2116 initialDelaySeconds: 10
2117 # -- How often (in seconds) to perform the [probe]
2119 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
2121 # -- Number of seconds after which the [probe] times out
2124 # -- Enable Kubernetes liveness probe for default backend
2126 # -- Http path to use for the liveness probe
2127 httpPath: /healthz?full=true
2128 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
2130 # -- Number of seconds after the container has started before [probe] is initiated
2131 initialDelaySeconds: 10
2132 # -- How often (in seconds) to perform the [probe]
2134 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
2136 # -- Number of seconds after which the [probe] times out
2138 ## Startup probe for Argo CD server (optional)
2139 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
2141 # -- Enable Kubernetes startup probe for Argo CD server
2143 # -- Http path to use for the startup probe
2145 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
2146 failureThreshold: 20
2147 # -- Number of seconds after the container has started before [probe] is initiated
2148 initialDelaySeconds: 10
2149 # -- How often (in seconds) to perform the [probe]
2151 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
2153 # -- Number of seconds after which the [probe] times out
2155 # -- terminationGracePeriodSeconds for container lifecycle hook
2156 terminationGracePeriodSeconds: 30
2157 # -- Priority class for the Argo CD server pods
2158 # @default -- `""` (defaults to global.priorityClassName)
2159 priorityClassName: ""
2160 # -- [Node selector]
2161 # @default -- `{}` (defaults to global.nodeSelector)
2163 # -- [Tolerations] for use with node taints
2164 # @default -- `[]` (defaults to global.tolerations)
2166 # -- Assign custom [affinity] rules to the deployment
2167 # @default -- `{}` (defaults to global.affinity preset)
2169 # -- Assign custom [TopologySpreadConstraints] rules to the Argo CD server
2170 # @default -- `[]` (defaults to global.topologySpreadConstraints)
2171 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
2172 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
2173 topologySpreadConstraints: []
2175 # topologyKey: topology.kubernetes.io/zone
2176 # whenUnsatisfiable: DoNotSchedule
2178 # -- Deployment strategy to be added to the server Deployment
2179 deploymentStrategy: {}
2180 # type: RollingUpdate
2183 # maxUnavailable: 25%
2185 # TLS certificate configuration via cert-manager
2186 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/tls/#tls-certificates-used-by-argocd-server
2188 # -- Deploy a Certificate resource (requires cert-manager)
2190 # -- Certificate primary domain (commonName)
2191 # @default -- `""` (defaults to global.domain)
2193 # -- Certificate Subject Alternate Names (SANs)
2195 # -- The requested 'duration' (i.e. lifetime) of the certificate.
2196 # @default -- `""` (defaults to 2160h = 90d if not specified)
2197 ## Ref: https://cert-manager.io/docs/usage/certificate/#renewal
2199 # -- How long before the expiry a certificate should be renewed.
2200 # @default -- `""` (defaults to 360h = 15d if not specified)
2201 ## Ref: https://cert-manager.io/docs/usage/certificate/#renewal
2203 # Certificate issuer
2204 ## Ref: https://cert-manager.io/docs/concepts/issuer
2206 # -- Certificate issuer group. Set if using an external issuer. Eg. `cert-manager.io`
2208 # -- Certificate issuer kind. Either `Issuer` or `ClusterIssuer`
2210 # -- Certificate issuer name. Eg. `letsencrypt`
2212 # Private key of the certificate
2214 # -- Rotation policy of private key when certificate is re-issued. Either: `Never` or `Always`
2215 rotationPolicy: Never
2216 # -- The private key cryptography standards (PKCS) encoding for private key. Either: `PCKS1` or `PKCS8`
2218 # -- Algorithm used to generate certificate private key. One of: `RSA`, `Ed25519` or `ECDSA`
2220 # -- Key bit size of the private key. If algorithm is set to `Ed25519`, size is ignored.
2222 # -- Annotations to be applied to the Server Certificate
2224 # -- Usages for the certificate
2225 ### Ref: https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.KeyUsage
2227 # -- Annotations that allow the certificate to be composed from data residing in existing Kubernetes Resources
2228 secretTemplateAnnotations: {}
2229 # TLS certificate configuration via Secret
2230 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/tls/#tls-certificates-used-by-argocd-server
2232 # -- Create argocd-server-tls secret
2234 # -- Annotations to be added to argocd-server-tls secret
2236 # -- Labels to be added to argocd-server-tls secret
2238 # -- Private Key of the certificate
2240 # -- Certificate data
2242 ## Server service configuration
2244 # -- Server service annotations
2246 # -- Server service labels
2248 # -- Server service type
2250 # -- Server service http port for NodePort service type (only if `server.service.type` is set to "NodePort")
2252 # -- (int) Server service http2 port for NodePort service type (only if `server.service.servicePortHttp2` is set and `server.service.type` is set to "NodePort")
2253 # @default -- `nil` (a random node port is assigned)
2255 # -- Server service https port for NodePort service type (only if `server.service.type` is set to "NodePort")
2256 nodePortHttps: 30443
2257 # -- Server service http port
2259 # -- (int) Server service cleartext http2 (h2c) port, targeting the same container port as `servicePortHttp`
2260 # @default -- `nil` (disabled)
2261 ## The Argo CD server serves the web UI (HTTP/1.1) and gRPC (HTTP/2) on a single container port, and
2262 ## `appProtocol` is single-valued per service port. Set this to expose a second port advertising the
2263 ## h2c backend protocol, for Gateway API implementations that do not infer it from the route type.
2264 ## Leave empty to disable. Only rendered when `configs.params."server.insecure"` is `true`, since
2265 ## h2c is not applicable to a TLS backend.
2267 # -- Server service https port
2268 servicePortHttps: 443
2269 # -- Server service http port name, can be used to route traffic via istio
2270 servicePortHttpName: http
2271 # -- Server service http2 port name, can be used to route traffic via istio
2272 servicePortHttp2Name: http2
2273 # -- Server service https port name, can be used to route traffic via istio
2274 servicePortHttpsName: https
2275 # -- Server service http2 port appProtocol, e.g. `kubernetes.io/h2c`. Implementations that select the
2276 # protocol from the port name instead do not need it
2277 ## Ref: https://kubernetes.io/docs/concepts/services-networking/service/#application-protocol
2278 servicePortHttp2AppProtocol: ""
2279 # -- Server service https port appProtocol
2280 ## Ref: https://kubernetes.io/docs/concepts/services-networking/service/#application-protocol
2281 servicePortHttpsAppProtocol: ""
2282 # -- The class of the load balancer implementation
2283 loadBalancerClass: ""
2284 # -- LoadBalancer will get created with the IP specified in this field
2286 # -- Source IP ranges to allow access to service from
2287 ## EKS Ref: https://repost.aws/knowledge-center/eks-cidr-ip-address-loadbalancer
2288 ## GKE Ref: https://cloud.google.com/kubernetes-engine/docs/concepts/network-overview#limit-connectivity-ext-lb
2289 loadBalancerSourceRanges: []
2290 # -- Server service external IPs
2292 # -- Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
2293 ## Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
2294 externalTrafficPolicy: Cluster
2295 # -- Used to maintain session affinity. Supports `ClientIP` and `None`
2296 ## Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
2297 sessionAffinity: None
2298 ## Server metrics service configuration
2300 # -- Deploy metrics service
2303 # -- Metrics service type
2305 # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
2307 # -- Metrics service annotations
2309 # -- Metrics service labels
2311 # -- Metrics service port
2313 # -- Metrics service port name
2314 portName: http-metrics
2316 # -- Enable a prometheus ServiceMonitor
2318 # -- Prometheus ServiceMonitor interval
2320 # -- Prometheus ServiceMonitor scrapeTimeout. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used.
2322 # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
2324 # -- Prometheus [RelabelConfigs] to apply to samples before scraping
2326 # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
2327 metricRelabelings: []
2328 # -- Prometheus ServiceMonitor selector
2330 # prometheus: kube-prometheus
2332 # -- Prometheus ServiceMonitor scheme
2334 # -- Prometheus ServiceMonitor tlsConfig
2336 # -- Prometheus ServiceMonitor namespace
2337 namespace: "" # monitoring
2338 # -- Prometheus ServiceMonitor labels
2339 additionalLabels: {}
2340 # -- Prometheus ServiceMonitor annotations
2342 # -- Automount API credentials for the Service Account into the pod.
2343 automountServiceAccountToken: true
2345 # -- Create server service account
2347 # -- Server service account name
2349 # -- Annotations applied to created service account
2351 # -- Labels applied to created service account
2353 # -- Automount API credentials for the Service Account
2354 automountServiceAccountToken: true
2355 # Argo CD server ingress configuration
2357 # -- Enable an ingress resource for the Argo CD server
2359 # -- Specific implementation for ingress controller. One of `generic`, `aws` or `gke`
2360 ## Additional configuration might be required in related configuration sections
2362 # -- Additional ingress labels
2364 # -- Additional ingress annotations
2365 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#option-1-ssl-passthrough
2367 # nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
2368 # nginx.ingress.kubernetes.io/ssl-passthrough: "true"
2370 # -- Defines which ingress controller will implement the resource
2371 ingressClassName: ""
2372 # -- Argo CD server hostname
2373 # @default -- `""` (defaults to global.domain)
2375 # -- The path to Argo CD server
2377 # -- Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific`
2379 # -- Enable TLS configuration for the hostname defined at `server.ingress.hostname`
2380 ## TLS certificate will be retrieved from a TLS secret `argocd-server-tls`
2381 ## You can create this secret via `certificate` or `certificateSecret` option
2383 # -- The list of additional hostnames to be covered by ingress record
2384 # @default -- `[]` (See [values.yaml])
2386 # - name: argocd.example.com
2389 # -- Additional ingress paths
2390 # @default -- `[]` (See [values.yaml])
2391 ## Note: Supports use of custom Helm templates
2397 # name: ssl-redirect
2399 # name: use-annotation
2401 # -- Additional ingress rules
2402 # @default -- `[]` (See [values.yaml])
2403 ## Note: Supports use of custom Helm templates
2411 # name: '{{ include "argo-cd.server.fullname" . }}'
2413 # name: '{{ .Values.server.service.servicePortHttpsName }}'
2415 # -- Additional TLS configuration
2416 # @default -- `[]` (See [values.yaml])
2419 # - argocd.example.com
2420 # secretName: your-certificate-name
2422 # AWS specific options for Application Load Balancer
2423 # Applies only when `serv.ingress.controller` is set to `aws`
2424 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#aws-application-load-balancers-albs-and-classic-elb-http-mode
2426 # -- Backend protocol version for the AWS ALB gRPC service
2427 ## This tells AWS to send traffic from the ALB using gRPC.
2428 ## For more information: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html#health-check-settings
2429 backendProtocolVersion: GRPC
2430 # -- Service type for the AWS ALB gRPC service
2431 ## Can be of type NodePort or ClusterIP depending on which mode you are running.
2432 ## Instance mode needs type NodePort, IP mode needs type ClusterIP
2433 ## Ref: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/how-it-works/#ingress-traffic
2434 serviceType: NodePort
2435 # -- Annotations for the AWS ALB gRPC service
2436 ## Allows adding custom annotations to the gRPC service for integrations like DataDog, Prometheus, etc.
2437 serviceAnnotations: {}
2438 # Google specific options for Google Application Load Balancer
2439 # Applies only when `server.ingress.controller` is set to `gke`
2440 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#google-cloud-load-balancers-with-kubernetes-ingress
2442 # -- Google [BackendConfig] resource, for use with the GKE Ingress Controller
2443 # @default -- `{}` (See [values.yaml])
2444 ## Ref: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
2448 # oauthclientCredentials:
2449 # secretName: argocd-secret
2451 # -- Google [FrontendConfig] resource, for use with the GKE Ingress Controller
2452 # @default -- `{}` (See [values.yaml])
2453 ## Ref: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
2457 # responseCodeName: RESPONSE_CODE
2459 # Managed GKE certificate for ingress hostname
2461 # -- Create ManagedCertificate resource and annotations for Google Load balancer
2462 ## Ref: https://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs
2464 # -- Additional domains for ManagedCertificate resource
2466 # - argocd.example.com
2467 # Dedicated gRPC ingress for ingress controllers that supports only single backend protocol per Ingress resource
2468 # Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#option-2-multiple-ingress-objects-and-hosts
2470 # -- Enable an ingress resource for the Argo CD server for dedicated [gRPC-ingress]
2472 # -- Additional ingress annotations for dedicated [gRPC-ingress]
2474 # -- Additional ingress labels for dedicated [gRPC-ingress]
2476 # -- Defines which ingress controller will implement the resource [gRPC-ingress]
2477 ingressClassName: ""
2478 # -- Argo CD server hostname for dedicated [gRPC-ingress]
2479 # @default -- `""` (defaults to grpc.`server.ingress.hostname`)
2481 # -- Argo CD server ingress path for dedicated [gRPC-ingress]
2483 # -- Ingress path type for dedicated [gRPC-ingress]. One of `Exact`, `Prefix` or `ImplementationSpecific`
2485 # -- Enable TLS configuration for the hostname defined at `server.ingressGrpc.hostname`
2486 ## TLS certificate will be retrieved from a TLS secret with name: `argocd-server-grpc-tls`
2488 # -- The list of additional hostnames to be covered by ingress record
2489 # @default -- `[]` (See [values.yaml])
2491 # - name: grpc.argocd.example.com
2494 # -- Additional ingress paths for dedicated [gRPC-ingress]
2495 # @default -- `[]` (See [values.yaml])
2496 ## Note: Supports use of custom Helm templates
2502 # name: ssl-redirect
2504 # name: use-annotation
2506 # -- Additional ingress rules
2507 # @default -- `[]` (See [values.yaml])
2508 ## Note: Supports use of custom Helm templates
2516 # name: '{{ include "argo-cd.server.fullname" . }}'
2518 # name: '{{ .Values.server.service.servicePortHttpName }}'
2520 # -- Additional TLS configuration for dedicated [gRPC-ingress]
2521 # @default -- `[]` (See [values.yaml])
2523 # - secretName: your-certificate-name
2525 # - argocd.example.com
2526 # Create a OpenShift Route with SSL passthrough for UI and CLI
2527 # Consider setting 'hostname' e.g. https://argocd.apps-crc.testing/ using your Default Ingress Controller Domain
2528 # Find your domain with: kubectl describe --namespace=openshift-ingress-operator ingresscontroller/default | grep Domain:
2529 # If 'hostname' is an empty string "" OpenShift will create a hostname for you.
2531 # -- Enable an OpenShift Route for the Argo CD server
2533 # -- Openshift Route annotations
2535 # -- Hostname of OpenShift Route
2537 # -- Termination type of Openshift Route
2538 termination_type: passthrough
2539 # -- Termination policy of Openshift Route
2540 termination_policy: None
2541 # Gateway API HTTPRoute configuration
2542 # NOTE: Gateway API support is in EXPERIMENTAL status
2543 # Support depends on your Gateway controller implementation
2544 # Some controllers may require additional configuration (e.g., BackendTLSPolicy for HTTPS backends)
2545 # Refer to https://gateway-api.sigs.k8s.io/implementations/ for controller-specific details
2547 # -- Enable HTTPRoute resource for Argo CD server (Gateway API)
2549 # -- Additional HTTPRoute labels
2551 # -- Additional HTTPRoute annotations
2553 # -- Gateway API parentRefs for the HTTPRoute
2554 ## Must reference an existing Gateway
2555 # @default -- `[]` (See [values.yaml])
2557 # - name: example-gateway
2558 # namespace: example-gateway-namespace
2559 # sectionName: https
2560 # -- List of hostnames for the HTTPRoute
2561 # @default -- `[]` (See [values.yaml])
2563 # - argocd.example.com
2564 # -- HTTPRoute rules configuration
2565 # @default -- `[]` (See [values.yaml])
2572 # - type: RequestHeaderModifier
2573 # requestHeaderModifier:
2575 # - name: X-Custom-Header
2576 # value: custom-value
2579 # backendRequest: 2s
2580 # Gateway API GRPCRoute configuration
2581 # NOTE: Gateway API support is in EXPERIMENTAL status
2582 # Support depends on your Gateway controller implementation
2583 # Refer to https://gateway-api.sigs.k8s.io/implementations/ for controller-specific details
2585 # -- Enable GRPCRoute resource for Argo CD server (Gateway API)
2587 # -- Additional GRPCRoute labels
2589 # -- Additional GRPCRoute annotations
2591 # -- Gateway API parentRefs for the GRPCRoute
2592 ## Must reference an existing Gateway
2593 # @default -- `[]` (See [values.yaml])
2595 # - name: example-gateway
2596 # namespace: example-gateway-namespace
2598 # -- List of hostnames for the GRPCRoute
2599 # @default -- `[]` (See [values.yaml])
2601 # - grpc.argocd.example.com
2602 # -- GRPCRoute rules configuration
2603 # @default -- `[]` (See [values.yaml])
2609 # - type: RequestHeaderModifier
2610 # requestHeaderModifier:
2612 # - name: X-Custom-Header
2613 # value: custom-value
2614 # Gateway API BackendTLSPolicy configuration
2615 # NOTE: BackendTLSPolicy support is in EXPERIMENTAL status
2616 # Required for HTTPS backends when using Gateway API
2617 # Not all Gateway controllers support this resource (e.g., Cilium does not support it yet)
2619 # -- Enable BackendTLSPolicy resource for Argo CD server (Gateway API)
2621 # -- Additional BackendTLSPolicy labels
2623 # -- Additional BackendTLSPolicy annotations
2625 # -- Target references for the BackendTLSPolicy
2626 # @default -- `[]` (See [values.yaml])
2630 # name: argocd-server
2631 # sectionName: https
2632 # -- TLS validation configuration
2633 # @default -- `{}` (See [values.yaml])
2635 # hostname: argocd-server.argocd.svc.cluster.local
2636 # caCertificateRefs:
2637 # - name: example-ca-cert
2640 # wellKnownCACertificates: System
2641 # Gateway API ListenerSet configuration
2642 # NOTE: Gateway API support is in EXPERIMENTAL status
2643 # ListenerSet allows attaching additional listeners to an existing Gateway
2644 # Requires Gateway API v1alpha2 and a controller that supports ListenerSet
2645 # Refer to https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.ListenerSet
2647 # -- Enable ListenerSet resource for Argo CD server (Gateway API)
2649 # -- Additional ListenerSet labels
2651 # -- Additional ListenerSet annotations
2653 # -- Gateway API parentRef for the ListenerSet
2654 ## Must reference an existing Gateway. Unlike HTTPRoute, ListenerSet accepts exactly one parentRef.
2655 # @default -- `{}` (See [values.yaml])
2657 # name: example-gateway
2658 # namespace: example-gateway-namespace
2659 # -- Hostname for the synthesized listener. Defaults to global.domain when empty.
2661 # -- Name of the synthesized listener. Also used as sectionName in auto-derived httproute parentRefs.
2663 # -- Port for the synthesized listener
2665 # -- Protocol for the synthesized listener
2667 # -- TLS configuration for the synthesized listener
2669 # -- Enable TLS on the synthesized listener
2671 # -- TLS termination mode
2673 # -- Secret name for TLS certificate. Defaults to `argocd-server-tls` when empty.
2675 # -- allowedRoutes for the synthesized listener
2679 # -- Listeners to attach to the parent Gateway. When non-empty, used verbatim and all synthesized listener fields above are ignored.
2680 # @default -- `[]` (See [values.yaml])
2685 # hostname: argocd.example.com
2691 # name: argocd-server-tls
2695 ## Enable this and set the rules: to whatever custom rules you want for the Cluster Role resource.
2698 # -- Enable custom rules for the server's ClusterRole resource
2700 # -- List of custom rules for the server's ClusterRole resource
2702 # Default ArgoCD Server's network policy
2704 # -- Default network policy rules used by ArgoCD Server
2705 # @default -- `false` (defaults to global.networkPolicy.create)
2709 # -- Repo server name
2711 # -- The number of repo server pods to run
2713 # -- Runtime class name for the repo server
2714 # @default -- `""` (defaults to global.runtimeClassName)
2715 runtimeClassName: ""
2716 ## Repo server Horizontal Pod Autoscaler
2718 # -- Enable Horizontal Pod Autoscaler ([HPA]) for the repo server
2720 # -- Minimum number of replicas for the repo server [HPA]
2722 # -- Maximum number of replicas for the repo server [HPA]
2724 # -- Average CPU utilization percentage for the repo server [HPA]
2725 targetCPUUtilizationPercentage: 50
2726 # -- Average memory utilization percentage for the repo server [HPA]
2727 targetMemoryUtilizationPercentage: 50
2728 # -- Configures the scaling behavior of the target in both Up and Down directions.
2731 # stabilizationWindowSeconds: 300
2735 # periodSeconds: 180
2737 # stabilizationWindowSeconds: 300
2742 # -- Configures custom HPA metrics for the Argo CD repo server
2743 # Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
2745 ## Repo server Pod Disruption Budget
2746 ## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
2748 # -- Deploy a [PodDisruptionBudget] for the repo server
2750 # -- Labels to be added to repo server pdb
2752 # -- Annotations to be added to repo server pdb
2754 # -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
2755 # @default -- `""` (defaults to 0 if not specified)
2757 # -- Number of pods that are unavailable after eviction as number or percentage (eg.: 50%).
2758 ## Has higher precedence over `repoServer.pdb.minAvailable`
2760 ## Repo server Vertical Pod Autoscaler
2761 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/
2763 # -- Deploy a [VerticalPodAutoscaler](https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/) for the repo server
2765 # -- Labels to be added to repo server vpa
2767 # -- Annotations to be added to repo server vpa
2769 # -- One of the VPA operation modes
2770 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically
2771 ## Note: Recreate update mode requires more than one replica unless the min-replicas VPA controller flag is overridden
2773 # -- Controls how VPA computes the recommended resources for repo server container
2774 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/examples/hamster.yaml
2776 # controlledResources: ["cpu", "memory"]
2783 # -- The recommenders that will provide recommendations for vertical scaling. Only relevant if a named VPA recommender (e.g. one started with a custom recommender name) is in use; leave unset to use the cluster's default recommender
2784 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/docs/api.md#verticalpodautoscalerspec
2785 ## NOTE: specify only zero or one recommender as of VPA 1.7.1
2787 ## Repo server image
2789 # -- Repository to use for the repo server
2790 # @default -- `""` (defaults to global.image.repository)
2792 # -- Tag to use for the repo server
2793 # @default -- `""` (defaults to global.image.tag)
2795 # -- Image pull policy for the repo server
2796 # @default -- `""` (defaults to global.image.imagePullPolicy)
2798 # -- Secrets with credentials to pull images from a private registry
2799 # @default -- `[]` (defaults to global.imagePullSecrets)
2800 imagePullSecrets: []
2801 # -- Additional command line arguments to pass to repo server
2803 # -- Environment variables to pass to repo server
2805 # -- envFrom to pass to repo server
2806 # @default -- `[]` (See [values.yaml])
2809 # name: config-map-name
2813 # -- Specify postStart and preStop lifecycle hooks for your argo-repo-server container
2815 # -- Additional containers to be added to the repo server pod
2816 ## Ref: https://argo-cd.readthedocs.io/en/stable/user-guide/config-management-plugins/
2817 ## Note: Supports use of custom Helm templates
2819 # - name: cmp-my-plugin
2821 # - "/var/run/argocd/argocd-cmp-server"
2824 # runAsNonRoot: true
2827 # - mountPath: /var/run/argocd
2829 # - mountPath: /home/argocd/cmp-server/plugins
2831 # # Remove this volumeMount if you've chosen to bake the config file into the sidecar image.
2832 # - mountPath: /home/argocd/cmp-server/config/plugin.yaml
2833 # subPath: my-plugin.yaml
2834 # name: argocd-cmp-cm
2835 # # Starting with v2.4, do NOT mount the same tmp volume as the repo-server container. The filesystem separation helps
2836 # # mitigate path traversal attacks.
2839 # - name: cmp-my-plugin2
2841 # - "/var/run/argocd/argocd-cmp-server"
2844 # runAsNonRoot: true
2847 # - mountPath: /var/run/argocd
2849 # # Remove this volumeMount if you've chosen to bake the config file into the sidecar image.
2850 # - mountPath: /home/argocd/cmp-server/plugins
2852 # - mountPath: /home/argocd/cmp-server/config/plugin.yaml
2853 # subPath: my-plugin2.yaml
2854 # name: argocd-cmp-cm
2855 # # Starting with v2.4, do NOT mount the same tmp volume as the repo-server container. The filesystem separation helps
2856 # # mitigate path traversal attacks.
2860 # -- Init containers to add to the repo server pods
2863 # -- Extra arguments for the cp command in the repo server copyutil initContainer
2864 # @default -- `"--update=none"`
2865 extraArgs: "--update=none"
2866 # -- Resource limits and requests for the repo server copyutil initContainer
2874 # -- Additional volumeMounts to the repo server main container
2876 # -- Additional volumes to the repo server pod
2878 # - name: argocd-cmp-cm
2880 # name: argocd-cmp-cm
2884 # -- Volumes to be used in replacement of emptydir on default volumes
2887 # persistentVolumeClaim:
2888 # claimName: pvc-argocd-repo-server-keyring
2890 # persistentVolumeClaim:
2891 # claimName: pvc-argocd-repo-server-workdir
2893 # persistentVolumeClaim:
2894 # claimName: pvc-argocd-repo-server-tmp
2896 # persistentVolumeClaim:
2897 # claimName: pvc-argocd-repo-server-varfiles
2899 # persistentVolumeClaim:
2900 # claimName: pvc-argocd-repo-server-plugins
2902 ## RepoServer emptyDir volumes
2904 # -- EmptyDir size limit for repo server
2905 # @default -- `""` (defaults not set if not specified i.e. no size limit)
2908 # -- Toggle the usage of a ephemeral Helm working directory
2909 useEphemeralHelmWorkingDir: true
2910 # -- Annotations to be added to repo server Deployment
2911 deploymentAnnotations: {}
2912 # -- Labels for the repo server Deployment
2913 deploymentLabels: {}
2914 # -- Annotations to be added to repo server pods
2916 # -- Labels to be added to repo server pods
2918 # -- Resource limits and requests for the repo server pods
2927 # Repo server container ports
2929 # -- Repo server container port
2931 # -- Metrics container port
2933 # -- Host Network for Repo server pods
2935 # -- [DNS configuration]
2937 # -- Alternative DNS policy for Repo server pods
2938 dnsPolicy: "ClusterFirst"
2939 # -- Repo server container-level security context
2940 # @default -- See [values.yaml]
2941 containerSecurityContext:
2943 readOnlyRootFilesystem: true
2944 allowPrivilegeEscalation: false
2946 type: RuntimeDefault
2950 ## Readiness and liveness probes for Repo Server
2951 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
2953 # -- Enable Kubernetes readiness probe for Repo Server
2955 # -- Http path to use for the readiness probe
2957 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
2959 # -- Number of seconds after the container has started before [probe] is initiated
2960 initialDelaySeconds: 10
2961 # -- How often (in seconds) to perform the [probe]
2963 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
2965 # -- Number of seconds after which the [probe] times out
2968 # -- Enable Kubernetes liveness probe for Repo Server
2970 # -- Http path to use for the liveness probe
2971 httpPath: /healthz?full=true
2972 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
2974 # -- Number of seconds after the container has started before [probe] is initiated
2975 initialDelaySeconds: 10
2976 # -- How often (in seconds) to perform the [probe]
2978 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
2980 # -- Number of seconds after which the [probe] times out
2982 ## Startup probe for Repo Server (optional)
2983 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
2985 # -- Enable Kubernetes startup probe for Repo Server
2987 # -- Http path to use for the startup probe
2989 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
2990 failureThreshold: 20
2991 # -- Number of seconds after the container has started before [probe] is initiated
2992 initialDelaySeconds: 10
2993 # -- How often (in seconds) to perform the [probe]
2995 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
2997 # -- Number of seconds after which the [probe] times out
2999 # -- terminationGracePeriodSeconds for container lifecycle hook
3000 terminationGracePeriodSeconds: 30
3001 # -- [Node selector]
3002 # @default -- `{}` (defaults to global.nodeSelector)
3004 # -- [Tolerations] for use with node taints
3005 # @default -- `[]` (defaults to global.tolerations)
3007 # -- Assign custom [affinity] rules to the deployment
3008 # @default -- `{}` (defaults to global.affinity preset)
3010 # -- Assign custom [TopologySpreadConstraints] rules to the repo server
3011 # @default -- `[]` (defaults to global.topologySpreadConstraints)
3012 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
3013 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
3014 topologySpreadConstraints: []
3016 # topologyKey: topology.kubernetes.io/zone
3017 # whenUnsatisfiable: DoNotSchedule
3019 # -- Deployment strategy to be added to the repo server Deployment
3020 deploymentStrategy: {}
3021 # type: RollingUpdate
3024 # maxUnavailable: 25%
3026 # -- Priority class for the repo server pods
3027 # @default -- `""` (defaults to global.priorityClassName)
3028 priorityClassName: ""
3029 # TLS certificate configuration via Secret
3030 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/tls/#configuring-tls-to-argocd-repo-server
3031 ## Note: Issuing certificates via cert-manager in not supported right now because it's not possible to restart repo server automatically without extra controllers.
3033 # -- Create argocd-repo-server-tls secret
3035 # -- Annotations to be added to argocd-repo-server-tls secret
3037 # -- Labels to be added to argocd-repo-server-tls secret
3039 # -- Certificate authority. Required for self-signed certificates.
3041 # -- Certificate private key
3043 # -- Certificate data. Must contain SANs of Repo service (ie: argocd-repo-server, argocd-repo-server.argo-cd.svc)
3045 ## Repo server service configuration
3047 # -- Repo server service annotations
3049 # -- Repo server service labels
3051 # -- Repo server service port
3053 # -- Repo server service port name
3054 portName: tcp-repo-server
3055 # -- Traffic distribution preference for the repo server service. If the field is not set, the implementation will apply its default routing strategy.
3056 trafficDistribution: ""
3057 ## Repo server metrics service configuration
3059 # -- Deploy metrics service
3062 # -- Metrics service type
3064 # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
3066 # -- Metrics service annotations
3068 # -- Metrics service labels
3070 # -- Metrics service port
3072 # -- Metrics service port name
3073 portName: http-metrics
3075 # -- Enable a prometheus ServiceMonitor
3077 # -- Prometheus ServiceMonitor interval
3079 # -- Prometheus ServiceMonitor scrapeTimeout. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used.
3081 # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
3083 # -- Prometheus [RelabelConfigs] to apply to samples before scraping
3085 # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
3086 metricRelabelings: []
3087 # -- Prometheus ServiceMonitor selector
3089 # prometheus: kube-prometheus
3091 # -- Prometheus ServiceMonitor scheme
3093 # -- Prometheus ServiceMonitor tlsConfig
3095 # -- Prometheus ServiceMonitor namespace
3096 namespace: "" # "monitoring"
3097 # -- Prometheus ServiceMonitor labels
3098 additionalLabels: {}
3099 # -- Prometheus ServiceMonitor annotations
3101 ## Enable Custom Rules for the Repo server's Cluster Role resource
3102 ## Enable this and set the rules: to whatever custom rules you want for the Cluster Role resource.
3105 # -- Enable custom rules for the Repo server's Cluster Role resource
3107 # -- List of custom rules for the Repo server's Cluster Role resource
3109 # -- Automount API credentials for the Service Account into the pod.
3110 automountServiceAccountToken: true
3111 ## Repo server service account
3112 ## If create is set to true, make sure to uncomment the name and update the rbac section below
3114 # -- Create repo server service account
3116 # -- Repo server service account name
3117 name: "" # "argocd-repo-server"
3118 # -- Annotations applied to created service account
3120 # -- Labels applied to created service account
3122 # -- Automount API credentials for the Service Account
3123 automountServiceAccountToken: true
3124 # -- Repo server rbac rules
3135 # Default repo server's network policy
3137 # -- Default network policy rules used by repo server
3138 # @default -- `false` (defaults to global.networkPolicy.create)
3140## ApplicationSet controller
3142 # -- ApplicationSet controller name string
3143 name: applicationset-controller
3144 # -- The number of ApplicationSet controller pods to run
3146 # -- Runtime class name for the ApplicationSet controller
3147 # @default -- `""` (defaults to global.runtimeClassName)
3148 runtimeClassName: ""
3149 ## ApplicationSet controller Pod Disruption Budget
3150 ## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
3152 # -- Deploy a [PodDisruptionBudget] for the ApplicationSet controller
3154 # -- Labels to be added to ApplicationSet controller pdb
3156 # -- Annotations to be added to ApplicationSet controller pdb
3158 # -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
3159 # @default -- `""` (defaults to 0 if not specified)
3161 # -- Number of pods that are unavailable after eviction as number or percentage (eg.: 50%).
3162 ## Has higher precedence over `applicationSet.pdb.minAvailable`
3164 ## ApplicationSet controller Vertical Pod Autoscaler
3165 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/
3167 # -- Deploy a [VerticalPodAutoscaler](https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/) for the ApplicationSet controller
3169 # -- Labels to be added to ApplicationSet controller vpa
3171 # -- Annotations to be added to ApplicationSet controller vpa
3173 # -- One of the VPA operation modes
3174 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically
3175 ## Note: Recreate update mode requires more than one replica unless the min-replicas VPA controller flag is overridden
3177 # -- Controls how VPA computes the recommended resources for ApplicationSet controller container
3178 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/examples/hamster.yaml
3180 # controlledResources: ["cpu", "memory"]
3187 # -- The recommenders that will provide recommendations for vertical scaling. Only relevant if a named VPA recommender (e.g. one started with a custom recommender name) is in use; leave unset to use the cluster's default recommender
3188 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/docs/api.md#verticalpodautoscalerspec
3189 ## NOTE: specify only zero or one recommender as of VPA 1.7.1
3191 ## ApplicationSet controller image
3193 # -- Repository to use for the ApplicationSet controller
3194 # @default -- `""` (defaults to global.image.repository)
3196 # -- Tag to use for the ApplicationSet controller
3197 # @default -- `""` (defaults to global.image.tag)
3199 # -- Image pull policy for the ApplicationSet controller
3200 # @default -- `""` (defaults to global.image.imagePullPolicy)
3202 # -- If defined, uses a Secret to pull an image from a private Docker registry or repository.
3203 # @default -- `[]` (defaults to global.imagePullSecrets)
3204 imagePullSecrets: []
3205 # -- ApplicationSet controller command line flags
3207 # -- Environment variables to pass to the ApplicationSet controller
3212 # -- envFrom to pass to the ApplicationSet controller
3213 # @default -- `[]` (See [values.yaml])
3216 # name: config-map-name
3220 # -- Additional containers to be added to the ApplicationSet controller pod
3221 ## Note: Supports use of custom Helm templates
3223 # -- Init containers to add to the ApplicationSet controller pod
3224 ## Note: Supports use of custom Helm templates
3226 # -- List of extra mounts to add (normally used with extraVolumes)
3227 extraVolumeMounts: []
3228 # -- List of extra volumes to add
3230 ## ApplicationSet controller emptyDir volumes
3232 # -- EmptyDir size limit for applicationSet controller
3233 # @default -- `""` (defaults not set if not specified i.e. no size limit)
3236 ## Metrics service configuration
3238 # -- Deploy metrics service
3241 # -- Metrics service type
3243 # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
3245 # -- Metrics service annotations
3247 # -- Metrics service labels
3249 # -- Metrics service port
3251 # -- Metrics service port name
3252 portName: http-metrics
3254 # -- Enable a prometheus ServiceMonitor
3256 # -- Prometheus ServiceMonitor interval
3258 # -- Prometheus ServiceMonitor scrapeTimeout. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used.
3260 # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
3262 # -- Prometheus [RelabelConfigs] to apply to samples before scraping
3264 # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
3265 metricRelabelings: []
3266 # -- Prometheus ServiceMonitor selector
3268 # prometheus: kube-prometheus
3270 # -- Prometheus ServiceMonitor scheme
3272 # -- Prometheus ServiceMonitor tlsConfig
3274 # -- Prometheus ServiceMonitor namespace
3275 namespace: "" # monitoring
3276 # -- Prometheus ServiceMonitor labels
3277 additionalLabels: {}
3278 # -- Prometheus ServiceMonitor annotations
3280 ## ApplicationSet service configuration
3282 # -- ApplicationSet service annotations
3284 # -- ApplicationSet service labels
3286 # -- ApplicationSet service type
3288 # -- ApplicationSet service port
3290 # -- ApplicationSet service port name
3291 portName: http-webhook
3292 # -- Automount API credentials for the Service Account into the pod.
3293 automountServiceAccountToken: true
3295 # -- Create ApplicationSet controller service account
3297 # -- ApplicationSet controller service account name
3298 name: argocd-applicationset-controller
3299 # -- Annotations applied to created service account
3301 # -- Labels applied to created service account
3303 # -- Automount API credentials for the Service Account
3304 automountServiceAccountToken: true
3305 # -- Annotations to be added to ApplicationSet controller Deployment
3306 deploymentAnnotations: {}
3307 # -- Labels for the ApplicationSet controller Deployment
3308 deploymentLabels: {}
3309 # -- Annotations for the ApplicationSet controller pods
3311 # -- Labels for the ApplicationSet controller pods
3313 # -- Resource limits and requests for the ApplicationSet controller pods.
3322 # ApplicationSet controller container ports
3324 # -- Metrics container port
3326 # -- Probe container port
3328 # -- Webhook container port
3330 # -- [DNS configuration]
3332 # -- Alternative DNS policy for ApplicationSet controller pods
3333 dnsPolicy: "ClusterFirst"
3334 # -- ApplicationSet controller container-level security context
3335 # @default -- See [values.yaml]
3336 containerSecurityContext:
3338 readOnlyRootFilesystem: true
3339 allowPrivilegeEscalation: false
3341 type: RuntimeDefault
3345 ## Probes for ApplicationSet controller (optional)
3346 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
3348 # -- Enable Kubernetes liveness probe for ApplicationSet controller
3350 # -- Number of seconds after the container has started before [probe] is initiated
3351 initialDelaySeconds: 10
3352 # -- How often (in seconds) to perform the [probe]
3354 # -- Number of seconds after which the [probe] times out
3356 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
3358 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
3361 # -- Enable Kubernetes liveness probe for ApplicationSet controller
3363 # -- Number of seconds after the container has started before [probe] is initiated
3364 initialDelaySeconds: 10
3365 # -- How often (in seconds) to perform the [probe]
3367 # -- Number of seconds after which the [probe] times out
3369 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
3371 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
3373 ## Startup probe for ApplicationSet controller (optional)
3374 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
3376 # -- Enable Kubernetes startup probe for ApplicationSet controller
3378 # -- Number of seconds after the container has started before [probe] is initiated
3379 initialDelaySeconds: 10
3380 # -- How often (in seconds) to perform the [probe]
3382 # -- Number of seconds after which the [probe] times out
3384 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
3386 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
3387 failureThreshold: 20
3388 # -- terminationGracePeriodSeconds for container lifecycle hook
3389 terminationGracePeriodSeconds: 30
3390 # -- [Node selector]
3391 # @default -- `{}` (defaults to global.nodeSelector)
3393 # -- [Tolerations] for use with node taints
3394 # @default -- `[]` (defaults to global.tolerations)
3396 # -- Assign custom [affinity] rules
3397 # @default -- `{}` (defaults to global.affinity preset)
3399 # -- Assign custom [TopologySpreadConstraints] rules to the ApplicationSet controller
3400 # @default -- `[]` (defaults to global.topologySpreadConstraints)
3401 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
3402 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
3403 topologySpreadConstraints: []
3405 # topologyKey: topology.kubernetes.io/zone
3406 # whenUnsatisfiable: DoNotSchedule
3408 # -- Deployment strategy to be added to the ApplicationSet controller Deployment
3409 deploymentStrategy: {}
3410 # type: RollingUpdate
3413 # maxUnavailable: 25%
3415 # -- Priority class for the ApplicationSet controller pods
3416 # @default -- `""` (defaults to global.priorityClassName)
3417 priorityClassName: ""
3418 # TLS certificate configuration via cert-manager
3419 ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/tls/#tls-configuration
3421 # -- Deploy a Certificate resource (requires cert-manager)
3423 # -- Certificate primary domain (commonName)
3424 # @default -- `""` (defaults to global.domain)
3426 # -- Certificate Subject Alternate Names (SANs)
3428 # -- The requested 'duration' (i.e. lifetime) of the certificate.
3429 # @default -- `""` (defaults to 2160h = 90d if not specified)
3430 ## Ref: https://cert-manager.io/docs/usage/certificate/#renewal
3432 # -- How long before the expiry a certificate should be renewed.
3433 # @default -- `""` (defaults to 360h = 15d if not specified)
3434 ## Ref: https://cert-manager.io/docs/usage/certificate/#renewal
3436 # Certificate issuer
3437 ## Ref: https://cert-manager.io/docs/concepts/issuer
3439 # -- Certificate issuer group. Set if using an external issuer. Eg. `cert-manager.io`
3441 # -- Certificate issuer kind. Either `Issuer` or `ClusterIssuer`
3443 # -- Certificate issuer name. Eg. `letsencrypt`
3445 # Private key of the certificate
3447 # -- Rotation policy of private key when certificate is re-issued. Either: `Never` or `Always`
3448 rotationPolicy: Never
3449 # -- The private key cryptography standards (PKCS) encoding for private key. Either: `PCKS1` or `PKCS8`
3451 # -- Algorithm used to generate certificate private key. One of: `RSA`, `Ed25519` or `ECDSA`
3453 # -- Key bit size of the private key. If algorithm is set to `Ed25519`, size is ignored.
3455 # -- Annotations to be applied to the ApplicationSet Certificate
3457 ## Ingress for the Git Generator webhook
3458 ## Ref: https://argocd-applicationset.readthedocs.io/en/master/Generators-Git/#webhook-configuration)
3460 # -- Enable an ingress resource for ApplicationSet webhook
3462 # -- Additional ingress labels
3464 # -- Additional ingress annotations
3466 # -- Defines which ingress ApplicationSet controller will implement the resource
3467 ingressClassName: ""
3468 # -- Argo CD ApplicationSet hostname
3469 # @default -- `""` (defaults to global.domain)
3471 # -- List of ingress paths
3473 # -- Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific`
3475 # -- Enable TLS configuration for the hostname defined at `applicationSet.webhook.ingress.hostname`
3476 ## TLS certificate will be retrieved from a TLS secret with name:`argocd-applicationset-controller-tls`
3478 # -- The list of additional hostnames to be covered by ingress record
3479 # @default -- `[]` (See [values.yaml])
3481 # - name: argocd.example.com
3484 # -- Additional ingress paths
3485 # @default -- `[]` (See [values.yaml])
3491 # name: ssl-redirect
3493 # name: use-annotation
3495 # -- Additional ingress rules
3496 # @default -- `[]` (See [values.yaml])
3497 ## Note: Supports use of custom Helm templates
3501 # - path: /api/webhook
3505 # name: '{{ include "argo-cd.applicationSet.fullname" . }}'
3507 # name: '{{ .Values.applicationSet.service.portName }}'
3509 # -- Additional ingress TLS configuration
3510 # @default -- `[]` (See [values.yaml])
3512 # - secretName: argocd-applicationset-tls
3514 # - argocd-applicationset.example.com
3515 ## Gateway API HTTPRoute for the Git Generator webhook
3516 ## Ref: https://argocd-applicationset.readthedocs.io/en/master/Generators-Git/#webhook-configuration)
3517 # NOTE: Gateway API support is in EXPERIMENTAL status
3518 # Support depends on your Gateway controller implementation
3519 # Some controllers may require additional configuration (e.g., BackendTLSPolicy for HTTPS backends)
3520 # Refer to https://gateway-api.sigs.k8s.io/implementations/ for controller-specific details
3522 # -- Enable HTTPRoute resource for Argo CD Applicationset Webhook (Gateway API)
3524 # -- Additional HTTPRoute labels
3526 # -- Additional HTTPRoute annotations
3528 # -- Gateway API parentRefs for the HTTPRoute
3529 ## Must reference an existing Gateway
3530 # @default -- `[]` (See [values.yaml])
3532 # - name: example-gateway
3533 # namespace: example-gateway-namespace
3534 # sectionName: https
3535 # -- List of hostnames for the HTTPRoute
3536 # @default -- `[]` (See [values.yaml])
3538 # - argocd.example.com
3539 # -- HTTPRoute rules configuration
3540 # @default -- `[]` (See [values.yaml])
3547 # - type: RequestHeaderModifier
3548 # requestHeaderModifier:
3550 # - name: X-Custom-Header
3551 # value: custom-value
3552 # Gateway API ListenerSet configuration for the Git Generator webhook
3553 ## Ref: https://argocd-applicationset.readthedocs.io/en/master/Generators-Git/#webhook-configuration
3554 # NOTE: Gateway API support is in EXPERIMENTAL status
3555 # ListenerSet allows attaching additional listeners to an existing Gateway
3556 # Requires Gateway API v1alpha2 and a controller that supports ListenerSet
3557 # Refer to https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1alpha2.ListenerSet
3559 # -- Enable ListenerSet resource for Argo CD ApplicationSet webhook (Gateway API)
3561 # -- Additional ListenerSet labels
3563 # -- Additional ListenerSet annotations
3565 # -- Gateway API parentRef for the ListenerSet
3566 ## Must reference an existing Gateway. Unlike HTTPRoute, ListenerSet accepts exactly one parentRef.
3567 # @default -- `{}` (See [values.yaml])
3569 # name: example-gateway
3570 # namespace: example-gateway-namespace
3571 # -- Hostname for the synthesized listener. Defaults to global.domain when empty.
3573 # -- Name of the synthesized listener. Also used as sectionName in auto-derived httproute parentRefs.
3575 # -- Port for the synthesized listener
3577 # -- Protocol for the synthesized listener
3579 # -- TLS configuration for the synthesized listener
3581 # -- Enable TLS on the synthesized listener
3583 # -- TLS termination mode
3585 # -- Secret name for TLS certificate. Defaults to `argocd-applicationset-controller-tls` when empty.
3587 # -- allowedRoutes for the synthesized listener
3591 # -- Listeners to attach to the parent Gateway. When non-empty, used verbatim and all synthesized listener fields above are ignored.
3592 # @default -- `[]` (See [values.yaml])
3597 # hostname: argocd.example.com
3603 # name: argocd-applicationset-controller-tls
3607 # -- Enable ApplicationSet in any namespace feature
3608 allowAnyNamespace: false
3609 # Default ApplicationSet controller's network policy
3611 # -- Default network policy rules used by ApplicationSet controller
3612 # @default -- `false` (defaults to global.networkPolicy.create)
3614## Notifications controller
3616 # -- Enable notifications controller
3618 # -- Notifications controller name string
3619 name: notifications-controller
3620 # -- Argo CD dashboard url; used in place of {{.context.argocdUrl}} in templates
3621 # @default -- `""` (defaults to https://`global.domain`)
3623 # -- Runtime class name for the notifications controller
3624 # @default -- `""` (defaults to global.runtimeClassName)
3625 runtimeClassName: ""
3626 ## Notifications controller Pod Disruption Budget
3627 ## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
3629 # -- Deploy a [PodDisruptionBudget] for the notifications controller
3631 # -- Labels to be added to notifications controller pdb
3633 # -- Annotations to be added to notifications controller pdb
3635 # -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
3636 # @default -- `""` (defaults to 0 if not specified)
3638 # -- Number of pods that are unavailable after eviction as number or percentage (eg.: 50%).
3639 ## Has higher precedence over `notifications.pdb.minAvailable`
3641 ## Notifications controller Vertical Pod Autoscaler
3642 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/
3644 # -- Deploy a [VerticalPodAutoscaler](https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/) for the notifications controller
3646 # -- Labels to be added to notifications controller vpa
3648 # -- Annotations to be added to notifications controller vpa
3650 # -- One of the VPA operation modes
3651 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically
3652 ## Note: Recreate update mode requires more than one replica unless the min-replicas VPA controller flag is overridden
3654 # -- Controls how VPA computes the recommended resources for notifications controller container
3655 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/examples/hamster.yaml
3657 # controlledResources: ["cpu", "memory"]
3664 # -- The recommenders that will provide recommendations for vertical scaling. Only relevant if a named VPA recommender (e.g. one started with a custom recommender name) is in use; leave unset to use the cluster's default recommender
3665 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/docs/api.md#verticalpodautoscalerspec
3666 ## NOTE: specify only zero or one recommender as of VPA 1.7.1
3668 ## Notifications controller image
3670 # -- Repository to use for the notifications controller
3671 # @default -- `""` (defaults to global.image.repository)
3673 # -- Tag to use for the notifications controller
3674 # @default -- `""` (defaults to global.image.tag)
3676 # -- Image pull policy for the notifications controller
3677 # @default -- `""` (defaults to global.image.imagePullPolicy)
3679 # -- Secrets with credentials to pull images from a private registry
3680 # @default -- `[]` (defaults to global.imagePullSecrets)
3681 imagePullSecrets: []
3682 # DEPRECATED - Use configs.params to override
3683 # -- Notifications controller log format. Either `text` or `json`
3684 # @default -- `""` (defaults to global.logging.format)
3686 # -- Notifications controller log level. One of: `debug`, `info`, `warn`, `error`
3687 # @default -- `""` (defaults to global.logging.level)
3690 # -- Extra arguments to provide to the notifications controller
3692 # -- Additional container environment variables
3694 # -- envFrom to pass to the notifications controller
3695 # @default -- `[]` (See [values.yaml])
3698 # name: config-map-name
3702 # -- Additional containers to be added to the notifications controller pod
3703 ## Note: Supports use of custom Helm templates
3705 # -- Init containers to add to the notifications controller pod
3706 ## Note: Supports use of custom Helm templates
3708 # -- List of extra mounts to add (normally used with extraVolumes)
3709 extraVolumeMounts: []
3710 # -- List of extra volumes to add
3712 # -- Define user-defined context
3713 ## For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/templates/#defining-user-defined-context
3716 # environmentName: staging
3719 # -- Whether helm chart creates notifications controller secret
3720 ## If true, will create a secret with the name below. Otherwise, will assume existence of a secret with that name.
3722 # -- notifications controller Secret name
3723 name: "argocd-notifications-secret"
3724 # -- key:value pairs of annotations to be added to the secret
3726 # -- key:value pairs of labels to be added to the secret
3728 # -- Generic key:value pairs to be inserted into the secret
3729 ## Can be used for templates, notification services etc. Some examples given below.
3730 ## For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/overview/
3733 # # For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/slack/
3735 # # For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/grafana/
3737 # webhooks-github-token:
3741 # For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/email/
3744 # -- Enables prometheus metrics server
3749 # -- Metrics service type
3751 # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
3753 # -- Metrics service annotations
3755 # -- Metrics service labels
3757 # -- Metrics service port name
3758 portName: http-metrics
3760 # -- Enable a prometheus ServiceMonitor
3762 # -- Prometheus ServiceMonitor selector
3764 # prometheus: kube-prometheus
3765 # -- Prometheus ServiceMonitor labels
3766 additionalLabels: {}
3767 # -- Prometheus ServiceMonitor annotations
3769 # namespace: monitoring
3771 # scrapeTimeout: 10s
3772 # -- Prometheus ServiceMonitor scheme
3774 # -- Prometheus ServiceMonitor tlsConfig
3776 # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
3778 # -- Prometheus [RelabelConfigs] to apply to samples before scraping
3780 # -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
3781 metricRelabelings: []
3782 # -- Configures notification services such as slack, email or custom webhook
3783 # @default -- See [values.yaml]
3784 ## For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/overview/
3787 # token: $slack-token
3789 # -- Annotations to be applied to the notifications controller Deployment
3790 deploymentAnnotations: {}
3791 # -- Labels for the notifications controller Deployment
3792 deploymentLabels: {}
3793 # -- Annotations to be applied to the notifications controller Pods
3795 # -- Labels to be applied to the notifications controller Pods
3797 # -- Resource limits and requests for the notifications controller
3806 # Notification controller container ports
3808 # -- Metrics container port
3810 # -- [DNS configuration]
3812 # -- Alternative DNS policy for notifications controller Pods
3813 dnsPolicy: "ClusterFirst"
3814 # -- Notification controller container-level security Context
3815 # @default -- See [values.yaml]
3816 containerSecurityContext:
3818 readOnlyRootFilesystem: true
3819 allowPrivilegeEscalation: false
3821 type: RuntimeDefault
3825 ## Probes for notifications controller Pods (optional)
3826 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
3828 # -- Enable Kubernetes liveness probe for notifications controller Pods
3830 # -- Number of seconds after the container has started before [probe] is initiated
3831 initialDelaySeconds: 10
3832 # -- How often (in seconds) to perform the [probe]
3834 # -- Number of seconds after which the [probe] times out
3836 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
3838 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
3841 # -- Enable Kubernetes liveness probe for notifications controller Pods
3843 # -- Number of seconds after the container has started before [probe] is initiated
3844 initialDelaySeconds: 10
3845 # -- How often (in seconds) to perform the [probe]
3847 # -- Number of seconds after which the [probe] times out
3849 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
3851 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
3853 ## Startup probe for notifications controller Pods (optional)
3854 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
3856 # -- Enable Kubernetes startup probe for notifications controller Pods
3858 # -- Number of seconds after the container has started before [probe] is initiated
3859 initialDelaySeconds: 10
3860 # -- How often (in seconds) to perform the [probe]
3862 # -- Number of seconds after which the [probe] times out
3864 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
3866 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
3867 failureThreshold: 20
3868 # -- terminationGracePeriodSeconds for container lifecycle hook
3869 terminationGracePeriodSeconds: 30
3870 # -- [Node selector]
3871 # @default -- `{}` (defaults to global.nodeSelector)
3873 # -- [Tolerations] for use with node taints
3874 # @default -- `[]` (defaults to global.tolerations)
3876 # -- Assign custom [affinity] rules
3877 # @default -- `{}` (defaults to global.affinity preset)
3879 # -- Assign custom [TopologySpreadConstraints] rules to the application controller
3880 # @default -- `[]` (defaults to global.topologySpreadConstraints)
3881 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
3882 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
3883 topologySpreadConstraints: []
3885 # topologyKey: topology.kubernetes.io/zone
3886 # whenUnsatisfiable: DoNotSchedule
3888 # -- Deployment strategy to be added to the notifications controller Deployment
3891 # -- Priority class for the notifications controller pods
3892 # @default -- `""` (defaults to global.priorityClassName)
3893 priorityClassName: ""
3894 # -- Automount API credentials for the Service Account into the pod.
3895 automountServiceAccountToken: true
3897 # -- Create notifications controller service account
3899 # -- Notification controller service account name
3900 name: argocd-notifications-controller
3901 # -- Annotations applied to created service account
3903 # -- Labels applied to created service account
3905 # -- Automount API credentials for the Service Account
3906 automountServiceAccountToken: true
3908 # -- Whether helm chart creates notifications controller config map
3910 ## Enable this and set the rules: to whatever custom rules you want for the Cluster Role resource.
3913 # -- List of custom rules for the notifications controller's ClusterRole resource
3915 # -- Contains centrally managed global application subscriptions
3916 ## For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/subscriptions/
3918 # # subscription for on-sync-status-unknown trigger notifications
3921 # - email:test@gmail.com
3923 # - on-sync-status-unknown
3924 # # subscription restricted to applications with matching labels only
3927 # selector: test=true
3929 # - on-sync-status-unknown
3931 # -- The notification template is used to generate the notification content
3932 ## For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/templates/
3934 # template.app-deployed: |
3936 # subject: New version of an application {{.app.metadata.name}} is up and running.
3938 # {{if eq .serviceType "slack"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} is now running new version of deployments manifests.
3942 # "title": "{{ .app.metadata.name}}",
3943 # "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
3944 # "color": "#18be52",
3947 # "title": "Sync Status",
3948 # "value": "{{.app.status.sync.status}}",
3952 # "title": "Repository",
3953 # "value": "{{.app.spec.source.repoURL}}",
3957 # "title": "Revision",
3958 # "value": "{{.app.status.sync.revision}}",
3961 # {{range $index, $c := .app.status.conditions}}
3962 # {{if not $index}},{{end}}
3963 # {{if $index}},{{end}}
3965 # "title": "{{$c.type}}",
3966 # "value": "{{$c.message}}",
3972 # template.app-health-degraded: |
3974 # subject: Application {{.app.metadata.name}} has degraded.
3976 # {{if eq .serviceType "slack"}}:exclamation:{{end}} Application {{.app.metadata.name}} has degraded.
3977 # Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
3981 # "title": "{{ .app.metadata.name}}",
3982 # "title_link": "{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
3983 # "color": "#f4c030",
3986 # "title": "Sync Status",
3987 # "value": "{{.app.status.sync.status}}",
3991 # "title": "Repository",
3992 # "value": "{{.app.spec.source.repoURL}}",
3995 # {{range $index, $c := .app.status.conditions}}
3996 # {{if not $index}},{{end}}
3997 # {{if $index}},{{end}}
3999 # "title": "{{$c.type}}",
4000 # "value": "{{$c.message}}",
4006 # template.app-sync-failed: |
4008 # subject: Failed to sync application {{.app.metadata.name}}.
4010 # {{if eq .serviceType "slack"}}:exclamation:{{end}} The sync operation of application {{.app.metadata.name}} has failed at {{.app.status.operationState.finishedAt}} with the following error: {{.app.status.operationState.message}}
4011 # Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
4015 # "title": "{{ .app.metadata.name}}",
4016 # "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
4017 # "color": "#E96D76",
4020 # "title": "Sync Status",
4021 # "value": "{{.app.status.sync.status}}",
4025 # "title": "Repository",
4026 # "value": "{{.app.spec.source.repoURL}}",
4029 # {{range $index, $c := .app.status.conditions}}
4030 # {{if not $index}},{{end}}
4031 # {{if $index}},{{end}}
4033 # "title": "{{$c.type}}",
4034 # "value": "{{$c.message}}",
4040 # template.app-sync-running: |
4042 # subject: Start syncing application {{.app.metadata.name}}.
4044 # The sync operation of application {{.app.metadata.name}} has started at {{.app.status.operationState.startedAt}}.
4045 # Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
4049 # "title": "{{ .app.metadata.name}}",
4050 # "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
4051 # "color": "#0DADEA",
4054 # "title": "Sync Status",
4055 # "value": "{{.app.status.sync.status}}",
4059 # "title": "Repository",
4060 # "value": "{{.app.spec.source.repoURL}}",
4063 # {{range $index, $c := .app.status.conditions}}
4064 # {{if not $index}},{{end}}
4065 # {{if $index}},{{end}}
4067 # "title": "{{$c.type}}",
4068 # "value": "{{$c.message}}",
4074 # template.app-sync-status-unknown: |
4076 # subject: Application {{.app.metadata.name}} sync status is 'Unknown'
4078 # {{if eq .serviceType "slack"}}:exclamation:{{end}} Application {{.app.metadata.name}} sync is 'Unknown'.
4079 # Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
4080 # {{if ne .serviceType "slack"}}
4081 # {{range $c := .app.status.conditions}}
4088 # "title": "{{ .app.metadata.name}}",
4089 # "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
4090 # "color": "#E96D76",
4093 # "title": "Sync Status",
4094 # "value": "{{.app.status.sync.status}}",
4098 # "title": "Repository",
4099 # "value": "{{.app.spec.source.repoURL}}",
4102 # {{range $index, $c := .app.status.conditions}}
4103 # {{if not $index}},{{end}}
4104 # {{if $index}},{{end}}
4106 # "title": "{{$c.type}}",
4107 # "value": "{{$c.message}}",
4113 # template.app-sync-succeeded: |
4115 # subject: Application {{.app.metadata.name}} has been successfully synced.
4117 # {{if eq .serviceType "slack"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} has been successfully synced at {{.app.status.operationState.finishedAt}}.
4118 # Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
4122 # "title": "{{ .app.metadata.name}}",
4123 # "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
4124 # "color": "#18be52",
4127 # "title": "Sync Status",
4128 # "value": "{{.app.status.sync.status}}",
4132 # "title": "Repository",
4133 # "value": "{{.app.spec.source.repoURL}}",
4136 # {{range $index, $c := .app.status.conditions}}
4137 # {{if not $index}},{{end}}
4138 # {{if $index}},{{end}}
4140 # "title": "{{$c.type}}",
4141 # "value": "{{$c.message}}",
4148 # -- The trigger defines the condition when the notification should be sent
4149 ## For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/triggers/
4151 # trigger.on-deployed: |
4152 # - description: Application is synced and healthy. Triggered once per commit.
4153 # oncePer: app.status.sync.revision
4156 # when: app.status.operationState.phase in ['Succeeded'] and app.status.health.status == 'Healthy'
4157 # trigger.on-health-degraded: |
4158 # - description: Application has degraded
4160 # - app-health-degraded
4161 # when: app.status.health.status == 'Degraded'
4162 # trigger.on-sync-failed: |
4163 # - description: Application syncing has failed
4166 # when: app.status.operationState.phase in ['Error', 'Failed']
4167 # trigger.on-sync-running: |
4168 # - description: Application is being synced
4170 # - app-sync-running
4171 # when: app.status.operationState.phase in ['Running']
4172 # trigger.on-sync-status-unknown: |
4173 # - description: Application status is 'Unknown'
4175 # - app-sync-status-unknown
4176 # when: app.status.sync.status == 'Unknown'
4177 # trigger.on-sync-succeeded: |
4178 # - description: Application syncing has succeeded
4180 # - app-sync-succeeded
4181 # when: app.status.operationState.phase in ['Succeeded']
4183 # For more information: https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/triggers/#default-triggers
4184 # defaultTriggers: |
4185 # - on-sync-status-unknown
4187 # Default notifications controller's network policy
4189 # -- Default network policy rules used by notifications controller
4190 # @default -- `false` (defaults to global.networkPolicy.create)
4193 # -- Enable commit server
4195 # -- Commit server name
4197 # -- Runtime class name for the commit server
4198 # @default -- `""` (defaults to global.runtimeClassName)
4199 runtimeClassName: ""
4200 ## commit server controller image
4202 # -- Repository to use for the commit server
4203 # @default -- `""` (defaults to global.image.repository)
4205 # -- Tag to use for the commit server
4206 # @default -- `""` (defaults to global.image.tag)
4208 # -- Image pull policy for the commit server
4209 # @default -- `""` (defaults to global.image.imagePullPolicy)
4211 # -- commit server command line flags
4213 # -- Environment variables to pass to the commit server
4218 # -- envFrom to pass to the commit server
4219 # @default -- `[]` (See [values.yaml])
4222 # name: config-map-name
4226 # -- List of extra mounts to add (normally used with extraVolumes)
4227 extraVolumeMounts: []
4228 # -- List of extra volumes to add
4231 # -- Enables prometheus metrics server
4234 # -- Metrics service type
4236 # -- Metrics service clusterIP. `None` makes a "headless service" (no virtual IP)
4238 # -- Metrics service annotations
4240 # -- Metrics service labels
4242 # -- Metrics service port
4244 # -- Metrics service port name
4246 ## commit server service configuration
4248 # -- commit server service annotations
4250 # -- commit server service labels
4252 # -- commit server service port
4254 # -- commit server service port name
4256 # -- Automount API credentials for the Service Account into the pod.
4257 automountServiceAccountToken: false
4259 # -- Create commit server service account
4261 # -- commit server service account name
4262 name: argocd-commit-server
4263 # -- Annotations applied to created service account
4265 # -- Labels applied to created service account
4267 # -- Automount API credentials for the Service Account
4268 automountServiceAccountToken: true
4269 # -- Annotations to be added to commit server Deployment
4270 deploymentAnnotations: {}
4271 # -- Labels for the commit server Deployment
4272 deploymentLabels: {}
4273 # -- Annotations for the commit server pods
4275 # -- Labels for the commit server pods
4277 # -- Resource limits and requests for the commit server pods.
4286 # -- [DNS configuration]
4288 # -- Alternative DNS policy for commit server pods
4289 dnsPolicy: "ClusterFirst"
4290 # -- commit server container-level security context
4291 # @default -- See [values.yaml]
4292 containerSecurityContext:
4294 readOnlyRootFilesystem: true
4295 allowPrivilegeEscalation: false
4300 type: RuntimeDefault
4301 ## Probes for commit server (optional)
4302 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
4304 # -- Enable Kubernetes liveness probe for commit server
4306 # -- Http path to use for the readiness probe
4308 # -- Number of seconds after the container has started before [probe] is initiated
4309 initialDelaySeconds: 5
4310 # -- How often (in seconds) to perform the [probe]
4312 # -- Number of seconds after which the [probe] times out
4314 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
4317 # -- Enable Kubernetes liveness probe for commit server
4319 # -- Http path to use for the liveness probe
4320 httpPath: /healthz?full=true
4321 # -- Number of seconds after the container has started before [probe] is initiated
4322 initialDelaySeconds: 30
4323 # -- How often (in seconds) to perform the [probe]
4325 # -- Number of seconds after which the [probe] times out
4327 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
4329 ## Startup probe for commit server (optional)
4330 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
4332 # -- Enable Kubernetes startup probe for commit server
4334 # -- Http path to use for the startup probe
4336 # -- Number of seconds after the container has started before [probe] is initiated
4337 initialDelaySeconds: 10
4338 # -- How often (in seconds) to perform the [probe]
4340 # -- Number of seconds after which the [probe] times out
4342 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
4343 failureThreshold: 20
4344 # -- terminationGracePeriodSeconds for container lifecycle hook
4345 terminationGracePeriodSeconds: 30
4346 # -- [Node selector]
4347 # @default -- `{}` (defaults to global.nodeSelector)
4349 # -- [Tolerations] for use with node taints
4350 # @default -- `[]` (defaults to global.tolerations)
4352 # -- Assign custom [affinity] rules
4353 # @default -- `{}` (defaults to global.affinity preset)
4355 # -- Assign custom [TopologySpreadConstraints] rules to the commit server
4356 # @default -- `[]` (defaults to global.topologySpreadConstraints)
4357 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
4358 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
4359 topologySpreadConstraints: []
4361 # topologyKey: topology.kubernetes.io/zone
4362 # whenUnsatisfiable: DoNotSchedule
4364 # -- Deployment strategy to be added to the commit server Deployment
4365 deploymentStrategy: {}
4366 # type: RollingUpdate
4369 # maxUnavailable: 25%
4371 # -- Priority class for the commit server pods
4372 # @default -- `""` (defaults to global.priorityClassName)
4373 priorityClassName: ""
4374 # Default commit server's network policy
4376 # -- Default network policy rules used by commit server
4377 # @default -- `false` (defaults to global.networkPolicy.create)
4379 ## Commit server Vertical Pod Autoscaler
4380 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/
4382 # -- Deploy a [VerticalPodAutoscaler](https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/) for the commit server
4384 # -- Labels to be added to commit server vpa
4386 # -- Annotations to be added to commit server vpa
4388 # -- One of the VPA operation modes
4389 ## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically
4390 ## Note: Recreate update mode requires more than one replica unless the min-replicas VPA controller flag is overridden
4392 # -- Controls how VPA computes the recommended resources for commit server container
4393 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/examples/hamster.yaml
4395 # controlledResources: ["cpu", "memory"]
4402 # -- The recommenders that will provide recommendations for vertical scaling. Only relevant if a named VPA recommender (e.g. one started with a custom recommender name) is in use; leave unset to use the cluster's default recommender
4403 ## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/docs/api.md#verticalpodautoscalerspec
4404 ## NOTE: specify only zero or one recommender as of VPA 1.7.1