Luvabase logoLuvabase Docs

Environment Reference

Luvabase injects runtime environment metadata when your app is deployed as a pod. See Cloudflare's environment variables documentation for more details on Worker environment variables and local vars.

import { env } from "cloudflare:workers"

// Example worker using env variables
export default {
  async fetch(request: Request, env: Env) {
    return Response.json({
      podId: env.LUVABASE_POD_ID,
      podUrl: env.LUVABASE_POD_URL,
      podAdminUrl: env.LUVABASE_POD_ADMIN_URL,
      runtimeVersion: env.LUVABASE_RUNTIME_VERSION,
      installedAt: env.LUVABASE_POD_INSTALLED_AT,
      updatedAt: env.LUVABASE_POD_UPDATED_AT,
    })
  },
}

Luvabase provides these bindings:

type Env = {
  LUVABASE: "yes"
  LUVABASE_ENV: "production"
  LUVABASE_RUNTIME_VERSION: string
  LUVABASE_APP_ID: string
  LUVABASE_POD_ID: string
  LUVABASE_POD_URL: string
  LUVABASE_POD_ADMIN_URL: string
  LUVABASE_POD_INSTALLED_AT: string
  LUVABASE_POD_UPDATED_AT: string
  LUVABASE_POD_SECRET: string
}

These bindings are only provided by Luvabase in deployed apps. During local development, you can mock them by adding them to vars in wrangler.jsonc:

wrangler.jsonc
{
  //...
  "vars": {
    "LUVABASE": "yes",
    "LUVABASE_ENV": "production",
    "LUVABASE_RUNTIME_VERSION": "1",
    "LUVABASE_APP_ID": "dev-app",
    "LUVABASE_POD_ID": "dev-pod",
    "LUVABASE_POD_URL": "https://dev-pod.luvabase.app",
    "LUVABASE_POD_ADMIN_URL": "https://luvabase.com/a/dev-account/pods/dev-pod",
    "LUVABASE_POD_INSTALLED_AT": "2026-01-01T00:00:00.000Z",
    "LUVABASE_POD_UPDATED_AT": "2026-01-01T00:00:00.000Z",
    "LUVABASE_POD_SECRET": "dev-secret",
  },
}