deckctl validate
Handles config validation. Checks the files deckctl reads and reports every problem it finds rather than stopping at the first one.
Synopsis
Section titled “Synopsis”deckctl validate [flags]Takes no positional arguments.
| Flag | Default | Description |
|---|---|---|
-t, --target <target> | all | all, config, themes or sidecar |
Plus the global flags.
Targets
Section titled “Targets”| Target | What it checks |
|---|---|
config | config.yaml — source types, required fields, token_env shape, cache_ttl, duplicate names |
themes | themes.yaml — hex colours, duplicate names, active pointing at an existing theme |
sidecar | Every sidecar in every local source — delimiters, variable types and choices |
all | All three |
A missing config.yaml or themes.yaml is not an error — deckctl falls back
to an empty config and the built-in theme.
Output
Section titled “Output”deckctl validate┌────────┬────────────────────────┬────────────────────────────────────────────┐│ Status │ Source │ Errors │├────────┼────────────────────────┼────────────────────────────────────────────┤│ ✓ │ config │ ││ ✓ │ theme │ ││ ✓ │ sidecars: local/go-... │ ││ ✗ │ sidecars: local/broken │ variable of type "choice" requires choi... │└────────┴────────────────────────┴────────────────────────────────────────────┘One row per checked artefact. -o json gives the untruncated errors:
deckctl validate -o json[ { "Source": "config", "Passed": true, "Errors": null }, { "Source": "theme", "Passed": true, "Errors": null }, { "Source": "sidecars: local/broken", "Passed": false, "Errors": ["variable of type \"choice\" requires choices to be set"] }]Exit code
Section titled “Exit code”Non-zero when any check fails, with a summary such as
1 validation issue(s) found. That makes it usable directly as a pipeline gate:
deckctl validate -o jsonAn unknown --target is an error:
unknown target "foo" (valid: all, config, themes, sidecar).
Examples
Section titled “Examples”deckctl validatedeckctl validate -t configdeckctl validate -t sidecar -o jsondeckctl validate --config ./ci/deckctl.yaml --theme ./ci/themes.yamlSee also
Section titled “See also”- Troubleshooting — what each error message means
- Configuration reference
- Sidecar reference