Skip to content

Umbrella chart is evil

Helmwave is only what you actually need.

Why Umbrella chart is evil?

  • You must keep extra chart.
  • You have new layer for conventional values.
  • Umbrella chart doesn't provide separate your environments.
  • When sub-chart modified you need fix it twice.

Suppose that you need to describe next architecture.

graph LR frontend --> api --> rabbitmq & minio_s3 consumer --> rabbitmq & minio_s3 & postgresql

helmwave.yml

version: 0.25.0

repositories:
  - name: bitnami
    url: https://charts.bitnami.com/bitnami

.options: &options
  namespace: stage
  wait: true
  max_history: 5

releases:
  - name: frontend
    <<: *options
    chart: charts/frontend
    depends_on:
      - api

  - name: api
    <<: *options
    chart: charts/api
    depends_on:
      - rabbitmq
      - minio

  - name: consumer
    <<: *options
    chart: charts/consumer
    depends_on:
      - rabbitmq
      - minio
      - postgresql

  - name: rabbitmq
    <<: *options
    chart: bitnami/rabbitmq

  - name: minio
    <<: *options
    chart: bitnami/minio

  - name: postgresql
    <<: *options
    chart: bitnami/postgresql