Skip to main content

Imported from api/docs/ENVIRONMENT_MATRIX.md. Edit source file, then re-run sync.

Environment Matrix (Production)

Last updated: 2026-03-10

Required

Set in GitHub secrets:

  • MONGODB_URI
  • DRAGONFLY_URL
  • JWT_SECRET
  • JWT_REFRESH_SECRET
  • ENCRYPTION_KEY
  • CORS_ORIGINS
  • NEXTAUTH_URL
  • NEXTAUTH_SECRET
  • NEXT_PUBLIC_API_URL
  • API_URL
  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET
  • OPENAI_API_KEY (required when CALENDAR_VECTOR_SEARCH_ENABLED=true and CALENDAR_EMBEDDING_PROVIDER=openai)

Set in GitHub vars:

  • NODE_ENV
  • PORT
  • API_PREFIX
  • ATTACHMENTS_ENABLED
  • LLM_PROVIDER
  • OPENAI_BASE_URL

Set in GitHub vars:

  • TELEGRAM_APPROVAL_REPLAY_TTL_SECONDS
  • CALENDAR_VECTOR_SEARCH_ENABLED
  • CALENDAR_VECTOR_INDEX_NAME
  • CALENDAR_VECTOR_NUM_CANDIDATES
  • CALENDAR_EMBEDDING_PROVIDER
  • CALENDAR_EMBEDDING_MODEL
  • CALENDAR_EMBEDDING_DIMENSIONS
  • CALENDAR_EMBEDDING_BACKFILL_ENABLED
  • CALENDAR_PERF_GATE_ENABLED
  • CALENDAR_PERF_RESOLVER_P95_MS
  • CALENDAR_PERF_CONFIRM_P95_MS
  • CALENDAR_PERF_MAX_ERROR_RATE

Optional

Set in GitHub secrets:

  • OPENAI_BASE_URL (if using non-default compatible endpoint)

Set in GitHub vars:

  • ENABLE_SWAGGER
  • NODE_TLS_REJECT_UNAUTHORIZED

Deploy-time sanity checks

deploy-api-ec2.yml now fails deploy on invalid combinations:

  1. CALENDAR_VECTOR_SEARCH_ENABLED=true + CALENDAR_EMBEDDING_PROVIDER=openai without OPENAI_API_KEY or CALENDAR_EMBEDDING_MODEL.
  2. CALENDAR_PERF_GATE_ENABLED=true without latency/error thresholds.