diff --git a/bitnami/argo-workflows/CHANGELOG.md b/bitnami/argo-workflows/CHANGELOG.md
index f52b799edf..2a3115b256 100644
--- a/bitnami/argo-workflows/CHANGELOG.md
+++ b/bitnami/argo-workflows/CHANGELOG.md
@@ -1,8 +1,12 @@
# Changelog
-## 9.0.3 (2024-06-05)
+## 9.1.0 (2024-06-05)
-* [bitnami/argo-workflows] Bump chart version ([#26764](https://github.com/bitnami/charts/pull/26764))
+* [bitnami/argo-workflows] Enable PodDisruptionBudgets ([#26595](https://github.com/bitnami/charts/pull/26595))
+
+## 9.0.3 (2024-06-05)
+
+* [bitnami/argo-workflows] Bump chart version (#26764) ([3ad8f3b](https://github.com/bitnami/charts/commit/3ad8f3bd66903b2f844698f8bdfd21d58c8a2385)), closes [#26764](https://github.com/bitnami/charts/issues/26764)
## 9.0.2 (2024-06-05)
diff --git a/bitnami/argo-workflows/Chart.yaml b/bitnami/argo-workflows/Chart.yaml
index 471c25e785..58c4a4c8d7 100644
--- a/bitnami/argo-workflows/Chart.yaml
+++ b/bitnami/argo-workflows/Chart.yaml
@@ -42,4 +42,4 @@ maintainers:
name: argo-workflows
sources:
- https://github.com/bitnami/charts/tree/main/bitnami/argo-workflows
-version: 9.0.3
+version: 9.1.0
diff --git a/bitnami/argo-workflows/README.md b/bitnami/argo-workflows/README.md
index cc6a1808c1..ac88e845e6 100644
--- a/bitnami/argo-workflows/README.md
+++ b/bitnami/argo-workflows/README.md
@@ -283,9 +283,9 @@ As an alternative, use one of the preset configurations for pod affinity, pod an
| `server.auth.sso.scopes` | Scopes requested from the SSO ID provider | `[]` |
| `server.clusterWorkflowTemplates.enabled` | Create ClusterRole and CRB for the controoler to access ClusterWorkflowTemplates | `true` |
| `server.clusterWorkflowTemplates.enableEditing` | Give the server permissions to edit ClusterWorkflowTemplates | `true` |
-| `server.pdb.enabled` | Create Pod Disruption Budget for the server component | `false` |
-| `server.pdb.minAvailable` | Sets the min number of pods availables for the Pod Disruption Budget | `1` |
-| `server.pdb.maxUnavailable` | Sets the max number of pods unavailable for the Pod Disruption Budget | `1` |
+| `server.pdb.enabled` | Create Pod Disruption Budget for the server component | `true` |
+| `server.pdb.minAvailable` | Sets the min number of pods availables for the Pod Disruption Budget | `""` |
+| `server.pdb.maxUnavailable` | Sets the max number of pods unavailable for the Pod Disruption Budget | `""` |
| `server.secure` | Run Argo server in secure mode | `false` |
| `server.baseHref` | Base href of the Argo Workflows deployment | `/` |
| `server.containerPorts.web` | argo Server container port | `2746` |
@@ -407,9 +407,9 @@ As an alternative, use one of the preset configurations for pod affinity, pod an
| `controller.workflowDefaults` | Default Workflow Values | `{}` |
| `controller.logging.level` | Level for the controller logging | `info` |
| `controller.logging.globalLevel` | Global logging level for the controller | `0` |
-| `controller.pdb.enabled` | Create Pod Disruption Budget for the controller component | `false` |
-| `controller.pdb.minAvailable` | Sets the min number of pods availables for the Pod Disruption Budget | `1` |
-| `controller.pdb.maxUnavailable` | Sets the max number of pods unavailable for the Pod Disruption Budget | `1` |
+| `controller.pdb.enabled` | Create Pod Disruption Budget for the controller component | `true` |
+| `controller.pdb.minAvailable` | Sets the min number of pods availables for the Pod Disruption Budget | `""` |
+| `controller.pdb.maxUnavailable` | Sets the max number of pods unavailable for the Pod Disruption Budget | `""` |
| `controller.serviceAccount.create` | Specifies whether a ServiceAccount should be created | `true` |
| `controller.serviceAccount.name` | Name of the service account to use. If not set and create is true, a name is generated using the fullname template. | `""` |
| `controller.serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `false` |
diff --git a/bitnami/argo-workflows/templates/controller/pdb.yaml b/bitnami/argo-workflows/templates/controller/pdb.yaml
index 52f67737f9..5e25580a41 100644
--- a/bitnami/argo-workflows/templates/controller/pdb.yaml
+++ b/bitnami/argo-workflows/templates/controller/pdb.yaml
@@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
-{{- $replicaCount := int .Values.controller.replicaCount }}
-{{- if and .Values.controller.pdb.enabled (gt $replicaCount 1) }}
+{{- if .Values.controller.pdb.enabled }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
@@ -21,12 +20,11 @@ metadata:
spec:
{{- if .Values.controller.pdb.minAvailable }}
minAvailable: {{ .Values.controller.pdb.minAvailable }}
- {{- else if .Values.controller.pdb.maxUnavailable }}
- maxUnavailable: {{ .Values.controller.pdb.maxUnavailable }}
- {{- else }}
- minAvailable: 0
{{- end }}
- {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.controller.podLabels .Values.commonLabels ) "context" . ) }}
+ {{- if or .Values.controller.pdb.maxUnavailable (not .Values.controller.pdb.minAvailable) }}
+ maxUnavailable: {{ .Values.controller.pdb.maxUnavailable | default 1 }}
+ {{- end }}
+ {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.controller.podLabels .Values.commonLabels $versionLabel ) "context" . ) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: controller
diff --git a/bitnami/argo-workflows/templates/server/pdb.yaml b/bitnami/argo-workflows/templates/server/pdb.yaml
index 081c3f5d6f..fc331f7950 100644
--- a/bitnami/argo-workflows/templates/server/pdb.yaml
+++ b/bitnami/argo-workflows/templates/server/pdb.yaml
@@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
-{{- $replicaCount := int .Values.server.replicaCount }}
-{{- if and .Values.server.enabled .Values.server.pdb.enabled (or (gt $replicaCount 1) .Values.server.autoscaling.enabled) -}}
+{{- if and .Values.server.enabled .Values.server.pdb.enabled -}}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
@@ -21,12 +20,11 @@ metadata:
spec:
{{- if .Values.server.pdb.minAvailable }}
minAvailable: {{ .Values.server.pdb.minAvailable }}
- {{- else if .Values.server.pdb.maxUnavailable }}
- maxUnavailable: {{ .Values.server.pdb.maxUnavailable }}
- {{- else }}
- minAvailable: 0
{{- end }}
- {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.server.podLabels .Values.commonLabels ) "context" . ) }}
+ {{- if or .Values.server.pdb.maxUnavailable ( not .Values.server.pdb.minAvailable ) }}
+ maxUnavailable: {{ .Values.server.pdb.maxUnavailable | default 1 }}
+ {{- end }}
+ {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.server.podLabels .Values.commonLabels $versionLabel ) "context" . ) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: server
diff --git a/bitnami/argo-workflows/values.yaml b/bitnami/argo-workflows/values.yaml
index d9c9fe0334..92b497fa57 100644
--- a/bitnami/argo-workflows/values.yaml
+++ b/bitnami/argo-workflows/values.yaml
@@ -289,9 +289,9 @@ server:
## @param server.pdb.maxUnavailable Sets the max number of pods unavailable for the Pod Disruption Budget
##
pdb:
- enabled: false
- minAvailable: 1
- maxUnavailable: 1
+ enabled: true
+ minAvailable: ""
+ maxUnavailable: ""
## Run the argo server in "secure" mode.
## Ref: https://argoproj.github.io/argo-workflows/tls/
## @param server.secure Run Argo server in secure mode
@@ -857,9 +857,9 @@ controller:
## @param controller.pdb.maxUnavailable Sets the max number of pods unavailable for the Pod Disruption Budget
##
pdb:
- enabled: false
- minAvailable: 1
- maxUnavailable: 1
+ enabled: true
+ minAvailable: ""
+ maxUnavailable: ""
## Controller Service Account
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
## @param controller.serviceAccount.create Specifies whether a ServiceAccount should be created