docs(argo-cd): Use helm-docs for ArgoCD (#983)
Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
This commit is contained in:
parent
c87255c165
commit
02c655ff9a
5 changed files with 1234 additions and 576 deletions
|
@ -1,3 +1,4 @@
|
||||||
/*.tgz
|
/*.tgz
|
||||||
output
|
output
|
||||||
ci/
|
ci/
|
||||||
|
README.md.gotmpl
|
||||||
|
|
|
@ -2,7 +2,7 @@ apiVersion: v2
|
||||||
appVersion: 2.1.4
|
appVersion: 2.1.4
|
||||||
description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||||
name: argo-cd
|
name: argo-cd
|
||||||
version: 3.26.1
|
version: 3.26.2
|
||||||
home: https://github.com/argoproj/argo-helm
|
home: https://github.com/argoproj/argo-helm
|
||||||
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
|
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
|
||||||
keywords:
|
keywords:
|
||||||
|
@ -21,4 +21,4 @@ dependencies:
|
||||||
condition: redis-ha.enabled
|
condition: redis-ha.enabled
|
||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- "[Changed]: Upgrade argocd to v2.1.4"
|
- "[Changed]: Use helm-docs to generate README.md"
|
||||||
|
|
|
@ -56,6 +56,7 @@ server:
|
||||||
repoServer:
|
repoServer:
|
||||||
replicas: 2
|
replicas: 2
|
||||||
```
|
```
|
||||||
|
|
||||||
### Synchronizing Changes from Original Repository
|
### Synchronizing Changes from Original Repository
|
||||||
|
|
||||||
In the original [ArgoCD 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).
|
In the original [ArgoCD 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).
|
||||||
|
@ -129,7 +130,6 @@ kubeVersionOverride: "1.18.0"
|
||||||
|
|
||||||
Then you should no longer encounter this issue.
|
Then you should no longer encounter this issue.
|
||||||
|
|
||||||
|
|
||||||
### 3.0.0 and above
|
### 3.0.0 and above
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
@ -147,6 +147,7 @@ The application controller is now available as a `StatefulSet` when the `control
|
||||||
`controller.extraArgs`, `repoServer.extraArgs` and `server.extraArgs` are now arrays of strings instead of a map
|
`controller.extraArgs`, `repoServer.extraArgs` and `server.extraArgs` are now arrays of strings instead of a map
|
||||||
|
|
||||||
What was
|
What was
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
server:
|
server:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
|
@ -179,388 +180,433 @@ NAME: my-release
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
## Chart Values
|
## General parameters
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Key | Type | Default | Description |
|
||||||
|-----|------|---------|
|
|-----|------|---------|-------------|
|
||||||
| global.image.imagePullPolicy | If defined, a imagePullPolicy applied to all ArgoCD deployments. | `"IfNotPresent"` |
|
| apiVersionOverrides.certmanager | string | `""` | String to override apiVersion of certmanager resources rendered by this helm chart |
|
||||||
| global.image.repository | If defined, a repository applied to all ArgoCD deployments. | `"argoproj/argocd"` |
|
| apiVersionOverrides.ingress | string | `""` | String to override apiVersion of ingresses rendered by this helm chart |
|
||||||
| global.image.tag | If defined, a tag applied to all ArgoCD deployments. | `"v2.1.4"` |
|
| configs.clusterCredentials | list | `[]` (See [values.yaml]) | Provide one or multiple [external cluster credentials] |
|
||||||
| global.podAnnotations | Annotations for the all deployed pods |
|
| configs.credentialTemplates | object | `{}` | Repository credentials to be used as Templates for other repos |
|
||||||
| global.podLabels | Labels for the all deployed pods |
|
| configs.gpgKeys | object | `{}` (See [values.yaml]) | [GnuPG](https://argoproj.github.io/argo-cd/user-guide/gpg-verification/) keys to add to the key ring |
|
||||||
| global.securityContext | Toggle and define securityContext | See [values.yaml](values.yaml) |
|
| configs.gpgKeysAnnotations | object | `{}` | GnuPG key ring annotations |
|
||||||
| global.imagePullSecrets | If defined, uses a Secret to pull an image from a private Docker registry or repository. | `[]` |
|
| configs.knownHosts.data.ssh_known_hosts | string | See [values.yaml] | Known Hosts |
|
||||||
| global.hostAliases | Mapping between IP and hostnames that will be injected as entries in the pod's hosts files | `[]` |
|
| configs.knownHostsAnnotations | object | `{}` | Known Hosts configmap annotations |
|
||||||
| global.networkPolicy.create | Create NetworkPolicy objects for all components | `false` |
|
| configs.repositories | object | `{}` | Repositories list to be used by applications |
|
||||||
| global.networkPolicy.defaultDenyIngress | Default deny all ingress traffic | `false` |
|
| configs.repositoryCredentials | object | `{}` | *DEPRECATED:* Instead, use `configs.credentialTemplates` and/or `configs.repositories` |
|
||||||
| kubeVersionOverride | Override the Kubernetes version, which is used to evaluate certain manifests | `""` |
|
| configs.secret.annotations | object | `{}` | Annotations to be added to argocd-secret |
|
||||||
| nameOverride | Provide a name in place of `argocd` | `"argocd"` |
|
| configs.secret.argocdServerAdminPassword | string | `""` | Bcrypt hashed admin password |
|
||||||
| fullnameOverride | String to fully override `"argo-cd.fullname"` | `""` |
|
| configs.secret.argocdServerAdminPasswordMtime | string | `""` (defaults to current time) | Admin password modification time. Eg. `"2006-01-02T15:04:05Z"` |
|
||||||
| apiVersionOverrides.certmanager | String to override apiVersion of certmanager resources rendered by this helm chart | `""` |
|
| configs.secret.argocdServerTlsConfig | object | `{}` | Argo TLS Data |
|
||||||
| apiVersionOverrides.ingress | String to override apiVersion of ingresses rendered by this helm chart | `""` |
|
| configs.secret.bitbucketServerSecret | string | `""` | Shared secret for authenticating BitbucketServer webhook events |
|
||||||
| createAggregateRoles | Create clusterroles that extend aggregated roles to use argo-cd crds | `false` |
|
| configs.secret.bitbucketUUID | string | `""` | UUID for authenticating Bitbucket webhook events |
|
||||||
| configs.clusterCredentials | Provide one or multiple [external cluster credentials](https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#clusters) | `[]` (See [values.yaml](values.yaml)) |
|
| configs.secret.createSecret | bool | `true` | Create the argocd-secret |
|
||||||
| configs.gpgKeysAnnotations | GnuPG key ring annotations | `{}` |
|
| configs.secret.extra | object | `{}` | add additional secrets to be added to argocd-secret |
|
||||||
| configs.gpgKeys | [GnuPG](https://argoproj.github.io/argo-cd/user-guide/gpg-verification/) keys to add to the key ring | `{}` (See [values.yaml](values.yaml)) |
|
| configs.secret.githubSecret | string | `""` | Shared secret for authenticating GitHub webhook events |
|
||||||
| configs.knownHostsAnnotations | Known Hosts configmap annotations | `{}` |
|
| configs.secret.gitlabSecret | string | `""` | Shared secret for authenticating GitLab webhook events |
|
||||||
| configs.knownHosts.data.ssh_known_hosts | Known Hosts | See [values.yaml](values.yaml) |
|
| configs.secret.gogsSecret | string | `""` | Shared secret for authenticating Gogs webhook events |
|
||||||
| configs.secret.annotations | Annotations for argocd-secret | `{}` |
|
| 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.secret.argocdServerAdminPassword | Bcrypt hashed admin password | `null` |
|
| configs.tlsCerts | object | See [values.yaml] | TLS certificate |
|
||||||
| configs.secret.argocdServerAdminPasswordMtime | Admin password modification time | `date "2006-01-02T15:04:05Z" now` if configs.secret.argocdServerAdminPassword is set |
|
| configs.tlsCertsAnnotations | object | `{}` | TLS certificate configmap annotations |
|
||||||
| configs.secret.bitbucketSecret | BitBucket incoming webhook secret | `""` |
|
| createAggregateRoles | bool | `false` | Create clusterroles that extend existing clusterroles to interact with argo-cd crds |
|
||||||
| configs.secret.createSecret | Create the argocd-secret. | `true` |
|
| fullnameOverride | string | `""` | String to fully override `"argo-cd.fullname"` |
|
||||||
| configs.secret.githubSecret | GitHub incoming webhook secret | `""` |
|
| global.hostAliases | list | `[]` | Mapping between IP and hostnames that will be injected as entries in the pod's hosts files |
|
||||||
| configs.secret.gitlabSecret | GitLab incoming webhook secret | `""` |
|
| global.image.imagePullPolicy | string | `"IfNotPresent"` | If defined, a imagePullPolicy applied to all ArgoCD deployments |
|
||||||
| configs.repositoryCredentials | DEPRECATED: Instead, use configs.credentialTemplates and/or configs.repositories. | `{}` |
|
| global.image.repository | string | `"quay.io/argoproj/argocd"` | If defined, a repository applied to all ArgoCD deployments |
|
||||||
| configs.credentialTemplates | Repository credentials to be used as Templates for other repos. | `{}` |
|
| global.image.tag | string | `"v2.1.4"` | If defined, a tag applied to all ArgoCD deployments |
|
||||||
| configs.repositories | Repositories list to be used by applications. | `{}` |
|
| global.imagePullSecrets | list | `[]` | If defined, uses a Secret to pull an image from a private Docker registry or repository |
|
||||||
| configs.tlsCertsAnnotations | TLS certificate configmap annotations | `{}` |
|
| global.networkPolicy.create | bool | `false` | Create NetworkPolicy objects for all components |
|
||||||
| configs.tlsCerts.data."argocd.example.com" | TLS certificate | See [values.yaml](values.yaml) |
|
| global.networkPolicy.defaultDenyIngress | bool | `false` | Default deny all ingress traffic |
|
||||||
| configs.secret.extra | add additional secrets to be added to argocd-secret | `{}` |
|
| global.podAnnotations | object | `{}` | Annotations for the all deployed pods |
|
||||||
| configs.styles | Define custom CSS styles for your argo instance ([Read More](https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/)). This Settings will automatically mount the provided css and reference it in the argo configuration. | `""` (See [values.yaml](values.yaml)) |
|
| global.podLabels | object | `{}` | Labels for the all deployed pods |
|
||||||
| openshift.enabled | enables using arbitrary uid for argo repo server | `false` |
|
| global.securityContext | object | `{}` | Toggle and define securityContext. See [values.yaml] |
|
||||||
| server.additionalApplications | Deploy ArgoCD Applications within this helm release | `[]` (See [values.yaml](values.yaml)) |
|
| kubeVersionOverride | string | `""` | Override the Kubernetes version, which is used to evaluate certain manifests |
|
||||||
| server.additionalProjects | Deploy ArgoCD Projects within this helm release | `[]` (See [values.yaml](values.yaml)) |
|
| 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 ArgoCD Applications within this helm release |
|
||||||
|
| server.additionalProjects | list | `[]` (See [values.yaml]) | Deploy ArgoCD Projects within this helm release |
|
||||||
|
|
||||||
## ArgoCD Controller
|
## ArgoCD Controller
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Key | Type | Default | Description |
|
||||||
|-----|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
| controller.affinity | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | `{}` |
|
| controller.affinity | object | `{}` | Assign custom [affinity] rules to the deployment |
|
||||||
| controller.topologySpreadConstraints | [Assign custom topologySpreadConstraints rules to the deployment](https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/) | `[]` |
|
| controller.args.appResyncPeriod | string | `"180"` | define the application controller `--app-resync` |
|
||||||
| controller.args.operationProcessors | define the controller `--operation-processors` | `"10"` |
|
| controller.args.operationProcessors | string | `"10"` | define the application controller `--operation-processors` |
|
||||||
| controller.args.appResyncPeriod | define the controller `--app-resync` | `"180"` |
|
| controller.args.repoServerTimeoutSeconds | string | `"60"` | define the application controller `--repo-server-timeout-seconds` |
|
||||||
| controller.args.selfHealTimeout | define the controller `--self-heal-timeout-seconds` | `"5"` |
|
| controller.args.selfHealTimeout | string | `"5"` | define the application controller `--self-heal-timeout-seconds` |
|
||||||
| controller.args.statusProcessors | define the controller `--status-processors` | `"20"` |
|
| controller.args.statusProcessors | string | `"20"` | define the application controller `--status-processors` |
|
||||||
| controller.clusterAdminAccess.enabled | Enable RBAC for local cluster deployments. | `true` |
|
| controller.clusterAdminAccess.enabled | bool | `true` | Enable RBAC for local cluster deployments |
|
||||||
| controller.clusterRoleRules.enabled | Enable custom rules for the Application Controller's Cluster Role resource. | `false` |
|
| controller.clusterRoleRules.enabled | bool | `false` | Enable custom rules for the application controller's ClusterRole resource |
|
||||||
| controller.clusterRoleRules.rules | List of custom rules for the Application Controller's Cluster Role resource. | `[]` |
|
| controller.clusterRoleRules.rules | list | `[]` | List of custom rules for the application controller's ClusterRole resource |
|
||||||
| controller.containerPort | Controller listening port. | `8082` |
|
| controller.containerPort | int | `8082` | Application controller listening port |
|
||||||
| controller.extraArgs | Additional arguments for the controller. A list of flags | `[]` |
|
| controller.containerSecurityContext | object | `{}` | Application controller container-level security context |
|
||||||
| controller.extraContainers | Additional containers for the controller. A list of containers. | `[]` |
|
| controller.enableStatefulSet | bool | `false` | Deploy the application controller as a StatefulSet instead of a Deployment, this is required for HA capability. This is a feature flag that will become the default in chart version 3.x |
|
||||||
| controller.enableStatefulSet | Enable deploying the controller as a StatefulSet instead of a Deployment. Used for HA installations. | `false` |
|
| controller.env | list | `[]` | Environment variables to pass to application controller |
|
||||||
| controller.env | Environment variables for the controller. | `[]` |
|
| controller.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to application controller |
|
||||||
| controller.envFrom | `envFrom` to pass to the controller. | `[]` (See [values.yaml](values.yaml)) |
|
| controller.extraArgs | list | `[]` | Additional command line arguments to pass to application controller |
|
||||||
| controller.image.repository | Repository to use for the controller | `global.image.repository` |
|
| controller.extraContainers | list | `[]` | Additional containers to be added to the application controller pod |
|
||||||
| controller.image.imagePullPolicy | Image pull policy for the controller | `global.image.imagePullPolicy` |
|
| controller.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the application controller |
|
||||||
| controller.image.tag | Tag to use for the controller | `global.image.tag` |
|
| controller.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the application controller |
|
||||||
| controller.livenessProbe.failureThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `3` |
|
| controller.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the application controller |
|
||||||
| controller.livenessProbe.initialDelaySeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| controller.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||||
| controller.livenessProbe.periodSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| controller.livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
|
||||||
| controller.livenessProbe.successThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| controller.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
|
||||||
| controller.livenessProbe.timeoutSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| controller.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed |
|
||||||
| controller.logLevel | Controller log level | `"info"` |
|
| controller.livenessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out |
|
||||||
| controller.metrics.enabled | Deploy metrics service | `false` |
|
| controller.logFormat | string | `"text"` | Application controller log format. Either `text` or `json` |
|
||||||
| controller.metrics.service.annotations | Metrics service annotations | `{}` |
|
| controller.logLevel | string | `"info"` | Application controller log level |
|
||||||
| controller.metrics.service.labels | Metrics service labels | `{}` |
|
| controller.metrics.enabled | bool | `false` | Deploy metrics service |
|
||||||
| controller.metrics.service.servicePort | Metrics service port | `8082` |
|
| controller.metrics.rules.enabled | bool | `false` | Deploy a PrometheusRule for the application controller |
|
||||||
| controller.metrics.serviceMonitor.enabled | Enable a prometheus ServiceMonitor. | `false` |
|
| controller.metrics.rules.spec | list | `[]` | PrometheusRule.Spec for the application controller |
|
||||||
| controller.metrics.serviceMonitor.selector | Prometheus ServiceMonitor selector. | `{}` |
|
| controller.metrics.service.annotations | object | `{}` | Metrics service annotations |
|
||||||
| controller.metrics.serviceMonitor.relabelings | Prometheus [RelabelConfigs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config) to apply to samples before scraping | `[]` |
|
| controller.metrics.service.labels | object | `{}` | Metrics service labels |
|
||||||
| controller.metrics.serviceMonitor.metricRelabelings | Prometheus [MetricRelabelConfigs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs) to apply to samples before ingestion | `[]` |
|
| controller.metrics.service.servicePort | int | `8082` | Metrics service port |
|
||||||
| controller.name | Controller name string. | `"application-controller"` |
|
| controller.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels |
|
||||||
| controller.nodeSelector | [Node selector](https://kubernetes.io/docs/user-guide/node-selection/) | `{}` |
|
| controller.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
|
||||||
| controller.podAnnotations | Annotations for the controller pods | `{}` |
|
| controller.metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval |
|
||||||
| controller.podLabels | Labels for the controller pods | `{}` |
|
| controller.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion |
|
||||||
| controller.priorityClassName | Priority class for the controller pods | `""` |
|
| controller.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace |
|
||||||
| controller.readinessProbe.failureThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `3` |
|
| controller.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping |
|
||||||
| controller.readinessProbe.initialDelaySeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| controller.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector |
|
||||||
| controller.readinessProbe.periodSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| controller.name | string | `"application-controller"` | Application controller name string |
|
||||||
| controller.readinessProbe.successThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| controller.nodeSelector | object | `{}` | [Node selector] |
|
||||||
| controller.readinessProbe.timeoutSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| controller.podAnnotations | object | `{}` | Annotations to be added to application controller pods |
|
||||||
| controller.replicas | The number of controller pods to run | `1` |\
|
| controller.podLabels | object | `{}` | Labels to be added to application controller pods |
|
||||||
| controller.resources | Resource limits and requests for the controller pods. | `{}` |
|
| controller.priorityClassName | string | `""` | Priority class for the application controller pods |
|
||||||
| controller.service.annotations | Controller service annotations. | `{}` |
|
| controller.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||||
| controller.service.labels | Controller service labels. | `{}` |
|
| controller.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
|
||||||
| controller.service.port | Controller service port. | `8082` |
|
| controller.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
|
||||||
| controller.serviceAccount.annotations | Controller service account annotations | `{}` |
|
| controller.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed |
|
||||||
| controller.serviceAccount.automountServiceAccountToken | Automount API credentials for the Service Account | `true` |
|
| controller.readinessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out |
|
||||||
| controller.serviceAccount.create | Create a service account for the controller | `true` |
|
| 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.serviceAccount.name | Service account name. | `"argocd-application-controller"` |
|
| controller.resources | object | `{}` | Resource limits and requests for the application controller pods |
|
||||||
| controller.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` |
|
| controller.service.annotations | object | `{}` | Application controller service annotations |
|
||||||
| controller.volumeMounts | Controller volume mounts | `[]` |
|
| controller.service.labels | object | `{}` | Application controller service labels |
|
||||||
| controller.volumes | Controller volumes | `[]` |
|
| 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
|
## Argo Repo Server
|
||||||
|
|
||||||
| Property | Description | Default |
|
| Key | Type | Default | Description |
|
||||||
|-----|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
| repoServer.affinity | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | `{}` |
|
| repoServer.affinity | object | `{}` | Assign custom [affinity] rules to the deployment |
|
||||||
| repoServer.topologySpreadConstraints | [Assign custom topologySpreadConstraints rules to the deployment](https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/) | `[]` |
|
| repoServer.autoscaling.enabled | bool | `false` | Enable Horizontal Pod Autoscaler ([HPA]) for the repo server |
|
||||||
| repoServer.autoscaling.enabled | Enable Horizontal Pod Autoscaler ([HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)) for the repo server | `false` |
|
| repoServer.autoscaling.maxReplicas | int | `5` | Maximum number of replicas for the repo server [HPA] |
|
||||||
| repoServer.autoscaling.minReplicas | Minimum number of replicas for the repo server [HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | `1` |
|
| repoServer.autoscaling.minReplicas | int | `1` | Minimum number of replicas for the repo server [HPA] |
|
||||||
| repoServer.autoscaling.maxReplicas | Maximum number of replicas for the repo server [HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | `5` |
|
| repoServer.autoscaling.targetCPUUtilizationPercentage | int | `50` | Average CPU utilization percentage for the repo server [HPA] |
|
||||||
| repoServer.autoscaling.targetCPUUtilizationPercentage | Average CPU utilization percentage for the repo server [HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | `50` |
|
| repoServer.autoscaling.targetMemoryUtilizationPercentage | int | `50` | Average memory utilization percentage for the repo server [HPA] |
|
||||||
| repoServer.autoscaling.targetMemoryUtilizationPercentage | Average memory utilization percentage for the repo server [HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | `50` |
|
| repoServer.clusterAdminAccess.enabled | bool | `false` | Enable RBAC for local cluster deployments |
|
||||||
| repoServer.clusterAdminAccess.enabled | Enable RBAC for local cluster deployments. | `false` |
|
| repoServer.clusterRoleRules.enabled | bool | `false` | Enable custom rules for the Repo server's Cluster Role resource |
|
||||||
| repoServer.clusterRoleRules.enabled | Enable custom rules for the Repo server's Cluster Role resource. | `false` |
|
| repoServer.clusterRoleRules.rules | list | `[]` | List of custom rules for the Repo server's Cluster Role resource |
|
||||||
| repoServer.clusterRoleRules.rules | List of custom rules for the Repo server's Cluster Role resource. | `[]` |
|
| repoServer.containerPort | int | `8081` | Configures the repo server port |
|
||||||
| repoServer.containerPort | Repo server port | `8081` |
|
| repoServer.containerSecurityContext | object | `{}` | Repo server container-level security context |
|
||||||
| repoServer.extraArgs | Additional arguments for the repo server. A list of flags. | `[]` |
|
| repoServer.env | list | `[]` | Environment variables to pass to repo server |
|
||||||
| repoServer.extraContainers | Additional containers for the repo server. A list of containers. | `[]` |
|
| repoServer.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to repo server |
|
||||||
| repoServer.env | Environment variables for the repo server. | `[]` |
|
| repoServer.extraArgs | list | `[]` | Additional command line arguments to pass to repo server |
|
||||||
| repoServer.envFrom | `envFrom` to pass to the repo server. | `[]` (See [values.yaml](values.yaml)) |
|
| repoServer.extraContainers | list | `[]` | Additional containers to be added to the repo server pod |
|
||||||
| repoServer.image.repository | Repository to use for the repo server | `global.image.repository` |
|
| repoServer.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the repo server |
|
||||||
| repoServer.image.imagePullPolicy | Image pull policy for the repo server | `global.image.imagePullPolicy` |
|
| repoServer.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the repo server |
|
||||||
| repoServer.image.tag | Tag to use for the repo server | `global.image.tag` |
|
| repoServer.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the repo server |
|
||||||
| repoServer.livenessProbe.failureThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `3` |
|
| repoServer.initContainers | list | `[]` | Init containers to add to the repo server pods |
|
||||||
| repoServer.livenessProbe.initialDelaySeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| repoServer.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||||
| repoServer.livenessProbe.periodSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| repoServer.livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
|
||||||
| repoServer.livenessProbe.successThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| repoServer.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
|
||||||
| repoServer.livenessProbe.timeoutSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| repoServer.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed |
|
||||||
| repoServer.logLevel | Log level | `"info"` |
|
| repoServer.livenessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out |
|
||||||
| repoServer.metrics.enabled | Deploy metrics service | `false` |
|
| repoServer.logFormat | string | `"text"` | Repo server log format: Either `text` or `json` |
|
||||||
| repoServer.metrics.service.annotations | Metrics service annotations | `{}` |
|
| repoServer.logLevel | string | `"info"` | Repo server log level |
|
||||||
| repoServer.metrics.service.labels | Metrics service labels | `{}` |
|
| repoServer.metrics.enabled | bool | `false` | Deploy metrics service |
|
||||||
| repoServer.metrics.service.servicePort | Metrics service port | `8082` |
|
| repoServer.metrics.service.annotations | object | `{}` | Metrics service annotations |
|
||||||
| repoServer.metrics.serviceMonitor.enabled | Enable a prometheus ServiceMonitor. | `false` |
|
| repoServer.metrics.service.labels | object | `{}` | Metrics service labels |
|
||||||
| repoServer.metrics.serviceMonitor.selector | Prometheus ServiceMonitor selector. | `{}` |
|
| repoServer.metrics.service.servicePort | int | `8084` | Metrics service port |
|
||||||
| repoServer.metrics.serviceMonitor.relabelings | Prometheus [RelabelConfigs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config) to apply to samples before scraping | `[]` |
|
| repoServer.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels |
|
||||||
| repoServer.metrics.serviceMonitor.metricRelabelings | Prometheus [MetricRelabelConfigs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs) to apply to samples before ingestion | `[]` |
|
| repoServer.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
|
||||||
| repoServer.name | Repo server name | `"repo-server"` |
|
| repoServer.metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval |
|
||||||
| repoServer.nodeSelector | [Node selector](https://kubernetes.io/docs/user-guide/node-selection/) | `{}` |
|
| repoServer.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion |
|
||||||
| repoServer.podAnnotations | Annotations for the repo server pods | `{}` |
|
| repoServer.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace |
|
||||||
| repoServer.podLabels | Labels for the repo server pods | `{}` |
|
| repoServer.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping |
|
||||||
| repoServer.priorityClassName | Priority class for the repo server | `""` |
|
| repoServer.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector |
|
||||||
| repoServer.readinessProbe.failureThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `3` |
|
| repoServer.name | string | `"repo-server"` | Repo server name |
|
||||||
| repoServer.readinessProbe.initialDelaySeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| repoServer.nodeSelector | object | `{}` | [Node selector] |
|
||||||
| repoServer.readinessProbe.periodSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| repoServer.podAnnotations | object | `{}` | Annotations to be added to repo server pods |
|
||||||
| repoServer.readinessProbe.successThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| repoServer.podLabels | object | `{}` | Labels to be added to repo server pods |
|
||||||
| repoServer.readinessProbe.timeoutSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| repoServer.priorityClassName | string | `""` | Priority class for the repo server |
|
||||||
| repoServer.replicas | The number of repo server pods to run | `1` |
|
| repoServer.rbac | list | `[]` | Repo server rbac rules |
|
||||||
| repoServer.resources | Resource limits and requests for the repo server pods. | `{}` |
|
| repoServer.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||||
| repoServer.service.annotations | Repo server service annotations. | `{}` |
|
| repoServer.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
|
||||||
| repoServer.service.automountServiceAccountToken | Automount API credentials for the Service Account | `true` |
|
| repoServer.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
|
||||||
| repoServer.service.labels | Repo server service labels. | `{}` |
|
| repoServer.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed |
|
||||||
| repoServer.service.port | Repo server service port. | `8081` |
|
| repoServer.readinessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out |
|
||||||
| repoServer.serviceAccount.annotations | Repo server service account annotations | `{}` |
|
| repoServer.replicas | int | `1` | The number of repo server pods to run |
|
||||||
| repoServer.serviceAccount.create | Create repo server service account | `false` |
|
| repoServer.resources | object | `{}` | Resource limits and requests for the repo server pods |
|
||||||
| repoServer.serviceAccount.name | Repo server service account name | `"argocd-repo-server"` |
|
| repoServer.service.annotations | object | `{}` | Repo server service annotations |
|
||||||
| repoServer.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` |
|
| repoServer.service.labels | object | `{}` | Repo server service labels |
|
||||||
| repoServer.volumeMounts | Repo server volume mounts | `[]` |
|
| repoServer.service.port | int | `8081` | Repo server service port |
|
||||||
| repoServer.volumes | Repo server volumes | `[]` |
|
| 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 | `false` | 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
|
## Argo Server
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Key | Type | Default | Description |
|
||||||
|-----|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
| server.affinity | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | `{}` |
|
| server.GKEbackendConfig.enabled | bool | `false` | Enable BackendConfig custom resource for Google Kubernetes Engine |
|
||||||
| server.topologySpreadConstraints | [Assign custom topologySpreadConstraints rules to the deployment](https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/) | `[]` |
|
| server.GKEbackendConfig.spec | object | `{}` | [BackendConfigSpec] |
|
||||||
| server.autoscaling.enabled | Enable Horizontal Pod Autoscaler ([HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)) for the server | `false` |
|
| server.affinity | object | `{}` | Assign custom [affinity] rules to the deployment |
|
||||||
| server.autoscaling.minReplicas | Minimum number of replicas for the server [HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | `1` |
|
| server.autoscaling.enabled | bool | `false` | Enable Horizontal Pod Autoscaler ([HPA]) for the Argo CD server |
|
||||||
| server.autoscaling.maxReplicas | Maximum number of replicas for the server [HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | `5` |
|
| server.autoscaling.maxReplicas | int | `5` | Maximum number of replicas for the Argo CD server [HPA] |
|
||||||
| server.autoscaling.targetCPUUtilizationPercentage | Average CPU utilization percentage for the server [HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | `50` |
|
| server.autoscaling.minReplicas | int | `1` | Minimum number of replicas for the Argo CD server [HPA] |
|
||||||
| server.autoscaling.targetMemoryUtilizationPercentage | Average memory utilization percentage for the server [HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | `50` |
|
| server.autoscaling.targetCPUUtilizationPercentage | int | `50` | Average CPU utilization percentage for the Argo CD server [HPA] |
|
||||||
| server.GKEbackendConfig.enabled | Enable BackendConfig custom resource for Google Kubernetes Engine. | `false` |
|
| server.autoscaling.targetMemoryUtilizationPercentage | int | `50` | Average memory utilization percentage for the Argo CD server [HPA] |
|
||||||
| server.GKEbackendConfig.spec | [BackendConfigSpec](https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom) | `{}` |
|
| server.certificate.additionalHosts | list | `[]` | Certificate manager additional hosts |
|
||||||
| server.certificate.additionalHosts | Certificate manager additional hosts | `[]` |
|
| server.certificate.domain | string | `"argocd.example.com"` | Certificate manager domain |
|
||||||
| server.certificate.domain | Certificate manager domain | `"argocd.example.com"` |
|
| server.certificate.enabled | bool | `false` | Enables a certificate manager certificate |
|
||||||
| server.certificate.enabled | Enables a certificate manager certificate. | `false` |
|
| server.certificate.issuer.kind | string | `nil` | Certificate manager issuer |
|
||||||
| server.certificate.issuer | Certificate manager issuer | `{}` |
|
| server.certificate.issuer.name | string | `nil` | Certificate manager name |
|
||||||
| server.clusterAdminAccess.enabled | Enable RBAC for local cluster deployments. | `true` |
|
| server.certificate.secretName | string | `"argocd-server-tls"` | Certificate manager secret name |
|
||||||
| server.configAnnotations | ArgoCD configuration configmap annotations | `{}` |
|
| server.clusterAdminAccess.enabled | bool | `true` | Enable RBAC for local cluster deployments |
|
||||||
| server.config | [General Argo CD configuration](https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#repositories) | See [values.yaml](values.yaml) |
|
| server.config | object | See [values.yaml] | [General Argo CD configuration] |
|
||||||
| server.config.repositories | [DEPRECATED: Instead, use configs.credentialTemplates and/or configs.repositories.](https://argo-cd.readthedocs.io/en/latest/operator-manual/declarative-setup/#legacy-behaviour) | See [values.yaml](values.yaml) |
|
| server.configAnnotations | object | `{}` | Annotations to be added to ArgoCD ConfigMap |
|
||||||
| server.containerPort | Server container port. | `8080` |
|
| server.configEnabled | bool | `true` | Manage ArgoCD configmap (Declarative Setup) |
|
||||||
| server.extraArgs | Additional arguments for the server. A list of flags. | `[]` |
|
| server.containerPort | int | `8080` | Configures the server port |
|
||||||
| server.extraContainers | Additional containers for the server. A list of containers. | `[]` |
|
| server.containerSecurityContext | object | `{}` | Servers container-level security context |
|
||||||
| server.staticAssets.enabled | Disable deprecated flag --staticassets | `false` |
|
| server.env | list | `[]` | Environment variables to pass to Argo CD server |
|
||||||
| server.env | Environment variables for the server. | `[]` |
|
| server.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to Argo CD server |
|
||||||
| server.envFrom | `envFrom` to pass to the server. | `[]` (See [values.yaml](values.yaml)) |
|
| server.extraArgs | list | `[]` | Additional command line arguments to pass to Argo CD server |
|
||||||
| server.image.repository | Repository to use for the server | `global.image.repository` |
|
| server.extraContainers | list | `[]` | Additional containers to be added to the server pod |
|
||||||
| server.image.imagePullPolicy | Image pull policy for the server | `global.image.imagePullPolicy` |
|
| server.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the Argo CD server |
|
||||||
| server.image.tag | Tag to use for the server | `global.image.tag` |
|
| server.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the Argo CD server |
|
||||||
| server.ingress.annotations | Additional ingress annotations | `{}` |
|
| server.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the Argo CD server |
|
||||||
| server.ingress.enabled | Enable an ingress resource for the server | `false` |
|
| server.ingress.annotations | object | `{}` | Additional ingress annotations |
|
||||||
| server.ingress.hosts | List of ingress hosts | `[]` |
|
| server.ingress.enabled | bool | `false` | Enable an ingress resource for the Argo CD server |
|
||||||
| server.ingress.labels | Additional ingress labels. | `{}` |
|
| server.ingress.extraPaths | list | `[]` | Additional ingress paths |
|
||||||
| server.ingress.ingressClassName | Defines which ingress controller will implement the resource | `""` |
|
| server.ingress.hosts | list | `[]` | List of ingress hosts |
|
||||||
| server.ingress.tls | Ingress TLS configuration. | `[]` |
|
| server.ingress.https | bool | `false` | Uses `server.service.servicePortHttps` instead `server.service.servicePortHttp` |
|
||||||
| server.ingress.https | Uses `server.service.servicePortHttps` instead `server.service.servicePortHttp` | `false` |
|
| server.ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource |
|
||||||
| server.ingressGrpc.annotations | Additional ingress annotations for dedicated [gRPC-ingress] | `{}` |
|
| server.ingress.labels | object | `{}` | Additional ingress labels |
|
||||||
| server.ingressGrpc.enabled | Enable an ingress resource for the server for dedicated [gRPC-ingress] | `false` |
|
| server.ingress.pathType | string | `"Prefix"` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` |
|
||||||
| server.ingressGrpc.hosts | List of ingress hosts for dedicated [gRPC-ingress] | `[]` |
|
| server.ingress.paths | list | `["/"]` | List of ingress paths |
|
||||||
| server.ingressGrpc.labels | Additional ingress labels for dedicated [gRPC-ingress] | `{}` |
|
| server.ingress.tls | list | `[]` | Ingress TLS configuration |
|
||||||
| server.ingressGrpc.ingressClassName | Defines which ingress controller will implement the resource [gRPC-ingress] | `""` |
|
| server.ingressGrpc.annotations | object | `{}` | Additional ingress annotations for dedicated [gRPC-ingress] |
|
||||||
| server.ingressGrpc.tls | Ingress TLS configuration for dedicated [gRPC-ingress] | `[]` |
|
| server.ingressGrpc.awsALB.backendProtocolVersion | string | `"HTTP2"` | Backend protocol version for the AWS ALB gRPC service |
|
||||||
| server.ingressGrpc.isAWSALB | Setup up GRPC ingress to work with an AWS ALB | `false` |
|
| server.ingressGrpc.awsALB.serviceType | string | `"NodePort"` | Service type for the AWS ALB gRPC service |
|
||||||
| server.ingressGrpc.awsALB.serviceType | Service type for the AWS ALB GRPC service | `NodePort` |
|
| server.ingressGrpc.enabled | bool | `false` | Enable an ingress resource for the Argo CD server for dedicated [gRPC-ingress] |
|
||||||
| server.ingressGrpc.awsALB.backendProtocolVersion | Backend protocol version for the AWS ALB GRPC service | `HTTP2` |
|
| server.ingressGrpc.extraPaths | list | `[]` | Additional ingress paths for dedicated [gRPC-ingress] |
|
||||||
| server.route.enabled | Enable a OpenShift route for the server | `false` |
|
| server.ingressGrpc.hosts | list | `[]` | List of ingress hosts for dedicated [gRPC-ingress] |
|
||||||
| server.route.hostname | Hostname of OpenShift route | `""` |
|
| server.ingressGrpc.https | bool | `false` | Uses `server.service.servicePortHttps` instead `server.service.servicePortHttp` |
|
||||||
| server.lifecycle | PostStart and PreStop hooks configuration | `{}` |
|
| server.ingressGrpc.ingressClassName | string | `""` | Defines which ingress controller will implement the resource [gRPC-ingress] |
|
||||||
| server.livenessProbe.failureThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `3` |
|
| server.ingressGrpc.isAWSALB | bool | `false` | Setup up gRPC ingress to work with an AWS ALB |
|
||||||
| server.livenessProbe.initialDelaySeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| server.ingressGrpc.labels | object | `{}` | Additional ingress labels for dedicated [gRPC-ingress] |
|
||||||
| server.livenessProbe.periodSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| server.ingressGrpc.pathType | string | `"Prefix"` | Ingress path type for dedicated [gRPC-ingress]. One of `Exact`, `Prefix` or `ImplementationSpecific` |
|
||||||
| server.livenessProbe.successThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| server.ingressGrpc.paths | list | `["/"]` | List of ingress paths for dedicated [gRPC-ingress] |
|
||||||
| server.livenessProbe.timeoutSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| server.ingressGrpc.tls | list | `[]` | Ingress TLS configuration for dedicated [gRPC-ingress] |
|
||||||
| server.logLevel | Log level | `"info"` |
|
| server.lifecycle | object | `{}` | Specify postStart and preStop lifecycle hooks for your argo-cd-server container |
|
||||||
| server.metrics.enabled | Deploy metrics service | `false` |
|
| server.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||||
| server.metrics.service.annotations | Metrics service annotations | `{}` |
|
| server.livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
|
||||||
| server.metrics.service.labels | Metrics service labels | `{}` |
|
| server.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
|
||||||
| server.metrics.service.servicePort | Metrics service port | `8082` |
|
| server.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed |
|
||||||
| server.metrics.serviceMonitor.enabled | Enable a prometheus ServiceMonitor. | `false` |
|
| server.livenessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out |
|
||||||
| server.metrics.serviceMonitor.selector | Prometheus ServiceMonitor selector. | `{}` |
|
| server.logFormat | string | `"text"` | Argo CD server log format: Either `text` or `json` |
|
||||||
| server.metrics.serviceMonitor.relabelings | Prometheus [RelabelConfigs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config) to apply to samples before scraping | `[]` |
|
| server.logLevel | string | `"info"` | Argo CD server log level |
|
||||||
| server.metrics.serviceMonitor.metricRelabelings | Prometheus [MetricRelabelConfigs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs) to apply to samples before ingestion | `[]` |
|
| server.metrics.enabled | bool | `false` | Deploy metrics service |
|
||||||
| server.name | Argo CD server name | `"server"` |
|
| server.metrics.service.annotations | object | `{}` | Metrics service annotations |
|
||||||
| server.nodeSelector | [Node selector](https://kubernetes.io/docs/user-guide/node-selection/) | `{}` |
|
| server.metrics.service.labels | object | `{}` | Metrics service labels |
|
||||||
| server.podAnnotations | Annotations for the server pods | `{}` |
|
| server.metrics.service.servicePort | int | `8083` | Metrics service port |
|
||||||
| server.podLabels | Labels for the server pods | `{}` |
|
| server.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels |
|
||||||
| server.priorityClassName | Priority class for the server | `""` |
|
| server.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
|
||||||
| server.rbacConfigAnnotations | RBAC configmap annotations | `{}` |
|
| server.metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval |
|
||||||
| server.rbacConfig | [Argo CD RBAC policy](https://argoproj.github.io/argo-cd/operator-manual/rbac/) | `{}` |
|
| server.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion |
|
||||||
| server.readinessProbe.failureThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `3` |
|
| server.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace |
|
||||||
| server.readinessProbe.initialDelaySeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| server.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping |
|
||||||
| server.readinessProbe.periodSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| server.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector |
|
||||||
| server.readinessProbe.successThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| server.name | string | `"server"` | Argo CD server name |
|
||||||
| server.readinessProbe.timeoutSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| server.nodeSelector | object | `{}` | [Node selector] |
|
||||||
| server.replicas | The number of server pods to run | `1` |
|
| server.podAnnotations | object | `{}` | Annotations to be added to server pods |
|
||||||
| server.resources | Resource limits and requests for the server | `{}` |
|
| server.podLabels | object | `{}` | Labels to be added to server pods |
|
||||||
| server.service.annotations | Server service annotations | `{}` |
|
| server.priorityClassName | string | `""` | Priority class for the Argo CD server |
|
||||||
| server.service.labels | Server service labels | `{}` |
|
| server.rbacConfig | object | `{}` | ArgoCD rbac config ([ArgoCD RBAC policy]) |
|
||||||
| server.service.servicePortHttp | Server service http port | `80` |
|
| server.rbacConfigAnnotations | object | `{}` | Annotations to be added to ArgoCD rbac ConfigMap |
|
||||||
| server.service.servicePortHttps | Server service https port | `443` |
|
| server.rbacConfigCreate | bool | `true` | Whether or not to create the configmap. If false, it is expected the configmap will be created by something else. ArgoCD will not work if there is no configMap created with the name above. |
|
||||||
| server.service.servicePortHttpName | Server service http port name, can be used to route traffic via istio | `http` |
|
| server.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||||
| server.service.servicePortHttpsName | Server service https port name, can be used to route traffic via istio | `https` |
|
| server.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
|
||||||
| server.service.nodePortHttp | Server service http port for NodePort service type| `30080` |
|
| server.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
|
||||||
| server.service.servicePortHttps | Server service http port for NodePort service type | `30443` |
|
| server.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed |
|
||||||
| server.service.loadBalancerSourceRanges | Source IP ranges to allow access to service from. | `[]` |
|
| server.readinessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out |
|
||||||
| server.service.externalIPs | Server service external IPs. | `[]` |
|
| server.replicas | int | `1` | The number of server pods to run |
|
||||||
| server.service.type | Server service type | `"ClusterIP"` |
|
| server.resources | object | `{}` | Resource limits and requests for the Argo CD server |
|
||||||
| server.serviceAccount.annotations | Server service account annotations | `{}` |
|
| server.route.enabled | bool | `false` | Enable a OpenShift route for the Argo CD server |
|
||||||
| server.serviceAccount.automountServiceAccountToken | Automount API credentials for the Service Account | `true` |
|
| server.route.hostname | string | `""` | Hostname of OpenShift route |
|
||||||
| server.serviceAccount.create | Create server service account | `true` |
|
| server.service.annotations | object | `{}` | Server service annotations |
|
||||||
| server.serviceAccount.name | Server service account name | `"argocd-server"` |
|
| server.service.externalIPs | list | `[]` | Server service external IPs |
|
||||||
| server.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` |
|
| server.service.externalTrafficPolicy | string | `""` | Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints |
|
||||||
| server.volumeMounts | Server volume mounts | `[]` |
|
| server.service.labels | object | `{}` | Server service labels |
|
||||||
| server.volumes | Server volumes | `[]` |
|
| 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
|
## Dex
|
||||||
|
|
||||||
| Property | Description | Default |
|
| Key | Type | Default | Description |
|
||||||
|-----|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
| dex.affinity | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | `{}` |
|
| dex.affinity | object | `{}` | Assign custom [affinity] rules to the deployment |
|
||||||
| dex.topologySpreadConstraints | [Assign custom topologySpreadConstraints rules to the deployment](https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/) | `[]` |
|
| dex.containerPortGrpc | int | `5557` | Container port for gRPC access |
|
||||||
| dex.containerPortGrpc | GRPC container port | `5557` |
|
| dex.containerPortHttp | int | `5556` | Container port for HTTP access |
|
||||||
| dex.containerPortHttp | HTTP container port | `5556` |
|
| dex.containerPortMetrics | int | `5558` | Container port for metrics access |
|
||||||
| dex.enabled | Enable dex | `true` |
|
| dex.containerSecurityContext | object | `{}` | Dex container-level security context |
|
||||||
| dex.image.imagePullPolicy | Dex imagePullPolicy | `"IfNotPresent"` |
|
| dex.enabled | bool | `true` | Enable dex |
|
||||||
| dex.image.repository | Dex image repository | `"quay.io/dexidp/dex"` |
|
| dex.env | list | `[]` | Environment variables to pass to the Dex server |
|
||||||
| dex.image.tag | Dex image tag | `"v2.14.0"` |
|
| dex.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the Dex server |
|
||||||
| dex.initImage.repository | Argo CD init image repository. | `global.image.repository` |
|
| dex.extraContainers | list | `[]` | Additional containers to be added to the dex pod |
|
||||||
| dex.initImage.imagePullPolicy | Argo CD init image imagePullPolicy | `global.image.imagePullPolicy` |
|
| dex.extraVolumeMounts | list | `[]` | Extra volumeMounts to the dex pod |
|
||||||
| dex.initImage.tag | Argo CD init image tag | `global.image.tag` |
|
| dex.extraVolumes | list | `[]` | Extra volumes to the dex pod |
|
||||||
| dex.metrics.enabled | Deploy metrics service | `false` |
|
| dex.image.imagePullPolicy | string | `"IfNotPresent"` | Dex imagePullPolicy |
|
||||||
| dex.metrics.service.annotations | Metrics service annotations | `{}` |
|
| dex.image.repository | string | `"ghcr.io/dexidp/dex"` | Dex image repository |
|
||||||
| dex.metrics.service.labels | Metrics service labels | `{}` |
|
| dex.image.tag | string | `"v2.30.0"` | Dex image tag |
|
||||||
| dex.metrics.serviceMonitor.enabled | Enable a prometheus ServiceMonitor. | `false` |
|
| dex.initImage.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Argo CD init image imagePullPolicy |
|
||||||
| dex.metrics.serviceMonitor.selector | Prometheus ServiceMonitor selector. | `{}` |
|
| dex.initImage.repository | string | `""` (defaults to global.image.repository) | Argo CD init image repository |
|
||||||
| dex.metrics.serviceMonitor.relabelings | Prometheus [RelabelConfigs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config) to apply to samples before scraping | `[]` |
|
| dex.initImage.tag | string | `""` (defaults to global.image.tag) | Argo CD init image tag |
|
||||||
| dex.metrics.serviceMonitor.metricRelabelings | Prometheus [MetricRelabelConfigs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs) to apply to samples before ingestion | `[]` |
|
| dex.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for Dex >= 2.28.0 |
|
||||||
| dex.name | Dex name | `"dex-server"` |
|
| dex.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||||
| dex.extraContainers | Additional containers for the Dex server. A list of containers. | `[]` |
|
| dex.livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
|
||||||
| dex.env | Environment variables for the Dex server. | `[]` |
|
| dex.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
|
||||||
| dex.envFrom | `envFrom` to pass to the Dex server. | `[]` (See [values.yaml](values.yaml)) |
|
| dex.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed |
|
||||||
| dex.nodeSelector | [Node selector](https://kubernetes.io/docs/user-guide/node-selection/) | `{}` |
|
| dex.livenessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out |
|
||||||
| dex.podAnnotations | Annotations for the Dex server pods | `{}` |
|
| dex.metrics.enabled | bool | `false` | Deploy metrics service |
|
||||||
| dex.podLabels | Labels for the Dex server pods | `{}` |
|
| dex.metrics.service.annotations | object | `{}` | Metrics service annotations |
|
||||||
| dex.livenessProbe.enabled | Enable Kubernetes liveness probe for Dex >= 2.28.0 | `false` |
|
| dex.metrics.service.labels | object | `{}` | Metrics service labels |
|
||||||
| dex.livenessProbe.failureThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `3` |
|
| dex.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels |
|
||||||
| dex.livenessProbe.initialDelaySeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) |`10` |
|
| dex.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
|
||||||
| dex.livenessProbe.periodSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| dex.metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval |
|
||||||
| dex.livenessProbe.successThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| dex.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion |
|
||||||
| dex.livenessProbe.timeoutSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| dex.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace |
|
||||||
| dex.readinessProbe.enabled | Enable Kubernetes readiness probe for Dex >= 2.28.0 | `false` |
|
| dex.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping |
|
||||||
| dex.readinessProbe.failureThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `3` |
|
| dex.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector |
|
||||||
| dex.readinessProbe.initialDelaySeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) |`10` |
|
| dex.name | string | `"dex-server"` | Dex name |
|
||||||
| dex.readinessProbe.periodSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `10` |
|
| dex.nodeSelector | object | `{}` | [Node selector] |
|
||||||
| dex.readinessProbe.successThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| dex.podAnnotations | object | `{}` | Annotations to be added to the Dex server pods |
|
||||||
| dex.readinessProbe.timeoutSeconds | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `1` |
|
| dex.podLabels | object | `{}` | Labels to be added to the Dex server pods |
|
||||||
| dex.priorityClassName | Priority class for dex | `""` |
|
| dex.priorityClassName | string | `""` | Priority class for dex |
|
||||||
| dex.resources | Resource limits and requests for dex | `{}` |
|
| dex.readinessProbe.enabled | bool | `false` | Enable Kubernetes readiness probe for Dex >= 2.28.0 |
|
||||||
| dex.serviceAccount.automountServiceAccountToken | Automount API credentials for the Service Account | `true` |
|
| dex.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||||
| dex.serviceAccount.create | Create dex service account | `true` |
|
| dex.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
|
||||||
| dex.serviceAccount.name | Dex service account name | `"argocd-dex-server"` |
|
| dex.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
|
||||||
| dex.servicePortGrpc | Server GRPC port | `5557` |
|
| dex.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed |
|
||||||
| dex.servicePortGrpcName | Server GRPC port name | `grpc` |
|
| dex.readinessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out |
|
||||||
| dex.servicePortHttp | Server HTTP port | `5556` |
|
| dex.resources | object | `{}` | Resource limits and requests for dex |
|
||||||
| dex.servicePortHttpName | Server GRPC port name | `http` |
|
| dex.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
|
||||||
| dex.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` |
|
| dex.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account |
|
||||||
| dex.volumeMounts | Dex volume mounts | `"/shared"` |
|
| dex.serviceAccount.create | bool | `true` | Create dex service account |
|
||||||
| dex.volumes | Dex volumes | `{}` |
|
| dex.serviceAccount.name | string | `"argocd-dex-server"` | Dex service account name |
|
||||||
| dex.extraVolumeMounts | Extra dex volume mounts | `[]` |
|
| dex.servicePortGrpc | int | `5557` | Service port for gRPC access |
|
||||||
| dex.extraVolumes | Extra dex volumes | `[]` |
|
| 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
|
## Redis
|
||||||
|
|
||||||
When Redis is completely disabled from the chart (`redis.enabled=false`) and
|
| Key | Type | Default | Description |
|
||||||
an external Redis instance wants to be used or
|
|-----|------|---------|-------------|
|
||||||
when Redis HA subcart is enabled (`redis.enabled=true and redis-ha.enabled=true`)
|
| redis.affinity | object | `{}` | Assign custom [affinity] rules to the deployment |
|
||||||
but HA proxy is disabled `redis-ha.haproxy.enabled=false` Redis flags need to be specified
|
| redis.containerPort | int | `6379` | Redis container port |
|
||||||
through `xxx.extraArgs`
|
| redis.containerSecurityContext | object | `{}` | Redis container-level security context |
|
||||||
|
| redis.enabled | bool | `true` | Enable redis |
|
||||||
| Parameter | Description | Default |
|
| 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.affinity | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | `{}` |
|
| redis.extraArgs | list | `[]` | Additional command line arguments to pass to redis-server |
|
||||||
| redis.topologySpreadConstraints | [Assign custom topologySpreadConstraints rules to the deployment](https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/) | `[]` |
|
| redis.extraContainers | list | `[]` | Additional containers to be added to the redis pod |
|
||||||
| redis.containerPort | Redis container port | `6379` |
|
| redis.image.imagePullPolicy | string | `"IfNotPresent"` | Redis imagePullPolicy |
|
||||||
| redis.enabled | Enable redis | `true` |
|
| redis.image.repository | string | `"redis"` | Redis repository |
|
||||||
| redis.image.imagePullPolicy | Redis imagePullPolicy | `"IfNotPresent"` |
|
| redis.image.tag | string | `"6.2.4-alpine"` | Redis tag |
|
||||||
| redis.image.repository | Redis repository | `"redis"` |
|
| redis.metrics.containerPort | int | `9121` | Port to use for redis-exporter sidecar |
|
||||||
| redis.image.tag | Redis tag | `"6.2.1-alpine"` |
|
| redis.metrics.enabled | bool | `false` | Deploy metrics service and redis-exporter sidecar |
|
||||||
| redis.extraArgs | Additional arguments for the `redis-server`. A list of flags. | `[]` |
|
| redis.metrics.image.imagePullPolicy | string | `"IfNotPresent"` | redis-exporter image PullPolicy |
|
||||||
| redis.extraContainers | Additional containers for the redis. A list of containers. | `[]` |
|
| redis.metrics.image.repository | string | `"quay.io/bitnami/redis-exporter"` | redis-exporter image repository |
|
||||||
| redis.name | Redis name | `"redis"` |
|
| redis.metrics.image.tag | string | `"1.26.0-debian-10-r2"` | redis-exporter image tag |
|
||||||
| redis.env | Environment variables for the Redis server. | `[]` |
|
| redis.metrics.resources | object | `{}` | Resource limits and requests for redis-exporter sidecar |
|
||||||
| redis.envFrom | `envFrom` to pass to the Redis server. | `[]` (See [values.yaml](values.yaml)) |
|
| redis.metrics.service.annotations | object | `{}` | Metrics service annotations |
|
||||||
| redis.nodeSelector | [Node selector](https://kubernetes.io/docs/user-guide/node-selection/) | `{}` |
|
| redis.metrics.service.clusterIP | string | `"None"` | Metrics service clusterIP. `None` makes a "headless service" (no virtual IP) |
|
||||||
| redis.podAnnotations | Annotations for the Redis server pods | `{}` |
|
| redis.metrics.service.labels | object | `{}` | Metrics service labels |
|
||||||
| redis.podLabels | Labels for the Redis server pods | `{}` |
|
| redis.metrics.service.portName | string | `"http-metrics"` | Metrics service port name |
|
||||||
| redis.priorityClassName | Priority class for redis | `""` |
|
| redis.metrics.service.servicePort | int | `9121` | Metrics service port |
|
||||||
| redis.resources | Resource limits and requests for redis | `{}` |
|
| redis.metrics.service.type | string | `"ClusterIP"` | Metrics service type |
|
||||||
| redis.securityContext | Redis Pod Security Context | See [values.yaml](values.yaml) |
|
| redis.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels |
|
||||||
| redis.servicePort | Redis service port | `6379` |
|
| redis.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
|
||||||
| redis.service.annotations | Redis service annotations | `{}` |
|
| redis.metrics.serviceMonitor.interval | string | `"30s"` | Interval at which metrics should be scraped |
|
||||||
| redis.service.labels | Additional redis service labels | `{}` |
|
| redis.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion |
|
||||||
| redis.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` |
|
| redis.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace |
|
||||||
| redis.metrics.enabled | Deploy metrics service and redis-exporter sidecar | `false` |
|
| redis.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping |
|
||||||
| redis.metrics.image.repository | redis-exporter image repository | `quay.io/bitnami/redis-exporter` |
|
| redis.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector |
|
||||||
| redis.metrics.image.tag | redis-exporter image tag | `1.26.0-debian-10-r2` |
|
| redis.name | string | `"redis"` | Redis name |
|
||||||
| redis.metrics.image.imagePullPolicy | redis-exporter image PullPolicy | `IfNotPresent` |
|
| redis.nodeSelector | object | `{}` | [Node selector] |
|
||||||
| redis.metrics.containerPort | Port to use for redis-exporter sidecar | `9121` |
|
| redis.podAnnotations | object | `{}` | Annotations to be added to the Redis server pods |
|
||||||
| redis.metrics.resources | Resource limits and requests for redis-exporter sidecar | `{}` |
|
| redis.podLabels | object | `{}` | Labels to be added to the Redis server pods |
|
||||||
| redis.metrics.service.type | Metrics service type | `ClusterIP` |
|
| redis.priorityClassName | string | `""` | Priority class for redis |
|
||||||
| redis.metrics.service.clusterIP | Metrics service clusterIP. `None` makes a "headless service" (no virtual IP) | `None` |
|
| redis.resources | object | `{}` | Resource limits and requests for redis |
|
||||||
| redis.metrics.service.annotations | Metrics service annotations | `{}` |
|
| redis.securityContext | object | `{"runAsNonRoot":true,"runAsUser":999}` | Redis pod-level security context |
|
||||||
| redis.metrics.service.labels | Metrics service labels | `{}` |
|
| redis.service.annotations | object | `{}` | Redis service annotations |
|
||||||
| redis.metrics.service.servicePort | Metrics service port | `9121` |
|
| redis.service.labels | object | `{}` | Additional redis service labels |
|
||||||
| redis.metrics.service.portName | Metrics service port name | `http-metrics` |
|
| redis.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
|
||||||
| redis.metrics.serviceMonitor.enabled | Enable a prometheus ServiceMonitor | `false` |
|
| redis.serviceAccount.automountServiceAccountToken | bool | `false` | Automount API credentials for the Service Account |
|
||||||
| redis.metrics.serviceMonitor.interval | Interval at which metrics should be scraped | `30s` |
|
| redis.serviceAccount.create | bool | `false` | Create a service account for the redis pod |
|
||||||
| redis.metrics.serviceMonitor.relabelings | Prometheus [RelabelConfigs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config) to apply to samples before scraping | `[]` |
|
| redis.serviceAccount.name | string | `""` | Service account name for redis pod |
|
||||||
| redis.metrics.serviceMonitor.metricRelabelings | Prometheus [MetricRelabelConfigs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs) to apply to samples before ingestion | `[]` |
|
| redis.servicePort | int | `6379` | Redis service port |
|
||||||
| redis.metrics.serviceMonitor.selector | Prometheus ServiceMonitor selector labels | `{}` |
|
| redis.tolerations | list | `[]` | [Tolerations] for use with node taints |
|
||||||
| redis.metrics.serviceMonitor.namespace | Prometheus ServiceMonitor namespace | `<nil>` |
|
| redis.topologySpreadConstraints | list | `[]` | Assign custom [TopologySpreadConstraints] rules to redis |
|
||||||
| redis.metrics.serviceMonitor.additionalLabels | Additional labels to add to the Prometheus ServiceMonitor | `{}` |
|
| redis.volumeMounts | list | `[]` | Additional volumeMounts to the redis container |
|
||||||
| redis-ha | Configures [Redis HA subchart](https://github.com/DandyDeveloper/charts/tree/master/charts/redis-ha) The properties below have been changed from the subchart defaults | |
|
| redis.volumes | list | `[]` | Additional volumes to the redis pod |
|
||||||
| redis-ha.enabled | Enables the Redis HA subchart and disables the custom Redis single node deployment| `false` |
|
| redis-ha.enabled | bool | `false` | Enables the Redis HA subchart and disables the custom Redis single node deployment |
|
||||||
| redis-ha.exporter.enabled | If `true`, the prometheus exporter sidecar is enabled | `true` |
|
| redis-ha.exporter.enabled | bool | `true` | If `true`, the prometheus exporter sidecar is enabled |
|
||||||
| redis-ha.persistentVolume.enabled | Configures persistency on Redis nodes | `false`
|
| redis-ha.haproxy.enabled | bool | `true` | Enabled HAProxy LoadBalancing/Proxy |
|
||||||
| redis-ha.redis.masterGroupName | Redis convention for naming the cluster group: must match `^[\\w-\\.]+$` and can be templated | `argocd`
|
| redis-ha.haproxy.metrics.enabled | bool | `true` | HAProxy enable prometheus metric scraping |
|
||||||
| redis-ha.redis.config | Any valid redis config options in this section will be applied to each server (see `redis-ha` chart) | `` |
|
| redis-ha.image.tag | string | `"6.2.4-alpine"` | Redis tag |
|
||||||
| 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.persistentVolume.enabled | bool | `false` | Configures persistency on Redis nodes |
|
||||||
| redis-ha.haproxy.enabled | Enabled HAProxy LoadBalancing/Proxy | `true` |
|
| 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.haproxy.metrics.enabled | HAProxy enable prometheus metric scraping | `true` |
|
| 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.image.tag | Redis tag | `"6.2.1-alpine"` |
|
| redis-ha.redis.masterGroupName | string | `"argocd"` | Redis convention for naming the cluster group: must match `^[\\w-\\.]+$` and can be templated |
|
||||||
|
|
||||||
[gRPC-ingress]: https://argoproj.github.io/argo-cd/operator-manual/ingress/
|
|
||||||
|
|
||||||
|
|
||||||
### Using AWS ALB Ingress Controller With GRPC
|
### 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.
|
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:
|
Example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
server:
|
server:
|
||||||
ingress:
|
ingress:
|
||||||
|
@ -577,3 +623,22 @@ server:
|
||||||
serviceType: ClusterIP
|
serviceType: ClusterIP
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
||||||
|
|
||||||
|
[ArgoCD RBAC policy]: https://argoproj.github.io/argo-cd/operator-manual/rbac/
|
||||||
|
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||||
|
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
||||||
|
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
||||||
|
[external cluster credentials]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#clusters
|
||||||
|
[General Argo CD configuration]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#repositories
|
||||||
|
[gRPC-ingress]: https://argoproj.github.io/argo-cd/operator-manual/ingress/
|
||||||
|
[HPA]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
|
||||||
|
[MetricRelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
|
||||||
|
[Node selector]: https://kubernetes.io/docs/user-guide/node-selection/
|
||||||
|
[probe]: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
|
||||||
|
[RelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
|
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||||
|
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||||
|
[values.yaml]: values.yaml
|
||||||
|
|
293
charts/argo-cd/README.md.gotmpl
Normal file
293
charts/argo-cd/README.md.gotmpl
Normal file
|
@ -0,0 +1,293 @@
|
||||||
|
# Argo CD Chart
|
||||||
|
|
||||||
|
A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||||
|
|
||||||
|
Source code can be found [here](https://argoproj.github.io/argo-cd/)
|
||||||
|
|
||||||
|
## Additional Information
|
||||||
|
|
||||||
|
This is a **community maintained** chart. This chart installs [argo-cd](https://argoproj.github.io/argo-cd/), a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||||
|
|
||||||
|
The default installation is intended to be similar to the provided ArgoCD [releases](https://github.com/argoproj/argo-cd/releases).
|
||||||
|
|
||||||
|
## High Availability
|
||||||
|
|
||||||
|
This chart installs the non-HA version of ArgoCD by default. If you want to run ArgoCD 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](https://argoproj.github.io/argo-cd/operator-manual/high_availability/) to understand how scaling of ArgoCD 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
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
redis-ha:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
controller:
|
||||||
|
enableStatefulSet: true
|
||||||
|
|
||||||
|
server:
|
||||||
|
autoscaling:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 2
|
||||||
|
|
||||||
|
repoServer:
|
||||||
|
autoscaling:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 2
|
||||||
|
```
|
||||||
|
|
||||||
|
### HA mode without autoscaling
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
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 [ArgoCD 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).
|
||||||
|
|
||||||
|
When installing ArgoCD 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`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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](https://github.com/argoproj/argo-cd/tree/master/manifests/crds) into this [`charts/argo-cd/crds` folder](https://github.com/argoproj/argo-helm/tree/master/charts/argo-cd/crds).
|
||||||
|
|
||||||
|
## Upgrading
|
||||||
|
|
||||||
|
### 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 ArgoCD, it can be passed via the `server.extraArgs` field
|
||||||
|
|
||||||
|
### 3.10.2
|
||||||
|
|
||||||
|
ArgoCD 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:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# 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](https://github.com/argoproj/argo-helm/pull/637).
|
||||||
|
[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 ArgoCD 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:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
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](https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/) on how to migrate your release from Helm 2 to Helm 3.
|
||||||
|
|
||||||
|
### 2.14.7 and above
|
||||||
|
|
||||||
|
The `matchLabels` key in the ArgoCD 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
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
server:
|
||||||
|
extraArgs:
|
||||||
|
insecure: ""
|
||||||
|
```
|
||||||
|
|
||||||
|
is now
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
server:
|
||||||
|
extraArgs:
|
||||||
|
- --insecure
|
||||||
|
```
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Kubernetes 1.7+
|
||||||
|
- Helm v3.0.0+
|
||||||
|
|
||||||
|
## Installing the Chart
|
||||||
|
|
||||||
|
To install the chart with the release name `my-release`:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ 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
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
## General parameters
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
{{- range .Values }}
|
||||||
|
{{- if not (or (hasPrefix "controller" .Key) (hasPrefix "repoServer" .Key) (hasPrefix "server" .Key) (hasPrefix "dex" .Key) (hasPrefix "redis" .Key) ) }}
|
||||||
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
|
{{- end }}
|
||||||
|
{{- if hasPrefix "server.additional" .Key }}
|
||||||
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
## ArgoCD Controller
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
{{- range .Values }}
|
||||||
|
{{- if hasPrefix "controller" .Key }}
|
||||||
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
## Argo Repo Server
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
{{- range .Values }}
|
||||||
|
{{- if hasPrefix "repoServer" .Key }}
|
||||||
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
## Argo Server
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
{{- range .Values }}
|
||||||
|
{{- if and (hasPrefix "server" .Key) (not (hasPrefix "server.additional" .Key)) }}
|
||||||
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
## Dex
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
{{- range .Values }}
|
||||||
|
{{- if hasPrefix "dex" .Key }}
|
||||||
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
## Redis
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
{{- range .Values }}
|
||||||
|
{{- if hasPrefix "redis." .Key }}
|
||||||
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range .Values }}
|
||||||
|
{{- if hasPrefix "redis-ha" .Key }}
|
||||||
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 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:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
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
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
{{ template "helm-docs.versionFooter" . }}
|
||||||
|
|
||||||
|
[ArgoCD RBAC policy]: https://argoproj.github.io/argo-cd/operator-manual/rbac/
|
||||||
|
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||||
|
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
||||||
|
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
||||||
|
[external cluster credentials]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#clusters
|
||||||
|
[General Argo CD configuration]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#repositories
|
||||||
|
[gRPC-ingress]: https://argoproj.github.io/argo-cd/operator-manual/ingress/
|
||||||
|
[HPA]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
|
||||||
|
[MetricRelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
|
||||||
|
[Node selector]: https://kubernetes.io/docs/user-guide/node-selection/
|
||||||
|
[probe]: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
|
||||||
|
[RelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
|
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||||
|
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||||
|
[values.yaml]: values.yaml
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue