slipway has three scopes for both variables and secrets:Documentation Index
Fetch the complete documentation index at: https://docs.slipway.sh/llms.txt
Use this file to discover all available pages before exploring further.
| Scope | Stored on | Reference in slipway.yaml |
|---|---|---|
| Environment | The Environment row | ${secret.env.NAME} / ${var.env.NAME} |
| Repository | The Repository row | ${secret.repo.NAME} / ${var.repo.NAME} |
| Organization | The Organization row | ${secret.org.NAME} / ${var.org.NAME} |
${secret.NAME} / ${var.NAME} — walks env → repo → org at resolve time, taking the first match. Convoy-bound deployments learn env values automatically; standalone single-repo deployments simply skip the env layer (no values, no errors).
Secrets
- Encrypted at rest. Slipway never returns secret values after creation — the convoy detail page lists names only.
- Values reach your containers only as environment variables at startup. They don’t appear in the deployment row, the pod definition, or anywhere else a viewer of your org would see them.
- Rotating a convoy secret takes effect on the next redeploy. The current deploy’s containers keep running with the values they were built with.
Variables
- Plaintext key/value, shown inline on the deployment detail page.
- Same scope-precedence rules as secrets, but the value is visible.
- Useful for switches like
LOG_LEVEL,FEATURE_X, build-timeREGISTRY_HOST.
Worked example
Repoweb has a repo-scoped ${secret.DATABASE_URL} pointing at a single dev database. You want the staging convoy to use a different DB for the whole convoy.
- In
staging’s Secrets tab, setDATABASE_URLto the staging connection string. - Redeploy the convoy.
- Every component using
${secret.DATABASE_URL}(bare form) now resolves to the env value. The component’s${secret.repo.DATABASE_URL}(explicit) is unaffected and still uses the repo value.
Strict vs shorthand
Explicit scopes never fall through.${secret.repo.X} will fail with “missing repo secrets: X” if the repo doesn’t define it, even if the env or org has it. Use the shorthand when you want fallback; use explicit when you want a strict lookup.