fix(argo-workflows): Add parameters for tuning revisionHistoryLimit and emptyDir volumes (#2346)

This commit is contained in:
Matt Dainty 2023-11-15 13:17:09 +00:00 committed by GitHub
parent d98747224e
commit 737b9724de
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 16 additions and 4 deletions

View file

@ -3,7 +3,7 @@ appVersion: v3.5.1
name: argo-workflows name: argo-workflows
description: A Helm chart for Argo Workflows description: A Helm chart for Argo Workflows
type: application type: application
version: 0.39.0 version: 0.39.1
icon: https://argoproj.github.io/argo-workflows/assets/logo.png icon: https://argoproj.github.io/argo-workflows/assets/logo.png
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
sources: sources:
@ -16,5 +16,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: Accept multi auth mode for server. description: Add parameters for tuning revisionHistoryLimit and emptyDir volumes.

View file

@ -197,6 +197,7 @@ Fields to note:
| controller.resourceRateLimit | object | `{}` | Globally limits the rate at which pods are created. This is intended to mitigate flooding of the Kubernetes API server by workflows with a large amount of parallel nodes. | | controller.resourceRateLimit | object | `{}` | Globally limits the rate at which pods are created. This is intended to mitigate flooding of the Kubernetes API server by workflows with a large amount of parallel nodes. |
| controller.resources | object | `{}` | Resource limits and requests for the controller | | controller.resources | object | `{}` | Resource limits and requests for the controller |
| controller.retentionPolicy | object | `{}` | Workflow retention by number of workflows | | controller.retentionPolicy | object | `{}` | Workflow retention by number of workflows |
| controller.revisionHistoryLimit | int | `10` | The number of revisions to keep. |
| controller.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true}` | the controller container's securityContext | | controller.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true}` | the controller container's securityContext |
| controller.serviceAccount.annotations | object | `{}` | Annotations applied to created service account | | controller.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
| controller.serviceAccount.create | bool | `true` | Create a service account for the controller | | controller.serviceAccount.create | bool | `true` | Create a service account for the controller |
@ -304,6 +305,7 @@ Fields to note:
| server.rbac.create | bool | `true` | Adds Role and RoleBinding for the server. | | server.rbac.create | bool | `true` | Adds Role and RoleBinding for the server. |
| server.replicas | int | `1` | The number of server pods to run | | server.replicas | int | `1` | The number of server pods to run |
| server.resources | object | `{}` | Resource limits and requests for the server | | server.resources | object | `{}` | Resource limits and requests for the server |
| server.revisionHistoryLimit | int | `10` | The number of revisions to keep. |
| server.secure | bool | `false` | Run the argo server in "secure" mode. Configure this value instead of `--secure` in extraArgs. | | server.secure | bool | `false` | Run the argo server in "secure" mode. Configure this value instead of `--secure` in extraArgs. |
| server.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":false,"runAsNonRoot":true}` | Servers container-level security context | | server.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":false,"runAsNonRoot":true}` | Servers container-level security context |
| server.serviceAccount.annotations | object | `{}` | Annotations applied to created service account | | server.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
@ -331,6 +333,7 @@ Fields to note:
| server.sso.scopes | list | `[]` | Scopes requested from the SSO ID provider | | server.sso.scopes | list | `[]` | Scopes requested from the SSO ID provider |
| server.sso.sessionExpiry | string | `""` | Define how long your login is valid for (in hours) | | server.sso.sessionExpiry | string | `""` | Define how long your login is valid for (in hours) |
| server.sso.userInfoPath | string | `""` | Specify the user info endpoint that contains the groups claim | | server.sso.userInfoPath | string | `""` | Specify the user info endpoint that contains the groups claim |
| server.tmpVolume | object | `{"emptyDir":{}}` | Volume to be mounted in Pods for temporary files. |
| server.tolerations | list | `[]` | [Tolerations] for use with node taints | | server.tolerations | list | `[]` | [Tolerations] for use with node taints |
| server.topologySpreadConstraints | list | `[]` | Assign custom [TopologySpreadConstraints] rules to the argo server | | server.topologySpreadConstraints | list | `[]` | Assign custom [TopologySpreadConstraints] rules to the argo server |
| server.volumeMounts | list | `[]` | Additional volume mounts to the server main container. | | server.volumeMounts | list | `[]` | Additional volume mounts to the server main container. |

View file

@ -12,6 +12,7 @@ metadata:
{{- end }} {{- end }}
spec: spec:
replicas: {{ .Values.controller.replicas }} replicas: {{ .Values.controller.replicas }}
revisionHistoryLimit: {{ .Values.controller.revisionHistoryLimit }}
selector: selector:
matchLabels: matchLabels:
{{- include "argo-workflows.selectorLabels" (dict "context" . "name" .Values.controller.name) | nindent 6 }} {{- include "argo-workflows.selectorLabels" (dict "context" . "name" .Values.controller.name) | nindent 6 }}

View file

@ -15,6 +15,7 @@ spec:
{{- if not .Values.server.autoscaling.enabled }} {{- if not .Values.server.autoscaling.enabled }}
replicas: {{ .Values.server.replicas }} replicas: {{ .Values.server.replicas }}
{{- end }} {{- end }}
revisionHistoryLimit: {{ .Values.server.revisionHistoryLimit }}
selector: selector:
matchLabels: matchLabels:
{{- include "argo-workflows.selectorLabels" (dict "context" . "name" .Values.server.name) | nindent 6 }} {{- include "argo-workflows.selectorLabels" (dict "context" . "name" .Values.server.name) | nindent 6 }}
@ -112,7 +113,7 @@ spec:
{{- end }} {{- end }}
volumes: volumes:
- name: tmp - name: tmp
emptyDir: {} {{- toYaml .Values.server.tmpVolume | nindent 8 }}
{{- with .Values.server.volumes }} {{- with .Values.server.volumes }}
{{- toYaml . | nindent 6}} {{- toYaml . | nindent 6}}
{{- end }} {{- end }}

View file

@ -295,6 +295,8 @@ controller:
volumes: [] volumes: []
# -- The number of controller pods to run # -- The number of controller pods to run
replicas: 1 replicas: 1
# -- The number of revisions to keep.
revisionHistoryLimit: 10
pdb: pdb:
# -- Configure [Pod Disruption Budget] for the controller pods # -- Configure [Pod Disruption Budget] for the controller pods
@ -472,6 +474,8 @@ server:
resources: {} resources: {}
# -- The number of server pods to run # -- The number of server pods to run
replicas: 1 replicas: 1
# -- The number of revisions to keep.
revisionHistoryLimit: 10
## Argo Server Horizontal Pod Autoscaler ## Argo Server Horizontal Pod Autoscaler
autoscaling: autoscaling:
# -- Enable Horizontal Pod Autoscaler ([HPA]) for the Argo Server # -- Enable Horizontal Pod Autoscaler ([HPA]) for the Argo Server
@ -555,6 +559,9 @@ server:
# -- Set the logging format (one of: `text`, `json`) # -- Set the logging format (one of: `text`, `json`)
format: "text" format: "text"
# -- Volume to be mounted in Pods for temporary files.
tmpVolume:
emptyDir: {}
# -- Additional volume mounts to the server main container. # -- Additional volume mounts to the server main container.
volumeMounts: [] volumeMounts: []
# -- Additional volumes to the server pod. # -- Additional volumes to the server pod.