diff --git a/helm/kiam/Chart.yaml b/helm/kiam/Chart.yaml index b24dd4c8..9339c025 100644 --- a/helm/kiam/Chart.yaml +++ b/helm/kiam/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: kiam -version: 6.1.0 +version: 6.2.0 appVersion: 4.0 description: Integrate AWS IAM with Kubernetes keywords: diff --git a/helm/kiam/README.md b/helm/kiam/README.md index 0217c3d3..578b199c 100644 --- a/helm/kiam/README.md +++ b/helm/kiam/README.md @@ -259,7 +259,10 @@ The following table lists the configurable parameters of the kiam chart and thei | `server.readinessProbe.timeoutSeconds` | When the probe times out | 10 | | `server.readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | 1 | | `server.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | 3 | -| `server.disableStrictNamespaceRegexp` | Disable default strict namespace regexp when matching roles. | `false` +| `server.disableStrictNamespaceRegexp` | Disable default strict namespace regexp when matching roles. | `false` | +| `server.deployment.enabled` | Run the kiam-server as a deployment instead of a daemonset. | `false` | +| `server.deployment.replicas` | Number of replicas while running the kiam-server as a deployment. | `3` | +| `server.deployment.podDisruptionBudget` | The PodDisruptionBudget configuration for the kiam-server deployment. | `{}` | | `rbac.create` | If `true`, create & use RBAC resources | `true` | | `psp.create` | If `true`, create Pod Security Policies for the agent and server when enabled | `false` | | `imagePullSecrets` | The name of the secret to use if pulling from a private registry | `nil` | diff --git a/helm/kiam/templates/server-pdb.yaml b/helm/kiam/templates/server-pdb.yaml new file mode 100644 index 00000000..81a26e99 --- /dev/null +++ b/helm/kiam/templates/server-pdb.yaml @@ -0,0 +1,21 @@ +{{- if and .Values.server.deployment.enabled (gt (int .Values.server.deployment.replicas) 1) }} +{{- if .Values.server.deployment.podDisruptionBudget }} +apiVersion: policy/v1beta1 +kind: PodDisruptionBudget +metadata: + labels: + app: {{ template "kiam.name" . }} + chart: {{ template "kiam.chart" . }} + component: "{{ .Values.server.name }}" + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "kiam.fullname" . }}-server +spec: + selector: + matchLabels: + app: {{ template "kiam.name" . }} + component: "{{ .Values.server.name }}" + release: {{ .Release.Name }} + {{- toYaml .Values.server.deployment.podDisruptionBudget | nindent 2 }} +{{- end }} +{{- end }} diff --git a/helm/kiam/values.yaml b/helm/kiam/values.yaml index ef6b5385..fc14019d 100644 --- a/helm/kiam/values.yaml +++ b/helm/kiam/values.yaml @@ -209,6 +209,8 @@ server: deployment: enabled: false replicas: 3 + podDisruptionBudget: {} + # maxUnavailable: 1 ## Logging settings ##