{ "$schema": "node_modules/wrangler/config-schema.json", "name": "mono", "main": "src/mono.app.ts", "compatibility_date": "2026-06-16", "compatibility_flags": ["nodejs_compat"], // --- Combined worker --------------------------------------------------------------- // Mounts accounts, api, auth, cdn, chat, clubs, commerce, match, notify, ns, // playersettings, rooms and storage in one deployable. Bindings below are the // de-duplicated UNION of those workers' bindings — every one points at the same // underlying resource the split workers already share, so this is not a migration. // // The static-asset workers (www, img, econ) are intentionally excluded: only one // static `assets` binding is allowed per Worker. Resolve that before adding them. // Shared `recflare` DB. "local" is replaced with the real id from RECFLARE_D1 at deploy. "d1_databases": [ { "binding": "DB", "database_name": "recflare", "database_id": "local" } ], // Shared R2 buckets: image storage (api) + binary room-data CDN (cdn/rooms/storage). "r2_buckets": [ { "binding": "IMAGES", "bucket_name": "recflare-img" }, { "binding": "CDN_ASSETS", "bucket_name": "recflare-cdn" } ], // Per-player settings KV (playersettings). "local" id replaced at deploy. "kv_namespaces": [ { "binding": "RECFLARE_PLAYER_SETTINGS", "id": "local" } ], // Notifications hub. The class ships IN this worker (re-exported from notify), so it // is bound locally (no script_name) and migrated here. "durable_objects": { "bindings": [{ "name": "RECFLARE_NOTIFICATIONS_HUB", "class_name": "NotificationsHub" }] }, "migrations": [{ "tag": "v1", "new_sqlite_classes": ["NotificationsHub"] }], // Presence sweep (owned by match). Every 5 minutes. "triggers": { "crons": ["*/5 * * * *"] }, "logpush": false, // Shared Secrets Store holding the HS256 JWT signing key, plus the Meta app secret // the mounted `auth` app needs to verify Oculus logins. "local" store_id replaced // with RECFLARE_SECRETS_STORE at deploy. Both must exist in the store or the deploy // fails — see DEPLOYING.md. "secrets_store_secrets": [ { "binding": "JWT_SECRET", "store_id": "local", "secret_name": "JWT_SECRET" }, { "binding": "META_APP_SECRET", "store_id": "local", "secret_name": "META_APP_SECRET" } ], "upload_source_maps": true, "observability": { "logs": { "enabled": true, "head_sampling_rate": 1 // 100% } }, "vars": { "NAME": "mono", // logging tag; split workers derive this per-app "ENVIRONMENT": "development", // overridden during deployment "SENTRY_RELEASE": "unknown" // overridden during deployment } }