Provider defaults and alias wiring
Runtime config does not introduce a new provider model. It fills in defaults for the env-based provider contracts Loom already uses during local execution.
Use this page when you want to decide:
- which provider settings belong in config files
- which values must stay in environment variables
- how file-based defaults map onto the existing env contract
KeePass aliases
KeePass is the richest part of the current config surface. Each configured alias can provide:
pathpasswordEnvkeyfileEnv
Example:
providers:
keepass:
aliases:
team/app:
path: vaults/team-app.kdbx
passwordEnv: TEAM_APP_PASSWORD
keyfileEnv: TEAM_APP_KEYFILE
For local execution, Loom turns that alias into defaults for the existing env contract:
LOOM_KEEPASS_DB_TEAM_APP_PATH=...
LOOM_KEEPASS_DB_TEAM_APP_PASSWORD_ENV=TEAM_APP_PASSWORD
LOOM_KEEPASS_DB_TEAM_APP_KEYFILE_ENV=TEAM_APP_KEYFILE
What belongs in config vs env
Use config files for values that are stable and safe to share:
- alias names
- database paths
- the names of env vars that hold credentials
Keep these out of config files:
- KeePass master password values
- keyfile contents
- any other raw secret material
passwordEnv and keyfileEnv store env var names, not secret values.
That means this is valid:
providers:
keepass:
aliases:
team/app:
passwordEnv: TEAM_APP_PASSWORD
but the actual password still has to come from the TEAM_APP_PASSWORD
environment variable at runtime.
Alias normalization
Loom normalizes alias names when it maps config into env var names:
- letters are uppercased
- digits are preserved
- non-alphanumeric characters become
_
Examples:
team/appbecomesTEAM_APPprod.eubecomesPROD_EUlocal-mainbecomesLOCAL_MAIN
This is why the env contract uses LOOM_KEEPASS_DB_<ALIAS>_*.
Env-only aliases
If an alias exists only through LOOM_KEEPASS_DB_* env vars and never appears
in a config file, Loom only knows the normalized env form. In
loom config show, that alias appears under a normalized name such as
TEAM_APP, not the original punctuation-heavy form.
1Password service account token reference
The current 1Password config surface is one field:
providers:
op:
serviceAccountTokenEnv: LOOM_OP_TOKEN
providers.op.serviceAccountTokenEnv stores the env var name, not the token
value.
During loom run --local, Loom reads that env var reference and, when the named
env var is set to a non-empty value, passes the token through the existing
runtime env contract.
This means:
- config files can choose the env var name to use
- config files do not inline the 1Password token
loom config showprints the env var name, not the secret value- there is no
LOOM_OP_*env overlay layer for this field today
Limits to keep in mind
- Runtime config helps local execution; it does not change workflow secret
references in
.loom/workflow.yml. - Runtime config can set provider defaults; it does not add support for image registry credentials in this v1 docs surface.
- If you need a one-off override, use env vars. If you need a stable default,
use
~/.config/loom/config.ymlor.loom/config.yml.