This repository has been archived on 2023-12-26. You can view files and clone it, but cannot push or open issues or pull requests.
hypervisors/terraform/main.tf

75 lines
1.4 KiB
HCL

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
}