feat(argo-cd): add sync wave delay option for application controller

Signed-off-by: Saeid Bostandoust <ssbostan@yahoo.com>
This commit is contained in:
Saeid Bostandoust 2024-09-10 12:55:36 +01:00
parent 687392688f
commit 3b70e691fb
6 changed files with 32 additions and 9 deletions

View file

@ -3,7 +3,7 @@ appVersion: v2.12.3
kubeVersion: ">=1.25.0-0" kubeVersion: ">=1.25.0-0"
description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes. description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
name: argo-cd name: argo-cd
version: 7.5.2 version: 7.6.0
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
sources: sources:
@ -26,5 +26,5 @@ annotations:
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252 fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
url: https://argoproj.github.io/argo-helm/pgp_keys.asc url: https://argoproj.github.io/argo-helm/pgp_keys.asc
artifacthub.io/changes: | artifacthub.io/changes: |
- kind: fixed - kind: added
description: Certificate template was wrong leading to null description: Option to customize sync wave delay

View file

@ -232,7 +232,7 @@ server:
port: 8080 port: 8080
frontendConfig: frontendConfig:
redirectToHttps: redirectToHttps:
enabled: true enabled: true
managedCertificate: managedCertificate:
enabled: true enabled: true
``` ```
@ -278,6 +278,10 @@ For full list of changes please check ArtifactHub [changelog].
Highlighted versions provide information about additional steps that should be performed by user when upgrading to newer version. Highlighted versions provide information about additional steps that should be performed by user when upgrading to newer version.
### 7.6.0
Added support to override application controller sync wave delay.
### 7.0.0 ### 7.0.0
We changed the type of `.Values.configs.clusterCredentials` from `list` to `object`. We changed the type of `.Values.configs.clusterCredentials` from `list` to `object`.
@ -337,7 +341,7 @@ Steps to roteate the secret when using the helm chart (bold step is additional t
``` ```
### 6.9.0 ### 6.9.0
ApplicationSet controller is always created to follow [upstream's manifest](https://github.com/argoproj/argo-cd/blob/v2.11.0/manifests/core-install/kustomization.yaml#L9). ApplicationSet controller is always created to follow [upstream's manifest](https://github.com/argoproj/argo-cd/blob/v2.11.0/manifests/core-install/kustomization.yaml#L9).
### 6.4.0 ### 6.4.0
@ -747,6 +751,7 @@ NAME: my-release
| configs.params."controller.repo.server.timeout.seconds" | int | `60` | Repo server RPC call timeout seconds. | | configs.params."controller.repo.server.timeout.seconds" | int | `60` | Repo server RPC call timeout seconds. |
| configs.params."controller.self.heal.timeout.seconds" | int | `5` | Specifies timeout between application self heal attempts | | configs.params."controller.self.heal.timeout.seconds" | int | `5` | Specifies timeout between application self heal attempts |
| configs.params."controller.status.processors" | int | `20` | Number of application status processors | | configs.params."controller.status.processors" | int | `20` | Number of application status processors |
| configs.params."controller.sync.wave.delay" | int | `2` | Sync wave delay seconds to make delay between applications' sync |
| configs.params."otlp.address" | string | `""` | Open-Telemetry collector address: (e.g. "otel-collector:4317") | | configs.params."otlp.address" | string | `""` | Open-Telemetry collector address: (e.g. "otel-collector:4317") |
| configs.params."reposerver.parallelism.limit" | int | `0` | Limit on number of concurrent manifests generate requests. Any value less the 1 means no limit. | | configs.params."reposerver.parallelism.limit" | int | `0` | Limit on number of concurrent manifests generate requests. Any value less the 1 means no limit. |
| configs.params."server.basehref" | string | `"/"` | Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from / | | configs.params."server.basehref" | string | `"/"` | Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from / |

View file

@ -231,7 +231,7 @@ server:
port: 8080 port: 8080
frontendConfig: frontendConfig:
redirectToHttps: redirectToHttps:
enabled: true enabled: true
managedCertificate: managedCertificate:
enabled: true enabled: true
``` ```
@ -278,6 +278,10 @@ For full list of changes please check ArtifactHub [changelog].
Highlighted versions provide information about additional steps that should be performed by user when upgrading to newer version. Highlighted versions provide information about additional steps that should be performed by user when upgrading to newer version.
### 7.6.0
Added support to override application controller sync wave delay.
### 7.0.0 ### 7.0.0
We changed the type of `.Values.configs.clusterCredentials` from `list` to `object`. We changed the type of `.Values.configs.clusterCredentials` from `list` to `object`.
@ -313,7 +317,7 @@ Upstream steps in the [FAQ] are not enough, since we chose a different approach.
(We use a Kubernetes Job with [Chart Hooks] to create the auth secret `argocd-redis`.) (We use a Kubernetes Job with [Chart Hooks] to create the auth secret `argocd-redis`.)
Steps to roteate the secret when using the helm chart (bold step is additional to upstream): Steps to roteate the secret when using the helm chart (bold step is additional to upstream):
* Delete `argocd-redis` secret in the namespace where Argo CD is installed. * Delete `argocd-redis` secret in the namespace where Argo CD is installed.
```bash ```bash
kubectl delete secret argocd-redis -n <argocd namespace> kubectl delete secret argocd-redis -n <argocd namespace>
``` ```
@ -337,7 +341,7 @@ Steps to roteate the secret when using the helm chart (bold step is additional t
``` ```
### 6.9.0 ### 6.9.0
ApplicationSet controller is always created to follow [upstream's manifest](https://github.com/argoproj/argo-cd/blob/v2.11.0/manifests/core-install/kustomization.yaml#L9). ApplicationSet controller is always created to follow [upstream's manifest](https://github.com/argoproj/argo-cd/blob/v2.11.0/manifests/core-install/kustomization.yaml#L9).
### 6.4.0 ### 6.4.0
@ -396,7 +400,7 @@ In case the manifests are updated before moving to Argo CD v2.8, the containers
### 5.26.0 ### 5.26.0
This version adds support for Config Management Plugins using the sidecar model and configured in a ConfigMap named `argocd-cmp-cm`. This version adds support for Config Management Plugins using the sidecar model and configured in a ConfigMap named `argocd-cmp-cm`.
Users will need to migrate from the previous `argocd-cm` ConfigMap method to using the sidecar method before Argo CD v2.8. See the [Argo CD CMP migration guide](https://argo-cd.readthedocs.io/en/stable/operator-manual/config-management-plugins/#migrating-from-argocd-cm-plugins) for more specifics. Users will need to migrate from the previous `argocd-cm` ConfigMap method to using the sidecar method before Argo CD v2.8. See the [Argo CD CMP migration guide](https://argo-cd.readthedocs.io/en/stable/operator-manual/config-management-plugins/#migrating-from-argocd-cm-plugins) for more specifics.
To migrate your plugins, you can now set the `configs.cmp.create` to `true` and move your plugins from `configs.cm` to `configs.cmp.plugins`. To migrate your plugins, you can now set the `configs.cmp.create` to `true` and move your plugins from `configs.cm` to `configs.cmp.plugins`.

View file

@ -290,6 +290,12 @@ spec:
name: argocd-cmd-params-cm name: argocd-cmd-params-cm
key: controller.ignore.normalizer.jq.timeout key: controller.ignore.normalizer.jq.timeout
optional: true optional: true
- name: ARGOCD_SYNC_WAVE_DELAY
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.sync.wave.delay
optional: true
{{- with .Values.controller.envFrom }} {{- with .Values.controller.envFrom }}
envFrom: envFrom:
{{- toYaml . | nindent 10 }} {{- toYaml . | nindent 10 }}

View file

@ -289,6 +289,12 @@ spec:
name: argocd-cmd-params-cm name: argocd-cmd-params-cm
key: controller.ignore.normalizer.jq.timeout key: controller.ignore.normalizer.jq.timeout
optional: true optional: true
- name: ARGOCD_SYNC_WAVE_DELAY
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.sync.wave.delay
optional: true
{{- with .Values.controller.envFrom }} {{- with .Values.controller.envFrom }}
envFrom: envFrom:
{{- toYaml . | nindent 10 }} {{- toYaml . | nindent 10 }}

View file

@ -248,6 +248,8 @@ configs:
controller.self.heal.timeout.seconds: 5 controller.self.heal.timeout.seconds: 5
# -- Repo server RPC call timeout seconds. # -- Repo server RPC call timeout seconds.
controller.repo.server.timeout.seconds: 60 controller.repo.server.timeout.seconds: 60
# -- Sync wave delay seconds to make delay between applications' sync
controller.sync.wave.delay: 2
## Server properties ## Server properties
# -- Run server without TLS # -- Run server without TLS