Environment variables

Names only. Values live in the Zuplo dashboard (Settings > Environment Variables) and your local .env. env.example lists the same names.

API gateway

Variable Purpose Required If unset Source

FIREBASE_PROJECT_ID

Firestore project used by GET /api/trucks and POST /api/checkin (modules/firebase.ts).

Required

Truck and check-in routes throw an error.

Firebase console > Project settings > General > Project ID.

SERVICE_ACCOUNT_JSON

Service account key used by the upstream-firebase-admin-auth-inbound policy to call Firestore (config/policies.json).

Required

Truck and check-in routes fail upstream auth.

Firebase console > Project settings > Service accounts > Generate new private key. Paste the whole JSON as a secret.

JWT_SECRET

Signs the owner token in modules/auth.ts and checks it in the zuplo-jwt-auth policy (HS256, issuer and audience food-truck-api).

Required

Sign-in cannot issue tokens; protected routes reject every request.

Generate a long random string (for example openssl rand -base64 48). Store as a secret.

GOOGLE_CLIENT_ID

Google OAuth client for owner sign-in (modules/auth.ts).

Optional

Falls back to the client ID hardcoded in modules/auth.ts.

Google Cloud console > APIs & Services > Credentials > OAuth 2.0 Client IDs.

GOOGLE_CLIENT_SECRET

Google OAuth client secret for the token exchange in POST /api/auth/google/callback.

Required

Owner sign-in fails.

Google Cloud console > Credentials > the same OAuth client > Client secret. Store as a secret.

GOOGLE_MAPS_API_KEY

Google Places Text Search for GET /api/google-search (modules/search.ts).

Required

Search returns an error.

Google Cloud console > Credentials > API key. Restrict it to the Places API. It is server-side only.

BASE_URL

Public gateway URL for session cookie domain logic (modules/session.ts).

Optional

Uses the Zuplo environment values below.

Your gateway URL, for example https://food-truck-api-main-2917002.zuplo.app.

ZUPLO_ENVIRONMENT_STAGE

Environment stage read by modules/session.ts.

Optional

Set by Zuplo.

Provided by the Zuplo platform; do not set by hand.

ZUPLO_ENVIRONMENT_NAME

Environment name read by modules/session.ts.

Optional

Set by Zuplo.

Provided by the Zuplo platform; do not set by hand.

Developer portal (Zudoku)

The portal needs no variables. It is public, with sign-in and API-key self-serve turned off.