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 <[email protected]> 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
