fix(argo-workflows): add configurable liveness+readiness probes to server

Signed-off-by: Gabe Conradi <gconradi@seatgeek.com>
This commit is contained in:
Gabe Conradi 2023-08-10 17:20:58 -04:00
parent 23708c6a30
commit dc5586a206
4 changed files with 29 additions and 1 deletions

View file

@ -1,5 +1,5 @@
apiVersion: v2
appVersion: v3.4.9
appVersion: v3.4.10
name: argo-workflows
description: A Helm chart for Argo Workflows
type: application
@ -16,5 +16,7 @@ annotations:
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
artifacthub.io/changes: |
- kind: added
description: Add support for overriding server livenessProbe, readinessProbe
- kind: added
description: Add support for executor args

View file

@ -277,6 +277,7 @@ Fields to note:
| server.ingress.pathType | string | `"Prefix"` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` |
| server.ingress.paths | list | `["/"]` | List of ingress paths |
| server.ingress.tls | list | `[]` | Ingress TLS configuration |
| server.livenessProbe | object | httpGet on 2746 | Configure liveness [probe] for the server |
| server.loadBalancerIP | string | `""` | Static IP address to assign to loadBalancer service type `LoadBalancer` |
| server.loadBalancerSourceRanges | list | `[]` | Source ranges to allow access to service from. Only applies to service type `LoadBalancer` |
| server.logging.format | string | `"text"` | Set the logging format (one of: `text`, `json`) |
@ -290,6 +291,7 @@ Fields to note:
| server.podSecurityContext | object | `{}` | SecurityContext to set on the server pods |
| server.priorityClassName | string | `""` | Leverage a PriorityClass to ensure your pods survive resource shortages |
| server.rbac.create | bool | `true` | Adds Role and RoleBinding for the server. |
| server.readinessProbe | object | httpGet on 2746 | Configure readiness [probe] for the server |
| server.replicas | int | `1` | The number of server pods to run |
| server.resources | object | `{}` | Resource limits and requests for the server |
| server.secure | bool | `false` | Run the argo server in "secure" mode. Configure this value instead of `--secure` in extraArgs. |

View file

@ -65,6 +65,23 @@ spec:
ports:
- name: web
containerPort: 2746
{{- with .Values.server.livenessProbe }}
livenessProbe:
{{- toYaml . | nindent 12 }}
{{- else }}
livenessProbe:
httpGet:
port: 2746
path: /healthz
failureThreshold: 3
initialDelaySeconds: 15
periodSeconds: 30
timeoutSeconds: 5
{{- end }}
{{- with .Values.server.readinessProbe }}
readinessProbe:
{{- toYaml . | nindent 12 }}
{{- else }}
readinessProbe:
httpGet:
path: /
@ -76,6 +93,7 @@ spec:
{{- end }}
initialDelaySeconds: 10
periodSeconds: 20
{{- end }}
env:
- name: IN_CLUSTER
value: "true"

View file

@ -406,6 +406,12 @@ server:
tag: ""
# -- optional map of annotations to be applied to the ui Deployment
deploymentAnnotations: {}
# -- Configure liveness [probe] for the server
# @default -- httpGet on 2746
livenessProbe: {}
# -- Configure readiness [probe] for the server
# @default -- httpGet on 2746
readinessProbe: {}
# -- optional map of annotations to be applied to the ui Pods
podAnnotations: {}
# -- Optional labels to add to the UI pods