env("NAME"):
Where values come from
- The process environment (what CI sets).
- A
.envfile next topawabase.toml(local development; never commit it).
.env.
What validate and deploy do
pawabase validatechecks the shape of your definitions and doesn’t need secrets.pawabase plananddeployneed the variable. If one is unset, nothing is sent: deploy refuses first, so you never half-deploy.- Secrets are write-only: sent when a definition is created or changes, never read back or compared.
plantherefore shows nothing for an unchanged secret.
Rotating a secret
- Set the new value in your environment (and in the other service).
- Run
pawabase deploy --force-secretsto resend secrets even though nothing else changed.
The API key
PAWABASE_API_KEY is the credential that lets plan and deploy talk to your environment. It must be a secret key (pb_sk…) with the Deploy and configure preset. Create it in Studio’s API keys page, and keep it in .env locally and in your CI’s secret store.
Studio’s Secrets
Studio’s Access → Secrets page holds values referenced assecret://NAME in settings that Studio manages (provider client secrets and so on). Those aren’t part of IaC; see Secrets.
Good practice
- A different key and different secrets per environment.
- Scope the deploy key to what it needs; revoke and rotate if a CI log leaks it.
- Never print
env()values in your own code.
Plan and deploy
What gets sent.
Webhooks
Where secrets are used.