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 2020/01/06 10:34:08 UTC

[couchdb-helm] 03/26: Move chart to subdirectory

This is an automated email from the ASF dual-hosted git repository.

willholley pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/couchdb-helm.git

commit eee7141cfb84f9a429cb5c838b98d38800dbcc84
Author: Will Holley <wi...@gmail.com>
AuthorDate: Wed Oct 16 21:17:51 2019 +0100

    Move chart to subdirectory
---
 Makefile                                          |  27 ++++
 Chart.yaml => couchdb/Chart.yaml                  |   0
 couchdb/README.md                                 | 167 ++++++++++++++++++++++
 {templates => couchdb/templates}/NOTES.txt        |   0
 {templates => couchdb/templates}/_helpers.tpl     |   0
 {templates => couchdb/templates}/configmap.yaml   |   0
 {templates => couchdb/templates}/headless.yaml    |   0
 {templates => couchdb/templates}/ingress.yaml     |   0
 {templates => couchdb/templates}/secrets.yaml     |   0
 {templates => couchdb/templates}/service.yaml     |   0
 {templates => couchdb/templates}/statefulset.yaml |   0
 values.yaml => couchdb/values.yaml                |   0
 12 files changed, 194 insertions(+)

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..1c80ce0
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,27 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+SHELL=/bin/bash
+
+.PHONY: test
+test:
+	@helm lint couchdb
+
+package: test
+	@helm package couchdb
+
+.PHONY: package
+publish: test
+	@git checkout gh-pages
+	@helm repo index docs --url https://apache.github.io/couchdb-helm
+	@git add -i
+	@echo "To complete the publish step, commit and push the chart tgz and updated index to gh-pages"
diff --git a/Chart.yaml b/couchdb/Chart.yaml
similarity index 100%
rename from Chart.yaml
rename to couchdb/Chart.yaml
diff --git a/couchdb/README.md b/couchdb/README.md
new file mode 100644
index 0000000..a0bfc15
--- /dev/null
+++ b/couchdb/README.md
@@ -0,0 +1,167 @@
+# CouchDB
+
+Apache CouchDB is a database featuring seamless multi-master sync, that scales
+from big data to mobile, with an intuitive HTTP/JSON API and designed for
+reliability.
+
+This chart deploys a CouchDB cluster as a StatefulSet. It creates a ClusterIP
+Service in front of the Deployment for load balancing by default, but can also
+be configured to deploy other Service types or an Ingress Controller. The
+default persistence mechanism is simply the ephemeral local filesystem, but
+production deployments should set `persistentVolume.enabled` to `true` to attach
+storage volumes to each Pod in the Deployment.
+
+## TL;DR
+
+```bash
+$ helm repo add couchdb https://apache.github.io/couchdb-helm
+$ helm install couchdb/couchdb --set allowAdminParty=true
+```
+
+## Prerequisites
+
+- Kubernetes 1.8+ with Beta APIs enabled
+
+## Installing the Chart
+
+To install the chart with the release name `my-release`:
+
+Add the CouchDB Helm repository:
+
+```bash
+$ helm repo add couchdb https://apache.github.io/couchdb-helm
+```
+
+
+```bash
+$ helm install --name my-release couchdb/couchdb
+```
+
+This will create a Secret containing the admin credentials for the cluster.
+Those credentials can be retrieved as follows:
+
+```bash
+$ kubectl get secret my-release-couchdb -o go-template='{{ .data.adminPassword }}' | base64 --decode
+```
+
+If you prefer to configure the admin credentials directly you can create a
+Secret containing `adminUsername`, `adminPassword` and `cookieAuthSecret` keys:
+
+```bash
+$  kubectl create secret generic my-release-couchdb --from-literal=adminUsername=foo --from-literal=adminPassword=bar --from-literal=cookieAuthSecret=baz
+```
+
+and then install the chart while overriding the `createAdminSecret` setting:
+
+```bash
+$ helm install --name my-release --set createAdminSecret=false couchdb/couchdb
+```
+
+This Helm chart deploys CouchDB on the Kubernetes cluster in a default
+configuration. The [configuration](#configuration) section lists
+the parameters that can be configured during installation.
+
+> **Tip**: List all releases using `helm list`
+
+## Uninstalling the Chart
+
+To uninstall/delete the `my-release` Deployment:
+
+```bash
+$ helm delete my-release
+```
+
+The command removes all the Kubernetes components associated with the chart and
+deletes the release.
+
+## Upgrading an existing Release to a new major version
+
+A major chart version change (like v0.2.3 -> v1.0.0) indicates that there is an
+incompatible breaking change needing manual actions.
+
+## Migrating from stable/couchdb
+
+This chart replaces the `stable/couchdb` chart previously hosted by Helm and continues the
+version semantics. You can upgrade directly from `stable/couchdb` to this chart using:
+
+```bash
+$ helm repo add couchdb https://apache.github.io/couchdb-helm
+$ helm upgrade my-release couchdb/couchdb
+```
+
+## Configuration
+
+The following table lists the most commonly configured parameters of the
+CouchDB chart and their default values:
+
+|           Parameter             |             Description                               |                Default                 |
+|---------------------------------|-------------------------------------------------------|----------------------------------------|
+| `clusterSize`                   | The initial number of nodes in the CouchDB cluster    | 3                                      |
+| `couchdbConfig`                 | Map allowing override elements of server .ini config  | chttpd.bind_address=any                |
+| `allowAdminParty`               | If enabled, start cluster without admin account       | false (requires creating a Secret)     |
+| `createAdminSecret`             | If enabled, create an admin account and cookie secret | true                                   |
+| `schedulerName`                 | Name of the k8s scheduler (other than default)        | `nil`                                  |
+| `erlangFlags`                   | Map of flags supplied to the underlying Erlang VM     | name: couchdb, setcookie: monster
+| `persistentVolume.enabled`      | Boolean determining whether to attach a PV to each node | false
+| `persistentVolume.size`         | If enabled, the size of the persistent volume to attach                          | 10Gi
+| `enableSearch`                  | Adds a sidecar for Lucene-powered text search         | false                                  |
+
+A variety of other parameters are also configurable. See the comments in the
+`values.yaml` file for further details:
+
+|           Parameter             |                Default                 |
+|---------------------------------|----------------------------------------|
+| `adminUsername`                 | admin                                  |
+| `adminPassword`                 | auto-generated                         |
+| `cookieAuthSecret`              | auto-generated                         |
+| `image.repository`              | couchdb                                |
+| `image.tag`                     | 2.3.1                                  |
+| `image.pullPolicy`              | IfNotPresent                           |
+| `searchImage.repository`        | kocolosk/couchdb-search                |
+| `searchImage.tag`               | 0.1.0                                  |
+| `searchImage.pullPolicy`        | IfNotPresent                           |
+| `initImage.repository`          | busybox                                |
+| `initImage.tag`                 | latest                                 |
+| `initImage.pullPolicy`          | Always                                 |
+| `ingress.enabled`               | false                                  |
+| `ingress.hosts`                 | chart-example.local                    |
+| `ingress.annotations`           |                                        |
+| `ingress.tls`                   |                                        |
+| `persistentVolume.accessModes`  | ReadWriteOnce                          |
+| `persistentVolume.storageClass` | Default for the Kube cluster           |
+| `podManagementPolicy`           | Parallel                               |
+| `affinity`                      |                                        |
+| `resources`                     |                                        |
+| `service.annotations`           |                                        |
+| `service.enabled`               | true                                   |
+| `service.type`                  | ClusterIP                              |
+| `service.externalPort`          | 5984                                   |
+| `dns.clusterDomainSuffix`       | cluster.local                          |
+
+
+## Feedback, Issues, Contributing
+
+General feedback is welcome at our [user][1] or [developer][2] mailing lists.
+
+Apache CouchDB has a [CONTRIBUTING][3] file with details on how to get started
+with issue reporting or contributing to the upkeep of this project. In short,
+use GitHub Issues, do not report anything on Docker's website.
+
+## Non-Apache CouchDB Development Team Contributors
+
+- [@natarajaya](https://github.com/natarajaya)
+- [@satchpx](https://github.com/satchpx)
+- [@spanato](https://github.com/spanato)
+- [@jpds](https://github.com/jpds)
+- [@sebastien-prudhomme](https://github.com/sebastien-prudhomme)
+- [@stepanstipl](https://github.com/sebastien-stepanstipl)
+- [@amatas](https://github.com/amatas)
+- [@Chimney42](https://github.com/Chimney42)
+- [@mattjmcnaughton](https://github.com/mattjmcnaughton)
+- [@mainephd](https://github.com/mainephd)
+- [@AdamDang](https://github.com/AdamDang)
+- [@mrtyler](https://github.com/mrtyler)
+
+[1]: http://mail-archives.apache.org/mod_mbox/couchdb-user/
+[2]: http://mail-archives.apache.org/mod_mbox/couchdb-dev/
+[3]: https://github.com/apache/couchdb/blob/master/CONTRIBUTING.md
diff --git a/templates/NOTES.txt b/couchdb/templates/NOTES.txt
similarity index 100%
rename from templates/NOTES.txt
rename to couchdb/templates/NOTES.txt
diff --git a/templates/_helpers.tpl b/couchdb/templates/_helpers.tpl
similarity index 100%
rename from templates/_helpers.tpl
rename to couchdb/templates/_helpers.tpl
diff --git a/templates/configmap.yaml b/couchdb/templates/configmap.yaml
similarity index 100%
rename from templates/configmap.yaml
rename to couchdb/templates/configmap.yaml
diff --git a/templates/headless.yaml b/couchdb/templates/headless.yaml
similarity index 100%
rename from templates/headless.yaml
rename to couchdb/templates/headless.yaml
diff --git a/templates/ingress.yaml b/couchdb/templates/ingress.yaml
similarity index 100%
rename from templates/ingress.yaml
rename to couchdb/templates/ingress.yaml
diff --git a/templates/secrets.yaml b/couchdb/templates/secrets.yaml
similarity index 100%
rename from templates/secrets.yaml
rename to couchdb/templates/secrets.yaml
diff --git a/templates/service.yaml b/couchdb/templates/service.yaml
similarity index 100%
rename from templates/service.yaml
rename to couchdb/templates/service.yaml
diff --git a/templates/statefulset.yaml b/couchdb/templates/statefulset.yaml
similarity index 100%
rename from templates/statefulset.yaml
rename to couchdb/templates/statefulset.yaml
diff --git a/values.yaml b/couchdb/values.yaml
similarity index 100%
rename from values.yaml
rename to couchdb/values.yaml