☂️ Umbrella chart is evil¶
Helmwave is only what you actually need.
Why is Umbrella chart evil?
- You must keep extra chart.
- You have new layer for conventional values.
- Umbrella chart doesn't provide you environments separation.
- When sub-chart is modified, you need to fix it twice.
Suppose that you need to describe the next architecture.
graph LR
frontend --> api --> rabbitmq & minio_s3
consumer --> rabbitmq & minio_s3 & postgresql
If you don't see a graph, please reload the page.
Example of helmwave.yml for this architecture.
helmwave.yml
project: "Example: umbrella"
version: "0.41.1"
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