A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
Source code can be found here
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 ArgoCD releases.
This chart currently installs the non-HA version of ArgoCD.
controller.extraArgs
, repoServer.extraArgs
and server.extraArgs
are not arrays of strings intead of a map
What was
controller:
extraArgs:
insecure: ""
is now
controller:
extraArgs:
- --insecure
- Kubernetes 1.7+
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 --name my-release argo/argo-cd
NAME: my-release
...
Requires chart version 1.5.2 or newer.
Helm v3 has removed the install-crds
hook so CRDs are now populated by files in the crds directory. Users of Helm v3 should set the installCRDs
value to false
to avoid warnings about nonexistant webhooks.
Parameter | Description | Default |
---|---|---|
global.image.imagePullPolicy | If defined, a imagePullPolicy applied to all ArgoCD deployments. | "IfNotPresent" |
global.image.repository | If defined, a repository applied to all ArgoCD deployments. | "docker.io/argoproj/argocd@sha256:0a8fa1fee472568c2ec49dc1a71d3af56613b6b62353560a3682abc24492daee" |
global.image.tag | If defined, a version annotation applied to all ArgoCD deployments. | "v1.6.1" |
global.securityContext | Toggle and define securityContext | See values.yaml |
global.imagePullSecrets | If defined, uses a Secret to pull an image from a private Docker registry or repository. | [] |
global.hostAliases | Mapping between IP and hostnames that will be injected as entries in the pod's hosts files | [] |
nameOverride | Provide a name in place of argocd |
"argocd" |
installCRDs | Install CRDs if you are using Helm2. | true |
configs.knownHosts.data.ssh_known_hosts | Known Hosts | See values.yaml |
configs.secret.annotations | Annotations for argocd-secret | {} |
configs.secret.argocdServerAdminPassword | Bcrypt hashed admin password | null |
configs.secret.argocdServerAdminPasswordMtime | Admin password modification time | date "2006-01-02T15:04:05Z" now if configs.secret.argocdServerAdminPassword is set |
configs.secret.bitbucketSecret | BitBucket incoming webhook secret | "" |
configs.secret.createSecret | Create the argocd-secret. | true |
configs.secret.githubSecret | GitHub incoming webhook secret | "" |
configs.secret.gitlabSecret | GitLab incoming webhook secret | "" |
configs.tlsCerts.data."argocd.example.com" | TLS certificate | See values.yaml |
configs.secret.extra | add additional secrets to be added to argocd-secret | {} |
Parameter | Description | Default |
---|---|---|
controller.affinity | Assign custom affinity rules to the deployment | {} |
controller.args.operationProcessors | define the controller --operation-processors |
"10" |
controller.args.statusProcessors | define the controller --status-processors |
"20" |
controller.clusterAdminAccess.enabled | Enable RBAC for local cluster deployments. | true |
controller.containerPort | Controller listening port. | 8082 |
controller.extraArgs | Additional arguments for the controller. A list of flags | [] |
controller.env | Environment variables for the controller. | [] |
controller.image.repository | Repository to use for the controller | global.image.repository |
controller.image.imagePullPolicy | Image pull policy for the controller | global.image.imagePullPolicy |
controller.image.tag | Tag to use for the controller version annotation | global.image.tag |
controller.livenessProbe.failureThreshold | Kubernetes probe configuration | 3 |
controller.livenessProbe.initialDelaySeconds | Kubernetes probe configuration | 10 |
controller.livenessProbe.periodSeconds | Kubernetes probe configuration | 10 |
controller.livenessProbe.successThreshold | Kubernetes probe configuration | 1 |
controller.livenessProbe.timeoutSeconds | Kubernetes probe configuration | 1 |
controller.logLevel | Controller log level | "info" |
controller.metrics.enabled | Deploy metrics service | false |
controller.metrics.service.annotations | Metrics service annotations | {} |
controller.metrics.service.labels | Metrics service labels | {} |
controller.metrics.service.servicePort | Metrics service port | 8082 |
controller.metrics.serviceMonitor.enabled | Enable a prometheus ServiceMonitor. | false |
controller.metrics.serviceMonitor.selector | Prometheus ServiceMonitor selector. | {} |
controller.name | Controller name string. | "application-controller" |
controller.nodeSelector | Node selector | {} |
controller.podAnnotations | Annotations for the controller pods | {} |
controller.podLabels | Labels for the controller pods | {} |
controller.priorityClassName | Priority class for the controller pods | "" |
controller.readinessProbe.failureThreshold | Kubernetes probe configuration | 3 |
controller.readinessProbe.initialDelaySeconds | Kubernetes probe configuration | 10 |
controller.readinessProbe.periodSeconds | Kubernetes probe configuration | 10 |
controller.readinessProbe.successThreshold | Kubernetes probe configuration | 1 |
controller.readinessProbe.timeoutSeconds | Kubernetes probe configuration | 1 |
controller.resources | Resource limits and requests for the controller pods. | {} |
controller.service.annotations | Controller service annotations. | {} |
controller.service.labels | Controller service labels. | {} |
controller.service.port | Controller service port. | 8082 |
controler.serviceAccount.annotations | Controller service account annotations | {} |
controller.serviceAccount.create | Create a service account for the controller | true |
controller.serviceAccount.name | Service account name. | "argocd-application-controller" |
controller.tolerations | Tolerations for use with node taints | [] |
controller.volumeMounts | Controller volume mounts | [] |
controller.volumes | Controller volumes | [] |
Property | Description | Default |
---|---|---|
repoServer.affinity | Assign custom affinity rules to the deployment | {} |
repoServer.autoscaling.enabled | Enable Horizontal Pod Autoscaler (HPA) for the repo server | false |
repoServer.autoscaling.minReplicas | Minimum number of replicas for the repo server HPA | 1 |
repoServer.autoscaling.maxReplicas | Maximum number of replicas for the repo server HPA | 5 |
repoServer.autoscaling.targetCPUUtilizationPercentage | Average CPU utilization percentage for the repo server HPA | 50 |
repoServer.autoscaling.targetMemoryUtilizationPercentage | Average memory utilization percentage for the repo server HPA | 50 |
repoServer.containerPort | Repo server port | 8081 |
repoServer.extraArgs | Additional arguments for the repo server. A list of flags. | [] |
repoServer.env | Environment variables for the repo server. | [] |
repoServer.image.repository | Repository to use for the repo server | global.image.repository |
repoServer.image.imagePullPolicy | Image pull policy for the repo server | global.image.imagePullPolicy |
repoServer.image.tag | Tag to use for the repo server version annotation | global.image.tag |
repoServer.livenessProbe.failureThreshold | Kubernetes probe configuration | 3 |
repoServer.livenessProbe.initialDelaySeconds | Kubernetes probe configuration | 10 |
repoServer.livenessProbe.periodSeconds | Kubernetes probe configuration | 10 |
repoServer.livenessProbe.successThreshold | Kubernetes probe configuration | 1 |
repoServer.livenessProbe.timeoutSeconds | Kubernetes probe configuration | 1 |
repoServer.logLevel | Log level | "info" |
repoServer.metrics.enabled | Deploy metrics service | false |
repoServer.metrics.service.annotations | Metrics service annotations | {} |
repoServer.metrics.service.labels | Metrics service labels | {} |
repoServer.metrics.service.servicePort | Metrics service port | 8082 |
repoServer.metrics.serviceMonitor.enabled | Enable a prometheus ServiceMonitor. | false |
repoServer.metrics.serviceMonitor.selector | Prometheus ServiceMonitor selector. | {} |
repoServer.name | Repo server name | "repo-server" |
repoServer.nodeSelector | Node selector | {} |
repoServer.podAnnotations | Annotations for the repo server pods | {} |
repoServer.podLabels | Labels for the repo server pods | {} |
repoServer.priorityClassName | Priority class for the repo server | "" |
repoServer.readinessProbe.failureThreshold | Kubernetes probe configuration | 3 |
repoServer.readinessProbe.initialDelaySeconds | Kubernetes probe configuration | 10 |
repoServer.readinessProbe.periodSeconds | Kubernetes probe configuration | 10 |
repoServer.readinessProbe.successThreshold | Kubernetes probe configuration | 1 |
repoServer.readinessProbe.timeoutSeconds | Kubernetes probe configuration | 1 |
repoServer.replicas | The number of repo server pods to run | 1 |
repoServer.resources | Resource limits and requests for the repo server pods. | {} |
repoServer.service.annotations | Repo server service annotations. | {} |
repoServer.service.labels | Repo server service labels. | {} |
repoServer.service.port | Repo server service port. | 8081 |
repoServer.serviceAccount.annotations | Repo server service account annotations | {} |
repoServer.serviceAccount.create | Create repo server service account | false |
repoServer.serviceAccount.name | Repo server service account name | "argocd-repo-server" |
repoServer.tolerations | Tolerations for use with node taints | [] |
repoServer.volumeMounts | Repo server volume mounts | [] |
repoServer.volumes | Repo server volumes | [] |
Parameter | Description | Default |
---|---|---|
server.affinity | Assign custom affinity rules to the deployment | {} |
server.autoscaling.enabled | Enable Horizontal Pod Autoscaler (HPA) for the server | false |
server.autoscaling.minReplicas | Minimum number of replicas for the server HPA | 1 |
server.autoscaling.maxReplicas | Maximum number of replicas for the server HPA | 5 |
server.autoscaling.targetCPUUtilizationPercentage | Average CPU utilization percentage for the server HPA | 50 |
server.autoscaling.targetMemoryUtilizationPercentage | Average memory utilization percentage for the server HPA | 50 |
server.GKEbackendConfig.enabled | Enable BackendConfig custom resource for Google Kubernetes Engine. | false |
server.GKEbackendConfig.spec | BackendConfigSpec | {} |
server.certificate.additionalHosts | Certificate manager additional hosts | [] |
server.certificate.domain | Certificate manager domain | "argocd.example.com" |
server.certificate.enabled | Enables a certificate manager certificate. | false |
server.certificate.issuer | Certificate manager issuer | {} |
server.clusterAdminAccess.enabled | Enable RBAC for local cluster deployments. | true |
server.config | General Argo CD configuration | See values.yaml |
server.containerPort | Server container port. | 8080 |
server.extraArgs | Additional arguments for the server. A list of flags. | [] |
server.env | Environment variables for the server. | [] |
server.image.repository | Repository to use for the server | global.image.repository |
server.image.imagePullPolicy | Image pull policy for the server | global.image.imagePullPolicy |
server.image.tag | Tag to use for the server version annotation | global.image.tag |
server.ingress.annotations | Additional ingress annotations | {} |
server.ingress.enabled | Enable an ingress resource for the server | false |
server.ingress.hosts | List of ingress hosts | [] |
server.ingress.labels | Additional ingress labels. | {} |
server.ingress.tls | Ingress TLS configuration. | [] |
server.ingress.https | Uses server.service.servicePortHttps instead server.service.servicePortHttp |
false |
server.ingressGrpc.annotations | Additional ingress annotations for dedicated [gRPC-ingress] | {} |
server.ingressGrpc.enabled | Enable an ingress resource for the server for dedicated [gRPC-ingress] | false |
server.ingressGrpc.hosts | List of ingress hosts for dedicated [gRPC-ingress] | [] |
server.ingressGrpc.labels | Additional ingress labels for dedicated [gRPC-ingress] | {} |
server.ingressGrpc.tls | Ingress TLS configuration for dedicated [gRPC-ingress] | [] |
server.route.enabled | Enable a OpenShift route for the server | false |
server.route.hostname | Hostname of OpenShift route | "" |
server.livenessProbe.failureThreshold | Kubernetes probe configuration | 3 |
server.livenessProbe.initialDelaySeconds | Kubernetes probe configuration | 10 |
server.livenessProbe.periodSeconds | Kubernetes probe configuration | 10 |
server.livenessProbe.successThreshold | Kubernetes probe configuration | 1 |
server.livenessProbe.timeoutSeconds | Kubernetes probe configuration | 1 |
server.logLevel | Log level | "info" |
server.metrics.enabled | Deploy metrics service | false |
server.metrics.service.annotations | Metrics service annotations | {} |
server.metrics.service.labels | Metrics service labels | {} |
server.metrics.service.servicePort | Metrics service port | 8082 |
server.metrics.serviceMonitor.enabled | Enable a prometheus ServiceMonitor. | false |
server.metrics.serviceMonitor.selector | Prometheus ServiceMonitor selector. | {} |
server.name | Argo CD server name | "server" |
server.nodeSelector | Node selector | {} |
server.podAnnotations | Annotations for the server pods | {} |
server.podLabels | Labels for the server pods | {} |
server.priorityClassName | Priority class for the server | "" |
server.rbacConfig | Argo CD RBAC policy | {} |
server.readinessProbe.failureThreshold | Kubernetes probe configuration | 3 |
server.readinessProbe.initialDelaySeconds | Kubernetes probe configuration | 10 |
server.readinessProbe.periodSeconds | Kubernetes probe configuration | 10 |
server.readinessProbe.successThreshold | Kubernetes probe configuration | 1 |
server.readinessProbe.timeoutSeconds | Kubernetes probe configuration | 1 |
server.replicas | The number of server pods to run | 1 |
server.resources | Resource limits and requests for the server | {} |
server.service.annotations | Server service annotations | {} |
server.service.labels | Server service labels | {} |
server.service.servicePortHttp | Server service http port | 80 |
server.service.servicePortHttps | Server service https port | 443 |
server.service.servicePortHttpName | Server service http port name, can be used to route traffic via istio | http |
server.service.servicePortHttpsName | Server service https port name, can be used to route traffic via istio | https |
server.service.loadBalancerSourceRanges | Source IP ranges to allow access to service from. | [] |
server.service.type | Server service type | "ClusterIP" |
server.serviceAccount.annotations | Server service account annotations | {} |
server.serviceAccount.create | Create server service account | true |
server.serviceAccount.name | Server service account name | "argocd-server" |
server.tolerations | Tolerations for use with node taints | [] |
server.volumeMounts | Server volume mounts | [] |
server.volumes | Server volumes | [] |
Property | Description | Default |
---|---|---|
dex.affinity | Assign custom affinity rules to the deployment | {} |
dex.containerPortGrpc | GRPC container port | 5557 |
dex.containerPortHttp | HTTP container port | 5556 |
dex.enabled | Enable dex | true |
dex.image.imagePullPolicy | Dex imagePullPolicy | "IfNotPresent" |
dex.image.repository | Dex image repository | "quay.io/dexidp/dex@sha256:01e996b4b60edcc5cc042227c6965dd63ba68764c25d86b481b0d65f6e4da308" |
dex.image.tag | Dex version annotation | "v2.22.0" |
dex.initImage.repository | Argo CD init image repository. | global.image.repository |
dex.initImage.imagePullPolicy | Argo CD init image imagePullPolicy | global.image.imagePullPolicy |
dex.initImage.tag | Argo CD init image tag | global.image.tag |
dex.name | Dex name | "dex-server" |
dex.env | Environment variables for the Dex server. | [] |
dex.nodeSelector | Node selector | {} |
dex.podAnnotations | Annotations for the Dex server pods | {} |
dex.podLabels | Labels for the Dex server pods | {} |
dex.priorityClassName | Priority class for dex | "" |
dex.resources | Resource limits and requests for dex | {} |
dex.serviceAccount.create | Create dex service account | true |
dex.serviceAccount.name | Dex service account name | "argocd-dex-server" |
dex.servicePortGrpc | Server GRPC port | 5557 |
dex.servicePortHttp | Server HTTP port | 5556 |
dex.tolerations | Tolerations for use with node taints | [] |
dex.volumeMounts | Dex volume mounts | "/shared" |
dex.volumes | Dex volumes | {} |
When Redis is completely disabled from the chart (redis.enabled=false
) and
an external Redis instance wants to be used or
when Redis HA subcart is enabled (redis.enabled=true and redis-ha.enabled=true
)
but HA proxy is disabled redis-ha.haproxy.enabled=false
Redis flags need to be specified
through xxx.extraArgs
Parameter | Description | Default |
---|---|---|
redis.affinity | Assign custom affinity rules to the deployment | {} |
redis.containerPort | Redis container port | 6379 |
redis.enabled | Enable redis | true |
redis.image.imagePullPolicy | Redis imagePullPolicy | "IfNotPresent" |
redis.image.repository | Redis repository | "docker.io/redis@sha256:de935cb5eb1d96a5b75c871cd408a728b89d100712ae4599eb994bb7a41a9336" |
redis.image.tag | Redis version annotation | "5.0.8" |
redis.name | Redis name | "redis" |
redis.env | Environment variables for the Redis server. | [] |
redis.nodeSelector | Node selector | {} |
redis.podAnnotations | Annotations for the Redis server pods | {} |
redis.podLabels | Labels for the Redis server pods | {} |
redis.priorityClassName | Priority class for redis | "" |
redis.resources | Resource limits and requests for redis | {} |
redis.servicePort | Redis service port | 6379 |
redis.tolerations | Tolerations for use with node taints | [] |
redis-ha | Configures Redis HA subchart The properties below have been changed from the subchart defaults | |
redis-ha.enabled | Enables the Redis HA subchart and disables the custom Redis single node deployment | false |
redis-ha.exporter.enabled | If true , the prometheus exporter sidecar is enabled |
true |
redis-ha.persistentVolume.enabled | Configures persistency on Redis nodes | false |
redis-ha.redis.masterGroupName | Redis convention for naming the cluster group: must match ^[\\w-\\.]+$ and can be templated |
argocd |
redis-ha.redis.config | Any valid redis config options in this section will be applied to each server (see redis-ha chart) |
`` |
redis-ha.redis.config.save | 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.haproxy.enabled | Enabled HAProxy LoadBalancing/Proxy | true |
redis-ha.haproxy.metrics.enabled | HAProxy enable prometheus metric scraping | true |
redis-ha.image.tag | Redis tag | "5.0.8-alpine" |
Parameter | Description | Default |
---|---|---|
openshift.enabled | Enable OpenShift integration globally. | true |
openshift.route.enabled | Enable OpenShift Route. | true |
openshift.route.host | Define hostname for Route. Empty for automatic generation. | "" |
openshift.route.annotations | Route annotations. | {} |
openshift.oAuth.enabled | Enable OpenShift OAuth integration globally. | true |
openshift.oAuth.config.image.repository | Image Repository used for automatic configuration tasks. | quay.io/openshift/origin-cli@sha256:509e052d0f2d531b666b7da9fa49c5558c76ce5d286456f0859c0a49b16d6bf2 |
openshift.oAuth.config.image.imagePullPolicy | Image pull policy. | IfNotPresent |
openshift.oAuth.config.base.url | ArgoCD URI in format: "https://<argocd_host>" or leave this default for automatic discovery (recommended). |
openshiftOAuthConfigBaseUrl |
openshift.oAuth.config.redirect.url | ArgoCD redirect URI in format: "https://<argocd_host>/api/dex/callback" or leave this default for automatic discovery (recommended). |
openshiftOAuthConfigRedirectURI |
openshift.oAuth.config.dex | ArgoCD SSO configuration for OpenShift. | See values.yaml |
openshift.oAuth.rbac.enabled | Enable Role Based Access Control (optional but recommended). | true |
openshift.oAuth.rbac.groups.admins.name | Administrators group name. | argocd-admins |
openshift.oAuth.rbac.groups.admins.role | Administrators ArgoCD role. | role:admin |
openshift.oAuth.rbac.groups.developers.name | Developers group name. | argocd-developers |
openshift.oAuth.rbac.groups.developers.role | Developers ArgoCD role. | role:readonly |
openshift.oAuth.rbac.users.admins | Members of the Administrators group. These users must exist! | ["developer","kubedadmin","admin"] |
openshift.oAuth.rbac.users.developers | Members of the Developers group. These users must exist! | [] |