Helmwave is the true release manager.
Hi everyone! I am the owner of helmwave. I use kubernetes and helm everyday. Because I designed helmwave based on my pain.
Helmwave closes popular issues with helm workflow.
Forget bash deploy around helm.
The example: https://helmwave.github.io/docs/0.19.x/examples/pass-git-tag/
helm install app ./ --set image.tag=$CI_COMMIT_TAG
just describe helmwave.yml and use next command
helmwave up
The example: https://helmwave.github.io/docs/0.19.x/examples/single-app-multi-envs/
#!/bin/bash
if [ $CI_ENV == 'prod' ]
then
helm upgrade app -f prod.yml
else
helm install app -f values.yml
fi
You can describe it in yaml with helmwave. And up it in one command!
helmwave up --build
Live tracking deploy!
With helmwave you can see an application logs and Kubernetes events.
The example: https://helmwave.github.io/docs/0.19.x/examples/kubedog/
You don’t need an umbrella chart anymore!
I think that an umbrella chart is an anti-pattern.
if you have 2 app with message broker between each other.
Simple helmwave.yml
releases:
- name: message-broker
- name: app1
- name: app
Helmwave will execute each release in other thread*.
- Of course, I mean goroutine.
Dependencies releases
Suppose we have next 3-tier application. And we need step by step deployment.
- DB;
- backend;
- frontend.
releases:
- name: frontend
depends_on: backend@test
namespace: test
- name: backend
depends_on: db@test
namespace: test
- name: db
namespace: test
We also added allow_failure
option. When allow_failure
is set true. It allows the installation to proceed.
Show graph
Also helmwave shows a graph dependencies.
Secrets
Helmwave can use gomplate for fetch secrets from popular services such like aws sm, vault, etc.
- vault: https://helmwave.github.io/docs/0.19.x/examples/vault/
- aws secret manager: https://helmwave.github.io/docs/0.19.x/examples/aws-sm/
gomplate is a template renderer which supports a growing list of datasources, such as: JSON (including EJSON — encrypted JSON), YAML, AWS EC2 metadata, BoltDB, Hashicorp Consul and Hashicorp Vault secrets.
Use helmwave for all your releases.
You can also template helmwave.yml. Just create the helmwave.yml.tpl.
Template everything!
For example:
- Store list releases in databases;
- Template list releases;
- Template values base on releases;
- Imagination is infinite!
Become a helm hero with helmwave!