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/operations/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