Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions charts/argo-cd/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: v2
appVersion: v2.2.5
description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
appVersion: v2.3.1
description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
name: argo-cd
version: 3.35.4
version: 4.0.0
home: https://github.com/argoproj/argo-helm
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
keywords:
Expand All @@ -21,4 +21,5 @@ dependencies:
condition: redis-ha.enabled
annotations:
artifacthub.io/changes: |
- "[Fixed]: ArgoCD application controller metric application label templating"
- "[Changed]: Update to Argo CD v2.3.1"
- "[Changed]: Sync CRDs of Argo CD v2.3.1"
174 changes: 151 additions & 23 deletions charts/argo-cd/README.md

Large diffs are not rendered by default.

51 changes: 38 additions & 13 deletions charts/argo-cd/README.md.gotmpl
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# Argo CD Chart

A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
A Helm chart for Argo CD, 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).
The default installation is intended to be similar to the provided Argo CD [releases](https://github.com/argoproj/argo-cd/releases).

If you want to avoid including sensitive information unencrypted (clear text) in your version control, make use of the [declarative set up](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/) of Argo CD.
For instance, rather than adding repositories and their keys in your Helm values, you could deploy [SealedSecrets](https://github.com/bitnami-labs/sealed-secrets) with contents as seen in this [repositories section](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#repositories) or any other secrets manager service (i.e. HashiCorp Vault, AWS/GCP Secrets Manager, etc.).

## 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.
This chart installs the non-HA version of Argo CD by default. If you want to run Argo CD in HA mode, you can use one of the example values in the next sections.
Please also have a look into the upstream [Operator Manual regarding High Availability](https://argoproj.github.io/argo-cd/operator-manual/high_availability/) to understand how scaling of Argo CD works in detail.

> **Warning:**
> You need at least 3 worker nodes as the HA mode of redis enforces Pods to run on separate nodes.
Expand Down Expand Up @@ -62,9 +62,9 @@ repoServer:

### 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 [Argo CD repository](https://github.com/argoproj/argo-cd/) an [`manifests/install.yaml`](https://github.com/argoproj/argo-cd/blob/master/manifests/install.yaml) is generated using `kustomize`. It's the basis for the installation as [described in the docs](https://argo-cd.readthedocs.io/en/stable/getting_started/#1-install-argo-cd).

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`.
When installing Argo CD using this helm chart the user should have a similar experience and configuration rolled out. Hence, it makes sense to try to achieve a similar output of rendered `.yaml` resources when calling `helm template` using the default settings in `values.yaml`.

To update the templates and default settings in `values.yaml` it may come in handy to look up the diff of the `manifests/install.yaml` between two versions accordingly. This can either be done directly via github and look for `manifests/install.yaml`:

Expand All @@ -82,13 +82,18 @@ Changes in the `CustomResourceDefinition` resources shall be fixed easily by cop

## Upgrading

### 4.0.0 and above

This helm chart version deploys Argo CD v2.3. The Argo CD Notifications and ApplicationSet are part of Argo CD now. You no longer need to install them separately. The Notifications and ApplicationSet components **are bundled into default** Argo CD installation.
Please read the [v2.2 to 2.3 upgrade instructions] in the upstream repository.

### 3.13.0

This release removes the flag `--staticassets` from argocd server as it has been dropped upstream. If this flag needs to be enabled e.g for older releases of ArgoCD, it can be passed via the `server.extraArgs` field
This release removes the flag `--staticassets` from argocd server as it has been dropped upstream. If this flag needs to be enabled e.g for older releases of Argo CD, it can be passed via the `server.extraArgs` field

### 3.10.2

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

### 3.8.1
Expand Down Expand Up @@ -122,7 +127,7 @@ Please check if you are affected by one of these cases **before you upgrade**, e
### 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**,
[Issue 703](https://github.com/argoproj/argo-helm/issues/703) reported that the capabilities evaluation is **not handled correctly when deploying the chart via an Argo CD instance**,
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:
Expand All @@ -140,7 +145,7 @@ Helm apiVersion switched to `v2`. Requires Helm `3.0.0` or above to install. [Re

### 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.
The `matchLabels` key in the Argo CD Application Controller is no longer hard-coded. Note that labels are immutable so caution should be exercised when making changes to this resource.

### 2.10.x to 2.11.0

Expand Down Expand Up @@ -189,15 +194,15 @@ NAME: my-release
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if not (or (hasPrefix "controller" .Key) (hasPrefix "repoServer" .Key) (hasPrefix "server" .Key) (hasPrefix "dex" .Key) (hasPrefix "redis" .Key) ) }}
{{- if not (or (hasPrefix "controller" .Key) (hasPrefix "repoServer" .Key) (hasPrefix "server" .Key) (hasPrefix "dex" .Key) (hasPrefix "redis" .Key) (hasPrefix "applicationSet" .Key) (hasPrefix "notifications" .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
## Argo CD Controller

| Key | Type | Default | Description |
|-----|------|---------|-------------|
Expand Down Expand Up @@ -252,6 +257,25 @@ NAME: my-release
{{- end }}
{{- end }}

## ApplicationSet

| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "applicationSet" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}

## Notifications

| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "notifications" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}


### Using AWS ALB Ingress Controller With GRPC
Expand Down Expand Up @@ -280,7 +304,7 @@ server:
----------------------------------------------
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

[ArgoCD RBAC policy]: https://argoproj.github.io/argo-cd/operator-manual/rbac/
[Argo CD 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/
Expand All @@ -296,3 +320,4 @@ Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/
[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
[v2.2 to 2.3 upgrade instructions]: https://github.com/argoproj/argo-cd/blob/v2.3.0/docs/operator-manual/upgrading/2.2-2.3.md
55 changes: 55 additions & 0 deletions charts/argo-cd/crds/crd-application.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,11 @@ spec:
type: string
type: object
type: array
ignoreMissingValueFiles:
description: IgnoreMissingValueFiles prevents helm template
from failing when valueFiles do not exist locally by
not appending them to helm template --values
type: boolean
parameters:
description: Parameters is a list of Helm parameters which
are passed to the helm template command upon manifest
Expand Down Expand Up @@ -261,6 +266,10 @@ spec:
description: ReleaseName is the Helm release name to use.
If omitted it will use the application name
type: string
skipCrds:
description: SkipCrds skips custom resource definition
installation step (Helm's --skip-crds)
type: boolean
valueFiles:
description: ValuesFiles is a list of Helm value files
to use when generating a template
Expand Down Expand Up @@ -598,6 +607,11 @@ spec:
type: string
type: object
type: array
ignoreMissingValueFiles:
description: IgnoreMissingValueFiles prevents helm template
from failing when valueFiles do not exist locally by not
appending them to helm template --values
type: boolean
parameters:
description: Parameters is a list of Helm parameters which
are passed to the helm template command upon manifest generation
Expand Down Expand Up @@ -625,6 +639,10 @@ spec:
description: ReleaseName is the Helm release name to use.
If omitted it will use the application name
type: string
skipCrds:
description: SkipCrds skips custom resource definition installation
step (Helm's --skip-crds)
type: boolean
valueFiles:
description: ValuesFiles is a list of Helm value files to
use when generating a template
Expand Down Expand Up @@ -966,6 +984,11 @@ spec:
type: string
type: object
type: array
ignoreMissingValueFiles:
description: IgnoreMissingValueFiles prevents helm template
from failing when valueFiles do not exist locally
by not appending them to helm template --values
type: boolean
parameters:
description: Parameters is a list of Helm parameters
which are passed to the helm template command upon
Expand Down Expand Up @@ -995,6 +1018,10 @@ spec:
description: ReleaseName is the Helm release name to
use. If omitted it will use the application name
type: string
skipCrds:
description: SkipCrds skips custom resource definition
installation step (Helm's --skip-crds)
type: boolean
valueFiles:
description: ValuesFiles is a list of Helm value files
to use when generating a template
Expand Down Expand Up @@ -1349,6 +1376,12 @@ spec:
type: string
type: object
type: array
ignoreMissingValueFiles:
description: IgnoreMissingValueFiles prevents
helm template from failing when valueFiles do
not exist locally by not appending them to helm
template --values
type: boolean
parameters:
description: Parameters is a list of Helm parameters
which are passed to the helm template command
Expand Down Expand Up @@ -1381,6 +1414,10 @@ spec:
to use. If omitted it will use the application
name
type: string
skipCrds:
description: SkipCrds skips custom resource definition
installation step (Helm's --skip-crds)
type: boolean
valueFiles:
description: ValuesFiles is a list of Helm value
files to use when generating a template
Expand Down Expand Up @@ -1714,6 +1751,11 @@ spec:
type: string
type: object
type: array
ignoreMissingValueFiles:
description: IgnoreMissingValueFiles prevents helm
template from failing when valueFiles do not exist
locally by not appending them to helm template --values
type: boolean
parameters:
description: Parameters is a list of Helm parameters
which are passed to the helm template command upon
Expand Down Expand Up @@ -1744,6 +1786,10 @@ spec:
description: ReleaseName is the Helm release name
to use. If omitted it will use the application name
type: string
skipCrds:
description: SkipCrds skips custom resource definition
installation step (Helm's --skip-crds)
type: boolean
valueFiles:
description: ValuesFiles is a list of Helm value files
to use when generating a template
Expand Down Expand Up @@ -2065,6 +2111,11 @@ spec:
type: string
type: object
type: array
ignoreMissingValueFiles:
description: IgnoreMissingValueFiles prevents helm
template from failing when valueFiles do not exist
locally by not appending them to helm template --values
type: boolean
parameters:
description: Parameters is a list of Helm parameters
which are passed to the helm template command upon
Expand Down Expand Up @@ -2095,6 +2146,10 @@ spec:
description: ReleaseName is the Helm release name
to use. If omitted it will use the application name
type: string
skipCrds:
description: SkipCrds skips custom resource definition
installation step (Helm's --skip-crds)
type: boolean
valueFiles:
description: ValuesFiles is a list of Helm value files
to use when generating a template
Expand Down
Loading