Rebounder Tech Blog

Written by the people who actually run these systems in production.

Google Cloud

What we hit running Cloud Run, Cloud SQL and Terraform in production.

gcloud sql clone point-in-time: a Real Restore Drill2026-10-13is_pilot Backfill Misses Companies With Only One EXISTS2026-10-07migrate_image_tag drifts from live after concurrent deploys2026-10-06gcloud ADC Expires After ~44h: Reauthentication failed Fix2026-10-04allUsers + objectViewer on GCS Grants list, Not Just get2026-10-03console_name.sql Collided Again 58 Minutes Later2026-09-21supabase-js count Query Returns null on Failure2026-09-19Next.js Middleware Missing an Exclusion Forces Login2026-09-17entity_id Was uuid, We Inserted a Token — 22P022026-09-16A 200 OK That Crashes a Server Component2026-09-16PostgREST .or() Breaks Silently on a Comma2026-09-16Only system_admin Hits The Audit Log Foreign Key Constraint2026-09-15Duplicate Key Value Violates Unique Constraint, Permanently2026-09-14drizzle-kit generate Duplicate ADD COLUMN: Stale Snapshot2026-09-13NoSuchBucket: Destroying Staging Broke Prod Ad Images2026-09-13Next.js Build Breaks on a Module-Level Resend Client2026-09-10supabase-js .range() Without .order() Drops Rows2026-09-09supabase-js try/catch Doesn't Catch Errors: Check { error }2026-09-09read-merge-write Drops a Key Without FOR UPDATE2026-09-08Promise.all Concurrent Writes Lose to last-writer-wins2026-09-07Next.js Server Actions bodySizeLimit: Raising Isn't Enough2026-09-07Drizzle onConflictDoUpdate Writes null: Use COALESCE2026-09-06pdfjs-dist standard_fonts Missing in Next.js standalone2026-09-04Duplicate URLs in a Feed Break ON CONFLICT DO UPDATE2026-09-03Supabase maybeSingle() PGRST116: Multiple Rows Returned2026-09-03Missing passThroughEnv Skips Tests While CI Stays Green2026-09-03Only the Poll Stringifies Date: getTime Is Not a Function2026-09-02Supabase SECURITY DEFINER RPC Callable by anon: Revoke It2026-09-01read-merge-write Without FOR UPDATE Loses Keys2026-08-30A Non-Numeric env Becomes NaN and Slips Past ??2026-08-28RLS Allowing actor_user_id NULL Erases Audit Trails2026-08-27LIMIT 1 Without ORDER BY Returns Another Tenant2026-08-25The Lock Held; the Count Counted Intent, Not Writes2026-08-24Humanising an Error Message Cost the Dead-Letter Its Trace2026-08-22A Stale Branch Deploy Silently Reverted Features2026-08-21Removing a Role-Change Seam With No Callers Left2026-08-20Carrying a creative_id Revived an Ended Placement2026-08-20A staging Default in env Deleted Production Images2026-08-19A 23503 FK Violation Disguised as a Conflict2026-08-18auth/invalid-password: App Allowed Shorter Passwords2026-08-18Enabling a Cloud Run Job Fails With SecretsAccessCheckFailed2026-08-17drizzle-kit migrate Does Not Apply Hand-Written SQL2026-08-16Three Errors You Actually Hit Connecting Actions to GCP2026-08-16SECURITY DEFINER Fails in Production: the Executing Role2026-08-16terraform enabled = false Cannot Tear Down an Env2026-08-16Cloud Run Jobs Freeze Their Image2026-08-15Splitting Personal-Project Infrastructure by Use2026-08-15Building the Same App on Firebase and Supabase2026-08-15