terraform { backend "pg" { schema_name = "bootstrap" conn_str = "postgres://terraform@10.42.0.1/terraform_state" } required_providers { libvirt = { source = "dmacvicar/libvirt" } } } provider "libvirt" { uri = "qemu+ssh://root@atlas.lan/system" } resource "libvirt_pool" "iso" { name = "iso" type = "dir" path = "/kvm/iso" } resource "libvirt_pool" "disk" { name = "disk" type = "dir" path = "/kvm/disk" } resource "libvirt_pool" "init" { name = "init" type = "dir" path = "/kvm/init" } resource "libvirt_pool" "data" { name = "data" type = "dir" path = "/kvm/data" xml { xslt = file("set_volume_pool_mode_open.xsl") } } resource "libvirt_volume" "ubuntu_jammy" { name = "ubuntu-jammy.img" pool = "iso" source = "https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img" } resource "libvirt_volume" "debian_bullseye" { name = "debian-bullseye.iso" pool = "iso" source = "https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-generic-amd64.qcow2" } resource "libvirt_volume" "debian_bookworm" { name = "debian-bookworm.qcow2" pool = "iso" source = "https://cloud.debian.org/images/cloud/bookworm/daily/latest/debian-12-generic-amd64-daily.qcow2" } resource "libvirt_network" "dmzbr" { name = "dmzbr" mode = "bridge" bridge = "dmzbr" dhcp { enabled = false } dns { enabled = false } autostart = true }