Skip to content

Commit

Permalink
feat(argo-workflows): Support livenessProbe to server (#3175)
Browse files Browse the repository at this point in the history
* feat(argo-workflows): Support readinessProbe to server

Signed-off-by: yu-croco <[email protected]>

* fix: readiness/liveness

Signed-off-by: yu-croco <[email protected]>

---------

Signed-off-by: yu-croco <[email protected]>
Co-authored-by: JM (Jason Meridth) <[email protected]>
  • Loading branch information
yu-croco and jmeridth authored Feb 24, 2025
1 parent 4f35664 commit cef816a
Show file tree
Hide file tree
Showing 5 changed files with 54 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.6.4
name: argo-workflows
description: A Helm chart for Argo Workflows
type: application
version: 0.45.7
version: 0.45.8
icon: https://argo-workflows.readthedocs.io/en/stable/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: fixed
description: Update the SSO configuration instructions to reflect the correct field name
- kind: added
description: Support livenessProbe to server
8 changes: 8 additions & 0 deletions charts/argo-workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,14 @@ Fields to note:
| server.ingress.paths | list | `["/"]` | List of ingress paths |
| server.ingress.tls | list | `[]` | Ingress TLS configuration |
| server.lifecycle | object | `{}` | Specify postStart and preStop lifecycle hooks for server container |
| server.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for server |
| server.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
| server.livenessProbe.httpGet.path | string | `"/"` | Http path to use for the liveness probe |
| server.livenessProbe.httpGet.port | int | `2746` | Http port to use for the liveness probe |
| server.livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
| server.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
| server.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed |
| server.livenessProbe.timeoutSeconds | int | `1` | Number of seconds after which the [probe] times out |
| server.loadBalancerClass | string | `""` | The class of the load balancer implementation |
| 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` |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
crds:
keep: false

server:
livenessProbe:
enabled: true
16 changes: 16 additions & 0 deletions charts/argo-workflows/templates/server/server-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,22 @@ spec:
{{- end }}
initialDelaySeconds: 10
periodSeconds: 20
{{- if .Values.server.livenessProbe.enabled }}
livenessProbe:
httpGet:
path: {{ .Values.server.livenessProbe.httpGet.path }}
port: {{ .Values.server.livenessProbe.httpGet.port }}
{{- if .Values.server.secure }}
scheme: HTTPS
{{- else }}
scheme: HTTP
{{- end }}
initialDelaySeconds: {{ .Values.server.livenessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.server.livenessProbe.timeoutSeconds }}
periodSeconds: {{ .Values.server.livenessProbe.periodSeconds }}
successThreshold: {{ .Values.server.livenessProbe.successThreshold }}
failureThreshold: {{ .Values.server.livenessProbe.failureThreshold }}
{{- end }}
env:
- name: IN_CLUSTER
value: "true"
Expand Down
21 changes: 21 additions & 0 deletions charts/argo-workflows/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -776,6 +776,27 @@ server:
# -- terminationGracePeriodSeconds for container lifecycle hook
terminationGracePeriodSeconds: 30

## livenessProbe for server
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
livenessProbe:
# -- Enable Kubernetes liveness probe for server
enabled: false
httpGet:
# -- Http port to use for the liveness probe
port: 2746
# -- Http path to use for the liveness probe
path: /
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
failureThreshold: 3
# -- Number of seconds after the container has started before [probe] is initiated
initialDelaySeconds: 10
# -- How often (in seconds) to perform the [probe]
periodSeconds: 10
# -- Number of seconds after which the [probe] times out
timeoutSeconds: 1
# -- Minimum consecutive successes for the [probe] to be considered successful after having failed
successThreshold: 1

# -- Array of extra K8s manifests to deploy
extraObjects: []
# - apiVersion: secrets-store.csi.x-k8s.io/v1
Expand Down

0 comments on commit cef816a

Please sign in to comment.