<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>GCP on Allen Ziegenfus</title><link>https://allenz.net/tags/gcp/</link><description>Recent content in GCP on Allen Ziegenfus</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 16 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://allenz.net/tags/gcp/index.xml" rel="self" type="application/rss+xml"/><item><title>Environment-stable table ownership: surviving cross-environment restore with IAM database auth</title><link>https://allenz.net/writing/environment-stable-table-ownership-surviving-cross-environment-restore-with-iam-database-auth/</link><pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate><guid>https://allenz.net/writing/environment-stable-table-ownership-surviving-cross-environment-restore-with-iam-database-auth/</guid><description>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.</description></item><item><title>When Terraform owns a shared resource as if it were dedicated</title><link>https://allenz.net/writing/when-terraform-owns-a-shared-resource-as-if-it-were-dedicated/</link><pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate><guid>https://allenz.net/writing/when-terraform-owns-a-shared-resource-as-if-it-were-dedicated/</guid><description>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&amp;rsquo;t share state — and the bootstrap-module fix.</description></item><item><title>Tearing down a managed-Kubernetes deployment without leaving a tail</title><link>https://allenz.net/writing/tearing-down-a-managed-kubernetes-deployment-without-leaving-a-tail/</link><pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate><guid>https://allenz.net/writing/tearing-down-a-managed-kubernetes-deployment-without-leaving-a-tail/</guid><description>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.</description></item><item><title>Use GKE Connect Gateway to protect your private control plane</title><link>https://allenz.net/writing/use-gke-connect-gateway-to-protect-your-private-control-plane/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><guid>https://allenz.net/writing/use-gke-connect-gateway-to-protect-your-private-control-plane/</guid><description>Reach a private GKE cluster&amp;rsquo;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.</description></item><item><title>A clone-and-go installer: GCP Cloud Shell tutorials + Infrastructure Manager</title><link>https://allenz.net/writing/a-clone-and-go-installer-gcp-cloud-shell-tutorials--infrastructure-manager/</link><pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate><guid>https://allenz.net/writing/a-clone-and-go-installer-gcp-cloud-shell-tutorials--infrastructure-manager/</guid><description>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.</description></item></channel></rss>