[bitnami/argo-cd] Enable PodDisruptionBudgets (#26419)

* [bitnami/argo-cd] Add PodDisruptionBudgets

Signed-off-by: Fran Mulero <fmulero@vmware.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

---------

Signed-off-by: Fran Mulero <fmulero@vmware.com>
Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>
Co-authored-by: Bitnami Containers <bitnami-bot@vmware.com>
This commit is contained in:
Fran Mulero
2024-05-30 07:45:58 +00:00
committed by GitHub
co-authored by Bitnami Containers
parent c5dd038b10
commit c2b50f25b5
11 changed files with 254 additions and 4 deletions
+6 -2
View File
@@ -1,8 +1,12 @@
# Changelog
## 6.3.4 (2024-05-28)
## 6.4.0 (2024-05-29)
* [bitnami/argo-cd] Define port for notifications probes ([#26485](https://github.com/bitnami/charts/pull/26485))
* [bitnami/argo-cd] Enable PodDisruptionBudgets ([#26419](https://github.com/bitnami/charts/pull/26419))
## <small>6.3.4 (2024-05-28)</small>
* [bitnami/argo-cd] Define port for notifications probes (#26485) ([4500caf](https://github.com/bitnami/charts/commit/4500cafc0aab84295f85bd839978929e5dfc8773)), closes [#26485](https://github.com/bitnami/charts/issues/26485)
## <small>6.3.3 (2024-05-24)</small>
+1 -1
View File
@@ -6,4 +6,4 @@ dependencies:
repository: oci://registry-1.docker.io/bitnamicharts
version: 2.19.3
digest: sha256:76d6e4b79e82a6a2fe28129a71f45a81f2162f3457202673a91e934489a40aad
generated: "2024-05-24T14:31:26.856603768Z"
generated: "2024-05-24T17:20:55.088121+02:00"
+1 -1
View File
@@ -39,4 +39,4 @@ maintainers:
name: argo-cd
sources:
- https://github.com/bitnami/charts/tree/main/bitnami/argo-cd
version: 6.3.4
version: 6.4.0
+18
View File
@@ -396,6 +396,9 @@ As an alternative, use one of the preset configurations for pod affinity, pod an
| `controller.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the Argo CD container(s) | `[]` |
| `controller.sidecars` | Add additional sidecar containers to the Argo CD pod(s) | `[]` |
| `controller.initContainers` | Add additional init containers to the Argo CD pod(s) | `[]` |
| `controller.pdb.create` | Enable/disable a Pod Disruption Budget creation | `true` |
| `controller.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `controller.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `controller.pdb.minAvailable` and `controller.pdb.maxUnavailable` are empty. | `""` |
### Argo CD ApplicationSet controller parameters
@@ -516,6 +519,9 @@ As an alternative, use one of the preset configurations for pod affinity, pod an
| `applicationSet.webhook.ingress.extraPaths` | Extra paths for the Argo CD applicationSet ingress | `[]` |
| `applicationSet.webhook.ingress.extraTls` | Extra TLS configuration for the Argo CD applicationSet ingress | `[]` |
| `applicationSet.webhook.ingress.tls` | Ingress TLS configuration | `[]` |
| `applicationSet.pdb.create` | Enable/disable a Pod Disruption Budget creation | `true` |
| `applicationSet.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `applicationSet.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `controller.pdb.minAvailable` and `controller.pdb.maxUnavailable` are empty. | `""` |
### Argo CD notifications controller parameters
@@ -708,6 +714,9 @@ As an alternative, use one of the preset configurations for pod affinity, pod an
| `notifications.bots.slack.extraEnvVars` | Array with extra environment variables to add to Argo CD Slack bot nodes | `[]` |
| `notifications.bots.slack.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for Argo CD Slack bot nodes | `""` |
| `notifications.bots.slack.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for Argo CD Slack bot nodes | `""` |
| `notifications.pdb.create` | Enable/disable a Pod Disruption Budget creation | `true` |
| `notifications.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `notifications.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `notifications.pdb.minAvailable` and `notifications.pdb.maxUnavailable` are empty. | `""` |
### Argo CD server Parameters
@@ -868,6 +877,9 @@ As an alternative, use one of the preset configurations for pod affinity, pod an
| `server.serviceAccount.name` | The name of the ServiceAccount to use. | `""` |
| `server.serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `false` |
| `server.serviceAccount.annotations` | Annotations for service account. Evaluated as a template. Only used if `create` is `true`. | `{}` |
| `server.pdb.create` | Enable/disable a Pod Disruption Budget creation | `true` |
| `server.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `server.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `server.pdb.minAvailable` and `server.pdb.maxUnavailable` are empty. | `""` |
### Argo CD repo server Parameters
@@ -993,6 +1005,9 @@ As an alternative, use one of the preset configurations for pod affinity, pod an
| `repoServer.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the Argo CD repo server container(s) | `[]` |
| `repoServer.sidecars` | Add additional sidecar containers to the Argo CD repo server pod(s) | `[]` |
| `repoServer.initContainers` | Add additional init containers to the Argo CD repo server pod(s) | `[]` |
| `repoServer.pdb.create` | Enable/disable a Pod Disruption Budget creation | `true` |
| `repoServer.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `repoServer.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `repoServer.pdb.minAvailable` and `repoServer.pdb.maxUnavailable` are empty. | `""` |
### Dex Parameters
@@ -1121,6 +1136,9 @@ As an alternative, use one of the preset configurations for pod affinity, pod an
| `dex.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the Dex container(s) | `[]` |
| `dex.sidecars` | Add additional sidecar containers to the Dex pod(s) | `[]` |
| `dex.initContainers` | Add additional init containers to the Dex pod(s) | `[]` |
| `dex.pdb.create` | Enable/disable a Pod Disruption Budget creation | `true` |
| `dex.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `dex.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `dex.pdb.minAvailable` and `dex.pdb.maxUnavailable` are empty. | `""` |
### Shared config for Argo CD components
@@ -0,0 +1,28 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if .Values.controller.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ include "argocd.application-controller" . }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: controller
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.controller.pdb.minAvailable }}
minAvailable: {{ .Values.controller.pdb.minAvailable }}
{{- end }}
{{- 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) "context" .) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: controller
{{- end }}
@@ -0,0 +1,28 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if .Values.applicationSet.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ include "argocd.applicationSet" . }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: applicationSet
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.applicationSet.pdb.minAvailable }}
minAvailable: {{ .Values.applicationSet.pdb.minAvailable }}
{{- end }}
{{- if or .Values.applicationSet.pdb.maxUnavailable (not .Values.applicationSet.pdb.minAvailable) }}
maxUnavailable: {{ .Values.applicationSet.pdb.maxUnavailable | default 1 }}
{{- end }}
{{- $podLabels := include "common.tplvalues.merge" (dict "values" (list .Values.applicationSet.podLabels .Values.commonLabels) "context" .) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: applicationSet
{{- end }}
+28
View File
@@ -0,0 +1,28 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if .Values.dex.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ include "argocd.dex" . }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: dex
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.dex.pdb.minAvailable }}
minAvailable: {{ .Values.dex.pdb.minAvailable }}
{{- end }}
{{- if or .Values.dex.pdb.maxUnavailable (not .Values.dex.pdb.minAvailable) }}
maxUnavailable: {{ .Values.dex.pdb.maxUnavailable | default 1 }}
{{- end }}
{{- $podLabels := include "common.tplvalues.merge" (dict "values" (list .Values.dex.podLabels .Values.commonLabels) "context" .) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: dex
{{- end }}
@@ -0,0 +1,28 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if .Values.notifications.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ include "argocd.notifications" . }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: notifications
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.notifications.pdb.minAvailable }}
minAvailable: {{ .Values.notifications.pdb.minAvailable }}
{{- end }}
{{- if or .Values.notifications.pdb.maxUnavailable (not .Values.notifications.pdb.minAvailable) }}
maxUnavailable: {{ .Values.notifications.pdb.maxUnavailable | default 1 }}
{{- end }}
{{- $podLabels := include "common.tplvalues.merge" (dict "values" (list .Values.notifications.podLabels .Values.commonLabels) "context" .) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: notifications
{{- end }}
@@ -0,0 +1,28 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if and .Values.repoServer.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ include "argocd.repo-server" . }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: repoServer
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.repoServer.pdb.minAvailable }}
minAvailable: {{ .Values.repoServer.pdb.minAvailable }}
{{- end }}
{{- if or .Values.repoServer.pdb.maxUnavailable (not .Values.repoServer.pdb.minAvailable) }}
maxUnavailable: {{ .Values.repoServer.pdb.maxUnavailable | default 1 }}
{{- end }}
{{- $podLabels := include "common.tplvalues.merge" (dict "values" (list .Values.repoServer.podLabels .Values.commonLabels) "context" .) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: repoServer
{{- end }}
+28
View File
@@ -0,0 +1,28 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if and .Values.server.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ include "argocd.server" . }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: server
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.server.pdb.minAvailable }}
minAvailable: {{ .Values.server.pdb.minAvailable }}
{{- end }}
{{- 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) "context" .) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: server
{{- end }}
+60
View File
@@ -633,6 +633,16 @@ controller:
## command: ['sh', '-c', 'echo "hello world"']
##
initContainers: []
## Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param controller.pdb.create Enable/disable a Pod Disruption Budget creation
## @param controller.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
## @param controller.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `controller.pdb.minAvailable` and `controller.pdb.maxUnavailable` are empty.
##
pdb:
create: true
minAvailable: ""
maxUnavailable: ""
## @section Argo CD ApplicationSet controller parameters
## ApplicationSet controller
@@ -1124,6 +1134,16 @@ applicationSet:
## @param applicationSet.webhook.ingress.tls Ingress TLS configuration
##
tls: []
## Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param applicationSet.pdb.create Enable/disable a Pod Disruption Budget creation
## @param applicationSet.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
## @param applicationSet.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `controller.pdb.minAvailable` and `controller.pdb.maxUnavailable` are empty.
##
pdb:
create: true
minAvailable: ""
maxUnavailable: ""
## @section Argo CD notifications controller parameters
## notifications controller
@@ -1886,6 +1906,16 @@ notifications:
## @param notifications.bots.slack.extraEnvVarsSecret Name of existing Secret containing extra env vars for Argo CD Slack bot nodes
##
extraEnvVarsSecret: ""
## Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param notifications.pdb.create Enable/disable a Pod Disruption Budget creation
## @param notifications.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
## @param notifications.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `notifications.pdb.minAvailable` and `notifications.pdb.maxUnavailable` are empty.
##
pdb:
create: true
minAvailable: ""
maxUnavailable: ""
## @section Argo CD server Parameters
## Argo CD server configuration
@@ -2684,6 +2714,16 @@ server:
## @param server.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
##
annotations: {}
## Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param server.pdb.create Enable/disable a Pod Disruption Budget creation
## @param server.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
## @param server.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `server.pdb.minAvailable` and `server.pdb.maxUnavailable` are empty.
##
pdb:
create: true
minAvailable: ""
maxUnavailable: ""
## @section Argo CD repo server Parameters
## Argo CD repository server configuration
@@ -3187,6 +3227,16 @@ repoServer:
## command: ['sh', '-c', 'echo "hello world"']
##
initContainers: []
## Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param repoServer.pdb.create Enable/disable a Pod Disruption Budget creation
## @param repoServer.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
## @param repoServer.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `repoServer.pdb.minAvailable` and `repoServer.pdb.maxUnavailable` are empty.
##
pdb:
create: true
minAvailable: ""
maxUnavailable: ""
## @section Dex Parameters
## Dex configuration
@@ -3710,6 +3760,16 @@ dex:
## command: ['sh', '-c', 'echo "hello world"']
##
initContainers: []
## Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param dex.pdb.create Enable/disable a Pod Disruption Budget creation
## @param dex.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
## @param dex.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `dex.pdb.minAvailable` and `dex.pdb.maxUnavailable` are empty.
##
pdb:
create: true
minAvailable: ""
maxUnavailable: ""
## @section Shared config for Argo CD components
config:
## @param config.knownHosts [string] Known hosts to be added to the known hosts list by default. Check the values to see the default value