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"
path = "/kvm/disk"
resource "libvirt_pool" "init" {
name = "init"
path = "/kvm/init"
resource "libvirt_pool" "data" {
name = "data"
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"
source = "https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-generic-amd64.qcow2"
resource "libvirt_volume" "debian_bookworm" {
name = "debian-bookworm.qcow2"
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 {
autostart = true