Skip to content

Commit

Permalink
[bitnami/argo-cd] Enable PodDisruptionBudgets (#26419)
Browse files Browse the repository at this point in the history
* [bitnami/argo-cd] Add PodDisruptionBudgets

Signed-off-by: Fran Mulero <[email protected]>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <[email protected]>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <[email protected]>

---------

Signed-off-by: Fran Mulero <[email protected]>
Signed-off-by: Bitnami Containers <[email protected]>
Co-authored-by: Bitnami Containers <[email protected]>
  • Loading branch information
fmulero and bitnami-bot authored May 30, 2024
1 parent c5dd038 commit c2b50f2
Show file tree
Hide file tree
Showing 11 changed files with 254 additions and 4 deletions.
8 changes: 6 additions & 2 deletions bitnami/argo-cd/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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>

Expand Down
2 changes: 1 addition & 1 deletion bitnami/argo-cd/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -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"
2 changes: 1 addition & 1 deletion bitnami/argo-cd/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 18 additions & 0 deletions bitnami/argo-cd/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down
28 changes: 28 additions & 0 deletions bitnami/argo-cd/templates/application-controller/pdb.yaml
Original file line number Diff line number Diff line change
@@ -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 }}
28 changes: 28 additions & 0 deletions bitnami/argo-cd/templates/applicationset/pdb.yaml
Original file line number Diff line number Diff line change
@@ -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 changes: 28 additions & 0 deletions bitnami/argo-cd/templates/dex/pdb.yaml
Original file line number Diff line number Diff line change
@@ -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 }}
28 changes: 28 additions & 0 deletions bitnami/argo-cd/templates/notifications/pdb.yaml
Original file line number Diff line number Diff line change
@@ -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 }}
Loading

0 comments on commit c2b50f2

Please sign in to comment.