diff --git a/charts/aws-efs-csi-driver/CHANGELOG.md b/charts/aws-efs-csi-driver/CHANGELOG.md index 65178430b..9577f177e 100644 --- a/charts/aws-efs-csi-driver/CHANGELOG.md +++ b/charts/aws-efs-csi-driver/CHANGELOG.md @@ -234,4 +234,4 @@ for Controller deployment and Node daemonset * Fixing Controller deployment using `podAnnotations` and `tolerations` values from Node daemonset * Let the user define the whole `tolerations` array, default to `- operator: Exists` * Default `logLevel` lowered from `5` to `2` -* Default `imagePullPolicy` everywhere set to `IfNotPresent` +* Default `imagePullPolicy` everywhere set to `IfNotPresent` \ No newline at end of file diff --git a/charts/aws-efs-csi-driver/Chart.yaml b/charts/aws-efs-csi-driver/Chart.yaml index 953324c70..63ff98519 100644 --- a/charts/aws-efs-csi-driver/Chart.yaml +++ b/charts/aws-efs-csi-driver/Chart.yaml @@ -15,4 +15,4 @@ maintainers: - name: leakingtapan url: https://github.com/leakingtapan - name: krmichel - url: https://github.com/krmichel + url: https://github.com/krmichel \ No newline at end of file diff --git a/charts/aws-efs-csi-driver/templates/controller-deployment.yaml b/charts/aws-efs-csi-driver/templates/controller-deployment.yaml index 5868eae73..84235f9e5 100644 --- a/charts/aws-efs-csi-driver/templates/controller-deployment.yaml +++ b/charts/aws-efs-csi-driver/templates/controller-deployment.yaml @@ -3,7 +3,7 @@ kind: Deployment apiVersion: apps/v1 metadata: - name: efs-csi-controller + name: {{ .Values.controller.name }} labels: app.kubernetes.io/name: {{ include "aws-efs-csi-driver.name" . }} {{- with .Values.controller.additionalLabels }} @@ -13,7 +13,7 @@ spec: replicas: {{ .Values.controller.replicaCount }} selector: matchLabels: - app: efs-csi-controller + app: {{ .Values.controller.name }} app.kubernetes.io/name: {{ include "aws-efs-csi-driver.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- with .Values.controller.updateStrategy }} @@ -23,7 +23,7 @@ spec: template: metadata: labels: - app: efs-csi-controller + app: {{ .Values.controller.name }} app.kubernetes.io/name: {{ include "aws-efs-csi-driver.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- with .Values.controller.podLabels }} diff --git a/charts/aws-efs-csi-driver/templates/controller-pdb.yaml b/charts/aws-efs-csi-driver/templates/controller-pdb.yaml new file mode 100644 index 000000000..9b7cb7ee1 --- /dev/null +++ b/charts/aws-efs-csi-driver/templates/controller-pdb.yaml @@ -0,0 +1,24 @@ +{{- if .Values.controller.podDisruptionBudget.enabled -}} +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: {{ .Values.controller.name }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "aws-ebs-csi-driver.labels" . | nindent 4 }} +spec: + selector: + matchLabels: + app: {{ .Values.controller.name }} + app.kubernetes.io/name: {{ include "aws-efs-csi-driver.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- if .Values.controller.podDisruptionBudget.unhealthyPodEvictionPolicy }} + unhealthyPodEvictionPolicy: {{ .Values.controller.podDisruptionBudget.unhealthyPodEvictionPolicy }} + {{- end }} + {{- if .Values.controller.podDisruptionBudget.maxUnavailable }} + maxUnavailable: {{ .Values.controller.podDisruptionBudget.maxUnavailable }} + {{- end }} + {{- if .Values.controller.podDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.controller.podDisruptionBudget.minAvailable }} + {{- end }} +{{- end -}} \ No newline at end of file diff --git a/charts/aws-efs-csi-driver/values.yaml b/charts/aws-efs-csi-driver/values.yaml index 070eef396..0608da700 100644 --- a/charts/aws-efs-csi-driver/values.yaml +++ b/charts/aws-efs-csi-driver/values.yaml @@ -51,6 +51,8 @@ imagePullSecrets: [] controller: # Specifies whether a deployment should be created create: true + # Name of the CSI controller service + name: efs-csi-controller # Number of replicas for the CSI controller service deployment replicaCount: 2 # Number for the log level verbosity @@ -104,6 +106,12 @@ controller: # eks.amazonaws.com/role-arn: arn:aws:iam::111122223333:role/efs-csi-role healthPort: 9909 regionalStsEndpoints: false + # Pod Disruption Budget + podDisruptionBudget: + enabled: false + # maxUnavailable: 1 + minAvailable: 1 + unhealthyPodEvictionPolicy: "Delete" # securityContext on the controller pod securityContext: runAsNonRoot: false