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
| Environment | BURDENOFF_ENV | Workspace public gateway | Global public gateway |
|---|---|---|---|
| Production | prod (default) | https://graphqlworkspaces.burdenoff.com/workspaces/graphql | https://graphql.burdenoff.com/global/graphql |
| Alpha | alpha | https://alphagraphqlworkspaces.burdenoff.com/workspaces/graphql | https://alphagraphql.burdenoff.com/global/graphql |
| Local | local | http://localhost:4003/workspaces/graphql | http://localhost:4000/global/graphql |
App shells
| Environment | Web app URL |
|---|---|
| Production | https://app.subscriberbot.com |
| Alpha | https://alphaapp.subscriberbot.com |
| Local | http://localhost:5237 |
Docs
| Environment | URL |
|---|---|
| Production | https://docs.subscriberbot.com |
| Alpha | https://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
| Component | Env var | Read at |
|---|---|---|
| CLI | BURDENOFF_ENV | Runtime |
| Node SDK | BURDENOFF_ENV / constructor | Runtime / init |
| Python SDK | Constructor | Init |
| Browser Extension | BURDENOFF_ENV | Build time |
| VS Code Extension | BURDENOFF_ENV | Runtime (VS Code launch) |
| MCP Server | BURDENOFF_ENV / SUBSCRIBERBOT_* | Runtime |
| App Shell | BURDENOFF_ENV | Build time |
| Doctor E2E | SUBSCRIBERBOT_TARGET | Runtime |