A profile bundles control_url, compute_url, and username under a single name. Select with --profile. default_profile sets the fallback when --profile is omitted.
[profiles.<NAME>]
control_url = ...
compute_url = ...
username = ...
## Overview A profile is a named bundle of connection and identity settings stored under `[profiles.<name>]` in `~/.deltaforge/config.toml`. Profiles let a single CLI installation target multiple environments (dev, staging, production) without retyping URLs or usernames. Activate one with `--profile <name>`, or set `default_profile = "<name>"` at the top of the file so the same profile applies to every invocation. ## Behavior - A profile contributes three fields: `control_url`, `compute_url`, and `username`. Any subset is valid, omitted fields fall through to the next resolution step (env var or built-in default). - Profiles do not carry passwords. The config schema has no `password` key, so every invocation must source the password from `--password`, `DF_PASSWORD`, a TTY prompt, or the built-in default. - When a profile sets `username`, the CLI marks credentials as explicit, which suppresses the interactive login wizard in the interactive shell. - When a profile sets `compute_url`, the CLI marks the compute URL as explicit and disables Auto routing. Queries go to that URL for the lifetime of the invocation. - `default_profile` is consulted only when `--profile` is not passed. If neither is set, no profile applies. - Profile values are overridden per setting by CLI flags and environment variables. See `CLI_RESOLUTION_ORDER`. ## Resolution Per-setting order: CLI flag, then environment variable, then profile value, then built-in default. A profile with a `control_url` does not block `--control-url` or `DF_CONTROL_URL` from taking precedence.
delta-forge-cli --profile production
delta-forge-cli --profile staging query SELECT 1