If I have a chart, say ChartA, that has a dependency on ChartB, I want to only install ChartB if it hasn't been installed already.
Why? Let's say I run 2 copies of ChartA, and they both need a special server in ChartB, but that server is meant to be a singleton between the two instances of ChartA.
How can I accomplish this? So far my ChartA's requirements.yaml looks like:
dependencies: - name: chartb version: "0.1.0" repository: "https://my.repository.url/charts/"
If I go and run helm install charta --name instance-a
it finds chartb just fine and installs it, but if I run the install a second time with helm install charta --name instance-b
it fails with Error: release instance-b failed: services "chartb" already exists
In other words, instead of recognizing the chartb service was already installed and working, it tried to install it again and failed.
How can I ensure that Helm only installs the chartb dependency if it isn't already installed and running (i.e. from a previous instance being started up of charta)?