From f0c568078c458c26cb72a8a294e901363a9d62a1 Mon Sep 17 00:00:00 2001 From: Will Holley Date: Fri, 17 Jun 2022 13:17:22 +0100 Subject: [PATCH 01/17] switch GitHub pages to gh-pages branch - Updates .asf.yaml to use the gh-pages branch as the source for GitHub pages (published to `https://apache.github.io/couchdb-helm`). - Require linear history for the `main` branch to ensure PRs are up to date prior to merge. - Prevent force push to `gh-pages` branch. --- .asf.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index 3c754c3..e7d691f 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -8,5 +8,6 @@ github: main: required_status_checks: strict: true - ghp_branch: main - ghp_path: /docs + required_linear_history: true + gh-pages: {} + ghp_branch: gh-pages From 5733350be097d14a1003c3a7b517ce151985af0d Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Wed, 25 May 2022 10:15:59 -0400 Subject: [PATCH 02/17] add helpers to create and check inventory for releases --- docs/check-inventory.sh | 29 +++++++++++++++++++++++++++++ docs/get-inventory.sh | 14 ++++++++++++++ docs/inventory.txt | 19 +++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100755 docs/check-inventory.sh create mode 100755 docs/get-inventory.sh create mode 100644 docs/inventory.txt diff --git a/docs/check-inventory.sh b/docs/check-inventory.sh new file mode 100755 index 0000000..68dc7f4 --- /dev/null +++ b/docs/check-inventory.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +set -euxo pipefail + +found_probs=0 +cat inventory.txt | while read line; do + tarball=$(echo $line | cut -d: -f 1) + gitsha=$(echo $line | cut -d' ' -f 2) + cversion=${tarball/couchdb-/} + cversion=${cversion/.tgz/} + echo "--> Checking that '$gitsha' matches chart version '$cversion'"; + + cversion_actual=$(git show $gitsha:../couchdb/Chart.yaml | grep '^version:') + diff <(echo "$cversion_actual") <(echo "version: $cversion") + res=$? + if [[ $res -gt 0 ]]; then + echo "--> Uh oh! Git SHA '$gitsha' provided version '$cversion_actual', but tarball had '$cversion'" + found_probs=1 + fi; + + # TODO: could check that file SHAs match w/ the tarballs... but this is a best effort anyways... +done + +echo +if [[ found_probs -eq 0 ]]; then + echo '--> Success! All checks went well!' +else + echo '--> PROBLEMS FOUND!' +fi diff --git a/docs/get-inventory.sh b/docs/get-inventory.sh new file mode 100755 index 0000000..1edb659 --- /dev/null +++ b/docs/get-inventory.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -euxo pipefail + +echo '--> Clearing past inventory.txt' +rm -f inventory.txt + +echo '--> Building inventory.txt with files and commits' + +# generate the list of backfill commits +# assuming that the commit that added the tarball also has the appropriate state committed to the repo +for f in `ls . | grep -v '.*backfill.*' | grep -v '.*inventory.*' | grep -v '.*index.*'`; do echo $f: `git log --oneline -- $f | head -1` >> inventory.txt; done + +echo '--> Done!' diff --git a/docs/inventory.txt b/docs/inventory.txt new file mode 100644 index 0000000..04d6206 --- /dev/null +++ b/docs/inventory.txt @@ -0,0 +1,19 @@ +couchdb-2.2.0.tgz: 3e2f02e Address review comments +couchdb-2.3.0.tgz: 40832bb Add configurable path +couchdb-2.4.0.tgz: d6fec58 Bump chart version to 2.4.0 +couchdb-2.4.1.tgz: ad5417d Bugfix: fixes wrong Values iteration in ingress host +couchdb-3.0.0.tgz: b46f424 Require a server instance UUID (#15) +couchdb-3.1.0.tgz: bbf7201 Bump chart version +couchdb-3.2.0.tgz: d8a2194 Bump chart version to 3.2.0 +couchdb-3.3.0.tgz: bb17404 Prehashed pw (#26) +couchdb-3.3.1.tgz: 832994c Publish 3.3.1 chart +couchdb-3.3.2.tgz: fc411c1 Update chart and index +couchdb-3.3.3.tgz: da1d946 Bump chart version and publish +couchdb-3.3.4.tgz: a75233c Bump default CouchDB version to 3.1.1 +couchdb-3.4.0.tgz: 252e73b Bump chart to 3.4.0 CouchDB to 3.2.0 +couchdb-3.4.1.tgz: 6e46579 Publish updated chart +couchdb-3.5.0.tgz: 9f10dad Add topologySpreadConstraints parameter to be used in StatefulSet (#59) +couchdb-3.5.1.tgz: e727842 Bump chart version and publish +couchdb-3.5.2.tgz: dc2899b Bump chart version and publish +couchdb-3.6.0.tgz: 22761f9 Add helm post-install hook to automate placement tagging in CouchDB nodes (#66) +couchdb-3.6.1.tgz: bd9bce1 Bump chart version and publish From 973ac3136bc5c768ee59edce8a31bd43399990e0 Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Thu, 26 May 2022 12:15:02 -0400 Subject: [PATCH 03/17] start a release-inventory.sh and install-cr.sh script also clean up some other scripts and add docs --- docs/DEPRECATED.md | 47 +++++++++++++++++++++++++ docs/get-inventory.sh | 4 ++- docs/install-cr.sh | 13 +++++++ docs/release-inventory.sh | 73 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 docs/DEPRECATED.md create mode 100755 docs/install-cr.sh create mode 100755 docs/release-inventory.sh diff --git a/docs/DEPRECATED.md b/docs/DEPRECATED.md new file mode 100644 index 0000000..3bf604d --- /dev/null +++ b/docs/DEPRECATED.md @@ -0,0 +1,47 @@ +# Deprecated + +Per [this issue](https://github.com/apache/couchdb-helm/issues/62), we plan to move things in `./docs` here +to GitHub releases and follow the helm community's guidance on +release practices for helm charts. + +# Migration Path + +In order to migrate the old .tgz files, we: + +- Will find the latest commit that modified a .tgz +- Sanity check that `Chart.yaml` represents the same version +- Forego any further file consistency checks (this is best effort) +- Presume that the git state matches what is in the .tgz at that time +- Tag and release the given commit to GitHub Releases using [`chart-releaser`](https://github.com/helm/chart-releaser) + +## How To + +1. `cd docs` to move into this directory +2. Install the `chart-releaser` binary (only one architecture defined) +```bash +cd docs +./install-cr.sh +``` +3. Build an inventory of what .tgz files exist in the directory +```bash +./get-inventory.sh +``` +4. Sanity check that things look appropriate +```bash +./check-inventory.sh +``` +5. Run the release dry-run +```bash +# ./release-inventory.sh {{ owner }} +# i.e. +./release-inventory.sh colearendt +``` +6. Check that things look good, then run the actual release process +```bash +# ./release-inventory.sh {{ owner }} execute +# (see docs for more info / other args) +# i.e. +./release-inventory.sh colearendt execute +``` + +NOTE: we have not done anything to sign chart packages here, though `chart-releaser` supports doing so. diff --git a/docs/get-inventory.sh b/docs/get-inventory.sh index 1edb659..2a94df1 100755 --- a/docs/get-inventory.sh +++ b/docs/get-inventory.sh @@ -9,6 +9,8 @@ echo '--> Building inventory.txt with files and commits' # generate the list of backfill commits # assuming that the commit that added the tarball also has the appropriate state committed to the repo -for f in `ls . | grep -v '.*backfill.*' | grep -v '.*inventory.*' | grep -v '.*index.*'`; do echo $f: `git log --oneline -- $f | head -1` >> inventory.txt; done +for f in `ls . | grep 'couchdb-.*\.tgz'`; do + echo $f: `git log --oneline -- $f | head -1` >> inventory.txt; +done echo '--> Done!' diff --git a/docs/install-cr.sh b/docs/install-cr.sh new file mode 100755 index 0000000..e24ced0 --- /dev/null +++ b/docs/install-cr.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +os=$(uname -p) +arch=$(uname -s) +if [[ "${os}" == "arm" ]] && [[ "${arch}" == "Darwin" ]]; then + mkdir -p ./bin/cr-1.4.0/ + curl -L https://github.com/helm/chart-releaser/releases/download/v1.4.0/chart-releaser_1.4.0_darwin_arm64.tar.gz | tar -xzvf - -C ./bin/cr-1.4.0/ + ln -f -s $PWD/bin/cr-1.4.0/cr $PWD/bin/cr + echo "Installed successfully!" +else + echo "ERROR: OS '${os}' and Architecture '${arch}' not defined" + echo "Visit https://github.com/helm/chart-releaser/releases to see releases" +fi diff --git a/docs/release-inventory.sh b/docs/release-inventory.sh new file mode 100755 index 0000000..ec0cf0e --- /dev/null +++ b/docs/release-inventory.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +set -euxo pipefail + +# Example usage +# +# +# $1 == owner - no default +# $2 == "execute" makes the release fire! +# $3 == GitHub auth token. Defaults to the value of $GITHUB_PAT +# $4 == GitHub repository - defaults to "couchdb-helm" + +owner=${1:-} +execute=${2:-} +token=${3:-${GITHUB_PAT:-}} +repo=${4:-couchdb-helm} +chart_name=${5:-couchdb} + +if [[ -z "$owner" ]]; then + echo "Error: must provide 'owner' in first argument" + exit 1 +fi + +echo "Owner: $owner" +echo "Execute?: $execute" + +IFS_OLD=$IFS +trap 'IFS=$IFS_OLD' EXIT SIGINT +IFS=$'\n' + +current_sha=$(git branch --show-current) +res=$? +if [[ $res -gt 0 ]]; then + current_sha=$(git rev-parse --short HEAD) +fi; +# clean up handler. This warns, but does help escape the loop on interrupt +trap "git checkout $current_sha; exit 1" EXIT SIGINT + +inventory=$(cat inventory.txt) +for line in ${inventory}; do + echo $line; + tarball=$(echo $line | cut -d: -f 1); + gitsha=$(echo $line | cut -d' ' -f 2); + cversion=${tarball/couchdb-/}; + cversion=${cversion/.tgz/}; + echo "--> Checking out '$gitsha' for chart version '$cversion'"; + + git checkout $gitsha; + + long_sha=$(git rev-parse $gitsha) + + read -n 1 -p "Pausing to check if this is ok. Press any key to continue: "; + echo ; + echo "--> Continuing..."; + echo; echo; + + if [[ "$execute" == "execute" ]] && [[ -n "$token" ]]; then + echo "--> Setting tag for release ${cversion} and sha ${gitsha}!" + git tag -f ${chart_name}-${cversion} + echo "--> Executing release!" + ./bin/cr package ../couchdb + ./bin/cr upload -c "$long_sha" --skip-existing -t "$token" -o $owner -r $repo + git push --tags --force + # clean the directory + rm .cr-release-packages/* + else + echo "--> 'execute' was not provided to the .sh invocation. Skipping..." + fi + +done + +git checkout $current_sha +exit 0 From 3024366ec0ba94dff995abef98b52bad1534e406 Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Mon, 20 Jun 2022 06:23:30 -0400 Subject: [PATCH 04/17] auto-generate the erlangCookie variable related to #78, #88. We auto-generate the secret if it is not provided, and then continue to use that value on upgrades rather than auto-generating fresh each time. --- couchdb/templates/_helpers.tpl | 25 ++++++++++++++++++++++++- couchdb/templates/secrets.yaml | 3 ++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/couchdb/templates/_helpers.tpl b/couchdb/templates/_helpers.tpl index f9d013e..2f5c1a4 100644 --- a/couchdb/templates/_helpers.tpl +++ b/couchdb/templates/_helpers.tpl @@ -43,6 +43,29 @@ Create a random string if the supplied key does not exist {{- end -}} {{- end -}} +{{- /* +Create a random string if the supplied "secret" key does not exist. Otherwise create the key in a persistent fashion +using `lookup` and `get`. The "key", "ns", and "secretName" keys need to be provided for this to work +*/ -}} +{{- define "couchdb.defaultsecret-stateful" -}} + {{- if .secret -}} + {{- .secret | b64enc | quote -}} + {{- else -}} + {{- /* generate secret, which will be overwritten if already exists */ -}} + {{- $autoSecret := randAlphaNum 20 | b64enc -}} + {{- if and (not (empty .key)) (not (empty .secretName)) }} + {{- $currentSecret := lookup "v1" "Secret" .ns .secretName }} + {{- if $currentSecret }} + {{- /* already exists, looking up */ -}} + {{- $autoSecret = get $currentSecret.data .key -}} + {{- end }} + {{- end }} + {{- print $autoSecret | quote -}} + {{- end -}} +{{- end -}} + + + {{/* Labels used to define Pods in the CouchDB statefulset */}} @@ -78,4 +101,4 @@ Fail if couchdbConfig.couchdb.uuid is undefined */}} {{- define "couchdb.uuid" -}} {{- required "A value for couchdbConfig.couchdb.uuid must be set" (.Values.couchdbConfig.couchdb | default dict).uuid -}} -{{- end -}} \ No newline at end of file +{{- end -}} diff --git a/couchdb/templates/secrets.yaml b/couchdb/templates/secrets.yaml index 857543b..1028e53 100644 --- a/couchdb/templates/secrets.yaml +++ b/couchdb/templates/secrets.yaml @@ -12,7 +12,8 @@ type: Opaque data: adminUsername: {{ template "couchdb.defaultsecret" .Values.adminUsername }} adminPassword: {{ template "couchdb.defaultsecret" .Values.adminPassword }} - erlangCookie: {{ template "couchdb.defaultsecret" .Values.erlangFlags.setcookie }} + {{- $erlangCookieArgs := dict "key" "erlangCookie" "ns" $.Release.Namespace "secretName" (include "couchdb.fullname" .) "secret" .Values.erlangFlags.setcookie }} + erlangCookie: {{ template "couchdb.defaultsecret-stateful" $erlangCookieArgs }} cookieAuthSecret: {{ template "couchdb.defaultsecret" .Values.cookieAuthSecret }} {{- if .Values.adminHash }} password.ini: {{ tpl (.Files.Get "password.ini") . | b64enc }} From cd33102772d284af5e7e1c6aca4c0d071589b744 Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Mon, 20 Jun 2022 06:23:43 -0400 Subject: [PATCH 05/17] bump chart version and add NEWS --- couchdb/Chart.yaml | 2 +- couchdb/NEWS.md | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 couchdb/NEWS.md diff --git a/couchdb/Chart.yaml b/couchdb/Chart.yaml index 1c825b8..e131d0b 100644 --- a/couchdb/Chart.yaml +++ b/couchdb/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: couchdb -version: 3.6.1 +version: 3.6.2 appVersion: 3.2.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 diff --git a/couchdb/NEWS.md b/couchdb/NEWS.md new file mode 100644 index 0000000..2474ceb --- /dev/null +++ b/couchdb/NEWS.md @@ -0,0 +1,6 @@ +# NEWS + +## 3.6.2 + +- Change the `erlangCookie` to be auto-generated in a stateful fashion (i.e. we auto-generate it once, then leave that + value alone). ([#78](https://github.com/apache/couchdb-helm/issues/78)) From c93f124d66271906e7309b047a27019cfc7e8ddb Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Mon, 20 Jun 2022 06:23:56 -0400 Subject: [PATCH 06/17] add a NOTES.txt output to mention the auto-generation --- couchdb/templates/NOTES.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/couchdb/templates/NOTES.txt b/couchdb/templates/NOTES.txt index a3658bd..0727ca1 100644 --- a/couchdb/templates/NOTES.txt +++ b/couchdb/templates/NOTES.txt @@ -18,3 +18,15 @@ some required system databases: {{- end }} Then it's time to relax. + +{{- $erlangCookie := .Values.erlangFlags.setcookie }} +{{- if (empty $erlangCookie) }} + +NOTE: You are using an auto-generated value for the Erlang Cookie + - We recommend making this value persistent by setting it in: `erlangFlags.setcookie` + - Changing this value can cause problems for the Couch DB installation (particularly upgrades / config changes) + - You can get the current value with: +``` +kubectl -n {{ $.Release.Namespace }} get secret {{ include "couchdb.fullname" . }} --template='{{print "{{" }}index .data "erlangCookie" | base64decode{{ print "}}" }}' +``` +{{- end }} From c8a5bf411a0f88556be4f2ec644e4cdcccac586b Mon Sep 17 00:00:00 2001 From: Will Holley Date: Mon, 24 Oct 2022 20:46:59 +0100 Subject: [PATCH 07/17] Update GH action versions Why: Chart releasing is failing due to out of date dependencies. How: - Update chart releaser, chart testing and kind action submodules to the current version. - Update external GH actions to the current versions. - Update the PR template to remove references to updating the chart binaries/index. - Update the README to reference the GH actions on merge. --- .github/PULL_REQUEST_TEMPLATE.md | 1 - .github/actions/chart-releaser-action | 2 +- .github/actions/chart-testing-action | 2 +- .github/actions/kind-action | 2 +- .github/workflows/chart-rebuild.yaml | 8 ++++---- .github/workflows/chart-releaser.yaml | 6 +++--- .github/workflows/chart-test.yaml | 10 +++++----- README.md | 5 +++-- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index a1db437..fd7bedc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -33,4 +33,3 @@ Please make sure you test your changes before you push them. - [ ] Chart Version bumped - [ ] e2e tests pass - [ ] Variables are documented in the README.md -- [ ] Chart tgz added to /docs and index updated diff --git a/.github/actions/chart-releaser-action b/.github/actions/chart-releaser-action index a3454e4..98bccfd 160000 --- a/.github/actions/chart-releaser-action +++ b/.github/actions/chart-releaser-action @@ -1 +1 @@ -Subproject commit a3454e46a6f5ac4811069a381e646961dda2e1bf +Subproject commit 98bccfd32b0f76149d188912ac8e45ddd3f8695f diff --git a/.github/actions/chart-testing-action b/.github/actions/chart-testing-action index dae259e..afea100 160000 --- a/.github/actions/chart-testing-action +++ b/.github/actions/chart-testing-action @@ -1 +1 @@ -Subproject commit dae259e86a35ff09145c0805e2d7dd3f7207064a +Subproject commit afea100a513515fbd68b0e72a7bb0ae34cb62aec diff --git a/.github/actions/kind-action b/.github/actions/kind-action index d08cf6f..9e8295d 160000 --- a/.github/actions/kind-action +++ b/.github/actions/kind-action @@ -1 +1 @@ -Subproject commit d08cf6ff1575077dee99962540d77ce91c62387d +Subproject commit 9e8295d178de23cbfbd8fa16cf844eec1d773a07 diff --git a/.github/workflows/chart-rebuild.yaml b/.github/workflows/chart-rebuild.yaml index 37971b5..dc0ed36 100644 --- a/.github/workflows/chart-rebuild.yaml +++ b/.github/workflows/chart-rebuild.yaml @@ -12,16 +12,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: persist-credentials: false ref: 'gh-pages' fetch-depth: 0 - name: Set up Helm - uses: azure/setup-helm@v1 + uses: azure/setup-helm@v3 with: - version: v3.6.3 + version: v3.10.0 - name: Rebuild index.yaml env: @@ -52,7 +52,7 @@ jobs: - name: Create Pull Request id: cpr - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@v4 with: commit-message: Rebuild index.yaml title: Rebuild index.yaml diff --git a/.github/workflows/chart-releaser.yaml b/.github/workflows/chart-releaser.yaml index 7d152f8..648e3c1 100644 --- a/.github/workflows/chart-releaser.yaml +++ b/.github/workflows/chart-releaser.yaml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 persist-credentials: false @@ -26,9 +26,9 @@ jobs: git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - name: Install Helm - uses: azure/setup-helm@v1 + uses: azure/setup-helm@v3 with: - version: v3.6.3 + version: v3.10.0 - name: Run chart-releaser uses: ./.github/actions/chart-releaser-action diff --git a/.github/workflows/chart-test.yaml b/.github/workflows/chart-test.yaml index 9329966..5865e50 100644 --- a/.github/workflows/chart-test.yaml +++ b/.github/workflows/chart-test.yaml @@ -20,16 +20,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 persist-credentials: false submodules: recursive - name: Set up Helm - uses: azure/setup-helm@v1 + uses: azure/setup-helm@v3 with: - version: v3.6.3 + version: v3.10.0 - name: Set up chart-testing uses: ./.github/actions/chart-testing-action @@ -48,9 +48,9 @@ jobs: submodules: recursive - name: Set up Helm - uses: azure/setup-helm@v1 + uses: azure/setup-helm@v3 with: - version: v3.6.3 + version: v3.10.0 - name: Set up chart-testing uses: ./.github/actions/chart-testing-action diff --git a/README.md b/README.md index 3bfca11..3ac04b5 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,11 @@ This repository contains assets related to the CouchDB Helm chart. `make test` will run an integration test using [Kind][5]. This stands up a Kubernetes cluster locally and ensures the chart will deploy using the default options and Helm. +On GitHub, there is a GitHub Action to Lint and Test charts for each PR. + ## Releasing -Chart versions are immutable. On every version change, `make publish` should be -run to create a new chart bundle and update the repostory metadata. +On merge to `main`, a new release is generated by the [Chart Releaser](https://github.com/helm/chart-releaser-action) GitHub action. ## Feedback / Issues / Contributing From b03d7af6088a01270747130beb1f8a5a7d59c8f5 Mon Sep 17 00:00:00 2001 From: Will Holley Date: Tue, 25 Oct 2022 08:31:00 +0100 Subject: [PATCH 08/17] Inline GitHub actions Why: ASF guidance is to [inline 3rd party GitHub actions](https://cwiki.apache.org/confluence/display/BUILDS/GitHub+Actions+status#GitHubActionsstatus-Security) as repository submodules. This had already been done for the chart-releaser, chart-testing and kind actions, but not for the helm-setup or create-pull-request actions. What: Inline the remaining 3rd party GitHub Actions as submodules. The official GitHub Action (checkout) remains external. This commit also grants the chart-releaser workflow `content:write` permissions to allow it to create releases. --- .github/actions/create-pull-request | 1 + .github/actions/setup-helm | 1 + .github/workflows/chart-rebuild.yaml | 4 ++-- .github/workflows/chart-releaser.yaml | 4 ++-- .github/workflows/chart-test.yaml | 6 +++--- .gitmodules | 6 ++++++ 6 files changed, 15 insertions(+), 7 deletions(-) create mode 160000 .github/actions/create-pull-request create mode 160000 .github/actions/setup-helm diff --git a/.github/actions/create-pull-request b/.github/actions/create-pull-request new file mode 160000 index 0000000..b4d5173 --- /dev/null +++ b/.github/actions/create-pull-request @@ -0,0 +1 @@ +Subproject commit b4d51739f96fca8047ad065eccef63442d8e99f7 diff --git a/.github/actions/setup-helm b/.github/actions/setup-helm new file mode 160000 index 0000000..b5b231a --- /dev/null +++ b/.github/actions/setup-helm @@ -0,0 +1 @@ +Subproject commit b5b231a831f96336bbfeccc1329990f0005c5bb1 diff --git a/.github/workflows/chart-rebuild.yaml b/.github/workflows/chart-rebuild.yaml index dc0ed36..945cd73 100644 --- a/.github/workflows/chart-rebuild.yaml +++ b/.github/workflows/chart-rebuild.yaml @@ -19,7 +19,7 @@ jobs: fetch-depth: 0 - name: Set up Helm - uses: azure/setup-helm@v3 + uses: ./.github/actions/setup-helm with: version: v3.10.0 @@ -52,7 +52,7 @@ jobs: - name: Create Pull Request id: cpr - uses: peter-evans/create-pull-request@v4 + uses: ./.github/actions/create-pull-request with: commit-message: Rebuild index.yaml title: Rebuild index.yaml diff --git a/.github/workflows/chart-releaser.yaml b/.github/workflows/chart-releaser.yaml index 648e3c1..eadf362 100644 --- a/.github/workflows/chart-releaser.yaml +++ b/.github/workflows/chart-releaser.yaml @@ -6,7 +6,7 @@ on: - main permissions: - contents: read + contents: write deployments: write jobs: @@ -26,7 +26,7 @@ jobs: git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - name: Install Helm - uses: azure/setup-helm@v3 + uses: ./.github/actions/setup-helm with: version: v3.10.0 diff --git a/.github/workflows/chart-test.yaml b/.github/workflows/chart-test.yaml index 5865e50..7197351 100644 --- a/.github/workflows/chart-test.yaml +++ b/.github/workflows/chart-test.yaml @@ -27,7 +27,7 @@ jobs: submodules: recursive - name: Set up Helm - uses: azure/setup-helm@v3 + uses: ./.github/actions/setup-helm with: version: v3.10.0 @@ -41,14 +41,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 persist-credentials: false submodules: recursive - name: Set up Helm - uses: azure/setup-helm@v3 + uses: ./.github/actions/setup-helm with: version: v3.10.0 diff --git a/.gitmodules b/.gitmodules index e7cadd5..70f3305 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,9 @@ [submodule ".github/actions/chart-releaser-action"] path = .github/actions/chart-releaser-action url = https://github.com/helm/chart-releaser-action.git +[submodule ".github/actions/setup-helm"] + path = .github/actions/setup-helm + url = https://github.com/Azure/setup-helm.git +[submodule ".github/actions/create-pull-request"] + path = .github/actions/create-pull-request + url = https://github.com/peter-evans/create-pull-request.git From b6696d0818569e345511b0ba9d12700ee6a09815 Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Fri, 17 Jun 2022 06:19:19 -0400 Subject: [PATCH 09/17] add README.md.gotmpl This file will be used by `helm-docs` to generate the `README.md`. Also added the `--version` flag to helm invocations for user reproducibility --- couchdb/README.md.gotmpl | 247 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 couchdb/README.md.gotmpl diff --git a/couchdb/README.md.gotmpl b/couchdb/README.md.gotmpl new file mode 100644 index 0000000..d1e154f --- /dev/null +++ b/couchdb/README.md.gotmpl @@ -0,0 +1,247 @@ +# CouchDB + +{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} + +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 \ + --version={{ template "chart.version" . }} \ + --set allowAdminParty=true \ + --set couchdbConfig.couchdb.uuid=$(curl https://www.uuidgenerator.net/api/version4 2>/dev/null | tr -d -) +``` + +## Prerequisites + +- Kubernetes 1.9+ with Beta APIs enabled +- Ingress requires Kubernetes 1.19+ + +## 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 +``` + +Afterwards install the chart replacing the UUID +`decafbaddecafbaddecafbaddecafbad` with a custom one: + +```bash +$ helm install \ + --name my-release \ + --version={{ template "chart.version" . }} \ + --set couchdbConfig.couchdb.uuid=decafbaddecafbaddecafbaddecafbad \ + 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='{{ print "{{ .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 +``` + +If you want to set the `adminHash` directly to achieve consistent salts between +different nodes you need to addionally add the key `password.ini` to the secret: + +```bash +$ kubectl create secret generic my-release-couchdb \ + --from-literal=adminUsername=foo \ + --from-literal=cookieAuthSecret=baz \ + --from-file=./my-password.ini +``` + +With the following contents in `my-password.ini`: + +``` +[admins] +foo = +``` + +and then install the chart while overriding the `createAdminSecret` setting: + +```bash +$ helm install \ + --name my-release \ + --version={{ template "chart.version" . }} \ + --set createAdminSecret=false \ + --set couchdbConfig.couchdb.uuid=decafbaddecafbaddecafbaddecafbad \ + 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. + +### Upgrade to 3.0.0 + +Since version 3.0.0 setting the CouchDB server instance UUID is mandatory. +Therefore you need to generate a UUID and supply it as a value during the +upgrade as follows: + +```bash +$ helm upgrade \ + --version={{ template "chart.version" . }} \ + --reuse-values \ + --set couchdbConfig.couchdb.uuid= \ + couchdb/couchdb +``` + +## 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 --version={{ template "chart.version" . }} couchdb/couchdb +``` + +## Configuration + +The following table lists the most commonly configured parameters of the +CouchDB chart and their default values: + +{{ template "couchdb.valuesTable" . }} + +You can set the values of the `couchdbConfig` map according to the +[official configuration][4]. The following shows the map's default values and +required options to set: + +| Parameter | Description | Default | +|---------------------------------|--------------------------------------------------------------------|----------------------------------------| +| `couchdb.uuid` | UUID for this CouchDB server instance ([Required in a cluster][5]) | | +| `chttpd.bind_address` | listens on all interfaces when set to any | any | +| `chttpd.require_valid_user` | disables all the anonymous requests to the port 5984 when true | 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 | +| `adminHash` | | +| `cookieAuthSecret` | auto-generated | +| `image.repository` | couchdb | +| `image.tag` | 3.2.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.path` | / | +| `ingress.tls` | | +| `persistentVolume.accessModes` | ReadWriteOnce | +| `persistentVolume.storageClass` | Default for the Kube cluster | +| `podManagementPolicy` | Parallel | +| `affinity` | | +| `topologySpreadConstraints` | | +| `annotations` | | +| `tolerations` | | +| `resources` | | +| `service.annotations` | | +| `service.enabled` | true | +| `service.type` | ClusterIP | +| `service.externalPort` | 5984 | +| `dns.clusterDomainSuffix` | cluster.local | +| `networkPolicy.enabled` | true | +| `serviceAccount.enabled` | true | +| `serviceAccount.create` | true | +| `serviceAccount.imagePullSecrets` | | +| `sidecars` | {} | +| `livenessProbe.enabled` | true | +| `livenessProbe.failureThreshold` | 3 | +| `livenessProbe.initialDelaySeconds` | 0 | +| `livenessProbe.periodSeconds` | 10 | +| `livenessProbe.successThreshold` | 1 | +| `livenessProbe.timeoutSeconds` | 1 | +| `readinessProbe.enabled` | true | +| `readinessProbe.failureThreshold` | 3 | +| `readinessProbe.initialDelaySeconds` | 0 | +| `readinessProbe.periodSeconds` | 10 | +| `readinessProbe.successThreshold` | 1 | +| `readinessProbe.timeoutSeconds` | 1 | +| `prometheusPort.enabled` | false | +| `prometheusPort.port` | 17896 | +| `prometheusPort.bind_address` | 0.0.0.0 | +| `placementConfig.enabled` | false | +| `placementConfig.image.repository` | caligrafix/couchdb-autoscaler-placement-manager| +| `placementConfig.image.tag` | 0.1.0 | + +## 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) +- [@kevinwlau](https://github.com/kevinwlau) +- [@jeyenzo](https://github.com/jeyenzo) +- [@Pinpin31.](https://github.com/Pinpin31) + +[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 +[4]: https://docs.couchdb.org/en/stable/config/index.html +[5]: https://docs.couchdb.org/en/latest/setup/cluster.html#preparing-couchdb-nodes-to-be-joined-into-a-cluster From 76259755d160ec003cfae9718a0867c3f9722672 Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Fri, 17 Jun 2022 06:21:17 -0400 Subject: [PATCH 10/17] change values.yaml indentation to get picked up by helm-docs This brings in all documentation, but we can use `##` to hide extra verbosity from the README if desired --- couchdb/values.yaml | 64 ++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/couchdb/values.yaml b/couchdb/values.yaml index 44f74df..7a0fd67 100644 --- a/couchdb/values.yaml +++ b/couchdb/values.yaml @@ -1,25 +1,25 @@ -## clusterSize is the initial size of the CouchDB cluster. +# -- the initial number of nodes in 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 -## -couchdb containing `adminUsername`, `adminPassword` and -## `cookieAuthSecret` keys. See the `createAdminSecret` flag. -## ref: https://kubernetes.io/docs/concepts/configuration/secret/ +# -- 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 +# -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 -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`, `adminHash`, 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. +# -- If createAdminSecret is enabled a Secret called -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`, `adminHash`, 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 @@ -45,11 +45,11 @@ serviceAccount: # imagePullSecrets: # - name: myimagepullsecret -## 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. +# -- 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: @@ -69,7 +69,7 @@ searchImage: tag: 0.2.0 pullPolicy: IfNotPresent -## Flip this to flag to include the Search container in each Pod +# -- Flip this to flag to include the Search container in each Pod enableSearch: false initImage: @@ -151,10 +151,10 @@ resources: # cpu: 56 # memory: 256Gi -## erlangFlags is a map that is passed to the Erlang VM as flags using the -## ERL_FLAGS env. The `name` flag is required to establish connectivity -## between cluster nodes. -## ref: http://erlang.org/doc/man/erl.html#init_flags +# -- erlangFlags is a map that is passed to the Erlang VM as flags using the +# ERL_FLAGS env. The `name` flag is required to establish connectivity +# between cluster nodes. +# ref: http://erlang.org/doc/man/erl.html#init_flags erlangFlags: name: couchdb # Older versions of the official CouchDB image (anything prior to 3.2.1) @@ -162,10 +162,10 @@ erlangFlags: # want to cluster these deployments it's necessary to pass in a cookie here # setcookie: make-something-up -## 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 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: # couchdb: # uuid: decafbaddecafbaddecafbaddecafbad # Unique identifier for this CouchDB server instance From f9bb1434b0a033b8068b6897fdfcbcae4bc1c3cb Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Fri, 17 Jun 2022 06:21:35 -0400 Subject: [PATCH 11/17] add a valuesTable helper for filtering keys --- _templates.gotmpl | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 _templates.gotmpl diff --git a/_templates.gotmpl b/_templates.gotmpl new file mode 100644 index 0000000..8959182 --- /dev/null +++ b/_templates.gotmpl @@ -0,0 +1,9 @@ +{{- define "couchdb.valuesTable" }} +| Key | Type | Default | Description | +|-----|------|---------|-------------| + {{- range .Values }} + {{- if eq .Key "allowAdminParty" "clusterSize" "couchdbConfig" "createAdminSecret" "schedulerName" "erlangFlags" "persistentVolume" "enableSearch" }} +| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} | + {{- end }} + {{- end }} +{{- end }} From 563970f29a0a05b7cf4d363c8e34853ae8ef9a1e Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Fri, 17 Jun 2022 06:21:59 -0400 Subject: [PATCH 12/17] regenerate the README.md with `helm-docs` --- couchdb/README.md | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/couchdb/README.md b/couchdb/README.md index bd06357..46df425 100644 --- a/couchdb/README.md +++ b/couchdb/README.md @@ -1,5 +1,7 @@ # CouchDB +![Version: 3.6.1](https://img.shields.io/badge/Version-3.6.1-informational?style=flat-square) ![AppVersion: 3.2.1](https://img.shields.io/badge/AppVersion-3.2.1-informational?style=flat-square) + 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. @@ -16,6 +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=3.6.1 \ --set allowAdminParty=true \ --set couchdbConfig.couchdb.uuid=$(curl https://www.uuidgenerator.net/api/version4 2>/dev/null | tr -d -) ``` @@ -41,6 +44,7 @@ Afterwards install the chart replacing the UUID ```bash $ helm install \ --name my-release \ + --version=3.6.1 \ --set couchdbConfig.couchdb.uuid=decafbaddecafbaddecafbaddecafbad \ couchdb/couchdb ``` @@ -59,14 +63,14 @@ Secret containing `adminUsername`, `adminPassword` and `cookieAuthSecret` keys: $ kubectl create secret generic my-release-couchdb --from-literal=adminUsername=foo --from-literal=adminPassword=bar --from-literal=cookieAuthSecret=baz ``` -If you want to set the `adminHash` directly to achieve consistent salts between +If you want to set the `adminHash` directly to achieve consistent salts between different nodes you need to addionally add the key `password.ini` to the secret: ```bash $ kubectl create secret generic my-release-couchdb \ --from-literal=adminUsername=foo \ --from-literal=cookieAuthSecret=baz \ - --from-file=./my-password.ini + --from-file=./my-password.ini ``` With the following contents in `my-password.ini`: @@ -81,6 +85,7 @@ and then install the chart while overriding the `createAdminSecret` setting: ```bash $ helm install \ --name my-release \ + --version=3.6.1 \ --set createAdminSecret=false \ --set couchdbConfig.couchdb.uuid=decafbaddecafbaddecafbaddecafbad \ couchdb/couchdb @@ -116,6 +121,7 @@ upgrade as follows: ```bash $ helm upgrade \ + --version=3.6.1 \ --reuse-values \ --set couchdbConfig.couchdb.uuid= \ couchdb/couchdb @@ -128,7 +134,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 couchdb/couchdb +$ helm upgrade my-release --version=3.6.1 couchdb/couchdb ``` ## Configuration @@ -136,17 +142,15 @@ $ helm upgrade my-release couchdb/couchdb 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 | *See below* | -| `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 | +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| allowAdminParty | bool | `false` | 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 -couchdb containing `adminUsername`, `adminPassword` and `cookieAuthSecret` keys. See the `createAdminSecret` flag. ref: https://kubernetes.io/docs/concepts/configuration/secret/ | +| clusterSize | int | `3` | the initial number of nodes in the CouchDB cluster. | +| couchdbConfig | object | `{"chttpd":{"bind_address":"any","require_valid_user":false}}` | 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 | +| createAdminSecret | bool | `true` | If createAdminSecret is enabled a Secret called -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`, `adminHash`, 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. | +| enableSearch | bool | `false` | Flip this to flag to include the Search container in each Pod | +| erlangFlags | object | `{"name":"couchdb"}` | erlangFlags is a map that is passed to the Erlang VM as flags using the ERL_FLAGS env. The `name` flag is required to establish connectivity between cluster nodes. ref: http://erlang.org/doc/man/erl.html#init_flags | +| persistentVolume | object | `{"accessModes":["ReadWriteOnce"],"enabled":false,"size":"10Gi"}` | 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. | You can set the values of the `couchdbConfig` map according to the [official configuration][4]. The following shows the map's default values and From 1414fb106327df9e9078303ce9461d3c9f041fbe Mon Sep 17 00:00:00 2001 From: Tony Schmidt Date: Tue, 15 Nov 2022 15:44:10 -0800 Subject: [PATCH 13/17] added persistentVolume.annotations and bumped chart to 3.6.3 --- couchdb/Chart.yaml | 2 +- couchdb/README.md | 1 + couchdb/templates/statefulset.yaml | 4 ++ couchdb/values.yaml | 1 + docs/couchdb-3.6.3.tgz | Bin 0 -> 11559 bytes docs/index.yaml | 102 ++++++++++++++++++----------- 6 files changed, 70 insertions(+), 40 deletions(-) create mode 100644 docs/couchdb-3.6.3.tgz diff --git a/couchdb/Chart.yaml b/couchdb/Chart.yaml index e131d0b..702be1d 100644 --- a/couchdb/Chart.yaml +++ b/couchdb/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: couchdb -version: 3.6.2 +version: 3.6.3 appVersion: 3.2.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 diff --git a/couchdb/README.md b/couchdb/README.md index 46df425..fd93ce4 100644 --- a/couchdb/README.md +++ b/couchdb/README.md @@ -187,6 +187,7 @@ A variety of other parameters are also configurable. See the comments in the | `ingress.tls` | | | `persistentVolume.accessModes` | ReadWriteOnce | | `persistentVolume.storageClass` | Default for the Kube cluster | +| `persistentVolume.annotations` | {} | | `podManagementPolicy` | Parallel | | `affinity` | | | `topologySpreadConstraints` | | diff --git a/couchdb/templates/statefulset.yaml b/couchdb/templates/statefulset.yaml index 03ae8bd..5dcd487 100644 --- a/couchdb/templates/statefulset.yaml +++ b/couchdb/templates/statefulset.yaml @@ -209,6 +209,10 @@ spec: labels: app: {{ template "couchdb.name" . }} release: {{ .Release.Name }} + {{- with .Values.persistentVolume.annotations }} + annotations: + {{- toYaml . | nindent 10 }} + {{- end }} spec: accessModes: {{- range .Values.persistentVolume.accessModes }} diff --git a/couchdb/values.yaml b/couchdb/values.yaml index 7a0fd67..8356496 100644 --- a/couchdb/values.yaml +++ b/couchdb/values.yaml @@ -52,6 +52,7 @@ serviceAccount: # provisioner. persistentVolume: enabled: false + annotations: {} accessModes: - ReadWriteOnce size: 10Gi diff --git a/docs/couchdb-3.6.3.tgz b/docs/couchdb-3.6.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..15f2043fbb1c00366c83de3f6f48816b3b67a023 GIT binary patch literal 11559 zcmV+?E!ff@iwFP!000001MEHhSKPL;{dxZi9fx}YE%xpL3+eW8&!a%o+%~`ow0-yF z^#rf2WqtA5j%7pk68`r$qYqn_?Oh;*r0=fUbHduvXe5p1Lo*|Laqdn0QTLnASb9)) zb_V!we`nCs|5fFi{?_K^px58-ZNT$>e`90t4Hz~nS61o{>pMetYzy6yW8=K4Ze~MCHfB46vQyOJcH*zm%>df3}_(^@>0&j0`wXOeV zf6!O!FX*JdvxWP=_ef)$TmHk>|K`Rf!I(I|yJ1e5Q!M^|9F2nuheqxwq&~54Z#!-h z{7zFA#LodR5-X?X6utQ7u1` zl=7J-)^`@M-dO^c8%1&EW>7;;$1`#^2^fL@uP1Isd^!#y%1DL}Q_A8z1rRPHE}6vf zr9=J*vPqn0qCyCD*WphpLH#QpAtVo=2R=<E#>X4C2Q#9^e80tsbuxIG(w1)C@eq(z`e2)KC?q|9R1`5VV+X?8rC{$|bF0=p_^0>shY>%-HNz5T;V2Uj?Gb%J6EQh^4vgtLGA+y2i7KfXKteZK`# z9aDDYH6U7td2;;btPMT6%uMVUhknRlYq+qGz)&>uN8v&vAw9mdpj(#4QrG|FqPiZu zin34F{ub(gy`7CMQ~&F4Z7lV_rznR0Cl`NDE1FZJZrU$k( zHdxnV2vn*1G)VG7!%Ks#kcg(bAo*PTBo=b+luIRsEzD=b4vsedCv3L+fKd##`saPt zzrO!L#kr2tOQEej#`a&d|NDbM&)omL&8_ABe~Mz#u3UYgk`?A35S7^RNBZjuQ;-co zm2@s&21_KS^m;U0TomOx5qsI-g;5{)HKQ%ZzDa0f)(QPUy&T|Ujd2`?@ipL1ym&fwffr>l z5$7Bo1}ZE_i1&Gb?h!U)fEhvQHiBMRWv~eHZUaRgIVQm53y$g{27CTAh)!Ut@$B3V zGOQ=K{T)msyGLwK9b*F;L%+rwAO#Yf=Su*T)`x`q>5B}>9k;8Z20lS8ArSBNc z@=-98s0A!PKtQp%DqP=Zs_ltST%rP?Gz> z>F`=BG!5P8Vn2>A14@Rw#W2M4pF;Nn#aQNv3Z>Xzg_VKPRobud4v}vT$v@+q(;wd+ zpaT#$&tm(6Ml^->^u-}M5Mj!R@sL9y0!#;m`X5MuNSQc}sf+fsaOa7J3FOnUEb#KZF#5g}7$Pk3rk1su0MUP?N z<)NFx=E{?c)b%MNUFkGI1ueRuY>oGbGl4xITR@ONoGIch`o0db$*^;Ne%?_#%8qag ztTb;T1R|U|q)F$f?he=xY6I;)zqv`$0J^nqZcqtCW#j{Ka8naYUqlNu72M|ATRzOc zPoW#x5Eum3s`jbD^2zvKVE!7`)_;GJpUgIcD9%D|0#;W#f2c`Y+M{O&$9sW z{bxSnYjCSdE6}=&8K}Yn3ahU@a-g*PtY*W{>Il>5IC0N zz-y|mwOFbWqIZ9n0o$mHQs~ZV7#fEtpzr0`M3CtHrqOJz$^Pn8|Ln2}kw<`X)*Vn) zL~lt*R-K=M5Gua}7?xhcTH|K%XnTuBo@o?6wSipc|3a2e-Q>|Ez#{&?vu*l+wtGAM zCI5el(#YEPRSe7*ap2sGv(G=SGeWW25C61^YPhgd$FPBijTd&-;Dj^xe}n!n@bAJW!W$mlV{Vezf6c>L zF|t*~!0Ma1{@(Pze3AoO#udyDxDFox_(kb-s)e+R^`+h=%coM+9O_3ptK!gQ#W|B` zIX}X>oVeM9ScYmU^=LM6HwN1PP7hotx?rUVaHlTx(~qVO%u~;**RSs8Yjp3uXo!r^ z!@5luBaFt+Lz?RJ3oZ1=Qf+E!VQGN1KI=VIL(XauA=USDh`lAouMr0juNWt8M5>no z$@t#(;$)`9ZO909eau+x)%>vZvWf^rw@iq7GfmMLb};B5s3td7wJkn*71KJ>aEgxS}T&4RQhZm$9#-1BGewY04{Lecqk2xC(SfxsRsq{XLsw^Lgiq%t<#y&Z+ z_MAno_AJL%C%}3pjZQ*l7D?0UE?C)ztm@nqHR9~%BU~9`B^;#QnkG|o@r)z4Jcl*c3zq~s9ipHZKx;G905P$d6uX`^~n~)Y*1|bGMtla2K=5|>AR(tnWg@167Hi=m#!$0z* zRhz>WFTq$ca7l!0#Foa3YGio>O^-!7>e(cvY!Zilg(X)P%&cmHLLDY>!vh++GuTLR zyM?=nEMstF3iRN_2aj8L_rA;k=uPO0k$3wA}d z&T?CP;ca0o*{ALc1KcNV3DhTpk(6Ny@62XB^shfI@CbJjDz)jqIzBR>o`vumr zUg>_8mEN+=zFI^A51BDrbX-ncGgHU=J3KdSIdLrBmdA~AMMM<)RHa6hL)4!(ZIVi> z)`Ly_6C?eKW?39!AY_>(!MAt$u+r5%;JRZB6V+`p_2i)tvp9*v_+oaNAd3O%$FdYm z%dCQTOO-qJsS{G;xkAf+<{_vDK?*e6uz}2Du;N0CssMYK9S}fmW=cX^7zWZ!S`*nq zP!{Kd&5aFjZwnCp81Z4}2StZ9_bzGavwBuqi7~#OU5J$Fr8PtK%wqbhidIIX)a zuO4yKbm~!t9RJQKwK-38A=9f2u&Qc_9k3s|!Bn|qiX<-S$u~_4to>6B;6lPL@1P{P*^tZ{Ghm7;JAY<3FCF+}w1( zC0D@|Wot%I4q}w^?i8oRn*im0+vVie{kC)XA>rv#6Uuq8O1Tn(y(8<{@|HT2$=c;x zG;u1C9feK_KaQ_xnt}$4!D4A1d1QN&{~1hAbI|BM@C|GR$_o7U#bq^a(TB(Zd!M@@ z2zU@!AP6|-PUjCQp!50}_JN~dWJEpGP^7crU7R2WUsnvqR}r6QdWF(4!%Gpbsm$IZqZs6|OD3R;hZrR%V-N@utqWbbDoT&U z5nb=lh~+62KoBNyzl^4sX@nOl=1~BmOOi|LA{J@w4_rfN|Fy4Uf#RdDWwBpDKk?%! zNX?WdvkA7sa?Ck|J%$maevF$Clv4TuBxn127%~0&suVx8*n6d3G|nDkwHGE6_b8u| zjozGA%_FqQ-N#rYOwu6(PN#zt7LY-OX!>m-ZtWyfmc8ozRU~+UI)+dq90fUovF7kgO;!% zB8An8urk3&X*cRw<6LXHmfi;BmrAdcw$D1bo&??m6!b8}F~mUL*J%LTJHn3L5Y6?O zm|jNYI25=QOxTpEAFy>=sX%XoKw%!VZ7tk?keB2LStcvWNskKno#*#(-5kkdoA)bB7jAYwj=# zX-CJ&kBaFyh^KB4NvXv%@A2@17K7C0;P!T1PgYo;cWu8poE0dwtR zUGOyVlNMS1>V{#igUq9YYNTa@CenmTAr0r$X_AWbkCPS)eY~I;aWlM%T80eHQXYw6 z`t9Qu$uxzqR+lzdds>S9oKDcdLD|5NudcTEI^{}yEEFir?^zQ7zC^O#XDD_1U+K?} zmjJ#f|F1VN?|&KW^m|MD|0&92T<-P%G3!GLh*u{=as=igJW28q$lJ+Lobg*__Czig zWkWQAcm@4(uBJ%Khu*~49P{{~8yG*~>aH(Msmt;?N}d19dq$t`{*R5`R{i{Ung9JX z#b88g@%8&3xz?}cx1s7k_XZxb5x<8}i}Gx|r?6;*URS-gLWw`uEyabm4+~+YE@S-< z6lM+XM$O=`@K`BvIxetz&@kcTHX6b5=?}9;U~; z;|&UAcqm_SVuAEwMB)esJ~rgUV}t_WGjYAyNeafrhsw*5>s``%sG=m@dIV!ZQI(xi z3qFuyyY>_Sz?L|9UFb zWB0M>`yU|m4f(&h-P>8p|EDN#d2A8;v!fXj=Dk$aJ0>boPG1`RW%yrud7k^|hH(=Rh}rgR#o0IuJAEm8!uD=Drg7@v>F>^~4c zCe)k6!~!g>9|#L6O~?SBM-*?Q_|g;l7c1KSS3XqxN+|kI<^Kb7&$Ryr+ndY%|0Jd2 z@#c;%@j&cV^mM~UMHVq0xqjQfR>wGJguRL12v3*0@oO(?|GzohJ9vHgc`U&B`+u`H zDDA(&#?}tne}j#s|K~}{GZie?>C`_3;}&UFWK7*G=dr7df?UA(>S-QkfjxE6Pfpk@ z^43K#HS=6}-@z~Nkx_8LVW8zWjYlBH*G1lx8(|Py9%KO+fIpv|opk?kdVECoPG0d) zN}saeA`)Sz7;6`}&^E|s4u04JzhaLr6sVPi@eJ`)NK3apaq*#cfu%!UWiou0S6ANs zj`Eg(5eo=MnaXN7;Gm~GtTs+b7`r|&G_Zv|oP*I!g#@jWQJ(SdT(}{NJ0mLdE%Q`G zCn6jYV+^l~tKi?*Vg$fKGwGhfJD0OG4nvyqFx`#{IV$3Nq1}|?7d8Sm<&k8;Gzmr8 z0Zk@!3ifp1T>+g(}Z7fmR9uCK58b9s;vr}(8* zz%uAw2|wNz+4y_cr&rwwbYmV4k6*H}*Z5~cZ~{O@<{B0YfCllHMawVgJKujN_Qj7B zHVf91N-f_R|lQ*MJma;WHZEr zoeqo$tb;nnsw+Vdd=knzxEq-)!h=IG=u-@t^D!Qx?x`dJ84fLPF;fHP2kux2-E{%5 znc^!wlG`}|D;DViMHS>oBV6Dt4d@jnKQZ~~D^{5Y{o`FS_`aM1yZFLXOfKTeM|H#} zbZQ@+cwT%(2c}MZNJotJ)tJoUoFpk710%#wZYeg|GDaUL9T1!GX8cPE1BI7NfiN%PI_Jp_mDwn!Lv|)-gm3!5Yn&My<(v(&3Hk4C1(97)gBvR-#CAbN zHY=D|LY;qCrtsRu)TfxUZGJ>sIAqStNkdlcO>pILo>YPebHfai+_Gy*BhvBzuf3~n zZX3zb-}x(8_J>JQrWD&rCaaxEttXjeQ=7M&B$E$bmqkmo%~&G2B4t~vWlCyfP?9R4QZC&OS#D4g5r%NC8LRm_;elfz(%?!uM&)6Bi->B7>W(M}+3|##j z{#2Y?3{Uqs*yl4LtYFEkO#rh&BNy0}S?B$^_?nv8 zOma~YoQ=$AZhV`d%1>Z~1fMJgzI5pQc64vs`}=-q@)rObQ3m)(5l^Ulh;}LZsftEN zPaBG6>*hKmrR7=p;K8S~c<`VXz5zr7-K`z0=?}v`j|Dy@d;I4tU9<~N%_~w8Mv0=h z+%4D9nC6FD>(s?fHzziY;UpQ;gepTb)7-wz#|3SGn9($o^Fhk@HdYIeAtD-qe5Q1D z1JT|-bFMc{X~*ax{99d)SYD9ixC+PdSK69XBcfehe~=I8&zdDJyf;cONP~RX+3W0w z(X;S!7ikLb!z~4=29wf4GbfCkh_fKg&=MLSQjEeAn%N9qQhJbF_>($gN;lIKKf{&DfJd@);twVnV*aR#o~Xa3wn}F=@&8J-ENKl1m>PCUdhyX zZ__iZF5;2Tbkq^l|F)ESAX85^nLvHNU|-9S3UHa`(~|lD?p)MabedvOfgXbBO|z+x z2+Z)533Yds4$6*AD`>jGZh6ex+&2wETfS|QmVVb$h~dPMzl(bExhtz=`PRD*b1rg= z`)>?qH>~bFqvko{$`NRCS`F;+*Q{jxnocZkMJ5C_{KoM(`(Vg;erPw|UoVn!Fi8uR zsLP+5<_|CQ+j9kjn`qUuy2LluBPM9Stub-^))rxWG+>_k=gr~tnuZ6ix4)vV>YjjB z>MYH9Hg3YVaUsW8%#qw6wP~WsAwEAfB8qhy&BRId9(+tlNG4SA!Ad3?$K)m(HzDbs zdLG@81i`k!*hTVbr5b!J_%T~gl#P4#Hb3)s2ymLZdTs$r7EDYg2G4jx^m6?TizpmHM($PG`}lQ9a_IpdW+B>Yd&HCxT@XmK;Fdw<$QH<$A-HPU!~l;P6)!5 z?!5^Qh6wW!>eVQpw%<$#w4FyqewDCcFS*8XnS&VC^<=W&Vu%B?iJ3E;ZrIwsrc4+^ z0?_=P$WehuIXKKuPtyS;ldljTJ~|Rbx!zdHb5bN^ONomg%Eqq1il4<#=7o5C%K`I$ zb;npjB>Z!>kGm0Z#W?F!{kG<@4rqfYEYdFT9sXuUf)7F_+1cUaqx459n}hPeqhtD*B7zY39+kIdh9Yb z0<6crb8Fsb3p|hZ>2$(`Nmj<`=yocYHl*=<%YwMWg!WBp3;Iwu-&=I{&74hc5k=p* za5Y7-d@U}xnmdQ$yp8Z%d2A;BXs2in9=GAq<_c*eWhw5{xq5dMJ&$4?>9(Cm*U@Jc z#r6QbKHZz}A|K?Vyu4_{zg|Z8nmAr=rvL;10c4gmC zG+ULqr-CWcJs~gWaejzy!vFmD8m*qso7kT#$XoAdl(bHnCPfoVdX9`o@sS&SXeGxKtxL)}JURgC zCgmH^j&I51f|y7i(Hnc;yinFU6cv#z>u*7C-l-oO$tiu3-$YStO5c-5>nttWq|D7V z=c77k_m>r1OFp(HN@|c_uhq*l`Sg|II#$t@*?jt}?cJH8m%7BZ9X6u7Qf%fhF|EFZ z4!(e*pUcEBxgN##{6Bra;96t7B0WuCD6TWst25N}*Bt9*d1_4C*Bk2<32U^~-!L+* zgS{Tb_8>xizu;PWcuPc~{#?Ou_s6Gyd2%<3t;Q*w;`o2JqlgPfXnK0N+1BheTiu}8 zc7mt9FdpGrlr~9wdWBhlonI%Br4fx;6`d@h?4Rt`IK$#b@nw<>5vyV+e9aKZ9dRU0 zPo}tL2{iEJC_L42xVpYdMgs)6j;oN=vG5QkxTC|}BY3194wK7dlo$AA?t8;9dj0Oz(c%7)n7`P+KIGM?vGaxY%V6;d(`xCmo6 z`3`o%S3?}QuWp0A)+jCj^;eFDowJem`sP~uwJ&) zoiC>Zs)RmCuZq!%icU$X8jq<5+8LBrQtbJ8I?j^WqrKLW_N^4AdeztQAd9DG=M@}* zTB^jEBMDBZtH=AJ}M}{MjVyTGtQA z)-FeI?VMNRQE>QpMNP4v(G0GpMb{j1P<5M*=S2+n9OI@K@$G+9<tLf+52ZhI@Wqj&r3|I?+*RtXI1>q-Tfy9|FgTdw~P2MyN@^cpFiYj#Q*feR$iJn z2o151z}UanzwC8(gJFHy+Y1lA0WHMdTS54J@Io9qtws!8Bs1JNDa5%B$r)LG1^b+r z{~86f;U%@OFml3?Z-E1Dj#i5_@f5pV(IKlO0rns#*}Oqzo68agW+sro^>2Tx8FXp@ zTyPFZ(afz=|LWFC2N*&X?k&w$Z78}-%V|7{QufoYX5CSKmfM$HFDhpw|3{tj^6dYX zDExo<82SIbG2ia9T>kI=xclgl#eY89--G;rw2A-l$2@fAaZ>}N;wNOB9$l}ihNojE zaO%;1AQ-gMCgKhhO)yahvLwJK@g$rUwG&}BtA#Sr;|u;2cOytMsy=>y4G~&shn+;A zn3gut2c5?=T*y1sXuDuSY_D;0si;>OgCwOsa$)d|RgJ^K1KOB>x)jN^IkAjFWhgNRYDl-5Iz{ur0Z2snpx zgpNWsjcGCBNvf`EJ*tFyyZ6}*Zq>-_xNamn3y@-!5kNkUDmLd0;RD(+v!2$}#~4cQm$xk=<|zE`Dy3oEV6q`c^8 z`}fd(8bZt-%egpM4K*j0j;R9&Ro^qt0wi@z({(&!qz7P;kRmhI+@#TH=z-Vkn!z;C z1#SAi$CjL9`hS*J$23c)lf;z4aP-1RQB`iaEWuKyL)mDib&iu1%bKb-2M&RO`5h{Q z2v7De@EEh+rM&nRrX8C=!i8jfHiHNMNhALXB$}ym5P}cbG-I@ibRzq@iYFQ8pAcau zuo(=g;CS<_c3%s;dot*I%9!a$fLBU!bRO|-AHa0R=XfVfI%l153v=dT>sB(Nipz_# zYb0bcF~?RbGm?l^by`%B{Z85CNfmnD(LG{Lc&k&biG&XPYq0rNnfauDZi~W7|7~8F z;Wr!pe#UR%wjvTuaODu=9vodV1D(v~AnATQ09uZy-}FC#)Z^q^uJ}c4>SSj46AM>^L2>d@V3G~`aZbm41`wA;3Ye8u*(~m*P}doWeUS<*Imvjf z%YH=WhS~WQYOd#2fvfg+R~x^T-54oJvmTs7@>i zZN}8edRtlUaN0=X3t%)XDF-ZB13K6y0p+oTae=XgxnzvY5Kn+b3$0AkcP{fZ3FV7| z6D5uhNYyz|KcY@xv(wAM+HRKU@sFY1kzcSi<)g4h|9X9v<@V=auW1`(8;sV%!sM{^ zA8oo1^8(KpcMP;puo;<%P4!!wA$^M`!dBx|7~*OO+BgF1&%HD_v*z!v*~PpuE>QpA zZ}~eF9RE0?z8TGdL`UH}Bo@ZdnM!t^BB?aVOP*?zI{wQz2V7BxI~uY}3y?CvrNEi| z4DH?l@qg1u(tO~_E$W}_-#A%BM$ssW))d?29vg5tDgmzIx!*u=eBDo@I zYJ1J^GxJx+?>w}q9yhqhf6hu0g5_xn3DOI78YKtWj0Au!xp2nte0gKjAk;(4=@2Xq zlsfZ$p&3?bI=lNv(A-PB!j7X^;QYH69v*SQ18-?rESZz))dtqd!-TH^((+vQT?SRE zk_BRFxk_ue4d&C1f+k7bvk`&HTIr>e3w1&|;CKj}>o;W`z7D5iPOpfYpv`IluN&GY zq$*qpI4|V$4pUoEHVqm*F>REjj=%1F++)47wWV7r+HqN$8k zoCTo{ibN$G&oWI}#3PY8!Dz$~s$!J0gtDR*;qX2TFVjf{95$A+QGh?a`N-{L)R=6` zvQQ0jjtWY26Vn_wT#+R8WLO64A#yZl*e~@y{G=Ad6j<-*KKU(!A z_Et7}QHyhO5Nbk-Zd19Ud5&7!q0g6b2p)*`l%1v7b!)+DR7UZD^UPyJw@d~IDXXfq zO?f8(c|eMFdaHWuoFJuQ6xO*$dwz=|qOYaAhMV1|t@+-Xx6{W0doV#bC1xGp#!hOZ z5P1XHK8`H6&!#jRx(F6PT6SdJPP>5@n^Z-y8=iDqW0USad^narZCuj5r*B246(-%% zkDvHu_Z~kX{TIwSNKOf;1}q=1X}B=NWm&^EYpiBmDza0Q2cV0f+5YzC_~n~}S08ES zU5YsA3pR&U$+WDG@17V`L6KgPS|P?63IF1$b)9C<3gc}0r*7@ioWW0WDGCkcm^lob z_SJcH+`az&h%`47X2FVFi(T|i0pUICpixZHd?L{rNa?@Nq|}!q9#kfL$n*D~pa1>E zFUQn12k%}TKY#!JAFqE!_oS0NV}}g@ys%7n!ZKG)m1&tEI;IoE$mB|!6qX!gYhVQx z!=`2p`0ZT5*=dal3!id^7 z>pGE0qALT+a0nG7UYBk9G*wH=GSH-aO$O5FC;#e&Pw5|;e*0-yo^xz5km3WCbMq&t zL=j)EKUxp_xeB#~$i;Obi%PEsE+UYh04*W8I~qW_`I&l?+4fdB)Xow zrNji8*4dhERFs$h_2QijNRf!`mwE#Z70m!Fb`u|p^3vj_-t#@vy-*v7s3Bgpp+w11 zw@W^w8oM$o{B|qDS#2dF6*saQlk>azTx35L@u$k}wo{pZ2|S12HqET*UW<#CFl=#= z?S*W9a6MhIi@_q(@Ku%bgzs;P-+YJEKbe`JHc4OycnG~(g|BA8M1ra!MJC zzk7`Rtb5E8p?h5WoAxmqjruW~?MTjwY{>a0cEV{EJJWwC23ob6C)Y(@if@5#6v{&< z@cmg^)k0sUY^iT6bTrA}x%=Z^o<5NVn;9EVPEuNFu$gEK0z1)s^_XqZMvdch35==E zX(_Pr-Ho>62YJWZZwd2me_j&kUCa}XIwiVaL!08q3-@kMm43i?{Op8$cVfK%aHOxr zy!#errqVTaNP~<>kJRSqehO7Si0+*im322ml`c!N55_Y$RDWH8zO#;==$4TWrd-0P z%WMv#L14?`7N5Fn({2DkZ9_ItalD6+n@CM|ojrjbX6#LLn(<}OG9Nd!+4HuBq=&4R zNp5ij{)lX6SeN6V;e6aWSFIVgVTfJN*O}|9S#-DaaN`BCc{b1H**u$P^K72Yvw1ep Z=Gi=(XY*{H&GRQd{{uV6(%t~@006RYyYm15 literal 0 HcmV?d00001 diff --git a/docs/index.yaml b/docs/index.yaml index 3e8ae7a..8780953 100644 --- a/docs/index.yaml +++ b/docs/index.yaml @@ -3,7 +3,31 @@ entries: couchdb: - apiVersion: v1 appVersion: 3.2.1 - created: "2022-02-26T11:38:38.223409-05:00" + created: "2022-11-15T15:38:29.086863061-08:00" + 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. + digest: 9091c8a4bca3c965ef6b18907a9e0a4b8c1db38fc312e8a3f59f96a39cd005a1 + home: https://couchdb.apache.org/ + icon: http://couchdb.apache.org/CouchDB-visual-identity/logo/CouchDB-couch-symbol.svg + keywords: + - couchdb + - database + - nosql + maintainers: + - email: kocolosk@apache.org + name: kocolosk + - email: willholley@apache.org + name: willholley + name: couchdb + sources: + - https://github.com/apache/couchdb-helm + - https://github.com/apache/couchdb-docker + urls: + - couchdb-3.6.3.tgz + version: 3.6.3 + - apiVersion: v1 + appVersion: 3.2.1 + created: "2022-11-15T15:38:29.086299922-08:00" 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. digest: a04f5c774f9696270562b01721e17b52b03a6bca2ef3fa55129b5d0a320552c8 @@ -23,11 +47,11 @@ entries: - https://github.com/apache/couchdb-helm - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.6.1.tgz + - couchdb-3.6.1.tgz version: 3.6.1 - apiVersion: v1 appVersion: 3.2.1 - created: "2022-01-27T12:14:55.94368627-03:00" + created: "2022-11-15T15:38:29.085195856-08:00" 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. digest: 8a6dc96fbf7df0f4bf1f95bd763fb523bad98dcc34282a5b3623c2a5b2b5d36a @@ -47,11 +71,11 @@ entries: - https://github.com/apache/couchdb-helm - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.6.0.tgz + - couchdb-3.6.0.tgz version: 3.6.0 - apiVersion: v1 appVersion: 3.2.1 - created: "2022-01-24T11:16:39.860979-05:00" + created: "2022-11-15T15:38:29.084678117-08:00" 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. digest: cf08bce16aa11476c93b48208182235b10541d5b0b75f6de87775c94742e02b1 @@ -71,11 +95,11 @@ entries: - https://github.com/apache/couchdb-helm - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.5.2.tgz + - couchdb-3.5.2.tgz version: 3.5.2 - apiVersion: v1 appVersion: 3.2.1 - created: "2022-01-13T08:14:05.939155-05:00" + created: "2022-11-15T15:38:29.084202216-08:00" 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. digest: e0042aa48624c3b795b82d473c08ff181ead9c7ccd172b09c3b57021d08dca60 @@ -94,11 +118,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.5.1.tgz + - couchdb-3.5.1.tgz version: 3.5.1 - apiVersion: v1 appVersion: 3.2.0 - created: "2022-01-10T07:49:23.501939784-03:00" + created: "2022-11-15T15:38:29.083728169-08:00" 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. digest: ea79c63e56c3c7d9f4b185bba5c5e89402de62b31dd61b928d9666b0466179a7 @@ -117,11 +141,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.5.0.tgz + - couchdb-3.5.0.tgz version: 3.5.0 - apiVersion: v1 appVersion: 3.2.0 - created: "2022-01-07T09:59:37.621788-05:00" + created: "2022-11-15T15:38:29.083196226-08:00" 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. digest: 1fd2f15ab2449e2a6e00d09163de7282f21b3fe4f902c967b37c94d546373616 @@ -140,11 +164,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.4.1.tgz + - couchdb-3.4.1.tgz version: 3.4.1 - apiVersion: v1 appVersion: 3.2.0 - created: "2021-11-01T11:58:35.829781-04:00" + created: "2022-11-15T15:38:29.082752527-08:00" 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. digest: f02403a6e33116ca8ac7d4cf438e6fd449628be2624c54e4fab4598b368a99f8 @@ -163,11 +187,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.4.0.tgz + - couchdb-3.4.0.tgz version: 3.4.0 - apiVersion: v1 appVersion: 3.1.1 - created: "2021-07-19T17:06:48.703104-04:00" + created: "2022-11-15T15:38:29.082302712-08:00" 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. digest: 20e63d0f49af172cf80bfe242e8b2eca4dd8de99a4c2cddd53c41b22233547f2 @@ -186,11 +210,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.3.4.tgz + - couchdb-3.3.4.tgz version: 3.3.4 - apiVersion: v1 appVersion: 2.3.1 - created: "2020-07-20T15:42:59.616958-04:00" + created: "2022-11-15T15:38:29.081863076-08:00" 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. digest: 2eb7baa9fd807194a6c223b0fd0959819c3fc0b7b3ad640f6a44d34004d65d33 @@ -209,11 +233,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.3.3.tgz + - couchdb-3.3.3.tgz version: 3.3.3 - apiVersion: v1 appVersion: 2.3.1 - created: "2020-06-26T17:24:20.1166057-05:00" + created: "2022-11-15T15:38:29.081414484-08:00" 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. digest: fd3b6cfa14fe2bb7c30919dc328c74e9ccdb833e3f29dd0e0e5b14cfa1711952 @@ -232,11 +256,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.3.2.tgz + - couchdb-3.3.2.tgz version: 3.3.2 - apiVersion: v1 appVersion: 2.3.1 - created: "2020-06-03T09:03:46.521289+01:00" + created: "2022-11-15T15:38:29.080929384-08:00" 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. digest: 6c6f9e646f4eda3bcca8556f2ff8f8d456e411136012c67e359c21c12c10785e @@ -255,11 +279,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.3.1.tgz + - couchdb-3.3.1.tgz version: 3.3.1 - apiVersion: v1 appVersion: 2.3.1 - created: "2020-05-22T13:16:19.793936+01:00" + created: "2022-11-15T15:38:29.080418317-08:00" 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. digest: 0d2613f898fd6f6d86e396e2f64f21e85d3d07889fe3fcc76e03cdb741ecce74 @@ -278,11 +302,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.3.0.tgz + - couchdb-3.3.0.tgz version: 3.3.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2020-02-24T14:28:33.088976214+01:00" + created: "2022-11-15T15:38:29.079936394-08:00" 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. digest: bc1fc4cd7208209abce383d0f57ae7c628698462b63af78e9b2641f8afd40c6e @@ -301,11 +325,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.2.0.tgz + - couchdb-3.2.0.tgz version: 3.2.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2020-01-06T12:56:30.320674+07:00" + created: "2022-11-15T15:38:29.078924183-08:00" 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. digest: c6e72b6d9d7befc8ec015852e1bf74476222953ebcd2803ac33c1c0491f96d16 @@ -324,11 +348,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.1.0.tgz + - couchdb-3.1.0.tgz version: 3.1.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2020-01-06T12:56:30.32018+07:00" + created: "2022-11-15T15:38:29.078485385-08:00" 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. digest: 7770f1c19e948d9928eeed4f11ff960e598149bb5c0ae3e1f546b61e9dfb65f4 @@ -347,11 +371,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-3.0.0.tgz + - couchdb-3.0.0.tgz version: 3.0.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2020-01-06T12:56:30.319392+07:00" + created: "2022-11-15T15:38:29.078080152-08:00" 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. digest: db0815c2766f76049b58d0954b66e0b70bf673a7d11c1d3cd9e07c775c646c12 @@ -370,11 +394,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-2.4.1.tgz + - couchdb-2.4.1.tgz version: 2.4.1 - apiVersion: v1 appVersion: 2.3.1 - created: "2020-01-06T12:56:30.318616+07:00" + created: "2022-11-15T15:38:29.077703293-08:00" 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. digest: daddf6cc7fe8bb63d6fa8679565d4496d92c23d9ff85b19521fca74c6412bc11 @@ -393,11 +417,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-2.4.0.tgz + - couchdb-2.4.0.tgz version: 2.4.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2020-01-06T12:56:30.317835+07:00" + created: "2022-11-15T15:38:29.077298586-08:00" 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. digest: 0eba7c20ec47bc8556b3cb3b5137b578d46b37397493087d61b8199066f84782 @@ -416,11 +440,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-2.3.0.tgz + - couchdb-2.3.0.tgz version: 2.3.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2020-01-06T12:56:30.316893+07:00" + created: "2022-11-15T15:38:29.076930724-08:00" 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. digest: f68e6187c2b65a02fdde9d49ec38e76a68c3d82421e5ea9e599bac87f4193c6a @@ -439,6 +463,6 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - https://apache.github.io/couchdb-helm/couchdb-2.2.0.tgz + - couchdb-2.2.0.tgz version: 2.2.0 -generated: "2022-02-26T11:38:38.222258-05:00" +generated: "2022-11-15T15:38:29.076455179-08:00" From 1a9b803c39c22079d0c73b54dc54942dd8ea9983 Mon Sep 17 00:00:00 2001 From: Tony Schmidt Date: Wed, 16 Nov 2022 09:45:25 -0800 Subject: [PATCH 14/17] update index --- docs/index.yaml | 82 ++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/docs/index.yaml b/docs/index.yaml index 8780953..c2fcde9 100644 --- a/docs/index.yaml +++ b/docs/index.yaml @@ -3,7 +3,7 @@ entries: couchdb: - apiVersion: v1 appVersion: 3.2.1 - created: "2022-11-15T15:38:29.086863061-08:00" + created: "2022-11-16T09:45:06.52472612-08:00" 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. digest: 9091c8a4bca3c965ef6b18907a9e0a4b8c1db38fc312e8a3f59f96a39cd005a1 @@ -23,11 +23,11 @@ entries: - https://github.com/apache/couchdb-helm - https://github.com/apache/couchdb-docker urls: - - couchdb-3.6.3.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.6.3.tgz version: 3.6.3 - apiVersion: v1 appVersion: 3.2.1 - created: "2022-11-15T15:38:29.086299922-08:00" + created: "2022-11-16T09:45:06.524150605-08:00" 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. digest: a04f5c774f9696270562b01721e17b52b03a6bca2ef3fa55129b5d0a320552c8 @@ -47,11 +47,11 @@ entries: - https://github.com/apache/couchdb-helm - https://github.com/apache/couchdb-docker urls: - - couchdb-3.6.1.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.6.1.tgz version: 3.6.1 - apiVersion: v1 appVersion: 3.2.1 - created: "2022-11-15T15:38:29.085195856-08:00" + created: "2022-11-16T09:45:06.523598429-08:00" 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. digest: 8a6dc96fbf7df0f4bf1f95bd763fb523bad98dcc34282a5b3623c2a5b2b5d36a @@ -71,11 +71,11 @@ entries: - https://github.com/apache/couchdb-helm - https://github.com/apache/couchdb-docker urls: - - couchdb-3.6.0.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.6.0.tgz version: 3.6.0 - apiVersion: v1 appVersion: 3.2.1 - created: "2022-11-15T15:38:29.084678117-08:00" + created: "2022-11-16T09:45:06.523026812-08:00" 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. digest: cf08bce16aa11476c93b48208182235b10541d5b0b75f6de87775c94742e02b1 @@ -95,11 +95,11 @@ entries: - https://github.com/apache/couchdb-helm - https://github.com/apache/couchdb-docker urls: - - couchdb-3.5.2.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.5.2.tgz version: 3.5.2 - apiVersion: v1 appVersion: 3.2.1 - created: "2022-11-15T15:38:29.084202216-08:00" + created: "2022-11-16T09:45:06.522035975-08:00" 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. digest: e0042aa48624c3b795b82d473c08ff181ead9c7ccd172b09c3b57021d08dca60 @@ -118,11 +118,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.5.1.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.5.1.tgz version: 3.5.1 - apiVersion: v1 appVersion: 3.2.0 - created: "2022-11-15T15:38:29.083728169-08:00" + created: "2022-11-16T09:45:06.521535657-08:00" 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. digest: ea79c63e56c3c7d9f4b185bba5c5e89402de62b31dd61b928d9666b0466179a7 @@ -141,11 +141,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.5.0.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.5.0.tgz version: 3.5.0 - apiVersion: v1 appVersion: 3.2.0 - created: "2022-11-15T15:38:29.083196226-08:00" + created: "2022-11-16T09:45:06.520953697-08:00" 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. digest: 1fd2f15ab2449e2a6e00d09163de7282f21b3fe4f902c967b37c94d546373616 @@ -164,11 +164,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.4.1.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.4.1.tgz version: 3.4.1 - apiVersion: v1 appVersion: 3.2.0 - created: "2022-11-15T15:38:29.082752527-08:00" + created: "2022-11-16T09:45:06.520433848-08:00" 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. digest: f02403a6e33116ca8ac7d4cf438e6fd449628be2624c54e4fab4598b368a99f8 @@ -187,11 +187,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.4.0.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.4.0.tgz version: 3.4.0 - apiVersion: v1 appVersion: 3.1.1 - created: "2022-11-15T15:38:29.082302712-08:00" + created: "2022-11-16T09:45:06.519983344-08:00" 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. digest: 20e63d0f49af172cf80bfe242e8b2eca4dd8de99a4c2cddd53c41b22233547f2 @@ -210,11 +210,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.3.4.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.3.4.tgz version: 3.3.4 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-15T15:38:29.081863076-08:00" + created: "2022-11-16T09:45:06.519537614-08:00" 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. digest: 2eb7baa9fd807194a6c223b0fd0959819c3fc0b7b3ad640f6a44d34004d65d33 @@ -233,11 +233,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.3.3.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.3.3.tgz version: 3.3.3 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-15T15:38:29.081414484-08:00" + created: "2022-11-16T09:45:06.519102845-08:00" 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. digest: fd3b6cfa14fe2bb7c30919dc328c74e9ccdb833e3f29dd0e0e5b14cfa1711952 @@ -256,11 +256,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.3.2.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.3.2.tgz version: 3.3.2 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-15T15:38:29.080929384-08:00" + created: "2022-11-16T09:45:06.518653856-08:00" 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. digest: 6c6f9e646f4eda3bcca8556f2ff8f8d456e411136012c67e359c21c12c10785e @@ -279,11 +279,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.3.1.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.3.1.tgz version: 3.3.1 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-15T15:38:29.080418317-08:00" + created: "2022-11-16T09:45:06.518220117-08:00" 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. digest: 0d2613f898fd6f6d86e396e2f64f21e85d3d07889fe3fcc76e03cdb741ecce74 @@ -302,11 +302,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.3.0.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.3.0.tgz version: 3.3.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-15T15:38:29.079936394-08:00" + created: "2022-11-16T09:45:06.517778992-08:00" 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. digest: bc1fc4cd7208209abce383d0f57ae7c628698462b63af78e9b2641f8afd40c6e @@ -325,11 +325,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.2.0.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.2.0.tgz version: 3.2.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-15T15:38:29.078924183-08:00" + created: "2022-11-16T09:45:06.517252476-08:00" 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. digest: c6e72b6d9d7befc8ec015852e1bf74476222953ebcd2803ac33c1c0491f96d16 @@ -348,11 +348,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.1.0.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.1.0.tgz version: 3.1.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-15T15:38:29.078485385-08:00" + created: "2022-11-16T09:45:06.516665011-08:00" 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. digest: 7770f1c19e948d9928eeed4f11ff960e598149bb5c0ae3e1f546b61e9dfb65f4 @@ -371,11 +371,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-3.0.0.tgz + - https://apache.github.io/couchdb-helm/couchdb-3.0.0.tgz version: 3.0.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-15T15:38:29.078080152-08:00" + created: "2022-11-16T09:45:06.515665566-08:00" 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. digest: db0815c2766f76049b58d0954b66e0b70bf673a7d11c1d3cd9e07c775c646c12 @@ -394,11 +394,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-2.4.1.tgz + - https://apache.github.io/couchdb-helm/couchdb-2.4.1.tgz version: 2.4.1 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-15T15:38:29.077703293-08:00" + created: "2022-11-16T09:45:06.515274868-08:00" 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. digest: daddf6cc7fe8bb63d6fa8679565d4496d92c23d9ff85b19521fca74c6412bc11 @@ -417,11 +417,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-2.4.0.tgz + - https://apache.github.io/couchdb-helm/couchdb-2.4.0.tgz version: 2.4.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-15T15:38:29.077298586-08:00" + created: "2022-11-16T09:45:06.514887486-08:00" 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. digest: 0eba7c20ec47bc8556b3cb3b5137b578d46b37397493087d61b8199066f84782 @@ -440,11 +440,11 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-2.3.0.tgz + - https://apache.github.io/couchdb-helm/couchdb-2.3.0.tgz version: 2.3.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-15T15:38:29.076930724-08:00" + created: "2022-11-16T09:45:06.514521114-08:00" 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. digest: f68e6187c2b65a02fdde9d49ec38e76a68c3d82421e5ea9e599bac87f4193c6a @@ -463,6 +463,6 @@ entries: sources: - https://github.com/apache/couchdb-docker urls: - - couchdb-2.2.0.tgz + - https://apache.github.io/couchdb-helm/couchdb-2.2.0.tgz version: 2.2.0 -generated: "2022-11-15T15:38:29.076455179-08:00" +generated: "2022-11-16T09:45:06.514050815-08:00" From 7875def60a97ba76e06d08a0f8ad49b55f82d94f Mon Sep 17 00:00:00 2001 From: Tony Schmidt Date: Wed, 16 Nov 2022 09:50:40 -0800 Subject: [PATCH 15/17] fix index --- docs/index.yaml | 64 ++++++++++++++++--------------------------------- 1 file changed, 20 insertions(+), 44 deletions(-) diff --git a/docs/index.yaml b/docs/index.yaml index c2fcde9..3e8ae7a 100644 --- a/docs/index.yaml +++ b/docs/index.yaml @@ -3,31 +3,7 @@ entries: couchdb: - apiVersion: v1 appVersion: 3.2.1 - created: "2022-11-16T09:45:06.52472612-08:00" - 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. - digest: 9091c8a4bca3c965ef6b18907a9e0a4b8c1db38fc312e8a3f59f96a39cd005a1 - home: https://couchdb.apache.org/ - icon: http://couchdb.apache.org/CouchDB-visual-identity/logo/CouchDB-couch-symbol.svg - keywords: - - couchdb - - database - - nosql - maintainers: - - email: kocolosk@apache.org - name: kocolosk - - email: willholley@apache.org - name: willholley - name: couchdb - sources: - - https://github.com/apache/couchdb-helm - - https://github.com/apache/couchdb-docker - urls: - - https://apache.github.io/couchdb-helm/couchdb-3.6.3.tgz - version: 3.6.3 - - apiVersion: v1 - appVersion: 3.2.1 - created: "2022-11-16T09:45:06.524150605-08:00" + created: "2022-02-26T11:38:38.223409-05:00" 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. digest: a04f5c774f9696270562b01721e17b52b03a6bca2ef3fa55129b5d0a320552c8 @@ -51,7 +27,7 @@ entries: version: 3.6.1 - apiVersion: v1 appVersion: 3.2.1 - created: "2022-11-16T09:45:06.523598429-08:00" + created: "2022-01-27T12:14:55.94368627-03:00" 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. digest: 8a6dc96fbf7df0f4bf1f95bd763fb523bad98dcc34282a5b3623c2a5b2b5d36a @@ -75,7 +51,7 @@ entries: version: 3.6.0 - apiVersion: v1 appVersion: 3.2.1 - created: "2022-11-16T09:45:06.523026812-08:00" + created: "2022-01-24T11:16:39.860979-05:00" 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. digest: cf08bce16aa11476c93b48208182235b10541d5b0b75f6de87775c94742e02b1 @@ -99,7 +75,7 @@ entries: version: 3.5.2 - apiVersion: v1 appVersion: 3.2.1 - created: "2022-11-16T09:45:06.522035975-08:00" + created: "2022-01-13T08:14:05.939155-05:00" 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. digest: e0042aa48624c3b795b82d473c08ff181ead9c7ccd172b09c3b57021d08dca60 @@ -122,7 +98,7 @@ entries: version: 3.5.1 - apiVersion: v1 appVersion: 3.2.0 - created: "2022-11-16T09:45:06.521535657-08:00" + created: "2022-01-10T07:49:23.501939784-03:00" 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. digest: ea79c63e56c3c7d9f4b185bba5c5e89402de62b31dd61b928d9666b0466179a7 @@ -145,7 +121,7 @@ entries: version: 3.5.0 - apiVersion: v1 appVersion: 3.2.0 - created: "2022-11-16T09:45:06.520953697-08:00" + created: "2022-01-07T09:59:37.621788-05:00" 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. digest: 1fd2f15ab2449e2a6e00d09163de7282f21b3fe4f902c967b37c94d546373616 @@ -168,7 +144,7 @@ entries: version: 3.4.1 - apiVersion: v1 appVersion: 3.2.0 - created: "2022-11-16T09:45:06.520433848-08:00" + created: "2021-11-01T11:58:35.829781-04:00" 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. digest: f02403a6e33116ca8ac7d4cf438e6fd449628be2624c54e4fab4598b368a99f8 @@ -191,7 +167,7 @@ entries: version: 3.4.0 - apiVersion: v1 appVersion: 3.1.1 - created: "2022-11-16T09:45:06.519983344-08:00" + created: "2021-07-19T17:06:48.703104-04:00" 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. digest: 20e63d0f49af172cf80bfe242e8b2eca4dd8de99a4c2cddd53c41b22233547f2 @@ -214,7 +190,7 @@ entries: version: 3.3.4 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-16T09:45:06.519537614-08:00" + created: "2020-07-20T15:42:59.616958-04:00" 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. digest: 2eb7baa9fd807194a6c223b0fd0959819c3fc0b7b3ad640f6a44d34004d65d33 @@ -237,7 +213,7 @@ entries: version: 3.3.3 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-16T09:45:06.519102845-08:00" + created: "2020-06-26T17:24:20.1166057-05:00" 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. digest: fd3b6cfa14fe2bb7c30919dc328c74e9ccdb833e3f29dd0e0e5b14cfa1711952 @@ -260,7 +236,7 @@ entries: version: 3.3.2 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-16T09:45:06.518653856-08:00" + created: "2020-06-03T09:03:46.521289+01:00" 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. digest: 6c6f9e646f4eda3bcca8556f2ff8f8d456e411136012c67e359c21c12c10785e @@ -283,7 +259,7 @@ entries: version: 3.3.1 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-16T09:45:06.518220117-08:00" + created: "2020-05-22T13:16:19.793936+01:00" 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. digest: 0d2613f898fd6f6d86e396e2f64f21e85d3d07889fe3fcc76e03cdb741ecce74 @@ -306,7 +282,7 @@ entries: version: 3.3.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-16T09:45:06.517778992-08:00" + created: "2020-02-24T14:28:33.088976214+01:00" 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. digest: bc1fc4cd7208209abce383d0f57ae7c628698462b63af78e9b2641f8afd40c6e @@ -329,7 +305,7 @@ entries: version: 3.2.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-16T09:45:06.517252476-08:00" + created: "2020-01-06T12:56:30.320674+07:00" 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. digest: c6e72b6d9d7befc8ec015852e1bf74476222953ebcd2803ac33c1c0491f96d16 @@ -352,7 +328,7 @@ entries: version: 3.1.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-16T09:45:06.516665011-08:00" + created: "2020-01-06T12:56:30.32018+07:00" 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. digest: 7770f1c19e948d9928eeed4f11ff960e598149bb5c0ae3e1f546b61e9dfb65f4 @@ -375,7 +351,7 @@ entries: version: 3.0.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-16T09:45:06.515665566-08:00" + created: "2020-01-06T12:56:30.319392+07:00" 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. digest: db0815c2766f76049b58d0954b66e0b70bf673a7d11c1d3cd9e07c775c646c12 @@ -398,7 +374,7 @@ entries: version: 2.4.1 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-16T09:45:06.515274868-08:00" + created: "2020-01-06T12:56:30.318616+07:00" 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. digest: daddf6cc7fe8bb63d6fa8679565d4496d92c23d9ff85b19521fca74c6412bc11 @@ -421,7 +397,7 @@ entries: version: 2.4.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-16T09:45:06.514887486-08:00" + created: "2020-01-06T12:56:30.317835+07:00" 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. digest: 0eba7c20ec47bc8556b3cb3b5137b578d46b37397493087d61b8199066f84782 @@ -444,7 +420,7 @@ entries: version: 2.3.0 - apiVersion: v1 appVersion: 2.3.1 - created: "2022-11-16T09:45:06.514521114-08:00" + created: "2020-01-06T12:56:30.316893+07:00" 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. digest: f68e6187c2b65a02fdde9d49ec38e76a68c3d82421e5ea9e599bac87f4193c6a @@ -465,4 +441,4 @@ entries: urls: - https://apache.github.io/couchdb-helm/couchdb-2.2.0.tgz version: 2.2.0 -generated: "2022-11-16T09:45:06.514050815-08:00" +generated: "2022-02-26T11:38:38.222258-05:00" From 814dd3413d07c9b6a5778ba18fce7f25fd09016c Mon Sep 17 00:00:00 2001 From: Tony Schmidt Date: Wed, 16 Nov 2022 10:07:57 -0800 Subject: [PATCH 16/17] fix index --- docs/index.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/index.yaml b/docs/index.yaml index 3e8ae7a..6207d79 100644 --- a/docs/index.yaml +++ b/docs/index.yaml @@ -1,6 +1,30 @@ apiVersion: v1 entries: couchdb: + - apiVersion: v1 + appVersion: 3.2.1 + created: "2022-11-16T10:04:19.187911144-08:00" + 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. + digest: 9091c8a4bca3c965ef6b18907a9e0a4b8c1db38fc312e8a3f59f96a39cd005a1 + home: https://couchdb.apache.org/ + icon: http://couchdb.apache.org/CouchDB-visual-identity/logo/CouchDB-couch-symbol.svg + keywords: + - couchdb + - database + - nosql + maintainers: + - email: kocolosk@apache.org + name: kocolosk + - email: willholley@apache.org + name: willholley + name: couchdb + sources: + - https://github.com/apache/couchdb-helm + - https://github.com/apache/couchdb-docker + urls: + - https://apache.github.io/couchdb-helm/couchdb-3.6.3.tgz + version: 3.6.3 - apiVersion: v1 appVersion: 3.2.1 created: "2022-02-26T11:38:38.223409-05:00" From 5b5f55883bf525efad868089e0b0a0d40d66e18d Mon Sep 17 00:00:00 2001 From: Cole Arendt Date: Mon, 19 Sep 2022 07:39:47 -0400 Subject: [PATCH 17/17] add service.labels and fix ingress service reference The ingress was mistakenly pointed to the headless service required for maintaining the statefulset. This means that `service.annotations`, etc. were not useful for controlling ingress behavior. It might be desirable to change service names at some point to indicate which is headless / internal. However, that could be a disruptive action to any existing environments. --- couchdb/Chart.yaml | 2 +- couchdb/NEWS.md | 12 ++++++++++++ couchdb/README.md | 12 ++++++------ couchdb/templates/ingress.yaml | 2 +- couchdb/templates/service.yaml | 9 ++++++--- couchdb/values.yaml | 3 ++- 6 files changed, 28 insertions(+), 12 deletions(-) diff --git a/couchdb/Chart.yaml b/couchdb/Chart.yaml index 702be1d..83b594d 100644 --- a/couchdb/Chart.yaml +++ b/couchdb/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: couchdb -version: 3.6.3 +version: 3.6.4 appVersion: 3.2.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 diff --git a/couchdb/NEWS.md b/couchdb/NEWS.md index 2474ceb..693bd1c 100644 --- a/couchdb/NEWS.md +++ b/couchdb/NEWS.md @@ -1,5 +1,17 @@ # NEWS +# 3.6.4 + +- Add `service.labels` value to pass along labels to the client-facing service +- Update `ingress` to use the service created by `service.enabled=true`, + instead of the headless service + ([#94](https://github.com/apache/couchdb-helm/issues/94)) + - This allows setting `service.annotations`, `service.labels`, etc. in a way that will be picked up by the ingress + +# 3.6.3 + +- Add PersistentVolume annotations + ## 3.6.2 - Change the `erlangCookie` to be auto-generated in a stateful fashion (i.e. we auto-generate it once, then leave that diff --git a/couchdb/README.md b/couchdb/README.md index fd93ce4..2ece127 100644 --- a/couchdb/README.md +++ b/couchdb/README.md @@ -1,6 +1,6 @@ # CouchDB -![Version: 3.6.1](https://img.shields.io/badge/Version-3.6.1-informational?style=flat-square) ![AppVersion: 3.2.1](https://img.shields.io/badge/AppVersion-3.2.1-informational?style=flat-square) +![Version: 3.6.4](https://img.shields.io/badge/Version-3.6.4-informational?style=flat-square) ![AppVersion: 3.2.1](https://img.shields.io/badge/AppVersion-3.2.1-informational?style=flat-square) 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 @@ -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=3.6.1 \ + --version=3.6.4 \ --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=3.6.1 \ + --version=3.6.4 \ --set couchdbConfig.couchdb.uuid=decafbaddecafbaddecafbaddecafbad \ couchdb/couchdb ``` @@ -85,7 +85,7 @@ and then install the chart while overriding the `createAdminSecret` setting: ```bash $ helm install \ --name my-release \ - --version=3.6.1 \ + --version=3.6.4 \ --set createAdminSecret=false \ --set couchdbConfig.couchdb.uuid=decafbaddecafbaddecafbaddecafbad \ couchdb/couchdb @@ -121,7 +121,7 @@ upgrade as follows: ```bash $ helm upgrade \ - --version=3.6.1 \ + --version=3.6.4 \ --reuse-values \ --set couchdbConfig.couchdb.uuid= \ couchdb/couchdb @@ -134,7 +134,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=3.6.1 couchdb/couchdb +$ helm upgrade my-release --version=3.6.4 couchdb/couchdb ``` ## Configuration diff --git a/couchdb/templates/ingress.yaml b/couchdb/templates/ingress.yaml index 71f7492..2403216 100644 --- a/couchdb/templates/ingress.yaml +++ b/couchdb/templates/ingress.yaml @@ -1,5 +1,5 @@ {{- if .Values.ingress.enabled -}} -{{- $serviceName := include "couchdb.fullname" . -}} +{{- $serviceName := include "couchdb.svcname" . -}} {{- $servicePort := .Values.service.externalPort -}} {{- $path := .Values.ingress.path | quote -}} apiVersion: networking.k8s.io/v1 diff --git a/couchdb/templates/service.yaml b/couchdb/templates/service.yaml index 6d03824..2c76de7 100644 --- a/couchdb/templates/service.yaml +++ b/couchdb/templates/service.yaml @@ -8,10 +8,13 @@ metadata: chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} -{{- if .Values.service.annotations }} + {{- with .Values.service.labels }} + {{- . | toYaml | nindent 4 }} + {{- end }} + {{- with .Values.service.annotations }} annotations: -{{ toYaml .Values.service.annotations | indent 4 }} -{{- end }} + {{- . | toYaml | nindent 4 }} + {{- end }} spec: ports: - port: {{ .Values.service.externalPort }} diff --git a/couchdb/values.yaml b/couchdb/values.yaml index 8356496..bc61ca2 100644 --- a/couchdb/values.yaml +++ b/couchdb/values.yaml @@ -118,10 +118,11 @@ tolerations: [] ## 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: + annotations: {} enabled: true type: ClusterIP externalPort: 5984 + labels: {} ## An Ingress resource can provide name-based virtual hosting and TLS ## termination among other things for CouchDB deployments which are accessed