<?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>Terraform on Anthony Mineer</title><link>https://anthonymineer.me/tags/terraform/</link><description>Recent content in Terraform on Anthony Mineer</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 09 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://anthonymineer.me/tags/terraform/index.xml" rel="self" type="application/rss+xml"/><item><title>Crossplane for People Who Already Know Terraform</title><link>https://anthonymineer.me/field-notes/crossplane/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://anthonymineer.me/field-notes/crossplane/</guid><description>&lt;h2 id="start-here"&gt;Start here&lt;/h2&gt;
&lt;p&gt;You already know Terraform. So the fastest way to explain Crossplane is to tell you what it is not: it is not Terraform running inside a cluster. It is a different model, and the difference is the entire reason to care.&lt;/p&gt;
&lt;p&gt;Terraform is something you run. You point it at some config, it builds a plan, you apply, it exits. Crossplane is something that runs. You install it into Kubernetes, tell it what infrastructure you want, and a controller keeps reality matching that want forever. Nobody types &lt;code&gt;apply&lt;/code&gt;. The loop never stops.&lt;/p&gt;</description></item><item><title>Building a Self-Service IDP on Port.io and GitLab CI/CD</title><link>https://anthonymineer.me/field-notes/port/</link><pubDate>Mon, 06 Jul 2026 00:00:00 +0000</pubDate><guid>https://anthonymineer.me/field-notes/port/</guid><description>&lt;h2 id="why-bother"&gt;Why bother&lt;/h2&gt;
&lt;p&gt;Every team eventually hits the moment where a developer needs a project, account, sub, or a bucket, or a pubsub, and the options are: file a ticket and wait three days, or DM the one person who knows the Terraform. Neither scales. So the developer does what developers do, which is find a way around you. They write a shell script. Then someone copies the shell script. Six months later you&amp;rsquo;ve got fourteen &amp;ldquo;projects&amp;rdquo; with no consistent IAM, no state backend anyone can find, and a bucket named &lt;code&gt;test-final-real&lt;/code&gt; that&amp;rsquo;s somehow in production.&lt;/p&gt;</description></item></channel></rss>