Reference CLI
Global flags
Flags and environment variables every `kix` command accepts: output format, verbosity, colour, kubeconfig context, flake selection, and the eval cache.
These flags are accepted by every kix command and may appear before or
after the subcommand. A command that has no use for a flag ignores it, and its
--help does not list it. kix --help lists them all.
This page is hand-maintained. Check GlobalArgs and SCOPED_GLOBALS in
cli/kix-cli/src/cli.rs, cli/kix-cli/src/main.rs and
cli/kix-cli/src/output.rs when in doubt.
| Flag | Default | Meaning |
|---|---|---|
-o, --output <FORMAT> | Varies by command | text, json, yaml, or markdown. See Output formats for which commands honour which values. |
-v, --verbose | Off | Log more to stderr. Repeat for more: -v logs Kix at info level, -vv at debug, -vvv everything at debug. Without it, warnings are logged, except those the Kubernetes client writes for an error response it then returns to Kix. |
-q, --quiet | Off | Suppress progress and informational output, and log errors only. Results still print. |
--no-color | Off | Disable coloured result output. Deploy and gc progress lines currently still use terminal clear-line control sequences. |
--context <CONTEXT> | Current kubeconfig context | Kubeconfig context for every command that talks to a cluster. logs and pf pass it to kubectl. |
--flake <FLAKE> | . | Flake to evaluate clusters from. A value without : is a local path, resolved against the working directory; anything else, such as github:org/repo, is passed to Nix as a flake reference. Commands that use the eval cache currently fail on a remote reference. |
--no-cache | Off | Skip the Kix eval cache and evaluate from Nix every time. See Eval cache behavior. |
--override-input <INPUT> <URL> | None | Override a flake input’s URL for every nix command Kix runs, like nix --override-input. Repeatable, two values each time. |
-h, --help | Print help. -h prints a summary, --help the long form. | |
-V, --version | Print the version. |
Which commands read which flag
Section titled “Which commands read which flag”-v, -q and --no-color apply to every command. The other flags apply only
where the table shows them; elsewhere they are accepted and have no effect.
| Command | -o | --context | --flake | --no-cache | --override-input |
|---|---|---|---|---|---|
build, check, graph, inspect, images, list | yes | yes | yes | yes | |
status | yes | yes | flat view only | flat view only | flat view only |
diff | yes | yes | yes | yes | |
plan | yes | yes | yes | yes | |
deploy, gc, migrate domain, logs, pf | yes | yes | yes | ||
export | yes | yes | |||
rollback, drift | yes | yes | |||
health, snapshot save | yes | ||||
compliance sbom | yes | yes | yes | ||
compliance attest | yes | yes | yes | yes | |
compliance audit | yes | yes | yes | ||
pin | yes | yes | |||
completions |
--no-cache applies only to commands that read the
eval cache. kix pin uses
--flake only as a place to look for pins.json. -o on rollback applies
only with --list, and on deploy only with --dry-run.
Environment variables
Section titled “Environment variables”| Variable | Effect |
|---|---|
NO_COLOR | Any value disables colour, as --no-color does. Colour is also off when TERM=dumb or stdout is not a terminal. Deploy and gc have the progress-line exception noted above. |
KIX_LOG | A tracing filter, such as kix=debug or debug, that replaces the level chosen by -v and -q. |
KIX_NO_INTERACTIVE | Any value makes Kix treat the terminal as non-interactive, so commands that ask for confirmation refuse to prompt and need --yes. Stdin that is not a terminal has the same effect. |
The variables that tune how Kix talks to the Kubernetes API are listed in
API server retries and request limits.
Registry credentials for kix pin are listed on kix pin.
Examples
Section titled “Examples”❱ kix --flake ../infra list clusters❱ kix deploy demo --context kind-demo -v❱ kix build demo --override-input kixpkgs git+file:///home/me/src/kixpkgs