Skip to main content

Environment Selection

All Subscriberbot tooling targets production by default. Local and alpha environments are selectable only via the BURDENOFF_ENV environment variable.

export BURDENOFF_ENV=local   # or alpha, or prod (default when omitted)

Endpoint matrix

GraphQL gateways

EnvironmentBURDENOFF_ENVWorkspace public gatewayGlobal public gateway
Productionprod (default)https://graphqlworkspaces.burdenoff.com/workspaces/graphqlhttps://graphql.burdenoff.com/global/graphql
Alphaalphahttps://alphagraphqlworkspaces.burdenoff.com/workspaces/graphqlhttps://alphagraphql.burdenoff.com/global/graphql
Locallocalhttp://localhost:4003/workspaces/graphqlhttp://localhost:4000/global/graphql

App shells

EnvironmentWeb app URL
Productionhttps://app.subscriberbot.com
Alphahttps://alphaapp.subscriberbot.com
Localhttp://localhost:5237

Docs

EnvironmentURL
Productionhttps://docs.subscriberbot.com
Alphahttps://alphadocs.subscriberbot.com

Per-component behavior

CLI

The CLI reads BURDENOFF_ENV at runtime to derive the OIDC issuer and gateway endpoints. You can also override individual values:

BURDENOFF_ENV=alpha subscriberbot auth login
# or
SUBSCRIBERBOT_WORKSPACE_ENDPOINT=https://alphagraphqlworkspaces.burdenoff.com/workspaces/graphql \
SUBSCRIBERBOT_GLOBAL_ENDPOINT=https://alphagraphql.burdenoff.com/global/graphql \
subscriberbot auth login

Node SDK

Pass explicit endpoints in the constructor, or set BURDENOFF_ENV before running your application if the SDK reads it from the environment:

const sdk = new SubscriberbotSDK({
workspaceEndpoint: 'https://graphqlworkspaces.burdenoff.com/workspaces/graphql',
globalEndpoint: 'https://graphql.burdenoff.com/global/graphql',
});

Python SDK

Pass explicit endpoints in the constructor:

sdk = SubscriberbotSDK(
workspace_endpoint="https://graphqlworkspaces.burdenoff.com/workspaces/graphql",
global_endpoint="https://graphql.burdenoff.com/global/graphql",
)

Browser Extension

BURDENOFF_ENV is read at build time and injected by webpack's DefinePlugin. Only the endpoints for the selected environment are baked into the bundle:

# Alpha build
BURDENOFF_ENV=alpha bun run build

# Local dev build
BURDENOFF_ENV=local bun run build:dev

When BURDENOFF_ENV is omitted, the build defaults to prod and the production manifest strips all localhost host_permissions.

VS Code Extension

Set BURDENOFF_ENV before launching VS Code:

BURDENOFF_ENV=alpha code
BURDENOFF_ENV=local code

Endpoints are resolved in src/env.ts at extension activation time. Individual values can still be overridden through VS Code settings.

MCP Server

Pass explicit env vars or set BURDENOFF_ENV:

BURDENOFF_ENV=local bun run dev
# or
SUBSCRIBERBOT_WORKSPACE_ENDPOINT=http://localhost:4003/workspaces/graphql \
SUBSCRIBERBOT_GLOBAL_ENDPOINT=http://localhost:4000/global/graphql \
bun run dev

App Shell

Set BURDENOFF_ENV before building:

BURDENOFF_ENV=alpha bun run build
BURDENOFF_ENV=local bun run dev

Gateway base URLs are set via VITE_WSPACE_GATEWAY_URL and VITE_GLOBAL_GATEWAY_URL at build time.

Backend Service (local dev)

The backend service does not read BURDENOFF_ENV directly. Instead, it connects to the local gateway (localhost:4003 / localhost:4000) when running in dev mode. In the managed cloud environments, it receives traffic from the internal ingress and talks to upstream services through the platform internal gateways.

Doctor E2E

The E2E suite uses SUBSCRIBERBOT_TARGET:

SUBSCRIBERBOT_TARGET=alpha make test
SUBSCRIBERBOT_TARGET=local make test

Direct endpoint overrides take precedence:

SUBSCRIBERBOT_ENDPOINT=http://localhost:4003/workspaces/graphql make test

Alpha + Cloudflare Access

Alpha web hostnames are gated by Cloudflare Access. Automation passes via service-token headers:

  • curl / backend probes (CI token): add headers CF-Access-Client-Id + CF-Access-Client-Secret.
  • Playwright CLI (doctor token): arm header injection per the CF Access guide.

Fetch tokens from the dev secret store: ~/products/dev/platform/context/cfaccess/fetch-cfaccess-tokens.sh.

Summary

ComponentEnv varRead at
CLIBURDENOFF_ENVRuntime
Node SDKBURDENOFF_ENV / constructorRuntime / init
Python SDKConstructorInit
Browser ExtensionBURDENOFF_ENVBuild time
VS Code ExtensionBURDENOFF_ENVRuntime (VS Code launch)
MCP ServerBURDENOFF_ENV / SUBSCRIBERBOT_*Runtime
App ShellBURDENOFF_ENVBuild time
Doctor E2ESUBSCRIBERBOT_TARGETRuntime