You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by wi...@apache.org on 2023/05/22 14:41:58 UTC
[couchdb-helm] branch main updated: Add pdb (#117)
This is an automated email from the ASF dual-hosted git repository.
willholley pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-helm.git
The following commit(s) were added to refs/heads/main by this push:
new 5fcb7da Add pdb (#117)
5fcb7da is described below
commit 5fcb7da04731dc806d3e1f6fa0619458f6122dca
Author: bryopsida <83...@users.noreply.github.com>
AuthorDate: Mon May 22 09:41:53 2023 -0500
Add pdb (#117)
Adds a optional PDB to make node drains/cordons safer
---
couchdb/Chart.yaml | 2 +-
couchdb/README.md | 12 ++++++++----
couchdb/README.md.gotmpl | 3 +++
couchdb/templates/pdb.yaml | 21 +++++++++++++++++++++
couchdb/values.yaml | 7 +++++++
5 files changed, 40 insertions(+), 5 deletions(-)
diff --git a/couchdb/Chart.yaml b/couchdb/Chart.yaml
index 1de5fa8..76e58d4 100644
--- a/couchdb/Chart.yaml
+++ b/couchdb/Chart.yaml
@@ -1,6 +1,6 @@
apiVersion: v1
name: couchdb
-version: 4.3.1
+version: 4.4.0
appVersion: 3.3.2
description: A database featuring seamless multi-master sync, that scales from
big data to mobile, with an intuitive HTTP/JSON API and designed for
diff --git a/couchdb/README.md b/couchdb/README.md
index 5175d25..569837f 100644
--- a/couchdb/README.md
+++ b/couchdb/README.md
@@ -18,7 +18,7 @@ storage volumes to each Pod in the Deployment.
```bash
$ helm repo add couchdb https://apache.github.io/couchdb-helm
$ helm install couchdb/couchdb \
- --version=4.2.0 \
+ --version=4.4.0 \
--set allowAdminParty=true \
--set couchdbConfig.couchdb.uuid=$(curl https://www.uuidgenerator.net/api/version4 2>/dev/null | tr -d -)
```
@@ -44,7 +44,7 @@ Afterwards install the chart replacing the UUID
```bash
$ helm install \
--name my-release \
- --version=4.2.0 \
+ --version=4.4.0 \
--set couchdbConfig.couchdb.uuid=decafbaddecafbaddecafbaddecafbad \
couchdb/couchdb
```
@@ -78,7 +78,7 @@ and then install the chart while overriding the `createAdminSecret` setting:
```bash
$ helm install \
--name my-release \
- --version=4.2.0 \
+ --version=4.4.0 \
--set createAdminSecret=false \
--set couchdbConfig.couchdb.uuid=decafbaddecafbaddecafbaddecafbad \
couchdb/couchdb
@@ -133,7 +133,7 @@ version semantics. You can upgrade directly from `stable/couchdb` to this chart
```bash
$ helm repo add couchdb https://apache.github.io/couchdb-helm
-$ helm upgrade my-release --version=4.2.0 couchdb/couchdb
+$ helm upgrade my-release --version=4.4.0 couchdb/couchdb
```
## Configuration
@@ -193,6 +193,10 @@ A variety of other parameters are also configurable. See the comments in the
| `persistentVolume.volumeName` | |
| `persistentVolume.claimName` | |
| `persistentVolume.volumeSource` | |
+| `persistentVolume.annotations` | {} |
+| `podDisruptionBudget.enabled` | false |
+| `podDisruptionBudget.minAvailable` | nil |
+| `podDisruptionBudget.maxUnavailable` | 1 |
| `podManagementPolicy` | Parallel |
| `affinity` | |
| `topologySpreadConstraints` | |
diff --git a/couchdb/README.md.gotmpl b/couchdb/README.md.gotmpl
index 2bdd972..969c2d0 100644
--- a/couchdb/README.md.gotmpl
+++ b/couchdb/README.md.gotmpl
@@ -179,6 +179,9 @@ A variety of other parameters are also configurable. See the comments in the
| `persistentVolume.accessModes` | ReadWriteOnce |
| `persistentVolume.storageClass` | Default for the Kube cluster |
| `persistentVolume.annotations` | {} |
+| `podDisruptionBudget.enabled` | false |
+| `podDisruptionBudget.minAvailable` | nil |
+| `podDisruptionBudget.maxUnavailable` | 1 |
| `podManagementPolicy` | Parallel |
| `affinity` | |
| `topologySpreadConstraints` | |
diff --git a/couchdb/templates/pdb.yaml b/couchdb/templates/pdb.yaml
new file mode 100644
index 0000000..4b79818
--- /dev/null
+++ b/couchdb/templates/pdb.yaml
@@ -0,0 +1,21 @@
+{{- if and .Values.podDisruptionBudget .Values.podDisruptionBudget.enabled }}
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: "{{ .Release.Name }}-pdb"
+ labels:
+ app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
+ app.kubernetes.io/instance: {{ .Release.Name | quote }}
+ app.kubernetes.io/version: {{ .Chart.AppVersion }}
+ helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+spec:
+ {{- if .Values.podDisruptionBudget.minAvailable }}
+ minAvailable: {{ .Values.podDisruptionBudget.minAvailable }}
+ {{- end }}
+ {{- if .Values.podDisruptionBudget.maxUnavailable }}
+ maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }}
+ {{- end }}
+ selector:
+ matchLabels:
+{{ include "couchdb.ss.selector" . | indent 6 }}
+{{- end }}
diff --git a/couchdb/values.yaml b/couchdb/values.yaml
index cc9878e..19b6b50 100644
--- a/couchdb/values.yaml
+++ b/couchdb/values.yaml
@@ -221,6 +221,13 @@ readinessProbe:
successThreshold: 1
timeoutSeconds: 1
+# Control an optional pod disruption budget
+podDisruptionBudget:
+ # toggle creation of pod disruption budget, disabled by default
+ enabled: false
+ # minAvailable: 1
+ maxUnavailable: 1
+
# CouchDB 3.2.0 adds in a metrics endpoint on the path `/_node/_local/_prometheus`.
# Optionally, a standalone, unauthenticated port can be exposed for these metrics.
prometheusPort: