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):
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 withcouchdb.enabled=true
, the post-install hook job is not run, and therefore cluster setup is not completed as expected (withautoSetup.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 totrue
, it should have finalized the CouchDB cluster setup.How to reproduce it (as minimally and precisely as possible):
helm install ... --set couchdb.enabled=false
.helm install ... --wait --set couchdb.enabled=true
.Anything else we need to know:
This is easily fixed by changing the job's annotation to
Happy to provide a PR.