Skip to main content
Declare non-sensitive environment variables in squid.yaml. Store credentials, private RPC URLs, and API keys as organization secrets.

Variable scopes

Service-level values override deployment-level values.
squid.yaml

Organization secrets

Secrets belong to one organization. A deployment can only reference secrets from its own organization. Create or update a secret in the Cloud console or CLI:
The published CLI currently requires the positional value. Use the Cloud console when the secret must not appear in a command or shell history. Reference the secret from an environment variable:
squid.yaml
Access it in application code:
Do not commit secret values to squid.yaml, .env, examples, logs, or support messages.

Apply a changed secret

Creating, updating, or removing a secret does not change the environment of a running process. Restart each affected slot:
If several slots are running, restart each one that consumes the secret. Restarting by tag only affects the slot currently carrying that tag.

Missing secret behavior

A deployment fails if its manifest references a secret that does not exist in the selected organization. Check the organization and secret names:
Secret and environment-variable names must start with a letter or underscore and contain only letters, numbers, or underscores.

Cloud-provided database variables

When the Postgres addon is enabled, Cloud injects and overrides:
  • DB_SSL
  • DB_HOST
  • DB_PORT
  • DB_NAME
  • DB_USER
  • DB_PASS
  • DB_URL
Do not set these variables to an external database in the same deployment. Remove the Postgres addon if the squid should use a separately managed database.

Works locally, but the variable is missing in Cloud

Local .env files are not automatically published. Check:
  1. The variable exists in the appropriate manifest env section.
  2. Sensitive values use an organization secret.
  3. The secret exists in the deployment’s organization.
  4. The running slot was restarted after a secret change.
  5. The processor or API command does not load a different local-only .env path.
Log whether a required variable is present, but never log its value.