diff options
Diffstat (limited to 'terraform')
-rw-r--r-- | terraform/libvirt/mini_environment.tf | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/terraform/libvirt/mini_environment.tf b/terraform/libvirt/mini_environment.tf new file mode 100644 index 0000000..4b9965d --- /dev/null +++ b/terraform/libvirt/mini_environment.tf @@ -0,0 +1,68 @@ +terraform { + backend "http" {} +} + +variable "machine_name" { + type = "string" +} + +variable "uri" { + type = "string" +} + +variable "vm_image_and_system" { + type = "string" +} + +provider "libvirt" { + uri = "${var.uri}" +} + +resource "libvirt_network" "vm_network" { + name = "vm_network" + addresses = ["10.0.1.0/24"] +} + +# Create the machine +resource "libvirt_domain" "domain-ubuntu" { + name = "${var.machine_name}" + memory = "8196" + vcpu = 4 + + kernel = "${var.vm_image_and_system}/system/kernel/bzImage" + initrd = "${var.vm_image_and_system}/system/initrd" + + cmdline { + "--root" = "/dev/vda1" + "--system" = "${var.vm_image_and_system}/system" + "--load" = "${var.vm_image_and_system}/system/boot" + } + + filesystem { + source = "/gnu/store" + target = "TAG_gnu_store" + readonly = true + accessmode = "passthrough" + } + + disk { + file = "${var.vm_image_and_system}/image" + readonly = true + } + + network_interface { + network_name = "${libvirt_network.vm_network.name}" + } + + console { + type = "pty" + target_port = "0" + target_type = "serial" + } + + console { + type = "pty" + target_type = "virtio" + target_port = "1" + } +} |