34 lines · 1.6 KB
declare namespace Cloudflare {
  interface Env {
    SECRETS_KEY: string;
    GITHUB_CLIENT_ID?: string;
    GITHUB_CLIENT_SECRET?: string;
    CF_API_TOKEN?: string;
    SITES_COOKIE_SECRET?: string;
    /** Turnstile widget secret; required whenever TURNSTILE_SITEKEY is set. */
    TURNSTILE_SECRET?: string;
    SCRATCH_SITES_PER_IP_PER_DAY?: string;
    /** Local e2e only; ignored unless PUBLIC_URL is loopback. */
    RATE_LIMITS_DISABLED?: string;
    /** Stripe is enabled only when this is set; without it billing UIs hide and plans come from METERING_PLANS. */
    STRIPE_SECRET_KEY?: string;
    STRIPE_PUBLISHABLE_KEY?: string;
    /** Signing secret of the /stripe/webhook endpoint (whsec_...). */
    STRIPE_WEBHOOK_SECRET?: string;
    /** Price id of the Pro monthly subscription. */
    STRIPE_PRICE_PRO?: string;
    /** JSON: {"<pack id from src/lib/pricing.ts PACKS>": "price_..."}; amounts and quantities come from pricing.ts. */
    STRIPE_TOPUP_PRICES?: string;
    /** "true" enables the loopback-only /__dev/stripe/replay route (test-mode keys only). */
    STRIPE_DEV_REPLAY?: string;
    /** PostHog project token (phc_...). Analytics is off unless this (or VITE_POSTHOG_PROJECT_TOKEN) is set. */
    POSTHOG_KEY?: string;
    /** PostHog ingestion host, e.g. https://us.i.posthog.com (default) or https://eu.i.posthog.com. */
    POSTHOG_HOST?: string;
    VITE_POSTHOG_PROJECT_TOKEN?: string;
    VITE_POSTHOG_HOST?: string;
    /** "true" attaches the signed-in user's email to their PostHog person. Off by default: no PII. */
    POSTHOG_PERSON_EMAIL?: string;
  }
}