Homelab / Cinco stacks de Terraform con el estado fuera del servidor.
Aprovisionamiento
El primer stack crea el bucket R2 donde vive el estado de todos los demás. Los siguientes describen el almacenamiento y las imágenes base del nodo, los contenedores y máquinas virtuales, el DNS y el bucket de respaldo, y el repositorio GitOps con sus claves de despliegue.
Un stack de bootstrap crea el bucket remoto donde vivirá el estado de todos los demás.
Los stacks siguientes describen almacenamiento e imágenes base, invitados, DNS y el repositorio GitOps.
Cada cambio se revisa como plan antes de aplicarse contra el servidor.
Cómo lo construí
El estado no vive en el servidor que describe, así que perder el nodo no significa perder el registro de lo que existía. Separar bootstrap, base, invitados, DNS y GitOps en cinco stacks permite planear un cambio de red sin arrastrar el aprovisionamiento completo, y el plan es donde se descubre que una modificación iba a recrear un invitado.