diff options
| author | jerome <jerome@xlinfo.fr> | 2023-06-12 14:24:35 +0200 |
|---|---|---|
| committer | jerome <jerome@xlinfo.fr> | 2023-06-12 14:24:35 +0200 |
| commit | 2aa8749a85ca39138fa7a9bb1bff2088efa20d62 (patch) | |
| tree | 92d50cfcfc41189a52f7831838dd5c4555a4f8ef /libvirt.tf | |
| download | kvm-2aa8749a85ca39138fa7a9bb1bff2088efa20d62.tar.gz kvm-2aa8749a85ca39138fa7a9bb1bff2088efa20d62.zip | |
commit initial0.1
Diffstat (limited to 'libvirt.tf')
| -rw-r--r-- | libvirt.tf | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/libvirt.tf b/libvirt.tf new file mode 100644 index 0000000..56ab930 --- /dev/null +++ b/libvirt.tf @@ -0,0 +1,53 @@ +# Defining VM Volume +resource "libvirt_volume" "rocky8-qcow2" { + name = "rocky8.qcow2" + pool = "default" + source = "https://download.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-GenericCloud-Base.latest.x86_64.qcow2" + format = "qcow2" +} + +# get user data info +data "template_file" "user_data" { + template = file("${path.module}/cloud_init.cfg") +} + +# Use CloudInit to add the instance +resource "libvirt_cloudinit_disk" "commoninit" { + name = "commoninit.iso" + pool = "default" # List storage pools using virsh pool-list + user_data = data.template_file.user_data.rendered +} + +# Define KVM domain to create +resource "libvirt_domain" "rocky8" { + name = "rocky8" + memory = "2048" + vcpu = 2 + + network_interface { + network_name = "default" + } + + disk { + volume_id = libvirt_volume.rocky8-qcow2.id + } + + cloudinit = libvirt_cloudinit_disk.commoninit.id + + console { + type = "pty" + target_type = "serial" + target_port = "0" + } + + graphics { + type = "spice" + listen_type = "address" + autoport = true + } +} + +# Output Server IP +output "ip" { + value = libvirt_domain.rocky8.network_interface.0.addresses.0 +} |
