Intro
🌊 Helmwave is helm-native tool for deploy your helm Charts.
🚀 Features
We focus on speed execution, tiny size, pretty debugging.
With 🌊 helmwave you will become a superhero:
- Deploy multiple environments by one step
- Separate values for environments
- Common values for apps
- Keep a directory of chart value files
- Maintain changes in version control
- Template values
- Manage deploy behavior (
pending_release_strategy
,depends_on
,allow_failure
) - Live tracking kubernetes resources with kubedog
- Fetch data from external datasource like vault, aws ssm
- ... and much more!
Comparison to alternatives
Some comparisons may be outdated. If any of the tools have improved, please open a PR.
🌊 Helmwave | Helmfile | Helmsman | |
---|---|---|---|
Syntax | YAML + sprig/gomplate | YAML + sprig | TOML/YAML |
Code style | snake_case | camelCase | camelCase |
Requirements | No | kubectl , helm helm-diff (optional: helm-secrets , helm-s3 , helm-git ) |
kubectl , helm helm-diff |
Helm execution | function call of bundled helm | os.Exec |
os.Exec |
helm diff | function call of bundled helm-diff | os.Exec |
os.Exec |
Live-tracking k8s resources | Kubedog | No | No |
Get application logs | Kubedog | No | No |
Get k8s events | Kubedog and helm progress | No | No |
Labels | tags |
labels |
? |
Manage kube-context via iac | Yes | Yes | Yes |
Parallel releases | Yes | Yes | Releases with the same priority can be executed in parallel. |
Parallel limitations | Smart DAG goroutine count with concurrency limitation | concurrent helm processes | max number of concurrent helm releases to run |
Releases dependencies | depends_on |
needs |
Kind of (priority ) |
Dependencies cross namespaces | via @ |
via / |
No |
Manage pending strategy | Yes | No | No |
Explain graph dependencies | Yes | No | No |
Latest image size | |||
Compatible with helm v2 | No | Yes | Yes |
OCI | registries |
option in repositories |
only pull , not login |
Sub-main config | No | Yes | ? |
manage render values | render option and options for setting delimiters |
by file extension | ? |
Remote values | HTTP/HTTPS only | go-getter |
? |
Planfile | Yes | No | No |
Vault / AWS SSM | via gomplate datasources |
custom functions | ? |
🌊 Helmwave was inspired by docker-compose, terraform and helmfile.
Here I would like to express our gratitude to all contributors for their commits, authors of third-party dependencies and all open source communities ❤️