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 apiVersion: v2
appVersion: v3.4.9 appVersion: v3.4.10
name: argo-workflows name: argo-workflows
description: A Helm chart for Argo Workflows description: A Helm chart for Argo Workflows
type: application type: application
@ -16,5 +16,7 @@ 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: added
description: Add support for overriding server livenessProbe, readinessProbe
- kind: added - kind: added
description: Add support for executor args 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.pathType | string | `"Prefix"` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` |
| server.ingress.paths | list | `["/"]` | List of ingress paths | | server.ingress.paths | list | `["/"]` | List of ingress paths |
| server.ingress.tls | list | `[]` | Ingress TLS configuration | | 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.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.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`) | | 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.podSecurityContext | object | `{}` | SecurityContext to set on the server pods |
| server.priorityClassName | string | `""` | Leverage a PriorityClass to ensure your pods survive resource shortages | | 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.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.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.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. |

View file

@ -65,6 +65,23 @@ spec:
ports: ports:
- name: web - name: web
containerPort: 2746 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: readinessProbe:
httpGet: httpGet:
path: / path: /
@ -76,6 +93,7 @@ spec:
{{- end }} {{- end }}
initialDelaySeconds: 10 initialDelaySeconds: 10
periodSeconds: 20 periodSeconds: 20
{{- end }}
env: env:
- name: IN_CLUSTER - name: IN_CLUSTER
value: "true" value: "true"

View file

@ -406,6 +406,12 @@ server:
tag: "" tag: ""
# -- optional map of annotations to be applied to the ui Deployment # -- optional map of annotations to be applied to the ui Deployment
deploymentAnnotations: {} 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 # -- optional map of annotations to be applied to the ui Pods
podAnnotations: {} podAnnotations: {}
# -- Optional labels to add to the UI pods # -- Optional labels to add to the UI pods