Skip to content

Environment + secrets

All secrets are set via wrangler secret put NAME (not stored in wrangler.jsonc). Local dev reads .dev.vars instead.

Bindings (in wrangler.jsonc)

BindingTypeWhat
DBD1Main database (stayonthesnow)
BEDS24_KVKVBeds24 access token cache + self-write debounce
DROPBOX_KVKVDropbox access token cache
DAILY_FLAG_SYNCWorkflowDailyFlagSyncWorkflow binding
BOOKING_FLAGWorkflowBookingFlagWorkflow binding

Secrets (set via wrangler secret put)

SecretUsed by
BEDS24_REFRESH_TOKENgetAccessToken — long-lived refresh token
BEDS24_WEBHOOK_SECRET/webhook/beds24/* auth + /admin/* auth
DROPBOX_REFRESH_TOKENSelfie uploads in pre-check-in form
DROPBOX_APP_KEYDropbox OAuth
DROPBOX_APP_SECRETDropbox OAuth
MAILGUN_API_KEYOutbound email
MAILGUN_DOMAINstayonthesnow.com (the verified Mailgun domain)
MAILGUN_FROMbill@stayonthesnow.com (sender + Bill’s inbox alias)
MAILGUN_WEBHOOK_SIGNING_KEYVerify /webhook/mailgun signatures
TWILIO_ACCOUNT_SIDTwilio API auth
TWILIO_AUTH_TOKENTwilio API + webhook signature verification
TWILIO_FROM_NUMBER+19705501550 (our Twilio number)
TWILIO_STATUS_CALLBACK_URLStatus callback URL for outbound SMS
STRIPE_PUBLISHABLE_KEYClient-side Stripe Elements (publishable)
STRIPE_SECRET_KEYServer-side Stripe API

Listing current secrets

Terminal window
npx wrangler secret list

Rotation

If a secret is ever exposed (e.g., pasted into chat), rotate it via the provider’s dashboard and update via wrangler secret put NAME.

Local dev

.dev.vars (gitignored) mirrors the production secrets for wrangler dev and tests. Vitest pool-workers reads its own bindings from vitest.config.ts.

Source

  • src/env.tsEnv interface lists every binding + secret
  • wrangler.jsonc — actual binding declarations