Cloudflare deploy
OpenRoadmap is Cloudflare-first: Worker API + asset CDN, Pages for static dashboard / portal / docs, optional KV + Queues.
Surface map
| Surface | Product | Project |
|---|---|---|
| API + widget.js | Workers (+ Assets) | openroadmap-api |
| Dashboard | Pages | openroadmap-dashboard |
| Portal | Pages | openroadmap-portal |
| Docs | Pages | openroadmap-docs |
Deploy
npx wrangler login
pnpm --filter @openroadmap/widget build
pnpm deploy:api
pnpm deploy:dashboard
pnpm deploy:portal
pnpm deploy:docsOptional bindings
cd apps/api
npx wrangler kv namespace create CONFIG_CACHE
npx wrangler queues create openroadmap-feedbackMerge IDs into apps/api/wrangler.jsonc using wrangler.bindings.example.jsonc. Without them, config skips KV and email uses waitUntil.
DNS sketch
Cloudflare zone openroadmap.app is active. Hostname map: app, docs, api, cdn, *.openroadmap.app — see monorepo infra/cloudflare/domains.md.
app.openroadmap.app → Pages openroadmap-dashboard
docs.openroadmap.app → Pages openroadmap-docs
*.openroadmap.app → Pages openroadmap-portal
api.openroadmap.app → Worker openroadmap-api
cdn.openroadmap.app → Worker openroadmap-apiTip
Deeper notes: infra/cloudflare/README.md in the monorepo.