You've already forked kubespray-dualstack
feat: added instance terraform module
This commit is contained in:
@@ -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") }
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
terraform {
|
||||||
|
required_providers {
|
||||||
|
libvirt = {
|
||||||
|
source = "dmacvicar/libvirt"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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" {}
|
||||||
Reference in New Issue
Block a user