Is there a way to conditionally install a helm subchart based on global values.yaml? I\'ve all my internal services and components as subcharts, and one of them is a message
I've found out the answer:
In requirements.yaml, add:
dependencies:
- name: api
condition: api.enabled
- name: messagequeue
condition: messagequeue.enabled
and in values.yaml, add
api:
enabled: true
messagequeue:
enabled: false
Now during installation, pass the values to enabled or disable the messagequeue as follows:
helm install --dry-run --debug website\ --set messagequeue.enabled=true
or
helm install --dry-run --debug website\ --set messagequeue.enabled=false
I would propose this (ugly) workaround as answer borrowed from @sgandon: https://github.com/helm/helm/issues/3742#issuecomment-383095917
dependencies:
- name: mobi-postgresql
version: 1.0.1
repository: "@mobi"
alias: postgresql
- name: oraclepdb
version: 0.0.1
repository: "file://subcharts/oraclepdb"
condition: oraclepdb.enabled
Then you can use the practice Chart dependencies to manage subcharts as dependencies via helm dep update and helm dep build.
It's not beautiful as long as this bug is not fixed.