diff --git a/charts/aws-efs-csi-driver/CHANGELOG.md b/charts/aws-efs-csi-driver/CHANGELOG.md index f34f51a23..df0f3c8eb 100644 --- a/charts/aws-efs-csi-driver/CHANGELOG.md +++ b/charts/aws-efs-csi-driver/CHANGELOG.md @@ -1,4 +1,10 @@ # Helm chart +# v3.2.5 +* Add configurable probe support for controller and node components + * Add configurable `livenessProbe`, `readinessProbe`, and `startupProbe` settings + * Maintain backward compatibility by using existing hardcoded values as defaults + * Enable optional readiness and startup probes that can be configured independently + * Support all standard Kubernetes probe configuration options (initialDelaySeconds, timeoutSeconds, periodSeconds, failureThreshold) # v3.2.4 * Bump app/driver version to `v2.1.13` # v3.2.3 diff --git a/charts/aws-efs-csi-driver/Chart.yaml b/charts/aws-efs-csi-driver/Chart.yaml index 73c131f40..2cc545087 100644 --- a/charts/aws-efs-csi-driver/Chart.yaml +++ b/charts/aws-efs-csi-driver/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: aws-efs-csi-driver -version: 3.2.4 +version: 3.2.5 appVersion: 2.1.13 kubeVersion: ">=1.17.0-0" description: "A Helm chart for AWS EFS CSI Driver" diff --git a/charts/aws-efs-csi-driver/templates/controller-deployment.yaml b/charts/aws-efs-csi-driver/templates/controller-deployment.yaml index 573e9e33f..53b104140 100644 --- a/charts/aws-efs-csi-driver/templates/controller-deployment.yaml +++ b/charts/aws-efs-csi-driver/templates/controller-deployment.yaml @@ -109,14 +109,22 @@ spec: - name: healthz containerPort: {{ .Values.controller.healthPort }} protocol: TCP + {{- with .Values.controller.livenessProbe }} livenessProbe: - httpGet: - path: /healthz - port: healthz - initialDelaySeconds: 10 - timeoutSeconds: 3 - periodSeconds: 10 - failureThreshold: 5 + {{- toYaml . | nindent 12 }} + {{- end }} + {{- if .Values.controller.readinessProbe }} + {{- if not (empty .Values.controller.readinessProbe) }} + readinessProbe: + {{- toYaml .Values.controller.readinessProbe | nindent 12 }} + {{- end }} + {{- end }} + {{- if .Values.controller.startupProbe }} + {{- if not (empty .Values.controller.startupProbe) }} + startupProbe: + {{- toYaml .Values.controller.startupProbe | nindent 12 }} + {{- end }} + {{- end }} {{- with .Values.controller.resources }} resources: {{ toYaml . | nindent 12 }} {{- end }} diff --git a/charts/aws-efs-csi-driver/templates/node-daemonset.yaml b/charts/aws-efs-csi-driver/templates/node-daemonset.yaml index 78677bd76..f9d5c8dda 100644 --- a/charts/aws-efs-csi-driver/templates/node-daemonset.yaml +++ b/charts/aws-efs-csi-driver/templates/node-daemonset.yaml @@ -120,14 +120,22 @@ spec: - name: healthz containerPort: {{ .Values.node.healthPort }} protocol: TCP + {{- with .Values.node.livenessProbe }} livenessProbe: - httpGet: - path: /healthz - port: healthz - initialDelaySeconds: 10 - timeoutSeconds: 3 - periodSeconds: 2 - failureThreshold: 5 + {{- toYaml . | nindent 12 }} + {{- end }} + {{- if .Values.node.readinessProbe }} + {{- if not (empty .Values.node.readinessProbe) }} + readinessProbe: + {{- toYaml .Values.node.readinessProbe | nindent 12 }} + {{- end }} + {{- end }} + {{- if .Values.node.startupProbe }} + {{- if not (empty .Values.node.startupProbe) }} + startupProbe: + {{- toYaml .Values.node.startupProbe | nindent 12 }} + {{- end }} + {{- end }} {{- with .Values.node.resources }} resources: {{ toYaml . | nindent 12 }} {{- end }} diff --git a/charts/aws-efs-csi-driver/values.yaml b/charts/aws-efs-csi-driver/values.yaml index f8a09d135..2eeed417e 100644 --- a/charts/aws-efs-csi-driver/values.yaml +++ b/charts/aws-efs-csi-driver/values.yaml @@ -106,6 +106,33 @@ controller: # eks.amazonaws.com/role-arn: arn:aws:iam::111122223333:role/efs-csi-role healthPort: 9909 regionalStsEndpoints: false + # Liveness probe configuration for the controller + livenessProbe: + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 10 + timeoutSeconds: 3 + periodSeconds: 10 + failureThreshold: 5 + # Readiness probe configuration for the controller (optional) + readinessProbe: {} + # httpGet: + # path: /healthz + # port: healthz + # initialDelaySeconds: 10 + # timeoutSeconds: 3 + # periodSeconds: 10 + # failureThreshold: 3 + # Startup probe configuration for the controller (optional) + startupProbe: {} + # httpGet: + # path: /healthz + # port: healthz + # initialDelaySeconds: 10 + # timeoutSeconds: 3 + # periodSeconds: 10 + # failureThreshold: 30 # Pod Disruption Budget podDisruptionBudget: enabled: false @@ -205,6 +232,33 @@ node: ## Enable if EKS IAM for SA is used # eks.amazonaws.com/role-arn: arn:aws:iam::111122223333:role/efs-csi-role healthPort: 9809 + # Liveness probe configuration for the node + livenessProbe: + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 10 + timeoutSeconds: 3 + periodSeconds: 2 + failureThreshold: 5 + # Readiness probe configuration for the node (optional) + readinessProbe: {} + # httpGet: + # path: /healthz + # port: healthz + # initialDelaySeconds: 10 + # timeoutSeconds: 3 + # periodSeconds: 2 + # failureThreshold: 3 + # Startup probe configuration for the node (optional) + startupProbe: {} + # httpGet: + # path: /healthz + # port: healthz + # initialDelaySeconds: 10 + # timeoutSeconds: 3 + # periodSeconds: 2 + # failureThreshold: 30 # securityContext on the node pod securityContext: # The node pod must be run as root to bind to the registration/driver sockets