<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Terraform on Tod's Homelab</title><link>https://homelab.tod.net/tags/terraform/</link><description>Recent content in Terraform on Tod's Homelab</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 28 Jun 2026 12:00:00 -0400</lastBuildDate><atom:link href="https://homelab.tod.net/tags/terraform/feed.xml" rel="self" type="application/rss+xml"/><item><title>Infrastructure to Build Infrastructure</title><link>https://homelab.tod.net/posts/downsizing-the-homelab/infrastructure-to-build-infrastructure/</link><pubDate>Sun, 28 Jun 2026 12:00:00 -0400</pubDate><guid>https://homelab.tod.net/posts/downsizing-the-homelab/infrastructure-to-build-infrastructure/</guid><description>&lt;p&gt;In the &lt;a href="https://homelab.tod.net/posts/downsizing-the-homelab/why-i-left-xcp-ng-for-proxmox/"&gt;previous post&lt;/a&gt; I explained why
the new cluster runs Proxmox instead of XCP-ng. This one is the migration itself —
specifically, how it started: the Terraform and Ansible that stood up the first
guest, what running them actually looked like, and the moment the code finally had
a home somewhere other than my laptop.&lt;/p&gt;
&lt;h2 id="rebuild-dont-convert"&gt;Rebuild, don&amp;rsquo;t convert&lt;/h2&gt;
&lt;p&gt;The obvious-sounding plan is to export each VM from XCP-ng and import it into
Proxmox. I didn&amp;rsquo;t do that. The two platforms use different disk formats and guest
tooling, and — as the last post covered — Proxmox&amp;rsquo;s LXC model means many of these
guests stop being full VMs at all. A cross-hypervisor disk conversion would have
dragged years of per-VM cruft along with it.&lt;/p&gt;</description></item></channel></rss>