๐ CLI Reference
NAME:
helmwave - composer for helm
USAGE:
helmwave [global options] command [command options] [arguments...]
VERSION:
0.11.0
DESCRIPTION:
๐ This tool helps you compose your helm releases!
COMMANDS:
yml ๐ Render helmwave.yml.tpl -> helmwave.yml
planfile, plan ๐ Generate planfile to plandir
deploy, apply, sync, release ๐ฅ Deploy your helmwave!
manifest, manifest ๐ฅ Fake Deploy
version Print helmwave version
status Show release status
ls, list List deployed releases
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--tpl value Main tpl file (default: "helmwave.yml.tpl") [$HELMWAVE_TPL_FILE]
--file value, -f value Main yml file (default: "helmwave.yml") [$HELMWAVE_FILE, $HELMWAVE_YAML_FILE, $HELMWAVE_YML_FILE]
--plan-dir value It keeps your state via planfile (default: ".helmwave/") [$HELMWAVE_PLAN_DIR]
--tags value, -t value It allows you choose releases for sync. Example: -t tag1 -t tag3,tag4 [$HELMWAVE_TAGS]
--parallel helm install It allows you call helm install in parallel mode (default: true) [$HELMWAVE_PARALLEL]
--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 Enable/Disable kubedog (default: false) [$HELMWAVE_KUBEDOG, $HELMWAVE_KUBEDOG_ENABLED]
--kubedog-status-interval value Interval of kubedog status messages (default: 5s) [$HELMWAVE_KUBEDOG_STATUS_INTERVAL]
--kubedog-start-delay value Delay kubedog start, don't make it too late (default: 1s) [$HELMWAVE_KUBEDOG_START_DELAY]
--kubedog-timeout value Timout of kubedog multitrackers (default: 5m0s) [$HELMWAVE_KUBEDOG_TIMEOUT]
--kubedog-log-width value Set kubedog max log line width (default: 140) [$HELMWAVE_KUBEDOG_LOG_WIDTH]
--enable-dependencies Enable dependencies (default: false) [$HELMWAVE_ENABLE_DEPENDENCIES]
--plan-dependencies Automatically add dependencies to plan (default: false) [$HELMWAVE_PLAN_DEPENDENCIES]
--match-all-tags Match all provided tags (default: false) [$HELMWAVE_MATCH_ALL_TAGS]
--help, -h show help (default: false)
--version, -v print the version (default: false)
yml
Templating
helmwave.yml.tpltohelmwave.yml
We added the ability to template itself. To make the tool even more flexible.
- You can change path to
helmwave.yml.tpluse$HELMWAVE_TPL_FILEor--tpl - You can change path to
helmwave.ymluse$HELMWAVE_YML_FILEor--file
Best practice
- add
helmwave.ymlto your.gitignore
planfile, plan
This command will generate
planfile
Default it will be .helmwave/. You can change it use --plan-dir option or
$HELMWAVE_PLAN_DIR
Plan contents 2 part.
- Rendered values. Save as
.helmwave/<path_to_file>.<release_name>@<namespace>.plan. - Rendered helm manifests. Save as
.helmwave/.manifest/<release_name>@<namespace>.yml
Plan use tags for choose releases
deploy
This command will deploy your planfile
- Generate plan.
- Deploy plan.
manifest
This command generates helm manifests of your planfile.
This is accomplished with --dry-run option for deploy command.
status
This command shows release status of your helmwave.yml similar to helm status
command
list, ls
This command shows list of deployed releases of your helmwave.yml similar to
helm list command
Logs
Options for logs. Helmwave use logrus as internal logger.
Log Format
Helmwave supports several log-format
| features | text |
json |
pad |
emoji |
|---|---|---|---|---|
| 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 | โ | โ | โ | โ | โ | โ |
info or debug is prefer.
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>