Skip to content

Commit

Permalink
feat(argo-cd): add sync wave delay option for application controller
Browse files Browse the repository at this point in the history
Signed-off-by: Saeid Bostandoust <[email protected]>
  • Loading branch information
ssbostan committed Sep 10, 2024
1 parent 6873926 commit 3b70e69
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 9 deletions.
6 changes: 3 additions & 3 deletions charts/argo-cd/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ appVersion: v2.12.3
kubeVersion: ">=1.25.0-0"
description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
name: argo-cd
version: 7.5.2
version: 7.6.0
home: https://github.com/argoproj/argo-helm
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
sources:
Expand All @@ -26,5 +26,5 @@ annotations:
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
artifacthub.io/changes: |
- kind: fixed
description: Certificate template was wrong leading to null
- kind: added
description: Option to customize sync wave delay
9 changes: 7 additions & 2 deletions charts/argo-cd/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ server:
port: 8080
frontendConfig:
redirectToHttps:
enabled: true
enabled: true
managedCertificate:
enabled: true
```
Expand Down Expand Up @@ -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.

### 7.6.0

Added support to override application controller sync wave delay.

### 7.0.0

We changed the type of `.Values.configs.clusterCredentials` from `list` to `object`.
Expand Down Expand Up @@ -337,7 +341,7 @@ Steps to roteate the secret when using the helm chart (bold step is additional t
```

### 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

Expand Down Expand Up @@ -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.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.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."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 / |
Expand Down
12 changes: 8 additions & 4 deletions charts/argo-cd/README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ server:
port: 8080
frontendConfig:
redirectToHttps:
enabled: true
enabled: true
managedCertificate:
enabled: true
```
Expand Down Expand Up @@ -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.

### 7.6.0

Added support to override application controller sync wave delay.

### 7.0.0

We changed the type of `.Values.configs.clusterCredentials` from `list` to `object`.
Expand Down Expand Up @@ -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`.)

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
kubectl delete secret argocd-redis -n <argocd namespace>
```
Expand All @@ -337,7 +341,7 @@ Steps to roteate the secret when using the helm chart (bold step is additional t
```

### 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

Expand Down Expand Up @@ -396,7 +400,7 @@ In case the manifests are updated before moving to Argo CD v2.8, the containers

### 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.

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`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,12 @@ spec:
name: argocd-cmd-params-cm
key: controller.ignore.normalizer.jq.timeout
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 }}
envFrom:
{{- toYaml . | nindent 10 }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,12 @@ spec:
name: argocd-cmd-params-cm
key: controller.ignore.normalizer.jq.timeout
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 }}
envFrom:
{{- toYaml . | nindent 10 }}
Expand Down
2 changes: 2 additions & 0 deletions charts/argo-cd/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,8 @@ configs:
controller.self.heal.timeout.seconds: 5
# -- Repo server RPC call timeout seconds.
controller.repo.server.timeout.seconds: 60
# -- Sync wave delay seconds to make delay between applications' sync
controller.sync.wave.delay: 2

## Server properties
# -- Run server without TLS
Expand Down

0 comments on commit 3b70e69

Please sign in to comment.