From 5a44308b18165d6d435db764afe5247ec14ed01a Mon Sep 17 00:00:00 2001 From: David Aparicio Date: Thu, 22 Jan 2026 15:50:57 +0100 Subject: [PATCH 1/3] feat(helm): permits deployment strategy to helm chart, thx to @Clement-Diot Signed-off-by: David Aparicio --- pkg/helm/README.md | 3 +++ pkg/helm/templates/deployment.yaml | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/pkg/helm/README.md b/pkg/helm/README.md index 4c7f3e0749d..41ec0cf6cf1 100644 --- a/pkg/helm/README.md +++ b/pkg/helm/README.md @@ -40,3 +40,6 @@ The chart should dump its version and appVersion in the Chart.yaml file every re | `ingress.enabled` | Ingress resource creation | `false` | | `ingress.hostname` | Ingress resource hostname | `"pgadmin4.local"` | | `ingress.tlsSecret` | Ingress tls secret name | `""` | +| `strategy.type` | Deployment strategy type (RollingUpdate or Recreate) | Kubernetes default (RollingUpdate) | +| `strategy.rollingUpdate.maxSurge` | Maximum number of pods that can be created over the desired replicas | Kubernetes default (25%) | +| `strategy.rollingUpdate.maxUnavailable` | Maximum number of pods that can be unavailable during the update | Kubernetes default (25%) | diff --git a/pkg/helm/templates/deployment.yaml b/pkg/helm/templates/deployment.yaml index d2dbd9e8f82..8d04cde1213 100644 --- a/pkg/helm/templates/deployment.yaml +++ b/pkg/helm/templates/deployment.yaml @@ -10,6 +10,15 @@ metadata: {{- end }} spec: replicas: {{ .Values.replicas }} + {{- if .Values.strategy }} + strategy: + type: {{ .Values.strategy.type }} + {{- if eq .Values.strategy.type "RollingUpdate" }} + rollingUpdate: + maxSurge: {{ .Values.strategy.rollingUpdate.maxSurge }} + maxUnavailable: {{ .Values.strategy.rollingUpdate.maxUnavailable }} + {{- end }} + {{- end }} selector: matchLabels: app: {{ default "pgadmin4" .Values.commonLabels.app }} From 1b68852876efb58d5e184bffaf595ff76c10cdcc Mon Sep 17 00:00:00 2001 From: David Aparicio Date: Thu, 22 Jan 2026 17:49:56 +0100 Subject: [PATCH 2/3] fix(helm): potential nil reference when rollingUpdate is not defined. Signed-off-by: David Aparicio --- pkg/helm/templates/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/helm/templates/deployment.yaml b/pkg/helm/templates/deployment.yaml index 8d04cde1213..befb55dd6b3 100644 --- a/pkg/helm/templates/deployment.yaml +++ b/pkg/helm/templates/deployment.yaml @@ -13,7 +13,7 @@ spec: {{- if .Values.strategy }} strategy: type: {{ .Values.strategy.type }} - {{- if eq .Values.strategy.type "RollingUpdate" }} + {{- if and (eq .Values.strategy.type "RollingUpdate") .Values.strategy.rollingUpdate }} rollingUpdate: maxSurge: {{ .Values.strategy.rollingUpdate.maxSurge }} maxUnavailable: {{ .Values.strategy.rollingUpdate.maxUnavailable }} From fab2c4a4bdfe1ee114a2b1ccd11ca87e06579fea Mon Sep 17 00:00:00 2001 From: David Aparicio Date: Tue, 27 Jan 2026 23:13:56 +0100 Subject: [PATCH 3/3] docs(helm): update values.yaml with deployment strategy options Signed-off-by: David Aparicio --- pkg/helm/values.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/helm/values.yaml b/pkg/helm/values.yaml index 87384148048..8d844af6c4c 100644 --- a/pkg/helm/values.yaml +++ b/pkg/helm/values.yaml @@ -25,6 +25,12 @@ extraDeploy: [] replicas: 1 +# strategy: +# type: RollingUpdate +# rollingUpdate: +# maxSurge: 25% +# maxUnavailable: 25% + containerPort: 5050 disablePostfix: true enableServiceLinks: false