feat(argo-workflows): Updated supported workers parameters (#2297)

* feat(argo-workflows): Updated supported workers parameters

Change
------
Based on argo-workflows [scaling documents](https://argoproj.github.io/argo-workflows/scaling/)
it's possible to set following workers values: `--workflow-workers`, `--workflow-ttl-workers`, `--pod-cleanup-workers`
and statring 3.5 `--cron-workflow-workers`. This change allows chart
consumers to take advatage of _all_ these parameters.

Testing
-------
```
helm upgrade argowf charts/argo-workflows -n argo --values charts/argo-workflows/values.yaml --create-namespace --debug | grep -A70 "Source: argo-workflows/templates/controller/workflow-controller-deployment.yaml" | grep workers

helm upgrade argowf charts/argo-workflows -n argo --values charts/argo-workflows/values.yaml --create-namespace --debug | grep -A70 "Source: argo-workflows/templates/controller/workflow-controller-deployment.yaml" | grep -A1 workers
          - "--workflow-workers"
          - "10"

helm upgrade argowf charts/argo-workflows -n argo --values charts/argo-workflows/values.yaml --create-namespace --debug | grep -A70 "Source: argo-workflows/templates/controller/workflow-controller-deployment.yaml" | grep -A1 workers
          - "--workflow-workers"
          - "10"
          - "--workflow-ttl-workers"
          - "20"

helm upgrade argowf charts/argo-workflows -n argo --values charts/argo-workflows/values.yaml --create-namespace --debug | grep -A70 "Source: argo-workflows/templates/controller/workflow-controller-deployment.yaml" | grep -A1 workers
          - "--workflow-workers"
          - "10"
          - "--workflow-ttl-workers"
          - "20"
          - "--pod-cleanup-workers"
          - "30"

helm upgrade argowf charts/argo-workflows -n argo --values charts/argo-workflows/values.yaml --create-namespace --debug | grep -A70 "Source: argo-workflows/templates/controller/workflow-controller-deployment.yaml" | grep -A1 workers
          - "--workflow-workers"
          - "10"
          - "--workflow-ttl-workers"
          - "20"
          - "--pod-cleanup-workers"
          - "30"
          - "--cron-workflow-workers"
          - "40"
```

Signed-off-by: Evgeny Khatko <owen.tko@gmail.com>
Signed-off-by: Evgeny Khatko <ekhatko@paypal.com>

* Addressing PR feedback.

Signed-off-by: Evgeny Khatko <ekhatko@paypal.com>

* newline

Signed-off-by: Tim Collins <45351296+tico24@users.noreply.github.com>

* Update Chart.yaml

Signed-off-by: Tim Collins <45351296+tico24@users.noreply.github.com>

* Update Chart.yaml

Signed-off-by: Tim Collins <45351296+tico24@users.noreply.github.com>

---------

Signed-off-by: Evgeny Khatko <owen.tko@gmail.com>
Signed-off-by: Evgeny Khatko <ekhatko@paypal.com>
Signed-off-by: Tim Collins <45351296+tico24@users.noreply.github.com>
Co-authored-by: Evgeny Khatko <ekhatko@paypal.com>
Co-authored-by: Tim Collins <45351296+tico24@users.noreply.github.com>
This commit is contained in:
Ujin 2023-10-24 08:34:49 -04:00 committed by GitHub
parent 14e2e32bed
commit a67424d0c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 25 additions and 3 deletions

View file

@ -142,6 +142,7 @@ Fields to note:
| controller.affinity | object | `{}` | Assign custom [affinity] rules |
| controller.clusterWorkflowTemplates.enabled | bool | `true` | Create a ClusterRole and CRB for the controller to access ClusterWorkflowTemplates. |
| controller.columns | list | `[]` | Configure Argo Server to show custom [columns] |
| controller.cronWorkflowWorkers | string | `nil` | Number of cron workflow workers Only valid for 3.5+ |
| controller.deploymentAnnotations | object | `{}` | deploymentAnnotations is an optional map of annotations to be applied to the controller Deployment |
| controller.extraArgs | list | `[]` | Extra arguments to be added to the controller |
| controller.extraContainers | list | `[]` | Extra containers to be added to the controller deployment |
@ -182,6 +183,7 @@ Fields to note:
| controller.pdb.enabled | bool | `false` | Configure [Pod Disruption Budget] for the controller pods |
| controller.persistence | object | `{}` | enable persistence using postgres |
| controller.podAnnotations | object | `{}` | podAnnotations is an optional map of annotations to be applied to the controller Pods |
| controller.podCleanupWorkers | string | `nil` | Number of pod cleanup workers |
| controller.podGCDeleteDelayDuration | string | `5s` (Argo Workflows default) | The duration in seconds before the pods in the GC queue get deleted. A zero value indicates that the pods will be deleted immediately. |
| controller.podGCGracePeriodSeconds | string | `30` seconds (Kubernetes default) | Specifies the duration in seconds before a terminating pod is forcefully killed. A zero value indicates that the pod will be forcefully terminated immediately. |
| controller.podLabels | object | `{}` | Optional labels to add to the controller pods |
@ -221,6 +223,7 @@ Fields to note:
| controller.workflowDefaults | object | `{}` | Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level. Only valid for 2.7+ |
| controller.workflowNamespaces | list | `["default"]` | Specify all namespaces where this workflow controller instance will manage workflows. This controls where the service account and RBAC resources will be created. Only valid when singleNamespace is false. |
| controller.workflowRestrictions | object | `{}` | Restricts the Workflows that the controller will process. Only valid for 2.9+ |
| controller.workflowTTLWorkers | string | `nil` | Number of workflow TTL workers |
| controller.workflowWorkers | string | `nil` | Number of workflow workers |
### Workflow Main Container