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 2019/10/16 20:30:46 UTC
[couchdb-helm] branch gh-pages updated: Cleanup gh-pages
This is an automated email from the ASF dual-hosted git repository.
willholley pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/couchdb-helm.git
The following commit(s) were added to refs/heads/gh-pages by this push:
new dc6839f Cleanup gh-pages
dc6839f is described below
commit dc6839fd7bcf4e87a612792ba171d103ba64abb9
Author: Will Holley <wi...@gmail.com>
AuthorDate: Wed Oct 16 21:30:22 2019 +0100
Cleanup gh-pages
---
.helmignore | 21 -----
Chart.yaml | 18 ----
LICENSE | 202 ---------------------------------------------
README.md | 167 -------------------------------------
templates/NOTES.txt | 20 -----
templates/_helpers.tpl | 63 --------------
templates/configmap.yaml | 21 -----
templates/headless.yaml | 17 ----
templates/ingress.yaml | 32 -------
templates/secrets.yaml | 16 ----
templates/service.yaml | 23 ------
templates/statefulset.yaml | 149 ---------------------------------
values.yaml | 145 --------------------------------
13 files changed, 894 deletions(-)
diff --git a/.helmignore b/.helmignore
deleted file mode 100644
index f0c1319..0000000
--- a/.helmignore
+++ /dev/null
@@ -1,21 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/Chart.yaml b/Chart.yaml
deleted file mode 100644
index 1d33948..0000000
--- a/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-apiVersion: v1
-name: couchdb
-version: 2.2.0
-appVersion: 2.3.1
-description: A database featuring seamless multi-master sync, that scales from
- big data to mobile, with an intuitive HTTP/JSON API and designed for
- reliability.
-keywords:
- - couchdb
- - database
- - nosql
-home: https://couchdb.apache.org/
-sources:
- - https://github.com/apache/couchdb-docker
-maintainers:
- - name: kocolosk
- email: kocolosk@apache.org
-icon: http://couchdb.apache.org/CouchDB-visual-identity/logo/CouchDB-couch-symbol.svg
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 393b7a3..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright The Helm Authors.
-
- 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.
diff --git a/README.md b/README.md
deleted file mode 100644
index a0bfc15..0000000
--- a/README.md
+++ /dev/null
@@ -1,167 +0,0 @@
-# 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/templates/NOTES.txt
deleted file mode 100644
index a3658bd..0000000
--- a/templates/NOTES.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Apache CouchDB is starting. Check the status of the Pods using:
-
- kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "couchdb.name" . }},release={{ .Release.Name }}"
-
-Once all of the Pods are fully Ready, execute the following command to create
-some required system databases:
-
- kubectl exec --namespace {{ .Release.Namespace }} {{ if not .Values.allowAdminParty }}-it {{ end }}{{ template "couchdb.fullname" . }}-0 -c couchdb -- \
- curl -s \
- http://127.0.0.1:5984/_cluster_setup \
- -X POST \
- -H "Content-Type: application/json" \
-{{- if .Values.allowAdminParty }}
- -d '{"action": "finish_cluster"}'
-{{- else }}
- -d '{"action": "finish_cluster"}' \
- -u <adminUsername>
-{{- end }}
-
-Then it's time to relax.
diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl
deleted file mode 100644
index 0450a66..0000000
--- a/templates/_helpers.tpl
+++ /dev/null
@@ -1,63 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "couchdb.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-*/}}
-{{- define "couchdb.fullname" -}}
-{{- if .Values.fullnameOverride -}}
-{{- printf "%s-%s" .Values.fullnameOverride .Chart.Name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- $name := default .Chart.Name .Values.nameOverride -}}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-In the event that we create both a headless service and a traditional one,
-ensure that the latter gets a unique name.
-*/}}
-{{- define "couchdb.svcname" -}}
-{{- if .Values.fullnameOverride -}}
-{{- printf "%s-svc-%s" .Values.fullnameOverride .Chart.Name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- $name := default .Chart.Name .Values.nameOverride -}}
-{{- printf "%s-svc-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create a random string if the supplied key does not exist
-*/}}
-{{- define "couchdb.defaultsecret" -}}
-{{- if . -}}
-{{- . | b64enc | quote -}}
-{{- else -}}
-{{- randAlphaNum 20 | b64enc | quote -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Labels used to define Pods in the CouchDB statefulset
-*/}}
-{{- define "couchdb.ss.selector" -}}
-app: {{ template "couchdb.name" . }}
-release: {{ .Release.Name }}
-{{- end -}}
-
-{{/*
-Generates a comma delimited list of nodes in the cluster
-*/}}
-{{- define "couchdb.seedlist" -}}
-{{- $nodeCount := min 5 .Values.clusterSize | int }}
- {{- range $index0 := until $nodeCount -}}
- {{- $index1 := $index0 | add1 -}}
- {{ $.Values.erlangFlags.name }}@{{ template "couchdb.fullname" $ }}-{{ $index0 }}.{{ template "couchdb.fullname" $ }}.{{ $.Release.Namespace }}.svc.{{ $.Values.dns.clusterDomainSuffix }}{{ if ne $index1 $nodeCount }},{{ end }}
- {{- end -}}
-{{- end -}}
diff --git a/templates/configmap.yaml b/templates/configmap.yaml
deleted file mode 100644
index 3520b01..0000000
--- a/templates/configmap.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: {{ template "couchdb.fullname" . }}
- labels:
- app: {{ template "couchdb.name" . }}
- chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
- heritage: {{ .Release.Service | quote }}
- release: {{ .Release.Name | quote }}
-data:
- inifile: |
- {{ range $section, $settings := .Values.couchdbConfig -}}
- {{ printf "[%s]" $section }}
- {{ range $key, $value := $settings -}}
- {{ printf "%s = %s" $key ($value | toString) }}
- {{ end }}
- {{ end }}
-
- seedlistinifile: |
- [cluster]
- seedlist = {{ template "couchdb.seedlist" . }}
diff --git a/templates/headless.yaml b/templates/headless.yaml
deleted file mode 100644
index 0ce3ef0..0000000
--- a/templates/headless.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "couchdb.fullname" . }}
- labels:
- app: {{ template "couchdb.name" . }}
- chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-spec:
- clusterIP: None
- publishNotReadyAddresses: true
- ports:
- - name: couchdb
- port: 5984
- selector:
-{{ include "couchdb.ss.selector" . | indent 4 }}
diff --git a/templates/ingress.yaml b/templates/ingress.yaml
deleted file mode 100644
index e73d7a5..0000000
--- a/templates/ingress.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-{{- if .Values.ingress.enabled -}}
-{{- $serviceName := include "couchdb.fullname" . -}}
-{{- $servicePort := .Values.service.externalPort -}}
-apiVersion: extensions/v1beta1
-kind: Ingress
-metadata:
- name: {{ template "couchdb.fullname" . }}
- labels:
- app: {{ template "couchdb.name" . }}
- chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
- annotations:
- {{- range $key, $value := .Values.ingress.annotations }}
- {{ $key }}: {{ $value | quote }}
- {{- end }}
-spec:
- rules:
- {{- range $host := .Values.ingress.hosts }}
- - host: {{ $host }}
- http:
- paths:
- - path: /
- backend:
- serviceName: {{ $serviceName }}
- servicePort: {{ $servicePort }}
- {{- end -}}
- {{- if .Values.ingress.tls }}
- tls:
-{{ toYaml .Values.ingress.tls | indent 4 }}
- {{- end -}}
-{{- end -}}
diff --git a/templates/secrets.yaml b/templates/secrets.yaml
deleted file mode 100644
index 06513bb..0000000
--- a/templates/secrets.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-{{- if .Values.createAdminSecret -}}
-apiVersion: v1
-kind: Secret
-metadata:
- name: {{ template "couchdb.fullname" . }}
- labels:
- app: {{ template "couchdb.fullname" . }}
- chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
- release: "{{ .Release.Name }}"
- heritage: "{{ .Release.Service }}"
-type: Opaque
-data:
- adminUsername: {{ template "couchdb.defaultsecret" .Values.adminUsername }}
- adminPassword: {{ template "couchdb.defaultsecret" .Values.adminPassword }}
- cookieAuthSecret: {{ template "couchdb.defaultsecret" .Values.cookieAuthSecret }}
-{{- end -}}
diff --git a/templates/service.yaml b/templates/service.yaml
deleted file mode 100644
index 6d03824..0000000
--- a/templates/service.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-{{- if .Values.service.enabled -}}
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "couchdb.svcname" . }}
- labels:
- app: {{ template "couchdb.name" . }}
- chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-{{- if .Values.service.annotations }}
- annotations:
-{{ toYaml .Values.service.annotations | indent 4 }}
-{{- end }}
-spec:
- ports:
- - port: {{ .Values.service.externalPort }}
- protocol: TCP
- targetPort: 5984
- type: {{ .Values.service.type }}
- selector:
-{{ include "couchdb.ss.selector" . | indent 4 }}
-{{- end -}}
diff --git a/templates/statefulset.yaml b/templates/statefulset.yaml
deleted file mode 100644
index fab2c36..0000000
--- a/templates/statefulset.yaml
+++ /dev/null
@@ -1,149 +0,0 @@
-apiVersion: apps/v1beta2
-kind: StatefulSet
-metadata:
- name: {{ template "couchdb.fullname" . }}
- labels:
- app: {{ template "couchdb.name" . }}
- chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-spec:
- replicas: {{ .Values.clusterSize }}
- serviceName: {{ template "couchdb.fullname" . }}
- podManagementPolicy: {{ .Values.podManagementPolicy }}
- selector:
- matchLabels:
-{{ include "couchdb.ss.selector" . | indent 6 }}
- template:
- metadata:
- labels:
-{{ include "couchdb.ss.selector" . | indent 8 }}
- spec:
- {{- if .Values.schedulerName }}
- schedulerName: "{{ .Values.schedulerName }}"
- {{- end }}
- initContainers:
- - name: init-copy
- image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
- imagePullPolicy: {{ .Values.initImage.pullPolicy }}
- command: ['sh','-c','cp /tmp/chart.ini /default.d; cp /tmp/seedlist.ini /default.d; ls -lrt /default.d;']
- volumeMounts:
- - name: config
- mountPath: /tmp/
- - name: config-storage
- mountPath: /default.d
- containers:
- - name: couchdb
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- ports:
- - name: couchdb
- containerPort: 5984
- - name: epmd
- containerPort: 4369
- - containerPort: 9100
- env:
-{{- if not .Values.allowAdminParty }}
- - name: COUCHDB_USER
- valueFrom:
- secretKeyRef:
- name: {{ template "couchdb.fullname" . }}
- key: adminUsername
- - name: COUCHDB_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ template "couchdb.fullname" . }}
- key: adminPassword
- - name: COUCHDB_SECRET
- valueFrom:
- secretKeyRef:
- name: {{ template "couchdb.fullname" . }}
- key: cookieAuthSecret
-{{- end }}
- - name: ERL_FLAGS
- value: "{{ range $k, $v := .Values.erlangFlags }} -{{ $k }} {{ $v }} {{ end }}"
- livenessProbe:
-{{- if .Values.couchdbConfig.chttpd.require_valid_user }}
- exec:
- command:
- - sh
- - -c
- - curl -G --silent --fail -u ${COUCHDB_USER}:${COUCHDB_PASSWORD} http://localhost:5984/
-{{- else }}
- httpGet:
- path: /
- port: 5984
-{{- end }}
- readinessProbe:
-{{- if .Values.couchdbConfig.chttpd.require_valid_user }}
- exec:
- command:
- - sh
- - -c
- - curl -G --silent --fail -u ${COUCHDB_USER}:${COUCHDB_PASSWORD} http://localhost:5984/_up
-{{- else }}
- httpGet:
- path: /_up
- port: 5984
-{{- end }}
- resources:
-{{ toYaml .Values.resources | indent 12 }}
- volumeMounts:
- - name: config-storage
- mountPath: /opt/couchdb/etc/default.d
- - name: database-storage
- mountPath: /opt/couchdb/data
-{{- if .Values.enableSearch }}
- - name: clouseau
- image: "{{ .Values.searchImage.repository }}:{{ .Values.searchImage.tag }}"
- imagePullPolicy: {{ .Values.searchImage.pullPolicy }}
- volumeMounts:
- - name: database-storage
- mountPath: /opt/couchdb-search/data
-{{- end }}
-{{- if .Values.nodeSelector }}
- nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 8 }}
-{{- end }}
-{{- with .Values.affinity }}
- affinity:
-{{ toYaml . | indent 8 }}
-{{- end }}
- volumes:
- - name: config-storage
- emptyDir: {}
- - name: config
- configMap:
- name: {{ template "couchdb.fullname" . }}
- items:
- - key: inifile
- path: chart.ini
- - key: seedlistinifile
- path: seedlist.ini
-
-{{- if not .Values.persistentVolume.enabled }}
- - name: database-storage
- emptyDir: {}
-{{- else }}
- volumeClaimTemplates:
- - metadata:
- name: database-storage
- labels:
- app: {{ template "couchdb.name" . }}
- release: {{ .Release.Name }}
- spec:
- accessModes:
- {{- range .Values.persistentVolume.accessModes }}
- - {{ . | quote }}
- {{- end }}
- resources:
- requests:
- storage: {{ .Values.persistentVolume.size | quote }}
- {{- if .Values.persistentVolume.storageClass }}
- {{- if (eq "-" .Values.persistentVolume.storageClass) }}
- storageClassName: ""
- {{- else }}
- storageClassName: "{{ .Values.persistentVolume.storageClass }}"
- {{- end }}
- {{- end }}
-{{- end }}
diff --git a/values.yaml b/values.yaml
deleted file mode 100644
index e3461dd..0000000
--- a/values.yaml
+++ /dev/null
@@ -1,145 +0,0 @@
-## clusterSize is the initial size of the CouchDB cluster.
-clusterSize: 3
-
-## If allowAdminParty is enabled the cluster will start up without any database
-## administrator account; i.e., all users will be granted administrative
-## access. Otherwise, the system will look for a Secret called
-## <ReleaseName>-couchdb containing `adminUsername`, `adminPassword` and
-## `cookieAuthSecret` keys. See the `createAdminSecret` flag.
-## ref: https://kubernetes.io/docs/concepts/configuration/secret/
-allowAdminParty: false
-
-## If createAdminSecret is enabled a Secret called <ReleaseName>-couchdb will
-## be created containing auto-generated credentials. Users who prefer to set
-## these values themselves have a couple of options:
-##
-## 1) The `adminUsername`, `adminPassword`, and `cookieAuthSecret` can be
-## defined directly in the chart's values. Note that all of a chart's values
-## are currently stored in plaintext in a ConfigMap in the tiller namespace.
-##
-## 2) This flag can be disabled and a Secret with the required keys can be
-## created ahead of time.
-createAdminSecret: true
-
-adminUsername: admin
-# adminPassword: this_is_not_secure
-# cookieAuthSecret: neither_is_this
-
-## Use an alternate scheduler, e.g. "stork".
-## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
-##
-# schedulerName:
-
-## The storage volume used by each Pod in the StatefulSet. If a
-## persistentVolume is not enabled, the Pods will use `emptyDir` ephemeral
-## local storage. Setting the storageClass attribute to "-" disables dynamic
-## provisioning of Persistent Volumes; leaving it unset will invoke the default
-## provisioner.
-persistentVolume:
- enabled: false
- accessModes:
- - ReadWriteOnce
- size: 10Gi
- # storageClass: "-"
-
-## The CouchDB image
-image:
- repository: couchdb
- tag: 2.3.1
- pullPolicy: IfNotPresent
-
-## Experimental integration with Lucene-powered fulltext search
-searchImage:
- repository: kocolosk/couchdb-search
- tag: 0.1.2
- pullPolicy: IfNotPresent
-
-## Flip this to flag to include the Search container in each Pod
-enableSearch: false
-
-initImage:
- repository: busybox
- tag: latest
- pullPolicy: Always
-
-## CouchDB is happy to spin up cluster nodes in parallel, but if you encounter
-## problems you can try setting podManagementPolicy to the StatefulSet default
-## `OrderedReady`
-podManagementPolicy: Parallel
-
-## To better tolerate Node failures, we can prevent Kubernetes scheduler from
-## assigning more than one Pod of CouchDB StatefulSet per Node using podAntiAffinity.
-affinity:
- # podAntiAffinity:
- # requiredDuringSchedulingIgnoredDuringExecution:
- # - labelSelector:
- # matchExpressions:
- # - key: "app"
- # operator: In
- # values:
- # - couchdb
- # topologyKey: "kubernetes.io/hostname"
-
-## A StatefulSet requires a headless Service to establish the stable network
-## identities of the Pods, and that Service is created automatically by this
-## chart without any additional configuration. The Service block below refers
-## to a second Service that governs how clients connect to the CouchDB cluster.
-service:
- # annotations:
- enabled: true
- type: ClusterIP
- externalPort: 5984
-
-## An Ingress resource can provide name-based virtual hosting and TLS
-## termination among other things for CouchDB deployments which are accessed
-## from outside the Kubernetes cluster.
-## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
-ingress:
- enabled: false
- hosts:
- - chart-example.local
- annotations:
- # kubernetes.io/ingress.class: nginx
- # kubernetes.io/tls-acme: "true"
- tls:
- # Secrets must be manually created in the namespace.
- # - secretName: chart-example-tls
- # hosts:
- # - chart-example.local
-
-## Optional resource requests and limits for the CouchDB container
-## ref: http://kubernetes.io/docs/user-guide/compute-resources/
-resources: {}
- # requests:
- # cpu: 100m
- # memory: 128Mi
- # limits:
- # cpu: 56
- # memory: 256Gi
-
-## erlangFlags is a map that is passed to the Erlang VM as flags using the
-## ERL_FLAGS env. `name` and `setcookie` flags are minimally required to
-## establish connectivity between cluster nodes.
-## ref: http://erlang.org/doc/man/erl.html#init_flags
-erlangFlags:
- name: couchdb
- setcookie: monster
-
-## couchdbConfig will override default CouchDB configuration settings.
-## The contents of this map are reformatted into a .ini file laid down
-## by a ConfigMap object.
-## ref: http://docs.couchdb.org/en/latest/config/index.html
-couchdbConfig:
- # cluster:
- # q: 8 # Create 8 shards for each database
- chttpd:
- bind_address: any
- # chttpd.require_valid_user disables all the anonymous requests to the port
- # 5984 when is set to true.
- require_valid_user: false
-
-
-# Kubernetes local cluster domain.
-# This is used to generate FQDNs for peers when joining the CouchDB cluster.
-dns:
- clusterDomainSuffix: cluster.local