Skip to content

Commit 2d8eebc

Browse files
committed
feat: Add Pod Disruption Budget configuration to Helm chart
1 parent f647034 commit 2d8eebc

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{{/*
2+
Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
*/}}
19+
20+
{{- if .Values.podDisruptionBudget.enabled -}}
21+
apiVersion: policy/v1
22+
kind: PodDisruptionBudget
23+
metadata:
24+
name: {{ include "polaris.fullname" . }}
25+
namespace: {{ .Release.Namespace }}
26+
labels:
27+
{{- include "polaris.labels" . | nindent 4 }}
28+
{{- if .Values.podDisruptionBudget.annotations }}
29+
annotations:
30+
{{- tpl (toYaml .Values.podDisruptionBudget.annotations) . | nindent 4 }}
31+
{{- end }}
32+
spec:
33+
{{- if .Values.podDisruptionBudget.minAvailable }}
34+
minAvailable: {{ .Values.podDisruptionBudget.minAvailable }}
35+
{{- end }}
36+
{{- if .Values.podDisruptionBudget.maxUnavailable }}
37+
maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }}
38+
{{- end }}
39+
selector:
40+
matchLabels:
41+
{{- include "polaris.selectorLabels" . | nindent 6 }}
42+
{{- end }}

helm/polaris/values.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,21 @@ podLabels: {}
6262
# -- Additional Labels to apply to polaris configmap.
6363
configMapLabels: {}
6464

65+
# -- Pod disruption budget settings.
66+
podDisruptionBudget:
67+
# -- Specifies whether a pod disruption budget should be created.
68+
enabled: false
69+
# -- The minimum number of pods that should remain available during disruptions.
70+
# Can be an absolute number (ex: 5) or a percentage of desired pods (ex: 50%).
71+
# Cannot be used if maxUnavailable is set.
72+
minAvailable: ~
73+
# -- The maximum number of pods that can be unavailable during disruptions.
74+
# Can be an absolute number (ex: 5) or a percentage of desired pods (ex: 50%).
75+
# Cannot be used if minAvailable is set.
76+
maxUnavailable: 1
77+
# -- Annotations to add to the pod disruption budget.
78+
annotations: {}
79+
6580
# -- The number of old ReplicaSets to retain to allow rollback (if not set, the default Kubernetes value is set to 10).
6681
revisionHistoryLimit: ~
6782

0 commit comments

Comments
 (0)