๐ 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.tpl
tohelmwave.yml
We added the ability to template itself. To make the tool even more flexible.
- You can change path to
helmwave.yml.tpl
use$HELMWAVE_TPL_FILE
or--tpl
- You can change path to
helmwave.yml
use$HELMWAVE_YML_FILE
or--file
Best practice
- add
helmwave.yml
to 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>