[bitnami/kubeapps] Enable PodDisruptionBudgets (#26505)

* [bitnami/kubeapps] Enable 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>

* Disable PDBs temporary

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-06-04 12:01:53 +02:00
committed by GitHub
parent c645be6d37
commit 9e6a2b3cd6
8 changed files with 180 additions and 3 deletions

View File

@@ -1,8 +1,12 @@
# Changelog
## 15.1.2 (2024-06-03)
## 15.2.0 (2024-06-03)
* [bitnami/kubeapps] Release 15.1.2 ([#26573](https://github.com/bitnami/charts/pull/26573))
* [bitnami/kubeapps] Enable PodDisruptionBudgets ([#26505](https://github.com/bitnami/charts/pull/26505))
## <small>15.1.2 (2024-06-03)</small>
* [bitnami/kubeapps] Release 15.1.2 (#26573) ([a1ac42b](https://github.com/bitnami/charts/commit/a1ac42b09c572000f01b7159699cc399aef3d875)), closes [#26573](https://github.com/bitnami/charts/issues/26573)
## <small>15.1.1 (2024-05-22)</small>

View File

@@ -52,4 +52,5 @@ maintainers:
name: kubeapps
sources:
- https://github.com/bitnami/charts/tree/main/bitnami/kubeapps
version: 15.1.2
version: 15.2.0

View File

@@ -269,6 +269,9 @@ In the first two cases, it is needed a certificate and a key. We would expect th
| `frontend.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for frontend container(s) | `[]` |
| `frontend.sidecars` | Add additional sidecar containers to the frontend pod | `[]` |
| `frontend.initContainers` | Add additional init containers to the frontend pods | `[]` |
| `frontend.pdb.create` | Enable/disable a Pod Disruption Budget creation | `false` |
| `frontend.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `frontend.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `frontend.pdb.minAvailable` and `frontend.pdb.maxUnavailable` are empty. | `""` |
| `frontend.service.type` | Frontend service type | `ClusterIP` |
| `frontend.service.ports.http` | Frontend service HTTP port | `80` |
| `frontend.service.nodePorts.http` | Node port for HTTP | `""` |
@@ -374,6 +377,9 @@ In the first two cases, it is needed a certificate and a key. We would expect th
| `dashboard.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for Dashboard container(s) | `[]` |
| `dashboard.sidecars` | Add additional sidecar containers to the Dashboard pod | `[]` |
| `dashboard.initContainers` | Add additional init containers to the Dashboard pods | `[]` |
| `dashboard.pdb.create` | Enable/disable a Pod Disruption Budget creation | `false` |
| `dashboard.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `dashboard.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `dashboard.pdb.minAvailable` and `dashboard.pdb.maxUnavailable` are empty. | `""` |
| `dashboard.service.ports.http` | Dashboard service HTTP port | `8080` |
| `dashboard.service.annotations` | Additional custom annotations for Dashboard service | `{}` |
| `dashboard.networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `true` |
@@ -454,6 +460,9 @@ In the first two cases, it is needed a certificate and a key. We would expect th
| `apprepository.hostAliases` | Custom host aliases for AppRepository Controller pods | `[]` |
| `apprepository.sidecars` | Add additional sidecar containers to the AppRepository Controller pod(s) | `[]` |
| `apprepository.initContainers` | Add additional init containers to the AppRepository Controller pod(s) | `[]` |
| `apprepository.pdb.create` | Enable/disable a Pod Disruption Budget creation | `false` |
| `apprepository.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `apprepository.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `apprepository.pdb.minAvailable` and `apprepository.pdb.maxUnavailable` are empty. | `""` |
| `apprepository.networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `true` |
| `apprepository.networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` |
| `apprepository.networkPolicy.kubeAPIServerPorts` | List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security) | `[]` |
@@ -671,6 +680,9 @@ In the first two cases, it is needed a certificate and a key. We would expect th
| `kubeappsapis.hostAliases` | Custom host aliases for KubeappsAPIs pods | `[]` |
| `kubeappsapis.sidecars` | Add additional sidecar containers to the KubeappsAPIs pod(s) | `[]` |
| `kubeappsapis.initContainers` | Add additional init containers to the KubeappsAPIs pod(s) | `[]` |
| `kubeappsapis.pdb.create` | Enable/disable a Pod Disruption Budget creation | `false` |
| `kubeappsapis.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `kubeappsapis.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `kubeappsapis.pdb.minAvailable` and `kubeappsapis.pdb.maxUnavailable` are empty. | `""` |
| `kubeappsapis.service.ports.http` | KubeappsAPIs service HTTP port | `8080` |
| `kubeappsapis.service.annotations` | Additional custom annotations for KubeappsAPIs service | `{}` |
| `kubeappsapis.networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `true` |

View File

@@ -0,0 +1,30 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if and .Values.packaging.helm.enabled .Values.apprepository.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ template "kubeapps.apprepository.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.apprepository.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: apprepository
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.apprepository.pdb.minAvailable }}
minAvailable: {{ .Values.apprepository.pdb.minAvailable }}
{{- end }}
{{- if or .Values.apprepository.pdb.maxUnavailable ( not .Values.apprepository.pdb.minAvailable ) }}
maxUnavailable: {{ .Values.apprepository.pdb.maxUnavailable | default 1 }}
{{- end }}
{{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.apprepository.podLabels .Values.commonLabels $versionLabel ) "context" . ) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: apprepository
{{- end }}

View File

@@ -0,0 +1,30 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if and .Values.dashboard.enabled .Values.dashboard.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ template "kubeapps.dashboard.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.dashboard.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: dashboard
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.dashboard.pdb.minAvailable }}
minAvailable: {{ .Values.dashboard.pdb.minAvailable }}
{{- end }}
{{- if or .Values.dashboard.pdb.maxUnavailable ( not .Values.dashboard.pdb.minAvailable ) }}
maxUnavailable: {{ .Values.dashboard.pdb.maxUnavailable | default 1 }}
{{- end }}
{{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.dashboard.podLabels .Values.commonLabels $versionLabel ) "context" . ) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: dashboard
{{- end }}

View File

@@ -0,0 +1,30 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if .Values.frontend.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ template "common.names.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.frontend.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: frontend
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.frontend.pdb.minAvailable }}
minAvailable: {{ .Values.frontend.pdb.minAvailable }}
{{- end }}
{{- if or .Values.frontend.pdb.maxUnavailable ( not .Values.frontend.pdb.minAvailable ) }}
maxUnavailable: {{ .Values.frontend.pdb.maxUnavailable | default 1 }}
{{- end }}
{{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.frontend.podLabels .Values.commonLabels $versionLabel ) "context" . ) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: frontend
{{- end }}

View File

@@ -0,0 +1,30 @@
{{- /*
Copyright Broadcom, Inc. All Rights Reserved.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if .Values.kubeappsapis.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ template "kubeapps.kubeappsapis.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.kubeappsapis.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: kubeappsapis
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.kubeappsapis.pdb.minAvailable }}
minAvailable: {{ .Values.kubeappsapis.pdb.minAvailable }}
{{- end }}
{{- if or .Values.kubeappsapis.pdb.maxUnavailable ( not .Values.kubeappsapis.pdb.minAvailable ) }}
maxUnavailable: {{ .Values.kubeappsapis.pdb.maxUnavailable | default 1 }}
{{- end }}
{{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.kubeappsapis.podLabels .Values.commonLabels $versionLabel ) "context" . ) }}
selector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: kubeappsapis
{{- end }}

View File

@@ -484,6 +484,16 @@ frontend:
## command: ['sh', '-c', 'echo "hello world"']
##
initContainers: []
## Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param frontend.pdb.create Enable/disable a Pod Disruption Budget creation
## @param frontend.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
## @param frontend.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `frontend.pdb.minAvailable` and `frontend.pdb.maxUnavailable` are empty.
##
pdb:
create: false
minAvailable: ""
maxUnavailable: ""
## Frontend service parameters
##
service:
@@ -922,6 +932,16 @@ dashboard:
## command: ['sh', '-c', 'echo "hello world"']
##
initContainers: []
## Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param dashboard.pdb.create Enable/disable a Pod Disruption Budget creation
## @param dashboard.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
## @param dashboard.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `dashboard.pdb.minAvailable` and `dashboard.pdb.maxUnavailable` are empty.
##
pdb:
create: false
minAvailable: ""
maxUnavailable: ""
## Dashboard service parameters
##
service:
@@ -1312,6 +1332,16 @@ apprepository:
## command: ['sh', '-c', 'echo "hello world"']
##
initContainers: []
## Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param apprepository.pdb.create Enable/disable a Pod Disruption Budget creation
## @param apprepository.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
## @param apprepository.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `apprepository.pdb.minAvailable` and `apprepository.pdb.maxUnavailable` are empty.
##
pdb:
create: false
minAvailable: ""
maxUnavailable: ""
## Network Policies
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
##
@@ -2134,6 +2164,16 @@ kubeappsapis:
## command: ['sh', '-c', 'echo "hello world"']
##
initContainers: []
## Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param kubeappsapis.pdb.create Enable/disable a Pod Disruption Budget creation
## @param kubeappsapis.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
## @param kubeappsapis.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `kubeappsapis.pdb.minAvailable` and `kubeappsapis.pdb.maxUnavailable` are empty.
##
pdb:
create: false
minAvailable: ""
maxUnavailable: ""
## kubeappsapis service parameters
##
service: