feat(argo-cd): Update to use v2.3.1 release (#1162)

* feat(argo-cd): Update to use v2.3.1 release

Signed-off-by: mikeeq <miotk.mikolaj@gmail.com>

* Move applicationSet.* and notifications.* to a dedicated location

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

* Fix typo in deployment.yaml

Signed-off-by: mikeeq <miotk.mikolaj@gmail.com>

* Fix notifications bot deployment

Signed-off-by: mikeeq <miotk.mikolaj@gmail.com>

* Update README.md

Signed-off-by: mikeeq <miotk.mikolaj@gmail.com>

* Update README.md and fix slack bot image

Signed-off-by: mikeeq <miotk.mikolaj@gmail.com>

* Drop nameOverride for new components as we use the global one

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

* Drop "applicationSet.args.namespace" and "applicationSet.args.argocdRepoServer"

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

* Consistent use of volumes (gpg, tls, knownHosts, extra)

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

* Bump major chart version and place a note in teh Upgrading section

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

* Change "enableStatefulSet: true" as we are in a major release now

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

* Drop PSP of applicationSet

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

* Fix applicationset webhook-ingress

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

* Drop unused variables in values.yaml and README

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

* Also set namespace and argocd-repo-server args on notification-controller

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

* Consistent use of "Argo CD" instead of "ArgoCD"

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

* Trigger CI

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

Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
This commit is contained in:
Mikołaj Miotk 2022-03-16 22:01:30 +01:00 committed by GitHub
parent c8f0471bd0
commit 32a06059c3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 8325 additions and 64 deletions

View file

@ -1,6 +1,6 @@
# 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/)
@ -8,15 +8,15 @@ Source code can be found [here](https://argoproj.github.io/argo-cd/)
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.
@ -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`:
@ -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
@ -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:
@ -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
@ -189,7 +194,7 @@ 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 }}
@ -197,7 +202,7 @@ NAME: my-release
{{- end }}
{{- end }}
## ArgoCD Controller
## Argo CD Controller
| Key | Type | Default | Description |
|-----|------|---------|-------------|
@ -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
@ -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/
@ -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