Nest Engineering Docs
Raven

Configuration

Runtime configuration and environment variables for Raven

Settings file

  • services/raven/config/settings.py
  • Local overrides can be placed in services/raven/.env (loaded by Pydantic).

Environment variables

VariableRequiredDefaultPurpose
DEBUGNofalseEnables debug logging
GCP_PROJECT_IDNoresolved via metadataGCP project id
SPANNER_INSTANCE_IDYesnoneSpanner instance id
SPANNER_DATABASE_IDYesnoneSpanner database id
SEARCH_DEFAULT_LIMITNo10Default search limit
SEARCH_MAX_LIMITNo15Max search limit
SPANNER_SEARCH_STALENESS_SECONDSNo15Staleness window for search
SEARCH_STREAM_BATCH_SIZENo1Stream batch size
MICROSOFT_TENANT_IDNocommonTenant id for OIDC
MICROSOFT_CLIENT_IDNononeOIDC client id (fallback)

SEARCH_STREAM_BATCH_SIZE must be >= 1.

Credentials

Raven relies on Application Default Credentials (ADC) for:

  • Cloud Spanner access
  • Secret Manager access
  • Firebase Admin initialization

For local development, set GOOGLE_APPLICATION_CREDENTIALS to a service account JSON with Spanner + Secret Manager + Firebase permissions, or run gcloud auth application-default login.

Secrets (Secret Manager)

SecretRequiredPurpose
RAVEN_BUBBLE_API_TOKENYesBubble API token for login/SSO
MICROSOFT_CLIENT_IDOptionalPreferred source for OIDC client id

If MICROSOFT_CLIENT_ID is missing in Secret Manager and env, SSOLogin is disabled and the API returns UNAVAILABLE.

Last updated on