argo-helm/charts/argo-cd
Marco Kilchhofer 3befa82210
feat(argo-cd): Add params to override Certificate duration and renewBefore (#1209)
* feat(argo-cd): New params to override Certificate duration and renewBefore

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* chore(argo-cd): Clarify existing certificate params

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
2022-04-03 11:13:56 +02:00
..
ci feat(argo-cd): Add ability to use an external redis instance (#1150) 2022-03-31 14:18:54 +02:00
crds feat(argo-cd): Update to use v2.3.1 release (#1162) 2022-03-16 22:01:30 +01:00
templates feat(argo-cd): Add params to override Certificate duration and renewBefore (#1209) 2022-04-03 11:13:56 +02:00
.helmignore feat(all): Add Documentation Guidelines (#1099) 2022-01-24 20:18:51 +01:00
Chart.lock argocd - update misc dependencies (#847) 2021-07-28 15:36:56 +01:00
Chart.yaml feat(argo-cd): Add params to override Certificate duration and renewBefore (#1209) 2022-04-03 11:13:56 +02:00
README.md feat(argo-cd): Add params to override Certificate duration and renewBefore (#1209) 2022-04-03 11:13:56 +02:00
README.md.gotmpl feat(argo-cd): Add ability to use an external redis instance (#1150) 2022-03-31 14:18:54 +02:00
values.yaml feat(argo-cd): Add params to override Certificate duration and renewBefore (#1209) 2022-04-03 11:13:56 +02:00

README.md

Argo CD Chart

A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.

Source code can be found here

Additional Information

This is a community maintained chart. This chart installs argo-cd, a declarative, GitOps continuous delivery tool for Kubernetes.

The default installation is intended to be similar to the provided Argo CD releases.

If you want to avoid including sensitive information unencrypted (clear text) in your version control, make use of the declarative set up of Argo CD. For instance, rather than adding repositories and their keys in your Helm values, you could deploy SealedSecrets with contents as seen in this repositories section or any other secrets manager service (i.e. HashiCorp Vault, AWS/GCP Secrets Manager, etc.).

High Availability

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. Please also have a look into the upstream Operator Manual regarding High Availability to understand how scaling of Argo CD works in detail.

Warning: You need at least 3 worker nodes as the HA mode of redis enforces Pods to run on separate nodes.

HA mode with autoscaling

redis-ha:
  enabled: true

controller:
  enableStatefulSet: true

server:
  autoscaling:
    enabled: true
    minReplicas: 2

repoServer:
  autoscaling:
    enabled: true
    minReplicas: 2

HA mode without autoscaling

redis-ha:
  enabled: true

controller:
  enableStatefulSet: true

server:
  replicas: 2
  env:
    - name: ARGOCD_API_SERVER_REPLICAS
      value: '2'

repoServer:
  replicas: 2

Synchronizing Changes from Original Repository

In the original Argo CD repository an manifests/install.yaml is generated using kustomize. It's the basis for the installation as described in the docs.

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.

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:

https://github.com/argoproj/argo-cd/compare/v1.8.7...v2.0.0#files_bucket

Or you clone the repository and do a local git-diff:

git clone https://github.com/argoproj/argo-cd.git
cd argo-cd
git diff v1.8.7 v2.0.0 -- manifests/install.yaml

Changes in the CustomResourceDefinition resources shall be fixed easily by copying 1:1 from the manifests/crds folder into this charts/argo-cd/crds folder.

Upgrading

4.3.*

With this minor version, the notification notifier's service.slack is no longer configured by default.

4.0.0 and above

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. Please read the v2.2 to 2.3 upgrade instructions in the upstream repository.

3.13.0

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

3.10.2

Argo CD has recently deprecated the flag --staticassets and from chart version 3.10.2 has been disabled by default It can be re-enabled by setting server.staticAssets.enabled to true

3.8.1

This bugfix version potentially introduces a rename (and recreation) of one or more ServiceAccounts. It only happens when you use one of these customization:

# Case 1) - only happens when you do not specify a custom name (repoServer.serviceAccount.name)
repoServer:
  serviceAccount:
    create: true

# Case 2)
controller:
  serviceAccount:
    name: "" # or <nil>

# Case 3)
dex:
  serviceAccount:
    name: "" # or <nil>

# Case 4)
server:
  serviceAccount:
    name: "" # or <nil>

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)

3.2.*

With this minor version we introduced the evaluation for the ingress manifest (depending on the capabilities version), See Pull Request. Issue 703 reported that the capabilities evaluation is not handled correctly when deploying the chart via an Argo CD instance, especially deploying on clusters running a cluster version prior to 1.19 (which misses Ingress on apiVersion networking.k8s.io/v1).

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:

kubeVersionOverride: "1.18.0"

Then you should no longer encounter this issue.

3.0.0 and above

Helm apiVersion switched to v2. Requires Helm 3.0.0 or above to install. Read More on how to migrate your release from Helm 2 to Helm 3.

2.14.7 and above

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.

2.10.x to 2.11.0

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.

1.8.7 to 2.x.x

controller.extraArgs, repoServer.extraArgs and server.extraArgs are now arrays of strings instead of a map

What was

server:
  extraArgs:
    insecure: ""

is now

server:
  extraArgs:
  - --insecure

Prerequisites

  • Kubernetes 1.7+
  • Helm v3.0.0+

Installing the Chart

To install the chart with the release name my-release:

$ helm repo add argo https://argoproj.github.io/argo-helm
"argo" has been added to your repositories

$ helm install my-release argo/argo-cd
NAME: my-release
...

General parameters

Key Type Default Description
apiVersionOverrides.certmanager string "" String to override apiVersion of certmanager resources rendered by this helm chart
apiVersionOverrides.ingress string "" String to override apiVersion of ingresses rendered by this helm chart
configs.clusterCredentials list [] (See values.yaml) Provide one or multiple external cluster credentials
configs.credentialTemplates object {} Repository credentials to be used as Templates for other repos
configs.gpgKeys object {} (See values.yaml) GnuPG keys to add to the key ring
configs.gpgKeysAnnotations object {} GnuPG key ring annotations
configs.knownHosts.data.ssh_known_hosts string See values.yaml Known Hosts
configs.knownHostsAnnotations object {} Known Hosts configmap annotations
configs.repositories object {} Repositories list to be used by applications
configs.repositoryCredentials object {} DEPRECATED: Instead, use configs.credentialTemplates and/or configs.repositories
configs.secret.annotations object {} Annotations to be added to argocd-secret
configs.secret.argocdServerAdminPassword string "" Bcrypt hashed admin password
configs.secret.argocdServerAdminPasswordMtime string "" (defaults to current time) Admin password modification time. Eg. "2006-01-02T15:04:05Z"
configs.secret.argocdServerTlsConfig object {} Argo TLS Data
configs.secret.bitbucketServerSecret string "" Shared secret for authenticating BitbucketServer webhook events
configs.secret.bitbucketUUID string "" UUID for authenticating Bitbucket webhook events
configs.secret.createSecret bool true Create the argocd-secret
configs.secret.extra object {} add additional secrets to be added to argocd-secret
configs.secret.githubSecret string "" Shared secret for authenticating GitHub webhook events
configs.secret.gitlabSecret string "" Shared secret for authenticating GitLab webhook events
configs.secret.gogsSecret string "" Shared secret for authenticating Gogs webhook events
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.
configs.tlsCerts object See values.yaml TLS certificate
configs.tlsCertsAnnotations object {} TLS certificate configmap annotations
createAggregateRoles bool false Create clusterroles that extend existing clusterroles to interact with argo-cd crds
extraObjects list [] Array of extra K8s manifests to deploy
fullnameOverride string "" String to fully override "argo-cd.fullname"
global.additionalLabels object {} Additional labels to add to all resources
global.hostAliases list [] Mapping between IP and hostnames that will be injected as entries in the pod's hosts files
global.image.imagePullPolicy string "IfNotPresent" If defined, a imagePullPolicy applied to all Argo CD deployments
global.image.repository string "quay.io/argoproj/argocd" If defined, a repository applied to all Argo CD deployments
global.image.tag string "" Overrides the global Argo CD image tag whose default is the chart appVersion
global.imagePullSecrets list [] If defined, uses a Secret to pull an image from a private Docker registry or repository
global.networkPolicy.create bool false Create NetworkPolicy objects for all components
global.networkPolicy.defaultDenyIngress bool false Default deny all ingress traffic
global.podAnnotations object {} Annotations for the all deployed pods
global.podLabels object {} Labels for the all deployed pods
global.securityContext object {} Toggle and define securityContext. See values.yaml
kubeVersionOverride string "" Override the Kubernetes version, which is used to evaluate certain manifests
nameOverride string "argocd" Provide a name in place of argocd
openshift.enabled bool false enables using arbitrary uid for argo repo server
server.additionalApplications list [] (See values.yaml) Deploy Argo CD Applications within this helm release
server.additionalProjects list [] (See values.yaml) Deploy Argo CD Projects within this helm release

Argo CD Controller

Key Type Default Description
controller.affinity object {} Assign custom affinity rules to the deployment
controller.args.appResyncPeriod string "180" define the application controller --app-resync
controller.args.operationProcessors string "10" define the application controller --operation-processors
controller.args.repoServerTimeoutSeconds string "60" define the application controller --repo-server-timeout-seconds
controller.args.selfHealTimeout string "5" define the application controller --self-heal-timeout-seconds
controller.args.statusProcessors string "20" define the application controller --status-processors
controller.clusterAdminAccess.enabled bool true Enable RBAC for local cluster deployments
controller.clusterRoleRules.enabled bool false Enable custom rules for the application controller's ClusterRole resource
controller.clusterRoleRules.rules list [] List of custom rules for the application controller's ClusterRole resource
controller.containerPort int 8082 Application controller listening port
controller.containerSecurityContext object {} Application controller container-level security context
controller.enableStatefulSet bool true Deploy the application controller as a StatefulSet instead of a Deployment, this is required for HA capability.
controller.env list [] Environment variables to pass to application controller
controller.envFrom list [] (See values.yaml) envFrom to pass to application controller
controller.extraArgs list [] Additional command line arguments to pass to application controller
controller.extraContainers list [] Additional containers to be added to the application controller pod
controller.image.imagePullPolicy string "" (defaults to global.image.imagePullPolicy) Image pull policy for the application controller
controller.image.repository string "" (defaults to global.image.repository) Repository to use for the application controller
controller.image.tag string "" (defaults to global.image.tag) Tag to use for the application controller
controller.initContainers list [] Init containers to add to the application controller pod
controller.livenessProbe.failureThreshold int 3 Minimum consecutive failures for the probe to be considered failed after having succeeded
controller.livenessProbe.initialDelaySeconds int 10 Number of seconds after the container has started before probe is initiated
controller.livenessProbe.periodSeconds int 10 How often (in seconds) to perform the probe
controller.livenessProbe.successThreshold int 1 Minimum consecutive successes for the probe to be considered successful after having failed
controller.livenessProbe.timeoutSeconds int 1 Number of seconds after which the probe times out
controller.logFormat string "text" Application controller log format. Either text or json
controller.logLevel string "info" Application controller log level
controller.metrics.applicationLabels.enabled bool false Enables additional labels in argocd_app_labels metric
controller.metrics.applicationLabels.labels list [] Additional labels
controller.metrics.enabled bool false Deploy metrics service
controller.metrics.rules.enabled bool false Deploy a PrometheusRule for the application controller
controller.metrics.rules.spec list [] PrometheusRule.Spec for the application controller
controller.metrics.service.annotations object {} Metrics service annotations
controller.metrics.service.labels object {} Metrics service labels
controller.metrics.service.servicePort int 8082 Metrics service port
controller.metrics.serviceMonitor.additionalLabels object {} Prometheus ServiceMonitor labels
controller.metrics.serviceMonitor.enabled bool false Enable a prometheus ServiceMonitor
controller.metrics.serviceMonitor.interval string "30s" Prometheus ServiceMonitor interval
controller.metrics.serviceMonitor.metricRelabelings list [] Prometheus MetricRelabelConfigs to apply to samples before ingestion
controller.metrics.serviceMonitor.namespace string "" Prometheus ServiceMonitor namespace
controller.metrics.serviceMonitor.relabelings list [] Prometheus RelabelConfigs to apply to samples before scraping
controller.metrics.serviceMonitor.selector object {} Prometheus ServiceMonitor selector
controller.name string "application-controller" Application controller name string
controller.nodeSelector object {} Node selector
controller.pdb.annotations object {} Annotations to be added to application controller pdb
controller.pdb.enabled bool false Deploy a Poddisruptionbudget for the application controller
controller.pdb.labels object {} Labels to be added to application controller pdb
controller.podAnnotations object {} Annotations to be added to application controller pods
controller.podLabels object {} Labels to be added to application controller pods
controller.priorityClassName string "" Priority class for the application controller pods
controller.readinessProbe.failureThreshold int 3 Minimum consecutive failures for the probe to be considered failed after having succeeded
controller.readinessProbe.initialDelaySeconds int 10 Number of seconds after the container has started before probe is initiated
controller.readinessProbe.periodSeconds int 10 How often (in seconds) to perform the probe
controller.readinessProbe.successThreshold int 1 Minimum consecutive successes for the probe to be considered successful after having failed
controller.readinessProbe.timeoutSeconds int 1 Number of seconds after which the probe times out
controller.replicas int 1 The number of application controller pods to run. If changing the number of replicas you must pass the number as ARGOCD_CONTROLLER_REPLICAS as an environment variable
controller.resources object {} Resource limits and requests for the application controller pods
controller.service.annotations object {} Application controller service annotations
controller.service.labels object {} Application controller service labels
controller.service.port int 8082 Application controller service port
controller.service.portName string "https-controller" Application controller service port name
controller.serviceAccount.annotations object {} Annotations applied to created service account
controller.serviceAccount.automountServiceAccountToken bool true Automount API credentials for the Service Account
controller.serviceAccount.create bool true Create a service account for the application controller
controller.serviceAccount.name string "argocd-application-controller" Service account name
controller.tolerations list [] Tolerations for use with node taints
controller.topologySpreadConstraints list [] Assign custom TopologySpreadConstraints rules to the application controller
controller.volumeMounts list [] Additional volumeMounts to the application controller main container
controller.volumes list [] Additional volumes to the application controller pod

Argo Repo Server

Key Type Default Description
repoServer.affinity object {} Assign custom affinity rules to the deployment
repoServer.autoscaling.enabled bool false Enable Horizontal Pod Autoscaler (HPA) for the repo server
repoServer.autoscaling.maxReplicas int 5 Maximum number of replicas for the repo server HPA
repoServer.autoscaling.minReplicas int 1 Minimum number of replicas for the repo server HPA
repoServer.autoscaling.targetCPUUtilizationPercentage int 50 Average CPU utilization percentage for the repo server HPA
repoServer.autoscaling.targetMemoryUtilizationPercentage int 50 Average memory utilization percentage for the repo server HPA
repoServer.clusterAdminAccess.enabled bool false Enable RBAC for local cluster deployments
repoServer.clusterRoleRules.enabled bool false Enable custom rules for the Repo server's Cluster Role resource
repoServer.clusterRoleRules.rules list [] List of custom rules for the Repo server's Cluster Role resource
repoServer.containerPort int 8081 Configures the repo server port
repoServer.containerSecurityContext object {} Repo server container-level security context
repoServer.copyutil.resources object {} Resource limits and requests for the copyutil initContainer
repoServer.env list [] Environment variables to pass to repo server
repoServer.envFrom list [] (See values.yaml) envFrom to pass to repo server
repoServer.extraArgs list [] Additional command line arguments to pass to repo server
repoServer.extraContainers list [] Additional containers to be added to the repo server pod
repoServer.image.imagePullPolicy string "" (defaults to global.image.imagePullPolicy) Image pull policy for the repo server
repoServer.image.repository string "" (defaults to global.image.repository) Repository to use for the repo server
repoServer.image.tag string "" (defaults to global.image.tag) Tag to use for the repo server
repoServer.initContainers list [] Init containers to add to the repo server pods
repoServer.livenessProbe.failureThreshold int 3 Minimum consecutive failures for the probe to be considered failed after having succeeded
repoServer.livenessProbe.initialDelaySeconds int 10 Number of seconds after the container has started before probe is initiated
repoServer.livenessProbe.periodSeconds int 10 How often (in seconds) to perform the probe
repoServer.livenessProbe.successThreshold int 1 Minimum consecutive successes for the probe to be considered successful after having failed
repoServer.livenessProbe.timeoutSeconds int 1 Number of seconds after which the probe times out
repoServer.logFormat string "text" Repo server log format: Either text or json
repoServer.logLevel string "info" Repo server log level
repoServer.metrics.enabled bool false Deploy metrics service
repoServer.metrics.service.annotations object {} Metrics service annotations
repoServer.metrics.service.labels object {} Metrics service labels
repoServer.metrics.service.servicePort int 8084 Metrics service port
repoServer.metrics.serviceMonitor.additionalLabels object {} Prometheus ServiceMonitor labels
repoServer.metrics.serviceMonitor.enabled bool false Enable a prometheus ServiceMonitor
repoServer.metrics.serviceMonitor.interval string "30s" Prometheus ServiceMonitor interval
repoServer.metrics.serviceMonitor.metricRelabelings list [] Prometheus MetricRelabelConfigs to apply to samples before ingestion
repoServer.metrics.serviceMonitor.namespace string "" Prometheus ServiceMonitor namespace
repoServer.metrics.serviceMonitor.relabelings list [] Prometheus RelabelConfigs to apply to samples before scraping
repoServer.metrics.serviceMonitor.selector object {} Prometheus ServiceMonitor selector
repoServer.name string "repo-server" Repo server name
repoServer.nodeSelector object {} Node selector
repoServer.pdb.annotations object {} Annotations to be added to Repo server pdb
repoServer.pdb.enabled bool false Deploy a Poddisruptionbudget for the Repo server
repoServer.pdb.labels object {} Labels to be added to Repo server pdb
repoServer.podAnnotations object {} Annotations to be added to repo server pods
repoServer.podLabels object {} Labels to be added to repo server pods
repoServer.priorityClassName string "" Priority class for the repo server
repoServer.rbac list [] Repo server rbac rules
repoServer.readinessProbe.failureThreshold int 3 Minimum consecutive failures for the probe to be considered failed after having succeeded
repoServer.readinessProbe.initialDelaySeconds int 10 Number of seconds after the container has started before probe is initiated
repoServer.readinessProbe.periodSeconds int 10 How often (in seconds) to perform the probe
repoServer.readinessProbe.successThreshold int 1 Minimum consecutive successes for the probe to be considered successful after having failed
repoServer.readinessProbe.timeoutSeconds int 1 Number of seconds after which the probe times out
repoServer.replicas int 1 The number of repo server pods to run
repoServer.resources object {} Resource limits and requests for the repo server pods
repoServer.service.annotations object {} Repo server service annotations
repoServer.service.labels object {} Repo server service labels
repoServer.service.port int 8081 Repo server service port
repoServer.service.portName string "https-repo-server" Repo server service port name
repoServer.serviceAccount.annotations object {} Annotations applied to created service account
repoServer.serviceAccount.automountServiceAccountToken bool true Automount API credentials for the Service Account
repoServer.serviceAccount.create bool true Create repo server service account
repoServer.serviceAccount.name string "" Repo server service account name
repoServer.tolerations list [] Tolerations for use with node taints
repoServer.topologySpreadConstraints list [] Assign custom TopologySpreadConstraints rules to the repo server
repoServer.volumeMounts list [] Additional volumeMounts to the repo server main container
repoServer.volumes list [] Additional volumes to the repo server pod

Argo Server

Key Type Default Description
server.GKEbackendConfig.enabled bool false Enable BackendConfig custom resource for Google Kubernetes Engine
server.GKEbackendConfig.spec object {} BackendConfigSpec
server.GKEfrontendConfig.enabled bool false Enable FrontConfig custom resource for Google Kubernetes Engine
server.GKEfrontendConfig.spec object {} FrontendConfigSpec
server.GKEmanagedCertificate.domains list ["argocd.example.com"] Domains for the Google Managed Certificate
server.GKEmanagedCertificate.enabled bool false Enable ManagedCertificate custom resource for Google Kubernetes Engine.
server.affinity object {} Assign custom affinity rules to the deployment
server.autoscaling.enabled bool false Enable Horizontal Pod Autoscaler (HPA) for the Argo CD server
server.autoscaling.maxReplicas int 5 Maximum number of replicas for the Argo CD server HPA
server.autoscaling.minReplicas int 1 Minimum number of replicas for the Argo CD server HPA
server.autoscaling.targetCPUUtilizationPercentage int 50 Average CPU utilization percentage for the Argo CD server HPA
server.autoscaling.targetMemoryUtilizationPercentage int 50 Average memory utilization percentage for the Argo CD server HPA
server.certificate.additionalHosts list [] Certificate manager additional hosts
server.certificate.domain string "argocd.example.com" Certificate primary domain (commonName)
server.certificate.duration string "" The requested 'duration' (i.e. lifetime) of the Certificate. Value must be in units accepted by Go time.ParseDuration
server.certificate.enabled bool false Deploy a Certificate resource (requires cert-manager)
server.certificate.issuer.kind string "" Certificate issuer kind. Either Issuer or ClusterIssuer
server.certificate.issuer.name string "" Certificate isser name. Eg. letsencrypt
server.certificate.renewBefore string "" How long before the currently issued certificate's expiry cert-manager should renew the certificate. Value must be in units accepted by Go time.ParseDuration
server.certificate.secretName string "argocd-server-tls" The name of the Secret that will be automatically created and managed by this Certificate resource
server.clusterAdminAccess.enabled bool true Enable RBAC for local cluster deployments
server.config object See values.yaml General Argo CD configuration
server.configAnnotations object {} Annotations to be added to Argo CD ConfigMap
server.configEnabled bool true Manage Argo CD configmap (Declarative Setup)
server.containerPort int 8080 Configures the server port
server.containerSecurityContext object {} Servers container-level security context
server.env list [] Environment variables to pass to Argo CD server
server.envFrom list [] (See values.yaml) envFrom to pass to Argo CD server
server.extensions.contents list [] Extensions to be loaded into the server
server.extensions.enabled bool false Enable support for extensions
server.extensions.image.imagePullPolicy string "IfNotPresent" Image pull policy for extensions
server.extensions.image.repository string "ghcr.io/argoproj-labs/argocd-extensions" Repository to use for extensions image
server.extensions.image.tag string "v0.1.0" Tag to use for extensions image
server.extensions.resources object {} Resource limits and requests for the argocd-extensions container
server.extraArgs list [] Additional command line arguments to pass to Argo CD server
server.extraContainers list [] Additional containers to be added to the server pod
server.image.imagePullPolicy string "" (defaults to global.image.imagePullPolicy) Image pull policy for the Argo CD server
server.image.repository string "" (defaults to global.image.repository) Repository to use for the Argo CD server
server.image.tag string "" (defaults to global.image.tag) Tag to use for the Argo CD server
server.ingress.annotations object {} Additional ingress annotations
server.ingress.enabled bool false Enable an ingress resource for the Argo CD server
server.ingress.extraPaths list [] Additional ingress paths
server.ingress.hosts list [] List of ingress hosts
server.ingress.https bool false Uses server.service.servicePortHttps instead server.service.servicePortHttp
server.ingress.ingressClassName string "" Defines which ingress controller will implement the resource
server.ingress.labels object {} Additional ingress labels
server.ingress.pathType string "Prefix" Ingress path type. One of Exact, Prefix or ImplementationSpecific
server.ingress.paths list ["/"] List of ingress paths
server.ingress.tls list [] Ingress TLS configuration
server.ingressGrpc.annotations object {} Additional ingress annotations for dedicated gRPC-ingress
server.ingressGrpc.awsALB.backendProtocolVersion string "HTTP2" Backend protocol version for the AWS ALB gRPC service
server.ingressGrpc.awsALB.serviceType string "NodePort" Service type for the AWS ALB gRPC service
server.ingressGrpc.enabled bool false Enable an ingress resource for the Argo CD server for dedicated gRPC-ingress
server.ingressGrpc.extraPaths list [] Additional ingress paths for dedicated gRPC-ingress
server.ingressGrpc.hosts list [] List of ingress hosts for dedicated gRPC-ingress
server.ingressGrpc.https bool false Uses server.service.servicePortHttps instead server.service.servicePortHttp
server.ingressGrpc.ingressClassName string "" Defines which ingress controller will implement the resource gRPC-ingress
server.ingressGrpc.isAWSALB bool false Setup up gRPC ingress to work with an AWS ALB
server.ingressGrpc.labels object {} Additional ingress labels for dedicated gRPC-ingress
server.ingressGrpc.pathType string "Prefix" Ingress path type for dedicated gRPC-ingress. One of Exact, Prefix or ImplementationSpecific
server.ingressGrpc.paths list ["/"] List of ingress paths for dedicated gRPC-ingress
server.ingressGrpc.tls list [] Ingress TLS configuration for dedicated gRPC-ingress
server.initContainers list [] Init containers to add to the server pod
server.lifecycle object {} Specify postStart and preStop lifecycle hooks for your argo-cd-server container
server.livenessProbe.failureThreshold int 3 Minimum consecutive failures for the probe to be considered failed after having succeeded
server.livenessProbe.initialDelaySeconds int 10 Number of seconds after the container has started before probe is initiated
server.livenessProbe.periodSeconds int 10 How often (in seconds) to perform the probe
server.livenessProbe.successThreshold int 1 Minimum consecutive successes for the probe to be considered successful after having failed
server.livenessProbe.timeoutSeconds int 1 Number of seconds after which the probe times out
server.logFormat string "text" Argo CD server log format: Either text or json
server.logLevel string "info" Argo CD server log level
server.metrics.enabled bool false Deploy metrics service
server.metrics.service.annotations object {} Metrics service annotations
server.metrics.service.labels object {} Metrics service labels
server.metrics.service.servicePort int 8083 Metrics service port
server.metrics.serviceMonitor.additionalLabels object {} Prometheus ServiceMonitor labels
server.metrics.serviceMonitor.enabled bool false Enable a prometheus ServiceMonitor
server.metrics.serviceMonitor.interval string "30s" Prometheus ServiceMonitor interval
server.metrics.serviceMonitor.metricRelabelings list [] Prometheus MetricRelabelConfigs to apply to samples before ingestion
server.metrics.serviceMonitor.namespace string "" Prometheus ServiceMonitor namespace
server.metrics.serviceMonitor.relabelings list [] Prometheus RelabelConfigs to apply to samples before scraping
server.metrics.serviceMonitor.selector object {} Prometheus ServiceMonitor selector
server.name string "server" Argo CD server name
server.nodeSelector object {} Node selector
server.pdb.annotations object {} Annotations to be added to server pdb
server.pdb.enabled bool false Deploy a Poddisruptionbudget for the server
server.pdb.labels object {} Labels to be added to server pdb
server.podAnnotations object {} Annotations to be added to server pods
server.podLabels object {} Labels to be added to server pods
server.priorityClassName string "" Priority class for the Argo CD server
server.rbacConfig object {} Argo CD rbac config (Argo CD RBAC policy)
server.rbacConfigAnnotations object {} Annotations to be added to Argo CD rbac ConfigMap
server.rbacConfigCreate bool true Whether or not to create the configmap. 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.
server.readinessProbe.failureThreshold int 3 Minimum consecutive failures for the probe to be considered failed after having succeeded
server.readinessProbe.initialDelaySeconds int 10 Number of seconds after the container has started before probe is initiated
server.readinessProbe.periodSeconds int 10 How often (in seconds) to perform the probe
server.readinessProbe.successThreshold int 1 Minimum consecutive successes for the probe to be considered successful after having failed
server.readinessProbe.timeoutSeconds int 1 Number of seconds after which the probe times out
server.replicas int 1 The number of server pods to run
server.resources object {} Resource limits and requests for the Argo CD server
server.route.annotations object {} Openshift Route annotations
server.route.enabled bool false Enable an OpenShift Route for the Argo CD server
server.route.hostname string "" Hostname of OpenShift Route
server.route.termination_policy string "None" Termination policy of Openshift Route
server.route.termination_type string "passthrough" Termination type of Openshift Route
server.service.annotations object {} Server service annotations
server.service.externalIPs list [] Server service external IPs
server.service.externalTrafficPolicy string "" Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
server.service.labels object {} Server service labels
server.service.loadBalancerIP string "" LoadBalancer will get created with the IP specified in this field
server.service.loadBalancerSourceRanges list [] Source IP ranges to allow access to service from
server.service.namedTargetPort bool true Use named target port for argocd
server.service.nodePortHttp int 30080 Server service http port for NodePort service type (only if server.service.type is set to "NodePort")
server.service.nodePortHttps int 30443 Server service https port for NodePort service type (only if server.service.type is set to "NodePort")
server.service.servicePortHttp int 80 Server service http port
server.service.servicePortHttpName string "http" Server service http port name, can be used to route traffic via istio
server.service.servicePortHttps int 443 Server service https port
server.service.servicePortHttpsName string "https" Server service https port name, can be used to route traffic via istio
server.service.sessionAffinity string "" Used to maintain session affinity. Supports ClientIP and None
server.service.type string "ClusterIP" Server service type
server.serviceAccount.annotations object {} Annotations applied to created service account
server.serviceAccount.automountServiceAccountToken bool true Automount API credentials for the Service Account
server.serviceAccount.create bool true Create server service account
server.serviceAccount.name string "argocd-server" Server service account name
server.staticAssets.enabled bool true Disable deprecated flag --staticassets
server.tolerations list [] Tolerations for use with node taints
server.topologySpreadConstraints list [] Assign custom TopologySpreadConstraints rules to the Argo CD server
server.volumeMounts list [] Additional volumeMounts to the server main container
server.volumes list [] Additional volumes to the server pod

Dex

Key Type Default Description
dex.affinity object {} Assign custom affinity rules to the deployment
dex.containerPortGrpc int 5557 Container port for gRPC access
dex.containerPortHttp int 5556 Container port for HTTP access
dex.containerPortMetrics int 5558 Container port for metrics access
dex.containerSecurityContext object {} Dex container-level security context
dex.enabled bool true Enable dex
dex.env list [] Environment variables to pass to the Dex server
dex.envFrom list [] (See values.yaml) envFrom to pass to the Dex server
dex.extraArgs list [] Additional command line arguments to pass to the Dex server
dex.extraContainers list [] Additional containers to be added to the dex pod
dex.extraVolumeMounts list [] Extra volumeMounts to the dex pod
dex.extraVolumes list [] Extra volumes to the dex pod
dex.image.imagePullPolicy string "IfNotPresent" Dex imagePullPolicy
dex.image.repository string "ghcr.io/dexidp/dex" Dex image repository
dex.image.tag string "v2.30.2" Dex image tag
dex.initContainers list [] Init containers to add to the dex pod
dex.initImage.imagePullPolicy string "" (defaults to global.image.imagePullPolicy) Argo CD init image imagePullPolicy
dex.initImage.repository string "" (defaults to global.image.repository) Argo CD init image repository
dex.initImage.tag string "" (defaults to global.image.tag) Argo CD init image tag
dex.livenessProbe.enabled bool false Enable Kubernetes liveness probe for Dex >= 2.28.0
dex.livenessProbe.failureThreshold int 3 Minimum consecutive failures for the probe to be considered failed after having succeeded
dex.livenessProbe.initialDelaySeconds int 10 Number of seconds after the container has started before probe is initiated
dex.livenessProbe.periodSeconds int 10 How often (in seconds) to perform the probe
dex.livenessProbe.successThreshold int 1 Minimum consecutive successes for the probe to be considered successful after having failed
dex.livenessProbe.timeoutSeconds int 1 Number of seconds after which the probe times out
dex.metrics.enabled bool false Deploy metrics service
dex.metrics.service.annotations object {} Metrics service annotations
dex.metrics.service.labels object {} Metrics service labels
dex.metrics.serviceMonitor.additionalLabels object {} Prometheus ServiceMonitor labels
dex.metrics.serviceMonitor.enabled bool false Enable a prometheus ServiceMonitor
dex.metrics.serviceMonitor.interval string "30s" Prometheus ServiceMonitor interval
dex.metrics.serviceMonitor.metricRelabelings list [] Prometheus MetricRelabelConfigs to apply to samples before ingestion
dex.metrics.serviceMonitor.namespace string "" Prometheus ServiceMonitor namespace
dex.metrics.serviceMonitor.relabelings list [] Prometheus RelabelConfigs to apply to samples before scraping
dex.metrics.serviceMonitor.selector object {} Prometheus ServiceMonitor selector
dex.name string "dex-server" Dex name
dex.nodeSelector object {} Node selector
dex.pdb.annotations object {} Annotations to be added to Dex server pdb
dex.pdb.enabled bool false Deploy a Poddisruptionbudget for the Dex server
dex.pdb.labels object {} Labels to be added to Dex server pdb
dex.podAnnotations object {} Annotations to be added to the Dex server pods
dex.podLabels object {} Labels to be added to the Dex server pods
dex.priorityClassName string "" Priority class for dex
dex.readinessProbe.enabled bool false Enable Kubernetes readiness probe for Dex >= 2.28.0
dex.readinessProbe.failureThreshold int 3 Minimum consecutive failures for the probe to be considered failed after having succeeded
dex.readinessProbe.initialDelaySeconds int 10 Number of seconds after the container has started before probe is initiated
dex.readinessProbe.periodSeconds int 10 How often (in seconds) to perform the probe
dex.readinessProbe.successThreshold int 1 Minimum consecutive successes for the probe to be considered successful after having failed
dex.readinessProbe.timeoutSeconds int 1 Number of seconds after which the probe times out
dex.resources object {} Resource limits and requests for dex
dex.serviceAccount.annotations object {} Annotations applied to created service account
dex.serviceAccount.automountServiceAccountToken bool true Automount API credentials for the Service Account
dex.serviceAccount.create bool true Create dex service account
dex.serviceAccount.name string "argocd-dex-server" Dex service account name
dex.servicePortGrpc int 5557 Service port for gRPC access
dex.servicePortGrpcName string "grpc" Service port name for gRPC access
dex.servicePortHttp int 5556 Service port for HTTP access
dex.servicePortHttpName string "http" Service port name for HTTP access
dex.servicePortMetrics int 5558 Service port for metrics access
dex.tolerations list [] Tolerations for use with node taints
dex.topologySpreadConstraints list [] Assign custom TopologySpreadConstraints rules to dex
dex.volumeMounts list [{"mountPath":"/shared","name":"static-files"}] Additional volumeMounts to the dex main container
dex.volumes list [{"emptyDir":{},"name":"static-files"}] Additional volumes to the dex pod

Redis

Key Type Default Description
redis.affinity object {} Assign custom affinity rules to the deployment
redis.containerPort int 6379 Redis container port
redis.containerSecurityContext object {} Redis container-level security context
redis.enabled bool true Enable redis
redis.env list [] Environment variables to pass to the Redis server
redis.envFrom list [] (See values.yaml) envFrom to pass to the Redis server
redis.extraArgs list [] Additional command line arguments to pass to redis-server
redis.extraContainers list [] Additional containers to be added to the redis pod
redis.image.imagePullPolicy string "IfNotPresent" Redis imagePullPolicy
redis.image.repository string "redis" Redis repository
redis.image.tag string "6.2.6-alpine" Redis tag
redis.initContainers list [] Init containers to add to the redis pod
redis.metrics.containerPort int 9121 Port to use for redis-exporter sidecar
redis.metrics.enabled bool false Deploy metrics service and redis-exporter sidecar
redis.metrics.image.imagePullPolicy string "IfNotPresent" redis-exporter image PullPolicy
redis.metrics.image.repository string "quay.io/bitnami/redis-exporter" redis-exporter image repository
redis.metrics.image.tag string "1.26.0-debian-10-r2" redis-exporter image tag
redis.metrics.resources object {} Resource limits and requests for redis-exporter sidecar
redis.metrics.service.annotations object {} Metrics service annotations
redis.metrics.service.clusterIP string "None" Metrics service clusterIP. None makes a "headless service" (no virtual IP)
redis.metrics.service.labels object {} Metrics service labels
redis.metrics.service.portName string "http-metrics" Metrics service port name
redis.metrics.service.servicePort int 9121 Metrics service port
redis.metrics.service.type string "ClusterIP" Metrics service type
redis.metrics.serviceMonitor.additionalLabels object {} Prometheus ServiceMonitor labels
redis.metrics.serviceMonitor.enabled bool false Enable a prometheus ServiceMonitor
redis.metrics.serviceMonitor.interval string "30s" Interval at which metrics should be scraped
redis.metrics.serviceMonitor.metricRelabelings list [] Prometheus MetricRelabelConfigs to apply to samples before ingestion
redis.metrics.serviceMonitor.namespace string "" Prometheus ServiceMonitor namespace
redis.metrics.serviceMonitor.relabelings list [] Prometheus RelabelConfigs to apply to samples before scraping
redis.metrics.serviceMonitor.selector object {} Prometheus ServiceMonitor selector
redis.name string "redis" Redis name
redis.nodeSelector object {} Node selector
redis.pdb.annotations object {} Annotations to be added to Redis server pdb
redis.pdb.enabled bool false Deploy a Poddisruptionbudget for the Redis server
redis.pdb.labels object {} Labels to be added to Redis server pdb
redis.podAnnotations object {} Annotations to be added to the Redis server pods
redis.podLabels object {} Labels to be added to the Redis server pods
redis.priorityClassName string "" Priority class for redis
redis.resources object {} Resource limits and requests for redis
redis.securityContext object {"runAsNonRoot":true,"runAsUser":999} Redis pod-level security context
redis.service.annotations object {} Redis service annotations
redis.service.labels object {} Additional redis service labels
redis.serviceAccount.annotations object {} Annotations applied to created service account
redis.serviceAccount.automountServiceAccountToken bool false Automount API credentials for the Service Account
redis.serviceAccount.create bool false Create a service account for the redis pod
redis.serviceAccount.name string "" Service account name for redis pod
redis.servicePort int 6379 Redis service port
redis.tolerations list [] Tolerations for use with node taints
redis.topologySpreadConstraints list [] Assign custom TopologySpreadConstraints rules to redis
redis.volumeMounts list [] Additional volumeMounts to the redis container
redis.volumes list [] Additional volumes to the redis pod
redis-ha.enabled bool false Enables the Redis HA subchart and disables the custom Redis single node deployment
redis-ha.exporter.enabled bool true If true, the prometheus exporter sidecar is enabled
redis-ha.haproxy.enabled bool true Enabled HAProxy LoadBalancing/Proxy
redis-ha.haproxy.metrics.enabled bool true HAProxy enable prometheus metric scraping
redis-ha.image.tag string "6.2.6-alpine" Redis tag
redis-ha.persistentVolume.enabled bool false Configures persistency on Redis nodes
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)
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
redis-ha.redis.masterGroupName string "argocd" Redis convention for naming the cluster group: must match ^[\\w-\\.]+$ and can be templated
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
externalRedis.host string "" External Redis server host
externalRedis.password string "" External Redis password
externalRedis.port int 6379 External Redis server port

ApplicationSet

Key Type Default Description
applicationSet.affinity object {} Assign custom affinity rules
applicationSet.args.debug bool false Print debug logs
applicationSet.args.dryRun bool false Enable dry run mode
applicationSet.args.enableLeaderElection bool false The default leader election setting
applicationSet.args.metricsAddr string ":8080" The default metric address
applicationSet.args.policy string "sync" How application is synced between the generator and the cluster
applicationSet.args.probeBindAddr string ":8081" The default health check port
applicationSet.enabled bool true Enable Application Set controller
applicationSet.extraArgs list [] List of extra cli args to add
applicationSet.extraContainers list [] Additional containers to be added to the applicationset controller pod
applicationSet.extraEnv list [] Environment variables to pass to the controller
applicationSet.extraEnvFrom list [] (See values.yaml) envFrom to pass to the controller
applicationSet.extraVolumeMounts list [] List of extra mounts to add (normally used with extraVolumes)
applicationSet.extraVolumes list [] List of extra volumes to add
applicationSet.image.pullPolicy string "IfNotPresent" Image pull policy for the application set controller
applicationSet.image.repository string "quay.io/argoproj/argocd-applicationset" Repository to use for the application set controller
applicationSet.image.tag string "v0.4.1" Tag to use for the application set controller
applicationSet.imagePullSecrets list [] If defined, uses a Secret to pull an image from a private Docker registry or repository.
applicationSet.metrics.enabled bool false Deploy metrics service
applicationSet.metrics.service.annotations object {} Metrics service annotations
applicationSet.metrics.service.labels object {} Metrics service labels
applicationSet.metrics.service.servicePort int 8085 Metrics service port
applicationSet.metrics.serviceMonitor.additionalLabels object {} Prometheus ServiceMonitor labels
applicationSet.metrics.serviceMonitor.enabled bool false Enable a prometheus ServiceMonitor
applicationSet.metrics.serviceMonitor.interval string "30s" Prometheus ServiceMonitor interval
applicationSet.metrics.serviceMonitor.metricRelabelings list [] Prometheus MetricRelabelConfigs to apply to samples before ingestion
applicationSet.metrics.serviceMonitor.namespace string "" Prometheus ServiceMonitor namespace
applicationSet.metrics.serviceMonitor.relabelings list [] Prometheus RelabelConfigs to apply to samples before scraping
applicationSet.metrics.serviceMonitor.selector object {} Prometheus ServiceMonitor selector
applicationSet.name string "applicationset-controller" Application Set controller name string
applicationSet.nodeSelector object {} Node selector
applicationSet.podAnnotations object {} Annotations for the controller pods
applicationSet.podLabels object {} Labels for the controller pods
applicationSet.podSecurityContext object {} Pod Security Context
applicationSet.priorityClassName string "" If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
applicationSet.replicaCount int 1 The number of controller pods to run
applicationSet.resources object {} Resource limits and requests for the controller pods.
applicationSet.securityContext object {} Security Context
applicationSet.service.annotations object {} Application set service annotations
applicationSet.service.labels object {} Application set service labels
applicationSet.service.port int 7000 Application set service port
applicationSet.service.portName string "webhook" Application set service port name
applicationSet.serviceAccount.annotations object {} Annotations to add to the service account
applicationSet.serviceAccount.create bool true Specifies whether a service account should be created
applicationSet.serviceAccount.name string "" The name of the service account to use. If not set and create is true, a name is generated using the fullname template
applicationSet.tolerations list [] Tolerations for use with node taints
applicationSet.webhook.ingress.annotations object {} Additional ingress annotations
applicationSet.webhook.ingress.enabled bool false Enable an ingress resource for Webhooks
applicationSet.webhook.ingress.extraPaths list [] Additional ingress paths
applicationSet.webhook.ingress.hosts list [] List of ingress hosts
applicationSet.webhook.ingress.ingressClassName string "" Defines which ingress controller will implement the resource
applicationSet.webhook.ingress.labels object {} Additional ingress labels
applicationSet.webhook.ingress.pathType string "Prefix" Ingress path type. One of Exact, Prefix or ImplementationSpecific
applicationSet.webhook.ingress.paths list ["/api/webhook"] List of ingress paths
applicationSet.webhook.ingress.tls list [] Ingress TLS configuration

Notifications

Key Type Default Description
notifications.affinity object {} Assign custom affinity rules
notifications.argocdUrl string nil Argo CD dashboard url; used in place of {{.context.argocdUrl}} in templates
notifications.bots.slack.affinity object {} Assign custom affinity rules
notifications.bots.slack.containerSecurityContext object {} Container Security Context
notifications.bots.slack.enabled bool false Enable slack bot
notifications.bots.slack.image.imagePullPolicy string "" (defaults to global.image.imagePullPolicy) Image pull policy for the Slack bot
notifications.bots.slack.image.repository string "" (defaults to global.image.repository) Repository to use for the Slack bot
notifications.bots.slack.image.tag string "" (defaults to global.image.tag) Tag to use for the Slack bot
notifications.bots.slack.imagePullSecrets list [] Secrets with credentials to pull images from a private registry
notifications.bots.slack.nodeSelector object {} Node selector
notifications.bots.slack.resources object {} Resource limits and requests for the Slack bot
notifications.bots.slack.securityContext object {"runAsNonRoot":true} Pod Security Context
notifications.bots.slack.service.annotations object {} Service annotations for Slack bot
notifications.bots.slack.service.port int 80 Service port for Slack bot
notifications.bots.slack.service.type string "LoadBalancer" Service type for Slack bot
notifications.bots.slack.serviceAccount.annotations object {} Annotations applied to created service account
notifications.bots.slack.serviceAccount.create bool true Specifies whether a service account should be created
notifications.bots.slack.serviceAccount.name string "argocd-notifications-bot" The name of the service account to use.
notifications.bots.slack.tolerations list [] Tolerations for use with node taints
notifications.bots.slack.updateStrategy object {"type":"Recreate"} The deployment strategy to use to replace existing pods with new ones
notifications.cm.create bool true Whether helm chart creates controller config map
notifications.cm.name string "" The name of the config map to use.
notifications.containerSecurityContext object {} Container Security Context
notifications.context object {} Define user-defined context
notifications.enabled bool true Enable Notifications controller
notifications.extraArgs list [] Extra arguments to provide to the controller
notifications.extraEnv list [] Additional container environment variables
notifications.extraVolumeMounts list [] List of extra mounts to add (normally used with extraVolumes)
notifications.extraVolumes list [] List of extra volumes to add
notifications.image.imagePullPolicy string "" (defaults to global.image.imagePullPolicy) Image pull policy for the notifications controller
notifications.image.repository string "" (defaults to global.image.repository) Repository to use for the notifications controller
notifications.image.tag string "" (defaults to global.image.tag) Tag to use for the notifications controller
notifications.imagePullSecrets list [] Secrets with credentials to pull images from a private registry
notifications.logLevel string "info" Set the logging level. (One of: debug, info, warn, error)
notifications.metrics.enabled bool false Enables prometheus metrics server
notifications.metrics.port int 9001 Metrics port
notifications.metrics.service.annotations object {} Metrics service annotations
notifications.metrics.service.labels object {} Metrics service labels
notifications.metrics.serviceMonitor.additionalLabels object {} Prometheus ServiceMonitor labels
notifications.metrics.serviceMonitor.enabled bool false Enable a prometheus ServiceMonitor
notifications.metrics.serviceMonitor.selector object {} Prometheus ServiceMonitor selector
notifications.name string "notifications-controller" Notifications controller name string
notifications.nodeSelector object {} Node selector
notifications.notifiers object See values.yaml Configures notification services
notifications.podAnnotations object {} Annotations to be applied to the controller Pods
notifications.podLabels object {} Labels to be applied to the controller Pods
notifications.resources object {} Resource limits and requests for the controller
notifications.secret.annotations object {} key:value pairs of annotations to be added to the secret
notifications.secret.create bool true Whether helm chart creates controller secret
notifications.secret.items object {} Generic key:value pairs to be inserted into the secret
notifications.secret.name string "" The name of the secret to use.
notifications.securityContext object {"runAsNonRoot":true} Pod Security Context
notifications.serviceAccount.annotations object {} Annotations applied to created service account
notifications.serviceAccount.create bool true Specifies whether a service account should be created
notifications.serviceAccount.name string "argocd-notifications-controller" The name of the service account to use.
notifications.subscriptions list [] Contains centrally managed global application subscriptions
notifications.templates object {} The notification template is used to generate the notification content
notifications.tolerations list [] Tolerations for use with node taints
notifications.triggers object {} The trigger defines the condition when the notification should be sent
notifications.updateStrategy object {"type":"Recreate"} The deployment strategy to use to replace existing pods with new ones

Using AWS ALB Ingress Controller With GRPC

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.

Example:

server:
  ingress:
    enabled: true
    annotations:
      alb.ingress.kubernetes.io/backend-protocol: HTTPS
      alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
      alb.ingress.kubernetes.io/scheme: internal
      alb.ingress.kubernetes.io/target-type: ip
  ingressGrpc:
    enabled: true
    isAWSALB: true
    awsALB:
      serviceType: ClusterIP


Autogenerated from chart metadata using helm-docs