apache / apache/couchdb-helm

post-install hook job should also run post-upgrade

Open
#133 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Mustache
Stars
55
Forks
68
PR merge metrics
No merged PRs in 30d

Description

The post-install job in `templates/job.yaml` is only executed when CouchDB is installed, but not when it is upgraded. This is problematic when CouchDB is used as a subchart but not installed initially due to a dependency condition.

**Version of Helm and Kubernetes**:

Helm: `3.13.2`
Kubernetes: `1.28.3`

**What happened**:

Background: CouchDB is declared as a dependency in a parent chart with the condition `couchdb.enabled`.

When initially installing the parent chart with `couchdb.enabled=false`, and then later upgrading the parent chart with `couchdb.enabled=true`, the post-install hook job is not run, and therefore cluster setup is not completed as expected (with `autoSetup.enabled=true`).

Which makes sense in a way because `helm install` != `helm upgrade`, but what I'm saying is that the job should also be run when CouchDB is added as part of an upgrade.

**What you expected to happen**:

Since `autoSetup.enabled` was set to `true`, it should have finalized the CouchDB cluster setup.

**How to reproduce it** (as minimally and precisely as possible):

1. Declare CouchDB as a subchart with a condition:
```
dependencies:
- name: couchdb
version: 4.4.5
repository: https://apache.github.io/couchdb-helm
condition: couchdb.enabled
```
2. Install parent chart with `helm install ... --set couchdb.enabled=false`.
3. Upgrade parent chart with `helm install ... --wait --set couchdb.enabled=true`.

**Anything else we need to know**:

This is easily fixed by changing the job's annotation to
```
annotations:
"helm.sh/hook": post-install,post-upgrade
```
Happy to provide a PR.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.