Skip to main content
apps/git runs natively on TanStack Start + Vite+ + Void on main, beside its Next build. vercel-production-git.yaml still deploys the Next app, so the current Vercel deployment keeps serving until the route is flipped.

Worker

  • Worker: tuturuuu-git when VITE_GIT_NATIVE_PROFILE=production, and the staging Worker name by default. workers_dev and preview_urls stay off. Production sets TUTURUUU_NOINDEX=0; the default build sets 1. Nothing here attaches a route.
  • Entry: apps/git/cloudflare/worker.ts; Wrangler config is emitted by void into dist.
  • Host: git.tuturuuu.com. Root-only: mountHosts is empty and unknownHost is reject, so tuturuuu.com/git and any other host answer 404 before app code runs.
  • Binding: ASSETS (static output, run_worker_first).
  • Variables (names): TUTURUUU_NOINDEX, optional INTERNAL_WEB_API_ORIGIN (default https://tuturuuu.com).
  • Secrets (names, set in the Worker, never in the repo): NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY, SUPABASE_SECRET_KEY, ENCRYPTION_MASTER_KEY, TUTURUUU_APP_COORDINATION_SECRET. Compare with the Vercel project environment list before the flip.

Build and qualification

git-cloudflare.yaml runs the same steps for the default build, records the emitted config receipt and packages dist with the receipt. git-cutover-artifact builds with VITE_GIT_NATIVE_PROFILE=production and seals that output with scripts/ci/git-native-artifact.py (config, seal, pack). cloudflare/anonymous.runtime.mjs starts the emitted Worker in workerd: the canonical host answers the public root (a redirect to /tutur3u/platform, or 200), an unknown host answers 404, and closed public ingress such as /api/storage/probe answers 403.

Smoke checks after the route is attached

No smoke request may return 5xx.

Rollback

  1. Before the flip, record the current production Vercel deployment id (the repo does not store it) and the DNS records and TTLs for git.tuturuuu.com in the release record.
  2. Roll back by detaching the Worker route or restoring the captured DNS records to the recorded deployment. vercel-production-git.yaml still deploys the Next app.
  3. Rerun the smoke checks against the Vercel origin.
Rolling back touches no database rows and no migrations. Route, DNS and deployment changes belong to the release owner.