diff --git a/charts/flagsmith/templates/pdb-api.yaml b/charts/flagsmith/templates/pdb-api.yaml new file mode 100644 index 0000000..9693ef3 --- /dev/null +++ b/charts/flagsmith/templates/pdb-api.yaml @@ -0,0 +1,20 @@ +{{- if .Values.pdb.api.enabled }} +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + namespace: {{ .Release.Namespace }} + name: {{ template "flagsmith.fullname" . }}-api-pdb +spec: + selector: + matchLabels: + {{- include "flagsmith.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: api + {{- if and .Values.pdb.api.minAvailable (not (hasKey .Values.pdb.api "maxUnavailable")) }} + minAvailable: {{ .Values.pdb.api.minAvailable }} + {{- else if .Values.pdb.api.maxUnavailable }} + maxUnavailable: {{ .Values.pdb.api.maxUnavailable }} + {{- end }} + {{- if .Values.pdb.api.unhealthyPodEvictionPolicy }} + unhealthyPodEvictionPolicy: {{ .Values.pdb.api.unhealthyPodEvictionPolicy }} + {{- end }} +{{- end }} diff --git a/charts/flagsmith/templates/pdb-frontend.yaml b/charts/flagsmith/templates/pdb-frontend.yaml new file mode 100644 index 0000000..3694d0e --- /dev/null +++ b/charts/flagsmith/templates/pdb-frontend.yaml @@ -0,0 +1,20 @@ +{{- if .Values.pdb.frontend.enabled }} +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + namespace: {{ .Release.Namespace }} + name: {{ template "flagsmith.fullname" . }}-frontend-pdb +spec: + selector: + matchLabels: + {{- include "flagsmith.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: frontend + {{- if and .Values.pdb.frontend.minAvailable (not (hasKey .Values.pdb.frontend "maxUnavailable")) }} + minAvailable: {{ .Values.pdb.frontend.minAvailable }} + {{- else if .Values.pdb.frontend.maxUnavailable }} + maxUnavailable: {{ .Values.pdb.frontend.maxUnavailable }} + {{- end }} + {{- if .Values.pdb.frontend.unhealthyPodEvictionPolicy }} + unhealthyPodEvictionPolicy: {{ .Values.pdb.frontend.unhealthyPodEvictionPolicy }} + {{- end }} +{{- end }} diff --git a/charts/flagsmith/values.yaml b/charts/flagsmith/values.yaml index 408dbd7..c13e456 100644 --- a/charts/flagsmith/values.yaml +++ b/charts/flagsmith/values.yaml @@ -442,6 +442,18 @@ hpa: maxReplicas: 10 targetCPUUtilization: 50 +pdb: + api: + enabled: false + minAvailable: 1 + # maxUnavailable: 1 + # unhealthyPodEvictionPolicy: "AlwaysAllow" + frontend: + enabled: false + minAvailable: 1 + # maxUnavailable: 1 + # unhealthyPodEvictionPolicy: "AlwaysAllow" + ingress: frontend: enabled: false