🛠 CLI Reference
NAME:
helmwave - is like docker-compose for helm
USAGE:
helmwave [global options] command [command options] [arguments...]
VERSION:
0.15.1
DESCRIPTION:
This tool helps you compose your helm releases!
0. $ helmwave yml
1. $ helmwave build
2. $ helmwave up
COMMANDS:
build, plan 🏗 Build a plan
diff, vs 🆚 Differences between plan1 and plan2
up, install, apply, sync, deploy 🚢 Apply your plan
list, ls 👀 List of deployed releases
rollback ⏮ Rollback your plan
status 👁️ Status of deployed releases
down, uninstall, destroy, delete, del, rm, remove 🔪 Delete all
validate, check, lint 🛂 Validate your plan
yml 📄 Render helmwave.yml.tpl -> helmwave.yml
version, ver Show shorts version
completion Generate completion script
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--log-format value You can set: [ text | json | pad | emoji ] (default: "emoji") [$HELMWAVE_LOG_FORMAT]
--log-level value You can set: [ debug | info | warn | fatal | panic | trace ] (default: "info") [$HELMWAVE_LOG_LEVEL, $HELMWAVE_LOG_LVL]
--log-color Force color (default: true) [$HELMWAVE_LOG_COLOR]
--kubedog-log-width value Set kubedog max log line width (default: 140) [$HELMWAVE_KUBEDOG_LOG_WIDTH]
--help, -h show help (default: false)
--version, -v print the version (default: false)
step #0: yml
It allows render helmwave.yml.tpl
to helmwave.yml
Options
--tpl value Main tpl file (default: "helmwave.yml.tpl") [$HELMWAVE_TPL]
--file value, -f value Main yml file (default: "helmwave.yml") [$HELMWAVE_YAML]
step #1: build
This command generates .helmwave/
--plandir value Path to plandir (default: ".helmwave/") [$HELMWAVE_PLANDIR]
--tags value, -t value It allows you choose releases for sync. Example: -t tag1 -t tag3,tag4 [$HELMWAVE_TAGS]
--match-all-tags Match all provided tags (default: false) [$HELMWAVE_MATCH_ALL_TAGS]
--file value, -f value Main yml file (default: "helmwave.yml") [$HELMWAVE_YAML]
--diff-wide value Show line around change (default: 5) [$HELMWAVE_DIFF_WIDE]
step #2: Working with plan
up
Helmwave will install repositories and helm-releases from plan.
down
Helmwave will uninstall helm-releases from plan.
ls
Helmwave try getting list of helm-releases from plan.
status
Helmwave try getting status of helm-releases from plan.
rollback
Helmwave will rollback helm-releases from plan.
validate
Helmwave will validate plan.
Logs
Logs options. Helmwave use logrus as internal logger.
Log Format
Helmwave supports several log-format
features | text |
json |
pad |
emoji (default) |
---|---|---|---|---|
Color | ✅ | ❌ | ✅ | 🌈 |
Human readable | 🧐 | 🤖 | 🧐🧐 | ✅ |
Performance | 🚀 | 🐢 | ✈️ | 🐢 |
Module | TextFormatter (in-built logrus formatter) | JSONFormatter (in-built logrus formatter) | TextFormatter (in-built logrus formatter) | logrus-emoji-formatter special for helmwave |
Log Level
_ | info (default) |
warn |
debug |
fatal |
panic |
trace |
---|---|---|---|---|---|---|
general info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
incompatible version | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
helm-debug | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
file content | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
helm manifests, bug report | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
info
or debug
is preferred.
How to use?
helmwave <cmd> --log-color=true --log-level=debug --log-format=pad
or
export HELMWAVE_LOG_FORMAT=pad
export HELMWAVE_LOG_LEVEL=debug
export HELMWAVE_LOG_COLOR=true
helmwave <cmd>
Get Version
Long version
$ helmwave --version
helmwave version 0.15.1
$ helmwave -v
helmwave version 0.15.1
Short version
$ helmwave version
0.15.1
$ helmwave ver
0.15.1
Completion
Bash
Add this code to your ~/.bashrc
source <(helmwave completion bash)
echo "source <(helmwave completion bash)" >> ~/.bashrc
ZSH
Add this code to your ~/.zshrc
source <(helmwave completion zsh)
echo "source <(helmwave completion zsh)" >> ~/.zshrc