mirror of
https://github.com/stablyai/orca.git
synced 2026-11-15 18:37:24 +00:00
* feat(cloud): pdx1 default region with iad1 fallback and one golden per region; Standard is 8 vCPU / 16 GB (U17, U18) - golden_images and environment_builds record their region (0040, backfilled iad1); rotation, git-source builds, smoke and activation run per region; lifecycle picks the region's golden. - New creates default to pdx1; a create with no pinned region falls back to iad1 automatically on a capacity/provider error (VERCEL_FALLBACK_REGIONS). Until pdx1 has an image, creates use iad1. - Environment builds boot and smoke in their own region; workspaces from a build boot there. - One size: Standard = 8 vCPU / 16 GB (ORCA_CLOUD_SANDBOX_SPEC). Legacy 'large' requests map to standard; 0040 rewrites existing large rows. * merge cloud/integration (ORCA_CLOUD_SANDBOX_SPEC landed in #196)
55 lines
3.1 KiB
JSON
55 lines
3.1 KiB
JSON
{
|
|
"$schema": "node_modules/wrangler/config-schema.json",
|
|
// DEV deployment only (workers.dev, no custom domain). Deploy:
|
|
// wrangler deploy -c wrangler.dev.jsonc
|
|
// Secrets (wrangler secret put -c wrangler.dev.jsonc, never here): VERCEL_TOKEN, SANDBOX_DEV_JWKS,
|
|
// EGRESS_DEV_STATIC_AUTHORIZATION, CONTROL_PLANE_TOKEN (same value as on
|
|
// orca-billing-dev), GITHUB_APP_ID, GITHUB_APP_PRIVATE_KEY (PKCS#8), SECRETS_KEK (base64 32 bytes),
|
|
// OPERATOR_TOKEN (/v1/internal/*), GITHUB_STATE_SECRET; for the GitHub connect flow also
|
|
// GITHUB_APP_CLIENT_ID + GITHUB_APP_CLIENT_SECRET (app settings → generate a client secret).
|
|
"name": "orca-sandbox-control-dev",
|
|
"main": "src/index.ts",
|
|
"compatibility_date": "2026-11-01",
|
|
"workers_dev": true,
|
|
"d1_databases": [
|
|
{
|
|
"binding": "SANDBOX_DB",
|
|
"database_name": "orca-sandbox-control-dev",
|
|
"database_id": "e9f259e9-94b3-4e18-a132-2d807693a498",
|
|
"migrations_dir": "migrations"
|
|
}
|
|
],
|
|
// Same-account Workers cannot call each other over workers.dev (error 1042); BILLING_URL names the origin.
|
|
"services": [{ "binding": "BILLING", "service": "orca-billing-dev" }],
|
|
// Every minute for routines (src/routines); the rest of the cron work runs on minute % 5 == 0.
|
|
// Environment builds advance on Durable Object alarms (EnvironmentBuildRunner), not on readers.
|
|
"durable_objects": { "bindings": [{ "name": "ENV_BUILD_RUNNER", "class_name": "EnvironmentBuildRunner" }] },
|
|
"migrations": [{ "tag": "env-build-runner-v1", "new_sqlite_classes": ["EnvironmentBuildRunner"] }],
|
|
"triggers": { "crons": ["* * * * *"] },
|
|
"vars": {
|
|
"SANDBOX_ENV": "dev",
|
|
"SANDBOX_POOL_SIZE": "2",
|
|
// Dev only (ignored unless SANDBOX_ENV is dev): these dev accounts hit the real billing gate.
|
|
"SANDBOX_DEV_BILLING_ENFORCE_PREFIX": "dev:billing-test-",
|
|
// The golden orcad tracks this branch (host RPCs ship there first); rebuilt when HEAD touches VM code.
|
|
"GOLDEN_IMAGE_SOURCE": "git:https://github.com/nwparker/orca-private#cloud/integration",
|
|
"SANDBOX_JWT_AUDIENCE": "orca-sandbox",
|
|
"SANDBOX_JWKS_URL": "https://login.onorca.dev/.well-known/jwks.json",
|
|
"SANDBOX_AUTH_ISSUER": "https://login.onorca.dev",
|
|
// Dev only: also trust Orca Cloud auth STAGING sandbox tokens (billing dev trusts staging too).
|
|
"SANDBOX_STAGING_JWKS_URL": "https://auth-staging.onorca.dev/.well-known/jwks.json",
|
|
"SANDBOX_STAGING_AUTH_ISSUER": "https://auth-staging.onorca.dev",
|
|
"VERCEL_TEAM_ID": "team_c5IO9DfEYAxKEUgMxrbEtO0a",
|
|
"VERCEL_PROJECT_ID": "prj_SkVtv6zJurF9dUHpfTRy4v9avwPq",
|
|
"VERCEL_REGION": "pdx1",
|
|
"VERCEL_FALLBACK_REGIONS": "iad1",
|
|
"BILLING_URL": "https://orca-billing-dev.lovecast.workers.dev",
|
|
// Golden image from image/build-golden-image.ts; lifecycle routes answer 503 without one.
|
|
"GOLDEN_SNAPSHOT_ID": "snap_vpcmcCAgTtISiTZgsCosOlThQbFd",
|
|
// Snapshots are region-locked: the seed is an iad1 image; pdx1 builds its first image from source.
|
|
"GOLDEN_SNAPSHOT_REGION": "iad1",
|
|
"GITHUB_APP_SLUG": "orca-cloud-dev",
|
|
"EGRESS_PROXY_URL": "https://orca-sandbox-control-dev.lovecast.workers.dev/v1/egress/proxy"
|
|
}
|
|
}
|