Environment-stable table ownership: surviving cross-environment restore with IAM database auth

Cloud SQL IAM database auth breaks cross-environment restores because table ownership encodes a per-environment service account. Make ownership environment-independent by owning every table as cloudsqlsuperuser.

May 16, 2026 · 5 min

When Terraform owns a shared resource as if it were dedicated

When a per-cluster Terraform module owns a project-global, shared resource, tearing down one cluster quietly breaks the others. Why resources with different lifecycles can’t share state — and the bootstrap-module fix.

May 4, 2026 · 3 min

Tearing down a managed-Kubernetes deployment without leaving a tail

A field guide to deleting a GKE or EKS deployment cleanly when the cluster, the in-cluster GitOps/Crossplane layer, and Terraform all disagree about who owns cleanup — orphans, deletion order, and the stuck cases.

April 28, 2026 · 6 min

Use GKE Connect Gateway to protect your private control plane

Reach a private GKE cluster’s API server without a bastion or authorized-networks — using the GKE-native Connect Gateway, with GCP IAM outside the gateway and Kubernetes RBAC inside.

April 21, 2026 · 2 min

A clone-and-go installer: GCP Cloud Shell tutorials + Infrastructure Manager

Turning a many-step platform install — APIs, IAM, Terraform, state, secrets — into a browser-only, guided, clone-and-go onboarding with GCP Cloud Shell tutorials and Infrastructure Manager.

March 19, 2026 · 8 min