Skip to main content

What are configs?

Configs are typed key-value settings for your service - database hosts, API base URLs, timeout values, and anything else that should vary per environment without requiring a code change. Unlike secrets, configs are:
  • Not encrypted - suitable for non-sensitive values
  • Available to both backend and frontend services
  • JSON values - enter "text", 42, true, or {"key":"value"} - the SDK provides typed getters to read them as the correct native type
  • Capable of referencing secrets and feature flags by key

Key names

Config keys follow the same pattern as secrets: ^[a-zA-Z]([a-zA-Z0-9_.:-]*[a-zA-Z0-9])?$ Examples: database.host, api.timeout_ms, feature.max_retries

Template references

Configs can embed the resolved values of secrets and flags using {{...}} syntax: Example:
The resolution happens server-side at sync time. SDKs receive the resolved string - the raw secret is never exposed to the client.

Reading configs

Umbrella inheritance

If a service is linked to an umbrella service, it inherits all configs defined on the umbrella. A service-level key with the same name overrides the umbrella value.

Live updates

All SDKs support SSE-based push: when a config is updated in the console, connected SDK instances receive the new value within milliseconds - no restart required. See Quickstart → Enable live updates for setup.