feat(argo-rollouts): Support extraArgs for controller and dashboard (#978)

* feat(argo-rollouts): Support extraArgs for controller and dashboard

Adding support for additional arguments that are passed to the controller and the dashboard.
Following the pattern of other Argo charts by re-using the name `extraArgs` for the value.

Refs: https://github.com/argoproj/argo-helm/issues/969
Signed-off-by: Sebastian J <zeeman@zeeman.de>

* Update charts/argo-rollouts/templates/controller/deployment.yaml

Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
Signed-off-by: Sebastian J <zeeman@zeeman.de>

* Update charts/argo-rollouts/templates/dashboard/deployment.yaml

Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
Signed-off-by: Sebastian J <zeeman@zeeman.de>

* PR comments

Signed-off-by: Sebastian J <zeeman@zeeman.de>

* Fix newly added parameters in README

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

* Fix changelog keyword

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:
Sebastian J 2021-10-18 08:29:19 -04:00 committed by GitHub
parent a992c96053
commit 85f3039265
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 19 additions and 3 deletions

View file

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: "v1.1.0"
description: A Helm chart for Argo Rollouts
name: argo-rollouts
version: 2.2.1
version: 2.3.0
icon: https://argoproj.github.io/argo-rollouts/assets/logo.png
home: https://github.com/argoproj/argo-helm
maintainers:
@ -11,4 +11,4 @@ maintainers:
- name: jessesuen
annotations:
artifacthub.io/changes: |
- "[Changed]: Reorganize files in repo, move controller-specific things into subfolder."
- "[Added]: Support for extraArgs for controller and dashboard"

View file

@ -38,6 +38,7 @@ If dashboard is installed by `--set dashboard.enabled=true`, checkout the argo-r
| controller.image.registry | string | `quay.io` | Registry to use |
| controller.image.repository | string | `"argoproj/argo-rollouts"` | Repository to use |
| controller.image.tag | string | `""` | Overrides the image tag (default is the chart appVersion) |
| controller.extraArgs | list | `[]` | Additional arguments for the controller. A list of flags. |
| controller.resources | object | `{}` | Resource limits and requests for the controller pods. |
| controller.tolerations | list | `[]` | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) |
| controller.affinity | object | `{}` | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) |
@ -63,6 +64,7 @@ If dashboard is installed by `--set dashboard.enabled=true`, checkout the argo-r
| dashboard.image.registry | string | `quay.io` | Registry to use |
| dashboard.image.repository | string | `"argoproj/kubectl-argo-rollouts"` | Repository to use |
| dashboard.image.tag | string | `""` | Overrides the image tag (default is the chart appVersion) |
| dashboard.extraArgs | list | `[]` | Additional arguments for the dashboard. A list of flags. |
| dashboard.resources | object | `{}` | Resource limits and requests for the dashboard pods. |
| dashboard.tolerations | list | `[]` | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) |
| dashboard.affinity | object | `{}` | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) |

View file

@ -32,10 +32,13 @@ spec:
serviceAccountName: {{ include "argo-rollouts.serviceAccountName" . }}
containers:
- image: "{{ .Values.controller.image.registry }}/{{ .Values.controller.image.repository }}:{{ default .Chart.AppVersion .Values.controller.image.tag }}"
{{- if not .Values.clusterInstall }}
args:
{{- if not .Values.clusterInstall }}
- --namespaced
{{- end }}
{{- with .Values.controller.extraArgs }}
{{- toYaml . | nindent 8 }}
{{- end }}
imagePullPolicy: {{ .Values.controller.image.pullPolicy }}
name: argo-rollouts
ports:

View file

@ -34,6 +34,10 @@ spec:
containers:
- image: "{{ .Values.dashboard.image.registry }}/{{ .Values.dashboard.image.repository }}:{{ default .Chart.AppVersion .Values.dashboard.image.tag }}"
imagePullPolicy: {{ .Values.dashboard.image.pullPolicy }}
args:
{{- with .Values.dashboard.extraArgs }}
{{- toYaml . | nindent 8 }}
{{- end }}
name: argo-rollouts-dashboard
ports:
- containerPort: 3100

View file

@ -17,6 +17,10 @@ controller:
tag: ""
pullPolicy: IfNotPresent
## Additional command line arguments to pass to rollouts-controller
##
extraArgs: []
resources: {}
# limits:
# cpu: 100m
@ -110,6 +114,9 @@ dashboard:
repository: argoproj/kubectl-argo-rollouts
tag: ""
pullPolicy: IfNotPresent
## Additional command line arguments to pass to rollouts-dashboard
##
extraArgs: []
resources: {}
podSecurityContext:
runAsNonRoot: true