Skip to content

Commit

Permalink
docs(argo-workflows): add an HA section (#2183)
Browse files Browse the repository at this point in the history
* feat(argo-workflows): add a sample HA config

- a `values-ha.yaml` as an example for how one would set-up HA according to the Argo Workflows docs

Signed-off-by: Anton Gilgur <[email protected]>

* docs(argo-workflows): add an HA section

- plus add a test for HA, which the docs link to as an example
- link back to [upstream docs](https://argoproj.github.io/argo-workflows/high-availability/) as well

- follow the same basic structure as the [Argo CD chart for HA](https://github.com/argoproj/argo-helm/blob/3e35b0c7f7d758d553b17f369cc5940484ef5d89/charts/argo-cd/README.md?plain=1#L17)
  - as asked in review

Signed-off-by: Anton Gilgur <[email protected]>

---------

Signed-off-by: Anton Gilgur <[email protected]>
Signed-off-by: Anton Gilgur <[email protected]>
Co-authored-by: Aikawa <[email protected]>
  • Loading branch information
agilgur5 and yu-croco authored Sep 10, 2023
1 parent 366114b commit db76bbe
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 3 deletions.
6 changes: 3 additions & 3 deletions charts/argo-workflows/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ appVersion: v3.4.11
name: argo-workflows
description: A Helm chart for Argo Workflows
type: application
version: 0.33.2
version: 0.33.3
icon: https://argoproj.github.io/argo-workflows/assets/logo.png
home: https://github.com/argoproj/argo-helm
sources:
Expand All @@ -16,5 +16,5 @@ annotations:
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
artifacthub.io/changes: |
- kind: changed
description: Upgrade Argo Workflows to v3.4.11
- kind: fixed
description: Add HA docs and example
5 changes: 5 additions & 0 deletions charts/argo-workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,11 @@ For full list of changes, please check ArtifactHub [changelog].

## Usage Notes

### High Availability

This chart installs the non-HA version of Argo Workflows by default. If you want to run in HA mode, you can use [these example values](ci/ha-values.yaml) as a starting point.
Please see the upstream [Operator Manual's High Availability page](https://argoproj.github.io/argo-workflows/high-availability/) to understand how to scale Argo Workflows in depth.

### Workflow controller

This chart defaults to setting the `controller.instanceID.enabled` to `false` now, which means the deployed controller will act upon any workflow deployed to the cluster. If you would like to limit the behavior and deploy multiple workflow controllers, please use the `controller.instanceID.enabled` attribute along with one of its configuration options to set the `instanceID` of the workflow controller to be properly scoped for your needs.
Expand Down
5 changes: 5 additions & 0 deletions charts/argo-workflows/README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,11 @@ For full list of changes, please check ArtifactHub [changelog].

## Usage Notes

### High Availability

This chart installs the non-HA version of Argo Workflows by default. If you want to run in HA mode, you can use [these example values](ci/ha-values.yaml) as a starting point.
Please see the upstream [Operator Manual's High Availability page](https://argoproj.github.io/argo-workflows/high-availability/) to understand how to scale Argo Workflows in depth.

### Workflow controller

This chart defaults to setting the `controller.instanceID.enabled` to `false` now, which means the deployed controller will act upon any workflow deployed to the cluster. If you would like to limit the behavior and deploy multiple workflow controllers, please use the `controller.instanceID.enabled` attribute along with one of its configuration options to set the `instanceID` of the workflow controller to be properly scoped for your needs.
Expand Down
23 changes: 23 additions & 0 deletions charts/argo-workflows/ci/ha-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Sample values for High Availability configuration, following https://argoproj.github.io/argo-workflows/high-availability/

controller:
# in v3.0+, a second controller can be ran as a hot-standby: https://argoproj.github.io/argo-workflows/high-availability/#workflow-controller
replicas: 2 # should be strictly greater than PDB minAvailable
# enable PDB with at least one Pod
pdb:
# -- Configure [Pod Disruption Budget] for the controller pods
enabled: true
minAvailable: 1

server:
# enable HPA with at least two Pods
autoscaling:
# -- Enable Horizontal Pod Autoscaler ([HPA]) for the Argo Server
enabled: true
# -- Minimum number of replicas for the Argo Server [HPA]
minReplicas: 2 # should be strictly greater than PDB minAvailable
# enable PDB with at least one Pod
pdb:
# -- Configure [Pod Disruption Budget] for the controller pods
enabled: true
minAvailable: 1

0 comments on commit db76bbe

Please sign in to comment.