apps/drive) runs on TanStack Start, Vite+ and Void behind
@tuturuuu/start-bridge. The Next.js build
(build:legacy) and the Vercel project stay in place until the cutover has been
stable, so the canonical host keeps a one-step route back.
Worker profiles
Neither profile declares routes, custom domains,
workers_dev or
preview_urls. The hostname is attached at cutover by the release operator.
The production Worker answers every request with a refusal until
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY,
SUPABASE_SECRET_KEY and TUTURUUU_APP_COORDINATION_SECRET are present
(cloudflare/required-bindings.ts). Names only are recorded here; values stay in
the secret store. Hosts other than the canonical Drive host answer 404.
Build and artifact
drive-cloudflare-artifact.yaml runs on ready-for-ci pull requests and by
manual dispatch. It builds with bun run --cwd apps/drive build:cloudflare,
records the emitted configuration receipt, and runs
node --test apps/drive/cloudflare/cutover.runtime.mjs against the emitted
Worker in workerd. On manual dispatch it seals the output with
scripts/ci/drive-native-artifact.py and uploads drive-native-<source SHA>
(7 days). The workflow never deploys.
Do not run build:cloudflare on a shared development machine; use the workflow.
Cutover packet
Switch
- Record the source SHA, the sealed artifact name and the Vercel deployment ID.
- Provision the four secrets on
tuturuuu-drive, then deploy the sealed output. - Verify on the Worker before attaching the route: smoke below with the Worker’s own address.
- Attach
drive.tuturuuu.comto the Worker (a proxied route in front of the still-valid Vercel origin where possible).
Smoke
30x to /login, 200, the accepted commit, and 404.
Rollback
- Triggers: a 5xx rate above 1% or an authentication failure loop for 5 minutes, any cross-host response, or any storage permission regression.
- Action: remove the Worker route (or repoint the mapping) so
drive.tuturuuu.comresolves to the recorded Vercel deployment again. Never rebuild on the rollback path. - Data: a route rollback changes no stored files or metadata.
- Stability: keep the Vercel project and domain for 14 consecutive stable days before decommissioning, which is a separate approval.