documentation

steer docs

Configuration

steer.toml explained — contexts, naming templates, the images block and read-only environments.

Where config lives

Steer looks for steer.toml in the current repo first, then in ~/.config/steer/steer.toml. Keep per-project config next to the project, or one global file for everything.

Your config holds account IDs and role ARNs. It stays on your machine — never commit it to a public repo.

Contexts

A context is one deploy target: cloud + credential + cluster + naming + write mode. Several accounts, environments or projects are just several contexts.

default_context = "dev"

[contexts.dev]
cloud            = "aws"
profile          = "acme-dev"          # AWS profile from ~/.aws
cluster          = "acme-dev"
service_template = "acme-dev-{name}"
writable         = true

  [contexts.dev.images]
  repo_template = "acme-{name}"

[contexts.prod]
cloud            = "aws"
profile          = "acme-prod"
cluster          = "acme-prod"
service_template = "acme-prod-{name}"
writable         = false               # read-only: every mutating action is blocked
FieldRequiredWhat it does
cloudyesProvider. aws today; gcp/azure are recognized but not implemented yet.
profileyes (aws)AWS profile from ~/.aws/config / ~/.aws/credentials. SSO profiles work.
clusteryesThe ECS cluster this context talks to.
service_templatenoMaps short names to real ones: apiacme-dev-api. Lists hide the prefix.
writableno (default false)false blocks deploy/scale/rollback/resize — in CLI and TUI.
account_id, role_arn, regionnoPin the account, assume a role, or override the profile’s region.
images.repo_templatenoEnables the registry capability — see below.

Picking a context

Priority order: --context flag → STEER_CONTEXT env var → default_context from the file. In the TUI, switch live with c or by clicking the top bar.

The images block

Add [contexts.<name>.images] with a repo_template and steer gains registry powers for that context: the IMAGES section in the TUI, steer image ls / steer image tags, the tag picker in deploys and tag validation before deploying. Without the block, those features simply stay off — everything else works.

Managing config

The wizard is the fastest way in — it reads your AWS profiles, lists your real clusters and runs a smoke test:

steer config init          # interactive setup for the first context
steer config add           # add another account/environment later
steer config list          # NAME · CLOUD · CLUSTER · MODE · DEFAULT
steer config remove dev    # drop a context (reassigns the default if needed)
steer config validate      # check the discovered steer.toml

Editing by hand? steer config init --example writes a commented starter file. After editing, steer config validate tells you if something is off — and if a command hits a cloud problem (expired SSO, wrong cluster), the error tells you what to run to fix it. See Troubleshooting.