feat: added instance terraform module

This commit is contained in:
ITQ
2025-08-06 03:09:18 +03:00
parent b8715101d8
commit c011c9a3c9
3 changed files with 51 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
resource "libvirt_volume" "image" {
name = "${var.name}_image"
base_volume_id = var.volume_base_id
}
resource "libvirt_cloudinit_disk" "init" {
name = "${var.name}_cloudinit"
user_data = var.user_data
network_config = var.network_config
}
resource "libvirt_domain" "this" {
name = var.name
vcpu = var.vcpu
memory = var.memory
cpu { mode = "host-passthrough" }
disk { volume_id = libvirt_volume.image.id }
cloudinit = libvirt_cloudinit_disk.init.id
network_interface {
network_id = var.network_id
wait_for_lease = false
}
arch = "x86_64"
type = "kvm"
machine = "q35"
running = true
autostart = false
xml { xslt = file("${path.root}/configs/libvirt/patch.xsl") }
}
+7
View File
@@ -0,0 +1,7 @@
terraform {
required_providers {
libvirt = {
source = "dmacvicar/libvirt"
}
}
}
+9
View File
@@ -0,0 +1,9 @@
variable "name" {}
variable "network_id" {}
variable "ipv4" {}
variable "ipv6" {}
variable "volume_base_id" {}
variable "user_data" {}
variable "network_config" {}
variable "vcpu" {}
variable "memory" {}