Skip to content

Command Line Tools

wheels deploy config

Print the fully-resolved deploy.yml config as YAML. Mustache interpolation is expanded; destination overlays are merged. Makes no network calls.

"
wheels deploy config [--destination=<name>] [--config=<path>]
FlagDescription
--destination=<name>Overlay deploy.<name>.yml before printing.
--config=<path>Override config/deploy.yml.

Prints the resolved config as YAML: service, image, servers (hosts per role), registry, proxy, env, accessories, ssh, builder and volumes, with defaults filled in (for example registry.server: docker.io and builder.arch: [amd64]). Key order is not fixed, and short lists and maps print in flow style ([a, b], {k: v}). Secret values never appear: env.secret and registry.password list only the key names .kamal/secrets supplies, and a value resolved from .kamal/secrets into env.clear is redacted.

example output (abridged)
service: myapp
image: myorg/myapp
servers:
web: [192.0.2.10]
registry:
server: ghcr.io
password: [REGISTRY_PASSWORD]
username: myorg
proxy:
app_port: 8888
host: app.example.com
healthcheck: {interval: 1, path: /up, timeout: 30}
ssl: true
env:
secret: [WHEELS_RELOAD_PASSWORD]
clear: {DB_HOST: db.internal}

Per-role options are not emitted.

  • Verify --destination overlays apply the keys you expect.
  • Confirm {{env.*}} resolves to the right values.
  • Diff against kamal config during a migration from Ruby Kamal.
illustrative
wheels deploy config --destination=staging