From 7c8017235230715c8d0467e6845703e7933c9032 Mon Sep 17 00:00:00 2001 From: HaveFun83 <38665716+HaveFun83@users.noreply.github.com> Date: Fri, 12 Sep 2025 13:42:03 +0200 Subject: [PATCH] [helm] add option to enable kubernetes probes --- helm/minio/Chart.yaml | 2 +- helm/minio/templates/deployment.yaml | 38 +++++++++++++++++ helm/minio/templates/statefulset.yaml | 38 +++++++++++++++++ helm/minio/values.yaml | 59 +++++++++++++++++++++++++++ 4 files changed, 136 insertions(+), 1 deletion(-) diff --git a/helm/minio/Chart.yaml b/helm/minio/Chart.yaml index 6ae6f1161..4bd833c90 100644 --- a/helm/minio/Chart.yaml +++ b/helm/minio/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 description: High Performance Object Storage name: minio -version: 5.4.0 +version: 5.5.0 appVersion: RELEASE.2024-12-18T13-15-44Z keywords: - minio diff --git a/helm/minio/templates/deployment.yaml b/helm/minio/templates/deployment.yaml index 4c57010fd..19d809b13 100644 --- a/helm/minio/templates/deployment.yaml +++ b/helm/minio/templates/deployment.yaml @@ -173,6 +173,44 @@ spec: securityContext: {{ toYaml . | nindent 12}} {{- end }} {{- end }} + {{- if .Values.customLivenessProbe }} + livenessProbe: {{- toYaml $.Values.customLivenessProbe | nindent 12 }} + {{- else if .Values.livenessProbe.enabled }} + livenessProbe: + httpGet: + path: /minio/health/live + port: {{ .Values.minioAPIPort }} + scheme: {{ ternary "HTTPS" "HTTP" .Values.tls.enabled | quote }} + initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }} + successThreshold: {{ .Values.livenessProbe.successThreshold }} + failureThreshold: {{ .Values.livenessProbe.failureThreshold }} + {{- end }} + {{- if .Values.customReadinessProbe }} + readinessProbe: {{- toYaml $.Values.customReadinessProbe | nindent 12 }} + {{- else if .Values.readinessProbe.enabled }} + readinessProbe: + tcpSocket: + port: {{ .Values.minioAPIPort }} + initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} + successThreshold: {{ .Values.readinessProbe.successThreshold }} + failureThreshold: {{ .Values.readinessProbe.failureThreshold }} + {{- end }} + {{- if .Values.customStartupProbe }} + startupProbe: {{- toYaml .Values.customStartupProbe | nindent 12 }} + {{- else if .Values.startupProbe.enabled }} + startupProbe: + tcpSocket: + port: {{ .Values.minioAPIPort }} + initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.startupProbe.periodSeconds }} + timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }} + successThreshold: {{ .Values.startupProbe.successThreshold }} + failureThreshold: {{ .Values.startupProbe.failureThreshold }} + {{- end }} {{- with .Values.extraContainers }} {{- if eq (typeOf .) "string" }} {{- tpl . $ | nindent 8 }} diff --git a/helm/minio/templates/statefulset.yaml b/helm/minio/templates/statefulset.yaml index d671eaaf4..764ed03ad 100644 --- a/helm/minio/templates/statefulset.yaml +++ b/helm/minio/templates/statefulset.yaml @@ -191,6 +191,44 @@ spec: securityContext: {{ toYaml . | nindent 12}} {{- end }} {{- end }} + {{- if .Values.customLivenessProbe }} + livenessProbe: {{- toYaml $.Values.customLivenessProbe | nindent 12 }} + {{- else if .Values.livenessProbe.enabled }} + livenessProbe: + httpGet: + path: /minio/health/live + port: {{ .Values.minioAPIPort }} + scheme: {{ ternary "HTTPS" "HTTP" .Values.tls.enabled | quote }} + initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }} + successThreshold: {{ .Values.livenessProbe.successThreshold }} + failureThreshold: {{ .Values.livenessProbe.failureThreshold }} + {{- end }} + {{- if .Values.customReadinessProbe }} + readinessProbe: {{- toYaml $.Values.customReadinessProbe | nindent 12 }} + {{- else if .Values.readinessProbe.enabled }} + readinessProbe: + tcpSocket: + port: {{ .Values.minioAPIPort }} + initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} + successThreshold: {{ .Values.readinessProbe.successThreshold }} + failureThreshold: {{ .Values.readinessProbe.failureThreshold }} + {{- end }} + {{- if .Values.customStartupProbe }} + startupProbe: {{- toYaml .Values.customStartupProbe | nindent 12 }} + {{- else if .Values.startupProbe.enabled }} + startupProbe: + tcpSocket: + port: {{ .Values.minioAPIPort }} + initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.startupProbe.periodSeconds }} + timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }} + successThreshold: {{ .Values.startupProbe.successThreshold }} + failureThreshold: {{ .Values.startupProbe.failureThreshold }} + {{- end }} {{- with .Values.extraContainers }} {{- if eq (typeOf .) "string" }} {{- tpl . $ | nindent 8 }} diff --git a/helm/minio/values.yaml b/helm/minio/values.yaml index 2ea13b10d..3fcbcc9ab 100644 --- a/helm/minio/values.yaml +++ b/helm/minio/values.yaml @@ -296,6 +296,65 @@ resources: requests: memory: 16Gi +## Configure extra options for liveness probe +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes +## livenessProbe.enabled Enable livenessProbe +## livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe +## livenessProbe.periodSeconds Period seconds for livenessProbe +## livenessProbe.timeoutSeconds Timeout seconds for livenessProbe +## livenessProbe.failureThreshold Failure threshold for livenessProbe +## livenessProbe.successThreshold Success threshold for livenessProbe +## +livenessProbe: + enabled: false + initialDelaySeconds: 5 + periodSeconds: 5 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 5 +## Configure extra options for readiness probe +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes +## readinessProbe.enabled Enable readinessProbe +## readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe +## readinessProbe.periodSeconds Period seconds for readinessProbe +## readinessProbe.timeoutSeconds Timeout seconds for readinessProbe +## readinessProbe.failureThreshold Failure threshold for readinessProbe +## readinessProbe.successThreshold Success threshold for readinessProbe +## +readinessProbe: + enabled: false + initialDelaySeconds: 5 + periodSeconds: 5 + timeoutSeconds: 1 + successThreshold: 1 + failureThreshold: 5 +## Configure extra options for startupProbe probe +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes +## startupProbe.enabled Enable startupProbe +## startupProbe.initialDelaySeconds Initial delay seconds for startupProbe +## startupProbe.periodSeconds Period seconds for startupProbe +## startupProbe.timeoutSeconds Timeout seconds for startupProbe +## startupProbe.failureThreshold Failure threshold for startupProbe +## startupProbe.successThreshold Success threshold for startupProbe +## +startupProbe: + enabled: false + initialDelaySeconds: 0 + periodSeconds: 10 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 60 + +## customLivenessProbe Override default liveness probe +## +customLivenessProbe: {} +## customReadinessProbe Override default readiness probe +## +customReadinessProbe: {} +## customStartupProbe Override default startup probe +## +customStartupProbe: {} + ## List of policies to be created after minio install ## ## In addition to default policies [readonly|readwrite|writeonly|consoleAdmin|diagnostics]