couchdb-helm
couchdb-helm copied to clipboard
post-install hook job should also run post-upgrade
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):
- 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
- Install parent chart with
helm install ... --set couchdb.enabled=false
. - 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.