github.com/verrazzano/verrazzano@v1.7.0/platform-operator/thirdparty/charts/argo-cd/README.md (about) 1 # Argo CD Chart 2 3 A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes. 4 5 Source code can be found here: 6 7 * <https://github.com/argoproj/argo-helm/tree/main/charts/argo-cd> 8 * <https://github.com/argoproj/argo-cd> 9 10 This is a **community maintained** chart. This chart installs [argo-cd](https://argo-cd.readthedocs.io/en/stable/), a declarative, GitOps continuous delivery tool for Kubernetes. 11 12 The default installation is intended to be similar to the provided Argo CD [releases](https://github.com/argoproj/argo-cd/releases). 13 14 If you want to avoid including sensitive information unencrypted (clear text) in your version control, make use of the [declarative setup] of Argo CD. 15 For instance, rather than adding repositories and their keys in your Helm values, you could deploy [SealedSecrets](https://github.com/bitnami-labs/sealed-secrets) with contents as seen in this [repositories section](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#repositories) or any other secrets manager service (i.e. HashiCorp Vault, AWS/GCP Secrets Manager, etc.). 16 17 ## High Availability 18 19 This chart installs the non-HA version of Argo CD by default. If you want to run Argo CD in HA mode, you can use one of the example values in the next sections. 20 Please also have a look into the upstream [Operator Manual regarding High Availability](https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/) to understand how scaling of Argo CD works in detail. 21 22 > **Warning:** 23 > You need at least 3 worker nodes as the HA mode of redis enforces Pods to run on separate nodes. 24 25 ### HA mode with autoscaling 26 27 ```yaml 28 redis-ha: 29 enabled: true 30 31 controller: 32 replicas: 1 33 34 server: 35 autoscaling: 36 enabled: true 37 minReplicas: 2 38 39 repoServer: 40 autoscaling: 41 enabled: true 42 minReplicas: 2 43 44 applicationSet: 45 replicas: 2 46 ``` 47 48 ### HA mode without autoscaling 49 50 ```yaml 51 redis-ha: 52 enabled: true 53 54 controller: 55 replicas: 1 56 57 server: 58 replicas: 2 59 60 repoServer: 61 replicas: 2 62 63 applicationSet: 64 replicas: 2 65 ``` 66 67 ### Synchronizing Changes from Original Repository 68 69 In the original [Argo CD repository](https://github.com/argoproj/argo-cd/) an [`manifests/install.yaml`](https://github.com/argoproj/argo-cd/blob/master/manifests/install.yaml) is generated using `kustomize`. It's the basis for the installation as [described in the docs](https://argo-cd.readthedocs.io/en/stable/getting_started/#1-install-argo-cd). 70 71 When installing Argo CD using this helm chart the user should have a similar experience and configuration rolled out. Hence, it makes sense to try to achieve a similar output of rendered `.yaml` resources when calling `helm template` using the default settings in `values.yaml`. 72 73 To update the templates and default settings in `values.yaml` it may come in handy to look up the diff of the `manifests/install.yaml` between two versions accordingly. This can either be done directly via github and look for `manifests/install.yaml`: 74 75 https://github.com/argoproj/argo-cd/compare/v1.8.7...v2.0.0#files_bucket 76 77 Or you clone the repository and do a local `git-diff`: 78 79 ```bash 80 git clone https://github.com/argoproj/argo-cd.git 81 cd argo-cd 82 git diff v1.8.7 v2.0.0 -- manifests/install.yaml 83 ``` 84 85 Changes in the `CustomResourceDefinition` resources shall be fixed easily by copying 1:1 from the [`manifests/crds` folder](https://github.com/argoproj/argo-cd/tree/master/manifests/crds) into this [`charts/argo-cd/templates/crds` folder](https://github.com/argoproj/argo-helm/tree/master/charts/argo-cd/templates/crds). 86 87 ### Custom resource definitions 88 89 Some users would prefer to install the CRDs _outside_ of the chart. You can disable the CRD installation of this chart by using `--set crds.install=false` when installing the chart. 90 91 Helm cannot upgrade custom resource definitions in the `<chart>/crds` folder [by design](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/#some-caveats-and-explanations). Starting with 5.2.0, the CRDs have been moved to `<chart>/templates` to address this design decision. 92 93 If you are using Argo CD chart version prior to 5.2.0 or have elected to manage the Argo CD CRDs outside of the chart, please use `kubectl` to upgrade CRDs manually from [templates/crds](templates/crds/) folder or via the manifests from the upstream project repo: 94 95 ```bash 96 kubectl apply -k "https://github.com/argoproj/argo-cd/manifests/crds?ref=<appVersion>" 97 98 # Eg. version v2.4.9 99 kubectl apply -k "https://github.com/argoproj/argo-cd/manifests/crds?ref=v2.4.9" 100 ``` 101 102 ## Changelog 103 104 For full list of changes please check ArtifactHub [changelog]. 105 106 Highlighted versions provide information about additional steps that should be performed by user when upgrading to newer version. 107 108 ### 5.35.0 109 This version supports Kubernetes version `>=1.23.0-0`. The current supported version of Kubernetes is v1.24 or later and we align with Amazon EKS calendar, because many of AWS users and conservative approach. 110 111 Please see more information about EoL: [Amazon EKS EoL][EKS EoL]. 112 113 ### 5.31.0 114 The manifests are now using [`tini` as entrypoint][tini], instead of `entrypoint.sh`. Until Argo CD v2.8, `entrypoint.sh` is retained for upgrade compatibility. 115 This means that the deployment manifests have to be updated after upgrading to Argo CD v2.7, and before upgrading to Argo CD v2.8 later. 116 In case the manifests are updated before moving to Argo CD v2.8, the containers will not be able to start. 117 118 ### 5.24.0 119 120 This versions adds additional global parameters for scheduling (`nodeSelector`, `tolerations`, `topologySpreadConstraints`). 121 Default `global.affinity` rules can be disabled when `none` value is used for the preset. 122 123 ### 5.22.0 124 125 This versions adds `global.affinity` options that are used as a presets. Override on component level works as before and replaces the default preset completely. 126 127 ### 5.19.0 128 129 This version consolidates config for custom repository TLS certificates and SSH known hosts. If you provide this values please move them into new `configs.ssh` and `configs.tls` sections. 130 You can also use new option `configs.ssh.extraHosts` to configure your SSH keys without maintaing / overwritting keys for public Git repositories. 131 132 ### 5.13.0 133 134 This version reduces history limit for Argo CD deployment replicas to 3 to provide more visibility for Argo CD deployments that manage itself. If you need more deployment revisions for rollbacks set `global.revisionHistoryLimit` parameter. 135 136 ### 5.12.0 137 138 If Argo CD is managing termination of TLS and you are using `configs.secret.argocdServerTlsConfig` option to provide custom TLS configuration for this chart, please use `server.certificate` or `server.certificateSecret` instead. 139 For the secrets for tls termination, please use a secret named `argocd-server-tls` instead of `argocd-secret`. 140 For the technical details please check the [Argo CD documentation](https://argo-cd.readthedocs.io/en/stable/operator-manual/tls/#tls-certificates-used-by-argocd-server). When transitioning from the one secret to the other pay attention to `tls.key` and `tls.crt` keys. 141 142 ### 5.10.0 143 144 This version hardens security by configuring default container security contexts and adds hard requirement for Kubernetes 1.22+ to work properly. 145 The change aligns chart with officially [supported versions](https://argo-cd.readthedocs.io/en/release-2.5/operator-manual/installation/#supported-versions) by upstream project. 146 147 ### 5.7.0 148 149 This version introcudes new `configs.cm` and `configs.rbac` sections that replaces `server.config` and `server.rbacConfig` respectively. 150 Please move your current configuration to the new place. The Argo CD RBAC config now also sets defaults in the `argocd-rbac-cm`. 151 If you have manually created this ConfigMap please ensure templating is disabled so you will not lose your changes. 152 153 ### 5.5.20 154 155 This version moved API version templates into dedicated helper. If you are using these in your umbrella 156 chart please migrate your templates to pattern `argo-cd.apiVersion.<component>`. 157 158 ### 5.5.0 159 160 This version introduces new `configs.params` section that replaces command line arguments for containers. 161 Please refer to documentation in values.yaml for migrating the configuration. 162 163 ### 5.2.0 164 165 Custom resource definitions were moved to `templates` folder so they can be managed by Helm. 166 167 To adopt already created CRDs, please use following command: 168 169 ```bash 170 YOUR_ARGOCD_NAMESPACE="" # e.g. argo-cd 171 YOUR_ARGOCD_RELEASENAME="" # e.g. argo-cd 172 173 for crd in "applications.argoproj.io" "applicationsets.argoproj.io" "argocdextensions.argoproj.io" "appprojects.argoproj.io"; do 174 kubectl label --overwrite crd $crd app.kubernetes.io/managed-by=Helm 175 kubectl annotate --overwrite crd $crd meta.helm.sh/release-namespace="$YOUR_ARGOCD_NAMESPACE" 176 kubectl annotate --overwrite crd $crd meta.helm.sh/release-name="$YOUR_ARGOCD_RELEASENAME" 177 done 178 ``` 179 180 ### 5.0.0 181 182 This version **removes support for**: 183 184 - deprecated repository credentials (parameter `configs.repositoryCredentials`) 185 - option to run application controller as a Deployment 186 - the parameters `server.additionalApplications` and `server.additionalProjects` 187 188 Please carefully read the following section if you are using these parameters! 189 190 In order to upgrade Applications and Projects safely against CRDs' upgrade, `server.additionalApplications` and `server.additionalProjects` are moved to [argocd-apps](../argocd-apps). 191 192 If you are using `server.additionalApplications` or `server.additionalProjects`, you can adopt to [argocd-apps](../argocd-apps) as below: 193 194 1. Add [helm.sh/resource-policy annotation](https://helm.sh/docs/howto/charts_tips_and_tricks/#tell-helm-not-to-uninstall-a-resource) to avoid resources being removed by upgrading Helm chart 195 196 You can keep your existing CRDs by adding `"helm.sh/resource-policy": keep` on `additionalAnnotations`, under `server.additionalApplications` and `server.additionalProjects` blocks, and running `helm upgrade`. 197 198 e.g: 199 200 ```yaml 201 server: 202 additionalApplications: 203 - name: guestbook 204 namespace: argocd 205 additionalLabels: {} 206 additionalAnnotations: 207 "helm.sh/resource-policy": keep # <-- add this 208 finalizers: 209 - resources-finalizer.argocd.argoproj.io 210 project: guestbook 211 source: 212 repoURL: https://github.com/argoproj/argocd-example-apps.git 213 targetRevision: HEAD 214 path: guestbook 215 directory: 216 recurse: true 217 destination: 218 server: https://kubernetes.default.svc 219 namespace: guestbook 220 syncPolicy: 221 automated: 222 prune: false 223 selfHeal: false 224 ignoreDifferences: 225 - group: apps 226 kind: Deployment 227 jsonPointers: 228 - /spec/replicas 229 info: 230 - name: url 231 value: https://argoproj.github.io/ 232 ``` 233 234 You can also keep your existing CRDs by running the following scripts. 235 236 ```bash 237 # keep Applications 238 for app in "guestbook"; do 239 kubectl annotate --overwrite application $app helm.sh/resource-policy=keep 240 done 241 242 # keep Projects 243 for project in "guestbook"; do 244 kubectl annotate --overwrite appproject $project helm.sh/resource-policy=keep 245 done 246 ``` 247 248 2. Upgrade argo-cd Helm chart to v5.0.0 249 250 3. Remove keep [helm.sh/resource-policy annotation](https://helm.sh/docs/howto/charts_tips_and_tricks/#tell-helm-not-to-uninstall-a-resource) 251 252 ```bash 253 # delete annotations from Applications 254 for app in "guestbook"; do 255 kubectl annotate --overwrite application $app helm.sh/resource-policy- 256 done 257 258 # delete annotations from Projects 259 for project in "guestbook"; do 260 kubectl annotate --overwrite appproject $project helm.sh/resource-policy- 261 done 262 ``` 263 264 4. Adopt existing resources to [argocd-apps](../argocd-apps) 265 266 ### 4.9.0 267 268 This version starts to use upstream image with applicationset binary. Start command was changed from `applicationset-controller` to `argocd-applicationset-controller` 269 270 ### 4.3.* 271 272 With this minor version, the notification notifier's `service.slack` is no longer configured by default. 273 274 ### 4.0.0 and above 275 276 This helm chart version deploys Argo CD v2.3. The Argo CD Notifications and ApplicationSet are part of Argo CD now. You no longer need to install them separately. The Notifications and ApplicationSet components **are bundled into default** Argo CD installation. 277 Please read the [v2.2 to 2.3 upgrade instructions] in the upstream repository. 278 279 ### 3.13.0 280 281 This release removes the flag `--staticassets` from argocd server as it has been dropped upstream. If this flag needs to be enabled e.g for older releases of Argo CD, it can be passed via the `server.extraArgs` field 282 283 ### 3.10.2 284 285 Argo CD has recently deprecated the flag `--staticassets` and from chart version `3.10.2` has been disabled by default 286 It can be re-enabled by setting `server.staticAssets.enabled` to true 287 288 ### 3.8.1 289 290 This bugfix version potentially introduces a rename (and recreation) of one or more ServiceAccounts. It _only happens_ when you use one of these customization: 291 292 ```yaml 293 # Case 1) - only happens when you do not specify a custom name (repoServer.serviceAccount.name) 294 repoServer: 295 serviceAccount: 296 create: true 297 298 # Case 2) 299 controller: 300 serviceAccount: 301 name: "" # or <nil> 302 303 # Case 3) 304 dex: 305 serviceAccount: 306 name: "" # or <nil> 307 308 # Case 4) 309 server: 310 serviceAccount: 311 name: "" # or <nil> 312 ``` 313 314 Please check if you are affected by one of these cases **before you upgrade**, especially when you use **cloud IAM roles for service accounts.** (eg. IRSA on AWS or Workload Identity for GKE) 315 316 ### 3.2.* 317 318 With this minor version we introduced the evaluation for the ingress manifest (depending on the capabilities version), See [Pull Request](https://github.com/argoproj/argo-helm/pull/637). 319 [Issue 703](https://github.com/argoproj/argo-helm/issues/703) reported that the capabilities evaluation is **not handled correctly when deploying the chart via an Argo CD instance**, 320 especially deploying on clusters running a cluster version prior to `1.19` (which misses `Ingress` on apiVersion `networking.k8s.io/v1`). 321 322 If you are running a cluster version prior to `1.19` you can avoid this issue by directly installing chart version `3.6.0` and setting `kubeVersionOverride` like: 323 324 ```yaml 325 kubeVersionOverride: "1.18.0" 326 ``` 327 328 Then you should no longer encounter this issue. 329 330 ### 3.0.0 and above 331 332 Helm apiVersion switched to `v2`. Requires Helm `3.0.0` or above to install. [Read More](https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/) on how to migrate your release from Helm 2 to Helm 3. 333 334 ### 2.14.7 and above 335 336 The `matchLabels` key in the Argo CD Application Controller is no longer hard-coded. Note that labels are immutable so caution should be exercised when making changes to this resource. 337 338 ### 2.10.x to 2.11.0 339 340 The application controller is now available as a `StatefulSet` when the `controller.enableStatefulSet` flag is set to true. Depending on your Helm deployment this may be a downtime or breaking change if enabled when using HA and will become the default in 3.x. 341 342 ### 1.8.7 to 2.x.x 343 344 `controller.extraArgs`, `repoServer.extraArgs` and `server.extraArgs` are now arrays of strings instead of a map 345 346 What was 347 348 ```yaml 349 server: 350 extraArgs: 351 insecure: "" 352 ``` 353 354 is now 355 356 ```yaml 357 server: 358 extraArgs: 359 - --insecure 360 ``` 361 362 ## Prerequisites 363 364 - Kubernetes: `>=1.23.0-0` 365 - We align with [Amazon EKS calendar][EKS EoL] because there are many AWS users and it's a conservative approach. 366 - Please check [Support Matrix of Argo CD][Kubernetes Compatibility Matrix] for official info. 367 - Helm v3.0.0+ 368 369 ## Installing the Chart 370 371 To install the chart with the release name `my-release`: 372 373 ```console 374 $ helm repo add argo https://argoproj.github.io/argo-helm 375 "argo" has been added to your repositories 376 377 $ helm install my-release argo/argo-cd 378 NAME: my-release 379 ... 380 ``` 381 382 ## General parameters 383 384 | Key | Type | Default | Description | 385 |-----|------|---------|-------------| 386 | apiVersionOverrides.cloudgoogle | string | `""` | String to override apiVersion of GKE resources rendered by this helm chart | 387 | crds.additionalLabels | object | `{}` | Addtional labels to be added to all CRDs | 388 | crds.annotations | object | `{}` | Annotations to be added to all CRDs | 389 | crds.install | bool | `true` | Install and upgrade CRDs | 390 | crds.keep | bool | `true` | Keep CRDs on chart uninstall | 391 | createAggregateRoles | bool | `false` | Create aggregated roles that extend existing cluster roles to interact with argo-cd resources | 392 | createClusterRoles | bool | `true` | Create cluster roles for cluster-wide installation. | 393 | extraObjects | list | `[]` | Array of extra K8s manifests to deploy | 394 | fullnameOverride | string | `""` | String to fully override `"argo-cd.fullname"` | 395 | kubeVersionOverride | string | `""` | Override the Kubernetes version, which is used to evaluate certain manifests | 396 | nameOverride | string | `"argocd"` | Provide a name in place of `argocd` | 397 | openshift.enabled | bool | `false` | enables using arbitrary uid for argo repo server | 398 399 ## Global Configs 400 401 | Key | Type | Default | Description | 402 |-----|------|---------|-------------| 403 | global.addPrometheusAnnotations | bool | `false` | Add Prometheus scrape annotations to all metrics services. This can be used as an alternative to the ServiceMonitors. | 404 | global.additionalLabels | object | `{}` | Common labels for the all resources | 405 | global.affinity.nodeAffinity.matchExpressions | list | `[]` | Default match expressions for node affinity | 406 | global.affinity.nodeAffinity.type | string | `"hard"` | Default node affinity rules. Either: `none`, `soft` or `hard` | 407 | global.affinity.podAntiAffinity | string | `"soft"` | Default pod anti-affinity rules. Either: `none`, `soft` or `hard` | 408 | global.certificateAnnotations | object | `{}` | Annotations for the all deployed Certificates | 409 | global.deploymentAnnotations | object | `{}` | Annotations for the all deployed Deployments | 410 | global.deploymentStrategy | object | `{}` | Deployment strategy for the all deployed Deployments | 411 | global.env | list | `[]` | Environment variables to pass to all deployed Deployments | 412 | global.hostAliases | list | `[]` | Mapping between IP and hostnames that will be injected as entries in the pod's hosts files | 413 | global.image.imagePullPolicy | string | `"IfNotPresent"` | If defined, a imagePullPolicy applied to all Argo CD deployments | 414 | global.image.repository | string | `"quay.io/argoproj/argocd"` | If defined, a repository applied to all Argo CD deployments | 415 | global.image.tag | string | `""` | Overrides the global Argo CD image tag whose default is the chart appVersion | 416 | global.imagePullSecrets | list | `[]` | Secrets with credentials to pull images from a private registry | 417 | global.logging.format | string | `"text"` | Set the global logging format. Either: `text` or `json` | 418 | global.logging.level | string | `"info"` | Set the global logging level. One of: `debug`, `info`, `warn` or `error` | 419 | global.networkPolicy.create | bool | `false` | Create NetworkPolicy objects for all components | 420 | global.networkPolicy.defaultDenyIngress | bool | `false` | Default deny all ingress traffic | 421 | global.nodeSelector | object | `{}` | Default node selector for all components | 422 | global.podAnnotations | object | `{}` | Annotations for the all deployed pods | 423 | global.podLabels | object | `{}` | Labels for the all deployed pods | 424 | global.priorityClassName | string | `""` | Default priority class for all components | 425 | global.revisionHistoryLimit | int | `3` | Number of old deployment ReplicaSets to retain. The rest will be garbage collected. | 426 | global.securityContext | object | `{}` (See [values.yaml]) | Toggle and define pod-level security context. | 427 | global.statefulsetAnnotations | object | `{}` | Annotations for the all deployed Statefulsets | 428 | global.tolerations | list | `[]` | Default tolerations for all components | 429 | global.topologySpreadConstraints | list | `[]` | Default [TopologySpreadConstraints] rules for all components | 430 431 ## Argo CD Configs 432 433 | Key | Type | Default | Description | 434 |-----|------|---------|-------------| 435 | configs.clusterCredentials | list | `[]` (See [values.yaml]) | Provide one or multiple [external cluster credentials] | 436 | configs.cm."admin.enabled" | bool | `true` | Enable local admin user | 437 | configs.cm."application.instanceLabelKey" | string | Defaults to app.kubernetes.io/instance | The name of tracking label used by Argo CD for resource pruning | 438 | configs.cm."exec.enabled" | bool | `false` | Enable exec feature in Argo UI | 439 | configs.cm."server.rbac.log.enforce.enable" | bool | `false` | Enable logs RBAC enforcement | 440 | configs.cm."timeout.hard.reconciliation" | string | `"0s"` | Timeout to refresh application data as well as target manifests cache | 441 | configs.cm."timeout.reconciliation" | string | `"180s"` | Timeout to discover if a new manifests version got published to the repository | 442 | configs.cm.annotations | object | `{}` | Annotations to be added to argocd-cm configmap | 443 | configs.cm.create | bool | `true` | Create the argocd-cm configmap for [declarative setup] | 444 | configs.cm.url | string | `""` | Argo CD's externally facing base URL (optional). Required when configuring SSO | 445 | configs.cmp.annotations | object | `{}` | Annotations to be added to argocd-cmp-cm configmap | 446 | configs.cmp.create | bool | `false` | Create the argocd-cmp-cm configmap | 447 | configs.cmp.plugins | object | `{}` | Plugin yaml files to be added to argocd-cmp-cm | 448 | configs.credentialTemplates | object | `{}` | Repository credentials to be used as Templates for other repos | 449 | configs.credentialTemplatesAnnotations | object | `{}` | Annotations to be added to `configs.credentialTemplates` Secret | 450 | configs.gpg.annotations | object | `{}` | Annotations to be added to argocd-gpg-keys-cm configmap | 451 | configs.gpg.keys | object | `{}` (See [values.yaml]) | [GnuPG] public keys to add to the keyring | 452 | configs.params."applicationsetcontroller.enable.progressive.syncs" | bool | `false` | Enables use of the Progressive Syncs capability | 453 | configs.params."applicationsetcontroller.policy" | string | `"sync"` | Modify how application is synced between the generator and the cluster. One of: `sync`, `create-only`, `create-update`, `create-delete` | 454 | configs.params."controller.operation.processors" | int | `10` | Number of application operation processors | 455 | configs.params."controller.repo.server.timeout.seconds" | int | `60` | Repo server RPC call timeout seconds. | 456 | configs.params."controller.self.heal.timeout.seconds" | int | `5` | Specifies timeout between application self heal attempts | 457 | configs.params."controller.status.processors" | int | `20` | Number of application status processors | 458 | configs.params."otlp.address" | string | `""` | Open-Telemetry collector address: (e.g. "otel-collector:4317") | 459 | configs.params."reposerver.parallelism.limit" | int | `0` | Limit on number of concurrent manifests generate requests. Any value less the 1 means no limit. | 460 | configs.params."server.basehref" | string | `"/"` | Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from / | 461 | configs.params."server.disable.auth" | bool | `false` | Disable Argo CD RBAC for user authentication | 462 | configs.params."server.enable.gzip" | bool | `true` | Enable GZIP compression | 463 | configs.params."server.insecure" | bool | `false` | Run server without TLS | 464 | configs.params."server.rootpath" | string | `""` | Used if Argo CD is running behind reverse proxy under subpath different from / | 465 | configs.params."server.staticassets" | string | `"/shared/app"` | Directory path that contains additional static assets | 466 | configs.params."server.x.frame.options" | string | `"sameorigin"` | Set X-Frame-Options header in HTTP responses to value. To disable, set to "". | 467 | configs.params.annotations | object | `{}` | Annotations to be added to the argocd-cmd-params-cm ConfigMap | 468 | configs.params.create | bool | `true` | Create the argocd-cmd-params-cm configmap If false, it is expected the configmap will be created by something else. | 469 | configs.rbac."policy.csv" | string | `''` (See [values.yaml]) | File containing user-defined policies and role definitions. | 470 | configs.rbac."policy.default" | string | `""` | The name of the default role which Argo CD will falls back to, when authorizing API requests (optional). If omitted or empty, users may be still be able to login, but will see no apps, projects, etc... | 471 | configs.rbac.annotations | object | `{}` | Annotations to be added to argocd-rbac-cm configmap | 472 | configs.rbac.create | bool | `true` | Create the argocd-rbac-cm configmap with ([Argo CD RBAC policy]) definitions. If false, it is expected the configmap will be created by something else. Argo CD will not work if there is no configmap created with the name above. | 473 | configs.rbac.scopes | string | `"[groups]"` | OIDC scopes to examine during rbac enforcement (in addition to `sub` scope). The scope value can be a string, or a list of strings. | 474 | configs.repositories | object | `{}` | Repositories list to be used by applications | 475 | configs.repositoriesAnnotations | object | `{}` | Annotations to be added to `configs.repositories` Secret | 476 | configs.secret.annotations | object | `{}` | Annotations to be added to argocd-secret | 477 | configs.secret.argocdServerAdminPassword | string | `""` | Bcrypt hashed admin password | 478 | configs.secret.argocdServerAdminPasswordMtime | string | `""` (defaults to current time) | Admin password modification time. Eg. `"2006-01-02T15:04:05Z"` | 479 | configs.secret.bitbucketServerSecret | string | `""` | Shared secret for authenticating BitbucketServer webhook events | 480 | configs.secret.bitbucketUUID | string | `""` | UUID for authenticating Bitbucket webhook events | 481 | configs.secret.createSecret | bool | `true` | Create the argocd-secret | 482 | configs.secret.extra | object | `{}` | add additional secrets to be added to argocd-secret | 483 | configs.secret.githubSecret | string | `""` | Shared secret for authenticating GitHub webhook events | 484 | configs.secret.gitlabSecret | string | `""` | Shared secret for authenticating GitLab webhook events | 485 | configs.secret.gogsSecret | string | `""` | Shared secret for authenticating Gogs webhook events | 486 | configs.secret.labels | object | `{}` | Labels to be added to argocd-secret | 487 | configs.ssh.annotations | object | `{}` | Annotations to be added to argocd-ssh-known-hosts-cm configmap | 488 | configs.ssh.extraHosts | string | `""` | Additional known hosts for private repositories | 489 | configs.ssh.knownHosts | string | See [values.yaml] | Known hosts to be added to the known host list by default. | 490 | configs.styles | string | `""` (See [values.yaml]) | Define custom [CSS styles] for your argo instance. This setting will automatically mount the provided CSS and reference it in the argo configuration. | 491 | configs.tls.annotations | object | `{}` | Annotations to be added to argocd-tls-certs-cm configmap | 492 | configs.tls.certificates | object | `{}` (See [values.yaml]) | TLS certificates for Git repositories | 493 494 ## Argo CD Controller 495 496 | Key | Type | Default | Description | 497 |-----|------|---------|-------------| 498 | controller.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment | 499 | controller.args | object | `{}` | DEPRECATED - Application controller commandline flags | 500 | controller.clusterRoleRules.enabled | bool | `false` | Enable custom rules for the application controller's ClusterRole resource | 501 | controller.clusterRoleRules.rules | list | `[]` | List of custom rules for the application controller's ClusterRole resource | 502 | controller.containerPorts.metrics | int | `8082` | Metrics container port | 503 | controller.containerSecurityContext | object | See [values.yaml] | Application controller container-level security context | 504 | controller.dnsConfig | object | `{}` | [DNS configuration] | 505 | controller.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for application controller pods | 506 | controller.env | list | `[]` | Environment variables to pass to application controller | 507 | controller.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to application controller | 508 | controller.extraArgs | list | `[]` | Additional command line arguments to pass to application controller | 509 | controller.extraContainers | list | `[]` | Additional containers to be added to the application controller pod | 510 | controller.hostNetwork | bool | `false` | Host Network for application controller pods | 511 | controller.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the application controller | 512 | controller.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the application controller | 513 | controller.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the application controller | 514 | controller.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry | 515 | controller.initContainers | list | `[]` | Init containers to add to the application controller pod | 516 | controller.metrics.applicationLabels.enabled | bool | `false` | Enables additional labels in argocd_app_labels metric | 517 | controller.metrics.applicationLabels.labels | list | `[]` | Additional labels | 518 | controller.metrics.enabled | bool | `false` | Deploy metrics service | 519 | controller.metrics.rules.additionalLabels | object | `{}` | PrometheusRule labels | 520 | controller.metrics.rules.annotations | object | `{}` | PrometheusRule annotations | 521 | controller.metrics.rules.enabled | bool | `false` | Deploy a PrometheusRule for the application controller | 522 | controller.metrics.rules.namespace | string | `""` | PrometheusRule namespace | 523 | controller.metrics.rules.selector | object | `{}` | PrometheusRule selector | 524 | controller.metrics.rules.spec | list | `[]` | PrometheusRule.Spec for the application controller | 525 | controller.metrics.service.annotations | object | `{}` | Metrics service annotations | 526 | controller.metrics.service.clusterIP | string | `""` | Metrics service clusterIP. `None` makes a "headless service" (no virtual IP) | 527 | controller.metrics.service.labels | object | `{}` | Metrics service labels | 528 | controller.metrics.service.portName | string | `"http-metrics"` | Metrics service port name | 529 | controller.metrics.service.servicePort | int | `8082` | Metrics service port | 530 | controller.metrics.service.type | string | `"ClusterIP"` | Metrics service type | 531 | controller.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels | 532 | controller.metrics.serviceMonitor.annotations | object | `{}` | Prometheus ServiceMonitor annotations | 533 | controller.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor | 534 | controller.metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval | 535 | controller.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion | 536 | controller.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace | 537 | controller.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping | 538 | controller.metrics.serviceMonitor.scheme | string | `""` | Prometheus ServiceMonitor scheme | 539 | controller.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector | 540 | controller.metrics.serviceMonitor.tlsConfig | object | `{}` | Prometheus ServiceMonitor tlsConfig | 541 | controller.name | string | `"application-controller"` | Application controller name string | 542 | controller.nodeSelector | object | `{}` (defaults to global.nodeSelector) | [Node selector] | 543 | controller.pdb.annotations | object | `{}` | Annotations to be added to application controller pdb | 544 | controller.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the application controller | 545 | controller.pdb.labels | object | `{}` | Labels to be added to application controller pdb | 546 | controller.pdb.maxUnavailable | string | `""` | Number of pods that are unavailable after eviction as number or percentage (eg.: 50%). | 547 | controller.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) | 548 | controller.podAnnotations | object | `{}` | Annotations to be added to application controller pods | 549 | controller.podLabels | object | `{}` | Labels to be added to application controller pods | 550 | controller.priorityClassName | string | `""` (defaults to global.priorityClassName) | Priority class for the application controller pods | 551 | controller.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | 552 | controller.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated | 553 | controller.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | 554 | controller.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | 555 | controller.readinessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out | 556 | controller.replicas | int | `1` | The number of application controller pods to run. Additional replicas will cause sharding of managed clusters across number of replicas. | 557 | controller.resources | object | `{}` | Resource limits and requests for the application controller pods | 558 | controller.serviceAccount.annotations | object | `{}` | Annotations applied to created service account | 559 | controller.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account | 560 | controller.serviceAccount.create | bool | `true` | Create a service account for the application controller | 561 | controller.serviceAccount.labels | object | `{}` | Labels applied to created service account | 562 | controller.serviceAccount.name | string | `"argocd-application-controller"` | Service account name | 563 | controller.statefulsetAnnotations | object | `{}` | Annotations for the application controller StatefulSet | 564 | controller.tolerations | list | `[]` (defaults to global.tolerations) | [Tolerations] for use with node taints | 565 | controller.topologySpreadConstraints | list | `[]` (defaults to global.topologySpreadConstraints) | Assign custom [TopologySpreadConstraints] rules to the application controller | 566 | controller.volumeMounts | list | `[]` | Additional volumeMounts to the application controller main container | 567 | controller.volumes | list | `[]` | Additional volumes to the application controller pod | 568 569 ## Argo Repo Server 570 571 | Key | Type | Default | Description | 572 |-----|------|---------|-------------| 573 | repoServer.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment | 574 | repoServer.autoscaling.behavior | object | `{}` | Configures the scaling behavior of the target in both Up and Down directions. | 575 | repoServer.autoscaling.enabled | bool | `false` | Enable Horizontal Pod Autoscaler ([HPA]) for the repo server | 576 | repoServer.autoscaling.maxReplicas | int | `5` | Maximum number of replicas for the repo server [HPA] | 577 | repoServer.autoscaling.metrics | list | `[]` | Configures custom HPA metrics for the Argo CD repo server Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ | 578 | repoServer.autoscaling.minReplicas | int | `1` | Minimum number of replicas for the repo server [HPA] | 579 | repoServer.autoscaling.targetCPUUtilizationPercentage | int | `50` | Average CPU utilization percentage for the repo server [HPA] | 580 | repoServer.autoscaling.targetMemoryUtilizationPercentage | int | `50` | Average memory utilization percentage for the repo server [HPA] | 581 | repoServer.certificateSecret.annotations | object | `{}` | Annotations to be added to argocd-repo-server-tls secret | 582 | repoServer.certificateSecret.ca | string | `""` | Certificate authority. Required for self-signed certificates. | 583 | repoServer.certificateSecret.crt | string | `""` | Certificate data. Must contain SANs of Repo service (ie: argocd-repo-server, argocd-repo-server.argo-cd.svc) | 584 | repoServer.certificateSecret.enabled | bool | `false` | Create argocd-repo-server-tls secret | 585 | repoServer.certificateSecret.key | string | `""` | Certificate private key | 586 | repoServer.certificateSecret.labels | object | `{}` | Labels to be added to argocd-repo-server-tls secret | 587 | repoServer.clusterRoleRules.enabled | bool | `false` | Enable custom rules for the Repo server's Cluster Role resource | 588 | repoServer.clusterRoleRules.rules | list | `[]` | List of custom rules for the Repo server's Cluster Role resource | 589 | repoServer.containerPorts.metrics | int | `8084` | Metrics container port | 590 | repoServer.containerPorts.server | int | `8081` | Repo server container port | 591 | repoServer.containerSecurityContext | object | See [values.yaml] | Repo server container-level security context | 592 | repoServer.deploymentAnnotations | object | `{}` | Annotations to be added to repo server Deployment | 593 | repoServer.deploymentStrategy | object | `{}` | Deployment strategy to be added to the repo server Deployment | 594 | repoServer.dnsConfig | object | `{}` | [DNS configuration] | 595 | repoServer.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Repo server pods | 596 | repoServer.env | list | `[]` | Environment variables to pass to repo server | 597 | repoServer.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to repo server | 598 | repoServer.extraArgs | list | `[]` | Additional command line arguments to pass to repo server | 599 | repoServer.extraContainers | list | `[]` | Additional containers to be added to the repo server pod | 600 | repoServer.hostNetwork | bool | `false` | Host Network for Repo server pods | 601 | repoServer.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the repo server | 602 | repoServer.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the repo server | 603 | repoServer.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the repo server | 604 | repoServer.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry | 605 | repoServer.initContainers | list | `[]` | Init containers to add to the repo server pods | 606 | repoServer.lifecycle | object | `{}` | Specify postStart and preStop lifecycle hooks for your argo-repo-server container | 607 | repoServer.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | 608 | repoServer.livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated | 609 | repoServer.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | 610 | repoServer.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | 611 | repoServer.livenessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out | 612 | repoServer.metrics.enabled | bool | `false` | Deploy metrics service | 613 | repoServer.metrics.service.annotations | object | `{}` | Metrics service annotations | 614 | repoServer.metrics.service.clusterIP | string | `""` | Metrics service clusterIP. `None` makes a "headless service" (no virtual IP) | 615 | repoServer.metrics.service.labels | object | `{}` | Metrics service labels | 616 | repoServer.metrics.service.portName | string | `"http-metrics"` | Metrics service port name | 617 | repoServer.metrics.service.servicePort | int | `8084` | Metrics service port | 618 | repoServer.metrics.service.type | string | `"ClusterIP"` | Metrics service type | 619 | repoServer.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels | 620 | repoServer.metrics.serviceMonitor.annotations | object | `{}` | Prometheus ServiceMonitor annotations | 621 | repoServer.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor | 622 | repoServer.metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval | 623 | repoServer.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion | 624 | repoServer.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace | 625 | repoServer.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping | 626 | repoServer.metrics.serviceMonitor.scheme | string | `""` | Prometheus ServiceMonitor scheme | 627 | repoServer.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector | 628 | repoServer.metrics.serviceMonitor.tlsConfig | object | `{}` | Prometheus ServiceMonitor tlsConfig | 629 | repoServer.name | string | `"repo-server"` | Repo server name | 630 | repoServer.nodeSelector | object | `{}` (defaults to global.nodeSelector) | [Node selector] | 631 | repoServer.pdb.annotations | object | `{}` | Annotations to be added to repo server pdb | 632 | repoServer.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the repo server | 633 | repoServer.pdb.labels | object | `{}` | Labels to be added to repo server pdb | 634 | repoServer.pdb.maxUnavailable | string | `""` | Number of pods that are unavailable after eviction as number or percentage (eg.: 50%). | 635 | repoServer.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) | 636 | repoServer.podAnnotations | object | `{}` | Annotations to be added to repo server pods | 637 | repoServer.podLabels | object | `{}` | Labels to be added to repo server pods | 638 | repoServer.priorityClassName | string | `""` (defaults to global.priorityClassName) | Priority class for the repo server pods | 639 | repoServer.rbac | list | `[]` | Repo server rbac rules | 640 | repoServer.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | 641 | repoServer.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated | 642 | repoServer.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | 643 | repoServer.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | 644 | repoServer.readinessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out | 645 | repoServer.replicas | int | `1` | The number of repo server pods to run | 646 | repoServer.resources | object | `{}` | Resource limits and requests for the repo server pods | 647 | repoServer.service.annotations | object | `{}` | Repo server service annotations | 648 | repoServer.service.labels | object | `{}` | Repo server service labels | 649 | repoServer.service.port | int | `8081` | Repo server service port | 650 | repoServer.service.portName | string | `"https-repo-server"` | Repo server service port name | 651 | repoServer.serviceAccount.annotations | object | `{}` | Annotations applied to created service account | 652 | repoServer.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account | 653 | repoServer.serviceAccount.create | bool | `true` | Create repo server service account | 654 | repoServer.serviceAccount.labels | object | `{}` | Labels applied to created service account | 655 | repoServer.serviceAccount.name | string | `""` | Repo server service account name | 656 | repoServer.tolerations | list | `[]` (defaults to global.tolerations) | [Tolerations] for use with node taints | 657 | repoServer.topologySpreadConstraints | list | `[]` (defaults to global.topologySpreadConstraints) | Assign custom [TopologySpreadConstraints] rules to the repo server | 658 | repoServer.volumeMounts | list | `[]` | Additional volumeMounts to the repo server main container | 659 | repoServer.volumes | list | `[]` | Additional volumes to the repo server pod | 660 661 ## Argo Server 662 663 | Key | Type | Default | Description | 664 |-----|------|---------|-------------| 665 | server.GKEbackendConfig.enabled | bool | `false` | Enable BackendConfig custom resource for Google Kubernetes Engine | 666 | server.GKEbackendConfig.spec | object | `{}` | [BackendConfigSpec] | 667 | server.GKEfrontendConfig.enabled | bool | `false` | Enable FrontConfig custom resource for Google Kubernetes Engine | 668 | server.GKEfrontendConfig.spec | object | `{}` | [FrontendConfigSpec] | 669 | server.GKEmanagedCertificate.domains | list | `["argocd.example.com"]` | Domains for the Google Managed Certificate | 670 | server.GKEmanagedCertificate.enabled | bool | `false` | Enable ManagedCertificate custom resource for Google Kubernetes Engine. | 671 | server.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment | 672 | server.autoscaling.behavior | object | `{}` | Configures the scaling behavior of the target in both Up and Down directions. | 673 | server.autoscaling.enabled | bool | `false` | Enable Horizontal Pod Autoscaler ([HPA]) for the Argo CD server | 674 | server.autoscaling.maxReplicas | int | `5` | Maximum number of replicas for the Argo CD server [HPA] | 675 | server.autoscaling.metrics | list | `[]` | Configures custom HPA metrics for the Argo CD server Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ | 676 | server.autoscaling.minReplicas | int | `1` | Minimum number of replicas for the Argo CD server [HPA] | 677 | server.autoscaling.targetCPUUtilizationPercentage | int | `50` | Average CPU utilization percentage for the Argo CD server [HPA] | 678 | server.autoscaling.targetMemoryUtilizationPercentage | int | `50` | Average memory utilization percentage for the Argo CD server [HPA] | 679 | server.certificate.additionalHosts | list | `[]` | Certificate Subject Alternate Names (SANs) | 680 | server.certificate.annotations | object | `{}` | Annotations to be applied to the Server Certificate | 681 | server.certificate.domain | string | `"argocd.example.com"` | Certificate primary domain (commonName) | 682 | server.certificate.duration | string | `""` (defaults to 2160h = 90d if not specified) | The requested 'duration' (i.e. lifetime) of the certificate. | 683 | server.certificate.enabled | bool | `false` | Deploy a Certificate resource (requires cert-manager) | 684 | server.certificate.issuer.group | string | `""` | Certificate issuer group. Set if using an external issuer. Eg. `cert-manager.io` | 685 | server.certificate.issuer.kind | string | `""` | Certificate issuer kind. Either `Issuer` or `ClusterIssuer` | 686 | server.certificate.issuer.name | string | `""` | Certificate issuer name. Eg. `letsencrypt` | 687 | server.certificate.privateKey.algorithm | string | `"RSA"` | Algorithm used to generate certificate private key. One of: `RSA`, `Ed25519` or `ECDSA` | 688 | server.certificate.privateKey.encoding | string | `"PKCS1"` | The private key cryptography standards (PKCS) encoding for private key. Either: `PCKS1` or `PKCS8` | 689 | server.certificate.privateKey.rotationPolicy | string | `"Never"` | Rotation policy of private key when certificate is re-issued. Either: `Never` or `Always` | 690 | server.certificate.privateKey.size | int | `2048` | Key bit size of the private key. If algorithm is set to `Ed25519`, size is ignored. | 691 | server.certificate.renewBefore | string | `""` (defaults to 360h = 15d if not specified) | How long before the expiry a certificate should be renewed. | 692 | server.certificate.secretName | string | `"argocd-server-tls"` | The name of the Secret that will be automatically created and managed by this Certificate resource | 693 | server.certificate.usages | list | `[]` | Usages for the certificate | 694 | server.certificateSecret.annotations | object | `{}` | Annotations to be added to argocd-server-tls secret | 695 | server.certificateSecret.crt | string | `""` | Certificate data | 696 | server.certificateSecret.enabled | bool | `false` | Create argocd-server-tls secret | 697 | server.certificateSecret.key | string | `""` | Private Key of the certificate | 698 | server.certificateSecret.labels | object | `{}` | Labels to be added to argocd-server-tls secret | 699 | server.containerPorts.metrics | int | `8083` | Metrics container port | 700 | server.containerPorts.server | int | `8080` | Server container port | 701 | server.containerSecurityContext | object | See [values.yaml] | Server container-level security context | 702 | server.deploymentAnnotations | object | `{}` | Annotations to be added to server Deployment | 703 | server.deploymentStrategy | object | `{}` | Deployment strategy to be added to the server Deployment | 704 | server.dnsConfig | object | `{}` | [DNS configuration] | 705 | server.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Server pods | 706 | server.env | list | `[]` | Environment variables to pass to Argo CD server | 707 | server.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to Argo CD server | 708 | server.extensions.containerSecurityContext | object | See [values.yaml] | Server UI extensions container-level security context | 709 | server.extensions.enabled | bool | `false` | Enable support for Argo UI extensions | 710 | server.extensions.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for extensions | 711 | server.extensions.image.repository | string | `"ghcr.io/argoproj-labs/argocd-extensions"` | Repository to use for extensions image | 712 | server.extensions.image.tag | string | `"v0.2.1"` | Tag to use for extensions image | 713 | server.extensions.resources | object | `{}` | Resource limits and requests for the argocd-extensions container | 714 | server.extraArgs | list | `[]` | Additional command line arguments to pass to Argo CD server | 715 | server.extraContainers | list | `[]` | Additional containers to be added to the server pod | 716 | server.hostNetwork | bool | `false` | Host Network for Server pods | 717 | server.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the Argo CD server | 718 | server.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the Argo CD server | 719 | server.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the Argo CD server | 720 | server.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry | 721 | server.ingress.annotations | object | `{}` | Additional ingress annotations | 722 | server.ingress.enabled | bool | `false` | Enable an ingress resource for the Argo CD server | 723 | server.ingress.extraPaths | list | `[]` | Additional ingress paths | 724 | server.ingress.hosts | list | `[]` | List of ingress hosts | 725 | server.ingress.https | bool | `false` | Uses `server.service.servicePortHttps` instead `server.service.servicePortHttp` | 726 | server.ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource | 727 | server.ingress.labels | object | `{}` | Additional ingress labels | 728 | server.ingress.pathType | string | `"Prefix"` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` | 729 | server.ingress.paths | list | `["/"]` | List of ingress paths | 730 | server.ingress.tls | list | `[]` | Ingress TLS configuration | 731 | server.ingressGrpc.annotations | object | `{}` | Additional ingress annotations for dedicated [gRPC-ingress] | 732 | server.ingressGrpc.awsALB.backendProtocolVersion | string | `"HTTP2"` | Backend protocol version for the AWS ALB gRPC service | 733 | server.ingressGrpc.awsALB.serviceType | string | `"NodePort"` | Service type for the AWS ALB gRPC service | 734 | server.ingressGrpc.enabled | bool | `false` | Enable an ingress resource for the Argo CD server for dedicated [gRPC-ingress] | 735 | server.ingressGrpc.extraPaths | list | `[]` | Additional ingress paths for dedicated [gRPC-ingress] | 736 | server.ingressGrpc.hosts | list | `[]` | List of ingress hosts for dedicated [gRPC-ingress] | 737 | server.ingressGrpc.https | bool | `false` | Uses `server.service.servicePortHttps` instead `server.service.servicePortHttp` | 738 | server.ingressGrpc.ingressClassName | string | `""` | Defines which ingress controller will implement the resource [gRPC-ingress] | 739 | server.ingressGrpc.isAWSALB | bool | `false` | Setup up gRPC ingress to work with an AWS ALB | 740 | server.ingressGrpc.labels | object | `{}` | Additional ingress labels for dedicated [gRPC-ingress] | 741 | server.ingressGrpc.pathType | string | `"Prefix"` | Ingress path type for dedicated [gRPC-ingress]. One of `Exact`, `Prefix` or `ImplementationSpecific` | 742 | server.ingressGrpc.paths | list | `["/"]` | List of ingress paths for dedicated [gRPC-ingress] | 743 | server.ingressGrpc.tls | list | `[]` | Ingress TLS configuration for dedicated [gRPC-ingress] | 744 | server.initContainers | list | `[]` | Init containers to add to the server pod | 745 | server.lifecycle | object | `{}` | Specify postStart and preStop lifecycle hooks for your argo-cd-server container | 746 | server.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | 747 | server.livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated | 748 | server.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | 749 | server.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | 750 | server.livenessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out | 751 | server.metrics.enabled | bool | `false` | Deploy metrics service | 752 | server.metrics.service.annotations | object | `{}` | Metrics service annotations | 753 | server.metrics.service.clusterIP | string | `""` | Metrics service clusterIP. `None` makes a "headless service" (no virtual IP) | 754 | server.metrics.service.labels | object | `{}` | Metrics service labels | 755 | server.metrics.service.portName | string | `"http-metrics"` | Metrics service port name | 756 | server.metrics.service.servicePort | int | `8083` | Metrics service port | 757 | server.metrics.service.type | string | `"ClusterIP"` | Metrics service type | 758 | server.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels | 759 | server.metrics.serviceMonitor.annotations | object | `{}` | Prometheus ServiceMonitor annotations | 760 | server.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor | 761 | server.metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval | 762 | server.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion | 763 | server.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace | 764 | server.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping | 765 | server.metrics.serviceMonitor.scheme | string | `""` | Prometheus ServiceMonitor scheme | 766 | server.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector | 767 | server.metrics.serviceMonitor.tlsConfig | object | `{}` | Prometheus ServiceMonitor tlsConfig | 768 | server.name | string | `"server"` | Argo CD server name | 769 | server.nodeSelector | object | `{}` (defaults to global.nodeSelector) | [Node selector] | 770 | server.pdb.annotations | object | `{}` | Annotations to be added to Argo CD server pdb | 771 | server.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the Argo CD server | 772 | server.pdb.labels | object | `{}` | Labels to be added to Argo CD server pdb | 773 | server.pdb.maxUnavailable | string | `""` | Number of pods that are unavailable after eviction as number or percentage (eg.: 50%). | 774 | server.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) | 775 | server.podAnnotations | object | `{}` | Annotations to be added to server pods | 776 | server.podLabels | object | `{}` | Labels to be added to server pods | 777 | server.priorityClassName | string | `""` (defaults to global.priorityClassName) | Priority class for the Argo CD server pods | 778 | server.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | 779 | server.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated | 780 | server.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | 781 | server.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | 782 | server.readinessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out | 783 | server.replicas | int | `1` | The number of server pods to run | 784 | server.resources | object | `{}` | Resource limits and requests for the Argo CD server | 785 | server.route.annotations | object | `{}` | Openshift Route annotations | 786 | server.route.enabled | bool | `false` | Enable an OpenShift Route for the Argo CD server | 787 | server.route.hostname | string | `""` | Hostname of OpenShift Route | 788 | server.route.termination_policy | string | `"None"` | Termination policy of Openshift Route | 789 | server.route.termination_type | string | `"passthrough"` | Termination type of Openshift Route | 790 | server.service.annotations | object | `{}` | Server service annotations | 791 | server.service.externalIPs | list | `[]` | Server service external IPs | 792 | server.service.externalTrafficPolicy | string | `""` | Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints | 793 | server.service.labels | object | `{}` | Server service labels | 794 | server.service.loadBalancerIP | string | `""` | LoadBalancer will get created with the IP specified in this field | 795 | server.service.loadBalancerSourceRanges | list | `[]` | Source IP ranges to allow access to service from | 796 | server.service.nodePortHttp | int | `30080` | Server service http port for NodePort service type (only if `server.service.type` is set to "NodePort") | 797 | server.service.nodePortHttps | int | `30443` | Server service https port for NodePort service type (only if `server.service.type` is set to "NodePort") | 798 | server.service.servicePortHttp | int | `80` | Server service http port | 799 | server.service.servicePortHttpName | string | `"http"` | Server service http port name, can be used to route traffic via istio | 800 | server.service.servicePortHttps | int | `443` | Server service https port | 801 | server.service.servicePortHttpsName | string | `"https"` | Server service https port name, can be used to route traffic via istio | 802 | server.service.sessionAffinity | string | `""` | Used to maintain session affinity. Supports `ClientIP` and `None` | 803 | server.service.type | string | `"ClusterIP"` | Server service type | 804 | server.serviceAccount.annotations | object | `{}` | Annotations applied to created service account | 805 | server.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account | 806 | server.serviceAccount.create | bool | `true` | Create server service account | 807 | server.serviceAccount.labels | object | `{}` | Labels applied to created service account | 808 | server.serviceAccount.name | string | `"argocd-server"` | Server service account name | 809 | server.tolerations | list | `[]` (defaults to global.tolerations) | [Tolerations] for use with node taints | 810 | server.topologySpreadConstraints | list | `[]` (defaults to global.topologySpreadConstraints) | Assign custom [TopologySpreadConstraints] rules to the Argo CD server | 811 | server.volumeMounts | list | `[]` | Additional volumeMounts to the server main container | 812 | server.volumes | list | `[]` | Additional volumes to the server pod | 813 814 ### Using AWS ALB Ingress Controller With GRPC 815 816 If you are using an AWS ALB Ingress controller, you will need to set `server.ingressGrpc.isAWSALB` to `true`. This will create a second service with the annotation `alb.ingress.kubernetes.io/backend-protocol-version: HTTP2` and modify the server ingress to add a condition annotation to route GRPC traffic to the new service. 817 818 Example: 819 820 ```yaml 821 server: 822 ingress: 823 enabled: true 824 annotations: 825 alb.ingress.kubernetes.io/backend-protocol: HTTPS 826 alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]' 827 alb.ingress.kubernetes.io/scheme: internal 828 alb.ingress.kubernetes.io/target-type: ip 829 ingressGrpc: 830 enabled: true 831 isAWSALB: true 832 awsALB: 833 serviceType: ClusterIP 834 ``` 835 836 ## Dex 837 838 | Key | Type | Default | Description | 839 |-----|------|---------|-------------| 840 | dex.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment | 841 | dex.certificateSecret.annotations | object | `{}` | Annotations to be added to argocd-dex-server-tls secret | 842 | dex.certificateSecret.ca | string | `""` | Certificate authority. Required for self-signed certificates. | 843 | dex.certificateSecret.crt | string | `""` | Certificate data. Must contain SANs of Dex service (ie: argocd-dex-server, argocd-dex-server.argo-cd.svc) | 844 | dex.certificateSecret.enabled | bool | `false` | Create argocd-dex-server-tls secret | 845 | dex.certificateSecret.key | string | `""` | Certificate private key | 846 | dex.certificateSecret.labels | object | `{}` | Labels to be added to argocd-dex-server-tls secret | 847 | dex.containerPorts.grpc | int | `5557` | gRPC container port | 848 | dex.containerPorts.http | int | `5556` | HTTP container port | 849 | dex.containerPorts.metrics | int | `5558` | Metrics container port | 850 | dex.containerSecurityContext | object | See [values.yaml] | Dex container-level security context | 851 | dex.deploymentAnnotations | object | `{}` | Annotations to be added to the Dex server Deployment | 852 | dex.deploymentStrategy | object | `{}` | Deployment strategy to be added to the Dex server Deployment | 853 | dex.dnsConfig | object | `{}` | [DNS configuration] | 854 | dex.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Dex server pods | 855 | dex.enabled | bool | `true` | Enable dex | 856 | dex.env | list | `[]` | Environment variables to pass to the Dex server | 857 | dex.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the Dex server | 858 | dex.extraArgs | list | `[]` | Additional command line arguments to pass to the Dex server | 859 | dex.extraContainers | list | `[]` | Additional containers to be added to the dex pod | 860 | dex.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Dex imagePullPolicy | 861 | dex.image.repository | string | `"ghcr.io/dexidp/dex"` | Dex image repository | 862 | dex.image.tag | string | `"v2.37.0"` | Dex image tag | 863 | dex.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry | 864 | dex.initContainers | list | `[]` | Init containers to add to the dex pod | 865 | dex.initImage.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Argo CD init image imagePullPolicy | 866 | dex.initImage.repository | string | `""` (defaults to global.image.repository) | Argo CD init image repository | 867 | dex.initImage.resources | object | `{}` (defaults to dex.resources) | Argo CD init image resources | 868 | dex.initImage.tag | string | `""` (defaults to global.image.tag) | Argo CD init image tag | 869 | dex.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for Dex >= 2.28.0 | 870 | dex.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | 871 | dex.livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated | 872 | dex.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | 873 | dex.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | 874 | dex.livenessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out | 875 | dex.logFormat | string | `""` (defaults to global.logging.format) | Dex log format. Either `text` or `json` | 876 | dex.logLevel | string | `""` (defaults to global.logging.level) | Dex log level. One of: `debug`, `info`, `warn`, `error` | 877 | dex.metrics.enabled | bool | `false` | Deploy metrics service | 878 | dex.metrics.service.annotations | object | `{}` | Metrics service annotations | 879 | dex.metrics.service.labels | object | `{}` | Metrics service labels | 880 | dex.metrics.service.portName | string | `"http-metrics"` | Metrics service port name | 881 | dex.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels | 882 | dex.metrics.serviceMonitor.annotations | object | `{}` | Prometheus ServiceMonitor annotations | 883 | dex.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor | 884 | dex.metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval | 885 | dex.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion | 886 | dex.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace | 887 | dex.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping | 888 | dex.metrics.serviceMonitor.scheme | string | `""` | Prometheus ServiceMonitor scheme | 889 | dex.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector | 890 | dex.metrics.serviceMonitor.tlsConfig | object | `{}` | Prometheus ServiceMonitor tlsConfig | 891 | dex.name | string | `"dex-server"` | Dex name | 892 | dex.nodeSelector | object | `{}` (defaults to global.nodeSelector) | [Node selector] | 893 | dex.pdb.annotations | object | `{}` | Annotations to be added to Dex server pdb | 894 | dex.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the Dex server | 895 | dex.pdb.labels | object | `{}` | Labels to be added to Dex server pdb | 896 | dex.pdb.maxUnavailable | string | `""` | Number of pods that are unavailble after eviction as number or percentage (eg.: 50%). | 897 | dex.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) | 898 | dex.podAnnotations | object | `{}` | Annotations to be added to the Dex server pods | 899 | dex.podLabels | object | `{}` | Labels to be added to the Dex server pods | 900 | dex.priorityClassName | string | `""` (defaults to global.priorityClassName) | Priority class for the dex pods | 901 | dex.readinessProbe.enabled | bool | `false` | Enable Kubernetes readiness probe for Dex >= 2.28.0 | 902 | dex.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | 903 | dex.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated | 904 | dex.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | 905 | dex.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | 906 | dex.readinessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out | 907 | dex.resources | object | `{}` | Resource limits and requests for dex | 908 | dex.serviceAccount.annotations | object | `{}` | Annotations applied to created service account | 909 | dex.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account | 910 | dex.serviceAccount.create | bool | `true` | Create dex service account | 911 | dex.serviceAccount.name | string | `"argocd-dex-server"` | Dex service account name | 912 | dex.servicePortGrpc | int | `5557` | Service port for gRPC access | 913 | dex.servicePortGrpcName | string | `"grpc"` | Service port name for gRPC access | 914 | dex.servicePortHttp | int | `5556` | Service port for HTTP access | 915 | dex.servicePortHttpName | string | `"http"` | Service port name for HTTP access | 916 | dex.servicePortMetrics | int | `5558` | Service port for metrics access | 917 | dex.tolerations | list | `[]` (defaults to global.tolerations) | [Tolerations] for use with node taints | 918 | dex.topologySpreadConstraints | list | `[]` (defaults to global.topologySpreadConstraints) | Assign custom [TopologySpreadConstraints] rules to dex | 919 | dex.volumeMounts | list | `[]` | Additional volumeMounts to the dex main container | 920 | dex.volumes | list | `[]` | Additional volumes to the dex pod | 921 922 ## Redis 923 924 ### Option 1 - Single Redis instance (default option) 925 926 | Key | Type | Default | Description | 927 |-----|------|---------|-------------| 928 | redis.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment | 929 | redis.containerPorts.metrics | int | `9121` | Metrics container port | 930 | redis.containerPorts.redis | int | `6379` | Redis container port | 931 | redis.containerSecurityContext | object | See [values.yaml] | Redis container-level security context | 932 | redis.deploymentAnnotations | object | `{}` | Annotations to be added to the Redis server Deployment | 933 | redis.dnsConfig | object | `{}` | [DNS configuration] | 934 | redis.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Redis server pods | 935 | redis.enabled | bool | `true` | Enable redis | 936 | redis.env | list | `[]` | Environment variables to pass to the Redis server | 937 | redis.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the Redis server | 938 | redis.exporter.containerSecurityContext | object | See [values.yaml] | Redis exporter security context | 939 | redis.exporter.enabled | bool | `false` | Enable Prometheus redis-exporter sidecar | 940 | redis.exporter.env | list | `[]` | Environment variables to pass to the Redis exporter | 941 | redis.exporter.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the redis-exporter | 942 | redis.exporter.image.repository | string | `"public.ecr.aws/bitnami/redis-exporter"` | Repository to use for the redis-exporter | 943 | redis.exporter.image.tag | string | `"1.53.0"` | Tag to use for the redis-exporter | 944 | redis.exporter.resources | object | `{}` | Resource limits and requests for redis-exporter sidecar | 945 | redis.extraArgs | list | `[]` | Additional command line arguments to pass to redis-server | 946 | redis.extraContainers | list | `[]` | Additional containers to be added to the redis pod | 947 | redis.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Redis image pull policy | 948 | redis.image.repository | string | `"public.ecr.aws/docker/library/redis"` | Redis repository | 949 | redis.image.tag | string | `"7.0.11-alpine"` | Redis tag | 950 | redis.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry | 951 | redis.initContainers | list | `[]` | Init containers to add to the redis pod | 952 | redis.metrics.enabled | bool | `false` | Deploy metrics service | 953 | redis.metrics.service.annotations | object | `{}` | Metrics service annotations | 954 | redis.metrics.service.clusterIP | string | `"None"` | Metrics service clusterIP. `None` makes a "headless service" (no virtual IP) | 955 | redis.metrics.service.labels | object | `{}` | Metrics service labels | 956 | redis.metrics.service.portName | string | `"http-metrics"` | Metrics service port name | 957 | redis.metrics.service.servicePort | int | `9121` | Metrics service port | 958 | redis.metrics.service.type | string | `"ClusterIP"` | Metrics service type | 959 | redis.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels | 960 | redis.metrics.serviceMonitor.annotations | object | `{}` | Prometheus ServiceMonitor annotations | 961 | redis.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor | 962 | redis.metrics.serviceMonitor.interval | string | `"30s"` | Interval at which metrics should be scraped | 963 | redis.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion | 964 | redis.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace | 965 | redis.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping | 966 | redis.metrics.serviceMonitor.scheme | string | `""` | Prometheus ServiceMonitor scheme | 967 | redis.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector | 968 | redis.metrics.serviceMonitor.tlsConfig | object | `{}` | Prometheus ServiceMonitor tlsConfig | 969 | redis.name | string | `"redis"` | Redis name | 970 | redis.nodeSelector | object | `{}` (defaults to global.nodeSelector) | [Node selector] | 971 | redis.pdb.annotations | object | `{}` | Annotations to be added to Redis pdb | 972 | redis.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the Redis | 973 | redis.pdb.labels | object | `{}` | Labels to be added to Redis pdb | 974 | redis.pdb.maxUnavailable | string | `""` | Number of pods that are unavailble after eviction as number or percentage (eg.: 50%). | 975 | redis.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) | 976 | redis.podAnnotations | object | `{}` | Annotations to be added to the Redis server pods | 977 | redis.podLabels | object | `{}` | Labels to be added to the Redis server pods | 978 | redis.priorityClassName | string | `""` (defaults to global.priorityClassName) | Priority class for redis pods | 979 | redis.resources | object | `{}` | Resource limits and requests for redis | 980 | redis.securityContext | object | See [values.yaml] | Redis pod-level security context | 981 | redis.service.annotations | object | `{}` | Redis service annotations | 982 | redis.service.labels | object | `{}` | Additional redis service labels | 983 | redis.serviceAccount.annotations | object | `{}` | Annotations applied to created service account | 984 | redis.serviceAccount.automountServiceAccountToken | bool | `false` | Automount API credentials for the Service Account | 985 | redis.serviceAccount.create | bool | `false` | Create a service account for the redis pod | 986 | redis.serviceAccount.name | string | `""` | Service account name for redis pod | 987 | redis.servicePort | int | `6379` | Redis service port | 988 | redis.tolerations | list | `[]` (defaults to global.tolerations) | [Tolerations] for use with node taints | 989 | redis.topologySpreadConstraints | list | `[]` (defaults to global.topologySpreadConstraints) | Assign custom [TopologySpreadConstraints] rules to redis | 990 | redis.volumeMounts | list | `[]` | Additional volumeMounts to the redis container | 991 | redis.volumes | list | `[]` | Additional volumes to the redis pod | 992 993 ### Option 2 - Redis HA 994 995 This option uses the following third-party chart to bootstrap a clustered Redis: https://github.com/DandyDeveloper/charts/tree/master/charts/redis-ha. 996 For all available configuration options, please read upstream README and/or chart source. 997 The main options are listed here: 998 999 | Key | Type | Default | Description | 1000 |-----|------|---------|-------------| 1001 | redis-ha.enabled | bool | `false` | Enables the Redis HA subchart and disables the custom Redis single node deployment | 1002 | redis-ha.exporter.enabled | bool | `false` | Enable Prometheus redis-exporter sidecar | 1003 | redis-ha.exporter.image | string | `"public.ecr.aws/bitnami/redis-exporter"` | Repository to use for the redis-exporter | 1004 | redis-ha.exporter.tag | string | `"1.53.0"` | Tag to use for the redis-exporter | 1005 | redis-ha.haproxy.enabled | bool | `true` | Enabled HAProxy LoadBalancing/Proxy | 1006 | redis-ha.haproxy.metrics.enabled | bool | `true` | HAProxy enable prometheus metric scraping | 1007 | redis-ha.image.tag | string | `"7.0.11-alpine"` | Redis tag | 1008 | redis-ha.persistentVolume.enabled | bool | `false` | Configures persistence on Redis nodes | 1009 | redis-ha.redis.config | object | See [values.yaml] | Any valid redis config options in this section will be applied to each server (see `redis-ha` chart) | 1010 | redis-ha.redis.config.save | string | `'""'` | Will save the DB if both the given number of seconds and the given number of write operations against the DB occurred. `""` is disabled | 1011 | redis-ha.redis.masterGroupName | string | `"argocd"` | Redis convention for naming the cluster group: must match `^[\\w-\\.]+$` and can be templated | 1012 | redis-ha.topologySpreadConstraints.enabled | bool | `false` | Enable Redis HA topology spread constraints | 1013 | redis-ha.topologySpreadConstraints.maxSkew | string | `""` (defaults to `1`) | Max skew of pods tolerated | 1014 | redis-ha.topologySpreadConstraints.topologyKey | string | `""` (defaults to `topology.kubernetes.io/zone`) | Topology key for spread | 1015 | redis-ha.topologySpreadConstraints.whenUnsatisfiable | string | `""` (defaults to `ScheduleAnyway`) | Enforcement policy, hard or soft | 1016 | redis-ha.exporter.image | string | `nil` (follows subchart default) | Exporter image | 1017 | redis-ha.exporter.tag | string | `nil` (follows subchart default) | Exporter tag | 1018 | redis-ha.haproxy.image.repository | string | `nil` (follows subchart default) | HAProxy Image Repository | 1019 | redis-ha.haproxy.image.tag | string | `nil` (follows subchart default) | HAProxy Image Tag | 1020 | redis-ha.image.repository | string | `nil` (follows subchart default) | Redis image repository | 1021 1022 ### Option 3 - External Redis 1023 1024 If you want to use an existing Redis (eg. a managed service from a cloud provider), you can use these parameters: 1025 1026 | Key | Type | Default | Description | 1027 |-----|------|---------|-------------| 1028 | externalRedis.existingSecret | string | `""` | The name of an existing secret with Redis credentials (must contain key `redis-password`). When it's set, the `externalRedis.password` parameter is ignored | 1029 | externalRedis.host | string | `""` | External Redis server host | 1030 | externalRedis.password | string | `""` | External Redis password | 1031 | externalRedis.port | int | `6379` | External Redis server port | 1032 | externalRedis.secretAnnotations | object | `{}` | External Redis Secret annotations | 1033 | externalRedis.username | string | `""` | External Redis username | 1034 1035 ## ApplicationSet 1036 1037 | Key | Type | Default | Description | 1038 |-----|------|---------|-------------| 1039 | applicationSet.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules | 1040 | applicationSet.args | object | `{}` | DEPRECATED - ApplicationSet controller command line flags | 1041 | applicationSet.certificate.additionalHosts | list | `[]` | Certificate Subject Alternate Names (SANs) | 1042 | applicationSet.certificate.annotations | object | `{}` | Annotations to be applied to the ApplicationSet Certificate | 1043 | applicationSet.certificate.domain | string | `"argocd.example.com"` | Certificate primary domain (commonName) | 1044 | applicationSet.certificate.duration | string | `""` (defaults to 2160h = 90d if not specified) | The requested 'duration' (i.e. lifetime) of the certificate. | 1045 | applicationSet.certificate.enabled | bool | `false` | Deploy a Certificate resource (requires cert-manager) | 1046 | applicationSet.certificate.issuer.group | string | `""` | Certificate issuer group. Set if using an external issuer. Eg. `cert-manager.io` | 1047 | applicationSet.certificate.issuer.kind | string | `""` | Certificate issuer kind. Either `Issuer` or `ClusterIssuer` | 1048 | applicationSet.certificate.issuer.name | string | `""` | Certificate issuer name. Eg. `letsencrypt` | 1049 | applicationSet.certificate.privateKey.algorithm | string | `"RSA"` | Algorithm used to generate certificate private key. One of: `RSA`, `Ed25519` or `ECDSA` | 1050 | applicationSet.certificate.privateKey.encoding | string | `"PKCS1"` | The private key cryptography standards (PKCS) encoding for private key. Either: `PCKS1` or `PKCS8` | 1051 | applicationSet.certificate.privateKey.rotationPolicy | string | `"Never"` | Rotation policy of private key when certificate is re-issued. Either: `Never` or `Always` | 1052 | applicationSet.certificate.privateKey.size | int | `2048` | Key bit size of the private key. If algorithm is set to `Ed25519`, size is ignored. | 1053 | applicationSet.certificate.renewBefore | string | `""` (defaults to 360h = 15d if not specified) | How long before the expiry a certificate should be renewed. | 1054 | applicationSet.certificate.secretName | string | `"argocd-application-controller-tls"` | The name of the Secret that will be automatically created and managed by this Certificate resource | 1055 | applicationSet.containerPorts.metrics | int | `8080` | Metrics container port | 1056 | applicationSet.containerPorts.probe | int | `8081` | Probe container port | 1057 | applicationSet.containerPorts.webhook | int | `7000` | Webhook container port | 1058 | applicationSet.containerSecurityContext | object | See [values.yaml] | ApplicationSet controller container-level security context | 1059 | applicationSet.deploymentAnnotations | object | `{}` | Annotations to be added to ApplicationSet controller Deployment | 1060 | applicationSet.deploymentStrategy | object | `{}` | Deployment strategy to be added to the ApplicationSet controller Deployment | 1061 | applicationSet.dnsConfig | object | `{}` | [DNS configuration] | 1062 | applicationSet.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for ApplicationSet controller pods | 1063 | applicationSet.enabled | bool | `true` | Enable ApplicationSet controller | 1064 | applicationSet.extraArgs | list | `[]` | List of extra cli args to add | 1065 | applicationSet.extraContainers | list | `[]` | Additional containers to be added to the ApplicationSet controller pod | 1066 | applicationSet.extraEnv | list | `[]` | Environment variables to pass to the ApplicationSet controller | 1067 | applicationSet.extraEnvFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the ApplicationSet controller | 1068 | applicationSet.extraVolumeMounts | list | `[]` | List of extra mounts to add (normally used with extraVolumes) | 1069 | applicationSet.extraVolumes | list | `[]` | List of extra volumes to add | 1070 | applicationSet.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the ApplicationSet controller | 1071 | applicationSet.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the ApplicationSet controller | 1072 | applicationSet.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the ApplicationSet controller | 1073 | applicationSet.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | If defined, uses a Secret to pull an image from a private Docker registry or repository. | 1074 | applicationSet.initContainers | list | `[]` | Init containers to add to the ApplicationSet controller pod | 1075 | applicationSet.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for ApplicationSet controller | 1076 | applicationSet.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | 1077 | applicationSet.livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated | 1078 | applicationSet.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | 1079 | applicationSet.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | 1080 | applicationSet.livenessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out | 1081 | applicationSet.metrics.enabled | bool | `false` | Deploy metrics service | 1082 | applicationSet.metrics.service.annotations | object | `{}` | Metrics service annotations | 1083 | applicationSet.metrics.service.clusterIP | string | `""` | Metrics service clusterIP. `None` makes a "headless service" (no virtual IP) | 1084 | applicationSet.metrics.service.labels | object | `{}` | Metrics service labels | 1085 | applicationSet.metrics.service.portName | string | `"http-metrics"` | Metrics service port name | 1086 | applicationSet.metrics.service.servicePort | int | `8080` | Metrics service port | 1087 | applicationSet.metrics.service.type | string | `"ClusterIP"` | Metrics service type | 1088 | applicationSet.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels | 1089 | applicationSet.metrics.serviceMonitor.annotations | object | `{}` | Prometheus ServiceMonitor annotations | 1090 | applicationSet.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor | 1091 | applicationSet.metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval | 1092 | applicationSet.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion | 1093 | applicationSet.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace | 1094 | applicationSet.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping | 1095 | applicationSet.metrics.serviceMonitor.scheme | string | `""` | Prometheus ServiceMonitor scheme | 1096 | applicationSet.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector | 1097 | applicationSet.metrics.serviceMonitor.tlsConfig | object | `{}` | Prometheus ServiceMonitor tlsConfig | 1098 | applicationSet.name | string | `"applicationset-controller"` | ApplicationSet controller name string | 1099 | applicationSet.nodeSelector | object | `{}` (defaults to global.nodeSelector) | [Node selector] | 1100 | applicationSet.pdb.annotations | object | `{}` | Annotations to be added to ApplicationSet controller pdb | 1101 | applicationSet.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the ApplicationSet controller | 1102 | applicationSet.pdb.labels | object | `{}` | Labels to be added to ApplicationSet controller pdb | 1103 | applicationSet.pdb.maxUnavailable | string | `""` | Number of pods that are unavailable after eviction as number or percentage (eg.: 50%). | 1104 | applicationSet.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) | 1105 | applicationSet.podAnnotations | object | `{}` | Annotations for the ApplicationSet controller pods | 1106 | applicationSet.podLabels | object | `{}` | Labels for the ApplicationSet controller pods | 1107 | applicationSet.priorityClassName | string | `""` (defaults to global.priorityClassName) | Priority class for the ApplicationSet controller pods | 1108 | applicationSet.readinessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for ApplicationSet controller | 1109 | applicationSet.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | 1110 | applicationSet.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated | 1111 | applicationSet.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | 1112 | applicationSet.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | 1113 | applicationSet.readinessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out | 1114 | applicationSet.replicas | int | `1` | The number of ApplicationSet controller pods to run | 1115 | applicationSet.resources | object | `{}` | Resource limits and requests for the ApplicationSet controller pods. | 1116 | applicationSet.service.annotations | object | `{}` | ApplicationSet service annotations | 1117 | applicationSet.service.labels | object | `{}` | ApplicationSet service labels | 1118 | applicationSet.service.port | int | `7000` | ApplicationSet service port | 1119 | applicationSet.service.portName | string | `"webhook"` | ApplicationSet service port name | 1120 | applicationSet.service.type | string | `"ClusterIP"` | ApplicationSet service type | 1121 | applicationSet.serviceAccount.annotations | object | `{}` | Annotations applied to created service account | 1122 | applicationSet.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account | 1123 | applicationSet.serviceAccount.create | bool | `true` | Create ApplicationSet controller service account | 1124 | applicationSet.serviceAccount.labels | object | `{}` | Labels applied to created service account | 1125 | applicationSet.serviceAccount.name | string | `"argocd-applicationset-controller"` | ApplicationSet controller service account name | 1126 | applicationSet.tolerations | list | `[]` (defaults to global.tolerations) | [Tolerations] for use with node taints | 1127 | applicationSet.topologySpreadConstraints | list | `[]` (defaults to global.topologySpreadConstraints) | Assign custom [TopologySpreadConstraints] rules to the ApplicationSet controller | 1128 | applicationSet.webhook.ingress.annotations | object | `{}` | Additional ingress annotations | 1129 | applicationSet.webhook.ingress.enabled | bool | `false` | Enable an ingress resource for Webhooks | 1130 | applicationSet.webhook.ingress.extraPaths | list | `[]` | Additional ingress paths | 1131 | applicationSet.webhook.ingress.hosts | list | `[]` | List of ingress hosts | 1132 | applicationSet.webhook.ingress.ingressClassName | string | `""` | Defines which ingress ApplicationSet controller will implement the resource | 1133 | applicationSet.webhook.ingress.labels | object | `{}` | Additional ingress labels | 1134 | applicationSet.webhook.ingress.pathType | string | `"Prefix"` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` | 1135 | applicationSet.webhook.ingress.paths | list | `["/api/webhook"]` | List of ingress paths | 1136 | applicationSet.webhook.ingress.tls | list | `[]` | Ingress TLS configuration | 1137 1138 ## Notifications 1139 1140 | Key | Type | Default | Description | 1141 |-----|------|---------|-------------| 1142 | notifications.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules | 1143 | notifications.argocdUrl | string | `nil` | Argo CD dashboard url; used in place of {{.context.argocdUrl}} in templates | 1144 | notifications.cm.create | bool | `true` | Whether helm chart creates notifications controller config map | 1145 | notifications.containerPorts.metrics | int | `9001` | Metrics container port | 1146 | notifications.containerSecurityContext | object | See [values.yaml] | Notification controller container-level security Context | 1147 | notifications.context | object | `{}` | Define user-defined context | 1148 | notifications.deploymentAnnotations | object | `{}` | Annotations to be applied to the notifications controller Deployment | 1149 | notifications.deploymentStrategy | object | `{"type":"Recreate"}` | Deployment strategy to be added to the notifications controller Deployment | 1150 | notifications.dnsConfig | object | `{}` | [DNS configuration] | 1151 | notifications.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for notifications controller Pods | 1152 | notifications.enabled | bool | `true` | Enable notifications controller | 1153 | notifications.extraArgs | list | `[]` | Extra arguments to provide to the notifications controller | 1154 | notifications.extraContainers | list | `[]` | Additional containers to be added to the notifications controller pod | 1155 | notifications.extraEnv | list | `[]` | Additional container environment variables | 1156 | notifications.extraEnvFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the notifications controller | 1157 | notifications.extraVolumeMounts | list | `[]` | List of extra mounts to add (normally used with extraVolumes) | 1158 | notifications.extraVolumes | list | `[]` | List of extra volumes to add | 1159 | notifications.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the notifications controller | 1160 | notifications.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the notifications controller | 1161 | notifications.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the notifications controller | 1162 | notifications.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry | 1163 | notifications.initContainers | list | `[]` | Init containers to add to the notifications controller pod | 1164 | notifications.logFormat | string | `""` (defaults to global.logging.format) | Notifications controller log format. Either `text` or `json` | 1165 | notifications.logLevel | string | `""` (defaults to global.logging.level) | Notifications controller log level. One of: `debug`, `info`, `warn`, `error` | 1166 | notifications.metrics.enabled | bool | `false` | Enables prometheus metrics server | 1167 | notifications.metrics.port | int | `9001` | Metrics port | 1168 | notifications.metrics.service.annotations | object | `{}` | Metrics service annotations | 1169 | notifications.metrics.service.clusterIP | string | `""` | Metrics service clusterIP. `None` makes a "headless service" (no virtual IP) | 1170 | notifications.metrics.service.labels | object | `{}` | Metrics service labels | 1171 | notifications.metrics.service.portName | string | `"http-metrics"` | Metrics service port name | 1172 | notifications.metrics.service.type | string | `"ClusterIP"` | Metrics service type | 1173 | notifications.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels | 1174 | notifications.metrics.serviceMonitor.annotations | object | `{}` | Prometheus ServiceMonitor annotations | 1175 | notifications.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor | 1176 | notifications.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion | 1177 | notifications.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping | 1178 | notifications.metrics.serviceMonitor.scheme | string | `""` | Prometheus ServiceMonitor scheme | 1179 | notifications.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector | 1180 | notifications.metrics.serviceMonitor.tlsConfig | object | `{}` | Prometheus ServiceMonitor tlsConfig | 1181 | notifications.name | string | `"notifications-controller"` | Notifications controller name string | 1182 | notifications.nodeSelector | object | `{}` (defaults to global.nodeSelector) | [Node selector] | 1183 | notifications.notifiers | object | See [values.yaml] | Configures notification services such as slack, email or custom webhook | 1184 | notifications.pdb.annotations | object | `{}` | Annotations to be added to notifications controller pdb | 1185 | notifications.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the notifications controller | 1186 | notifications.pdb.labels | object | `{}` | Labels to be added to notifications controller pdb | 1187 | notifications.pdb.maxUnavailable | string | `""` | Number of pods that are unavailable after eviction as number or percentage (eg.: 50%). | 1188 | notifications.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) | 1189 | notifications.podAnnotations | object | `{}` | Annotations to be applied to the notifications controller Pods | 1190 | notifications.podLabels | object | `{}` | Labels to be applied to the notifications controller Pods | 1191 | notifications.priorityClassName | string | `""` (defaults to global.priorityClassName) | Priority class for the notifications controller pods | 1192 | notifications.resources | object | `{}` | Resource limits and requests for the notifications controller | 1193 | notifications.secret.annotations | object | `{}` | key:value pairs of annotations to be added to the secret | 1194 | notifications.secret.create | bool | `true` | Whether helm chart creates notifications controller secret | 1195 | notifications.secret.items | object | `{}` | Generic key:value pairs to be inserted into the secret | 1196 | notifications.secret.labels | object | `{}` | key:value pairs of labels to be added to the secret | 1197 | notifications.serviceAccount.annotations | object | `{}` | Annotations applied to created service account | 1198 | notifications.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account | 1199 | notifications.serviceAccount.create | bool | `true` | Create notifications controller service account | 1200 | notifications.serviceAccount.labels | object | `{}` | Labels applied to created service account | 1201 | notifications.serviceAccount.name | string | `"argocd-notifications-controller"` | Notification controller service account name | 1202 | notifications.subscriptions | list | `[]` | Contains centrally managed global application subscriptions | 1203 | notifications.templates | object | `{}` | The notification template is used to generate the notification content | 1204 | notifications.tolerations | list | `[]` (defaults to global.tolerations) | [Tolerations] for use with node taints | 1205 | notifications.topologySpreadConstraints | list | `[]` (defaults to global.topologySpreadConstraints) | Assign custom [TopologySpreadConstraints] rules to the application controller | 1206 | notifications.triggers | object | `{}` | The trigger defines the condition when the notification should be sent | 1207 1208 ---------------------------------------------- 1209 Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs) 1210 1211 [Argo CD RBAC policy]: https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/ 1212 [affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ 1213 [BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom 1214 [CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/ 1215 [changelog]: https://artifacthub.io/packages/helm/argo/argo-cd?modal=changelog 1216 [DNS configuration]: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/ 1217 [external cluster credentials]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters 1218 [FrontendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters 1219 [declarative setup]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup 1220 [gRPC-ingress]: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/ 1221 [GnuPG]: https://argo-cd.readthedocs.io/en/stable/user-guide/gpg-verification/ 1222 [HPA]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ 1223 [MetricRelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs 1224 [Node selector]: https://kubernetes.io/docs/user-guide/node-selection/ 1225 [PodDisruptionBudget]: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets 1226 [probe]: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes 1227 [RelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config 1228 [Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 1229 [TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ 1230 [values.yaml]: values.yaml 1231 [v2.2 to 2.3 upgrade instructions]: https://github.com/argoproj/argo-cd/blob/v2.3.0/docs/operator-manual/upgrading/2.2-2.3.md 1232 [tini]: https://github.com/argoproj/argo-cd/pull/12707 1233 [EKS EoL]: https://endoflife.date/amazon-eks 1234 [Kubernetes Compatibility Matrix]: https://argo-cd.readthedocs.io/en/stable/operator-manual/installation/#supported-versions