HiveBrain v1.2.0
Get Started
← Back to all entries
snippetkubernetesMinor

How to use same Helm dependency in many charts?

Submitted by: @import:stackexchange-devops··
0
Viewed 0 times
samedependencychartshelmmanyhowuse

Problem

For example, I have this charts structure:

├── parentChart
│   ├── charts
│   │   ├── childChart1
│   │   │   ├── charts
│   │   │   │   └── postgresql-3.11.6.tgz
│   │   │   ├── Chart.yaml
│   │   │   ├── requirements.lock
│   │   │   ├── requirements.yaml
│   │   │   ├── templates
...
│   │   │   └── values.yaml
│   │   ├── childChart2
│   │   │   ├── charts
│   │   │   │   └── postgresql-3.11.6.tgz
│   │   │   ├── Chart.yaml
│   │   │   ├── requirements.lock
│   │   │   ├── requirements.yaml
│   │   │   ├── templates
...
│   │   │   └── values.yaml
│   └── Chart.yaml
...


In the childChart1 and childChart2 I have this dependency:
Child1:

dependencies:
  - name: postgresql
    version: 3.11.6
    repository: alias:stable
    alias: child1-postgres
...


Child2:

dependencies:
  - name: postgresql
    version: 3.11.6
    repository: alias:stable
    alias: child2-postgres
...


First problem: I expect that after deploy parent chart I will have 4 deployment:

  • childChart1



  • childChart1 Postgresql



  • childChart2



  • childChart2 Postgresql



Am I right?

If I don't do anything wrong with a first problem, why I see this message when I trying to deploy this charts:

$ helm install $opts --name $NAME --namespace $NAME $package --wait --timeout 9999
Error: release test failed: secrets "test-postgresql" already exists


P.S. I have this helm version:

$ helm version
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}

Solution

Finnaly, I found the solution, thanks to @simbo1905.

All that I need to fix that problem:
values.yaml Child Chart 1 (or two)

postgresql:
  nameOverride: chart-1-postgres


In the Child Chart 2 nameOverride became to chart-2-postgres.

Code Snippets

postgresql:
  nameOverride: chart-1-postgres

Context

StackExchange DevOps Q#6730, answer score: 2

Revisions (0)

No revisions yet.