From 631afcafbad26015067aad6b6b56698292dbc9eb Mon Sep 17 00:00:00 2001 From: Vezpi Date: Mon, 3 Feb 2025 20:40:44 +0000 Subject: [PATCH] tweaking configuration to at least provision a VM --- terraform/bpg-simple-vm/main.tf | 53 ++++++++++++++++++++++++----- terraform/bpg-simple-vm/provider.tf | 4 +-- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/terraform/bpg-simple-vm/main.tf b/terraform/bpg-simple-vm/main.tf index 634d34b..5610813 100644 --- a/terraform/bpg-simple-vm/main.tf +++ b/terraform/bpg-simple-vm/main.tf @@ -4,11 +4,36 @@ data "proxmox_virtual_environment_vms" "template" { values = ["ubuntu-cloud"] } } + +# resource "proxmox_virtual_environment_file" "cloud_config" { +# content_type = "snippets" +# datastore_id = "local" +# node_name = "zenith" + +# source_raw { +# data = <<-EOF +# #cloud-config +# hostname: simple-vm +# packages: +# - qemu-guest-agent +# users: +# - default +# - name: vez +# groups: sudo +# shell: /bin/bash +# ssh-authorized-keys: +# - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICxWxrBF6W6N2ZrzoKhTwDTZ49tlYzvki+4naHjo8DhB vez-key" +# sudo: ALL=(ALL) NOPASSWD:ALL +# EOF + +# file_name = "example.cloud-config.yaml" +# } +# } + resource "proxmox_virtual_environment_vm" "simple_vm" { name = "simple-vm" node_name = "zenith" - tags = ["terraform", "test"] - + tags = ["test"] agent { enabled = false @@ -16,49 +41,59 @@ resource "proxmox_virtual_environment_vm" "simple_vm" { # if agent is not enabled, the VM may not be able to shutdown properly, and may need to be forced off stop_on_destroy = true + clone { vm_id = data.proxmox_virtual_environment_vms.template.vms[0].vm_id } + bios = "ovmf" + machine = "q35" + cpu { cores = 2 - type = "x86-64-v2-AES" # recommended for modern CPUs + type = "host" } memory { dedicated = 2048 - floating = 2048 # set equal to dedicated to enable ballooning } disk { datastore_id = "ceph-workload" #file_id = proxmox_virtual_environment_download_file.latest_ubuntu_22_jammy_qcow2_img.id interface = "scsi0" + size = 4 } initialization { + datastore_id = "ceph-workload" + interface = "scsi1" + ip_config { ipv4 { address = "dhcp" } } - #user_account { - # keys = [trimspace(tls_private_key.ubuntu_vm_key.public_key_openssh)] - # password = random_password.ubuntu_vm_password.result - # username = "ubuntu" - #} + user_account { + keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICxWxrBF6W6N2ZrzoKhTwDTZ49tlYzvki+4naHjo8DhB vez-key"] + username = "vez" + } #user_data_file_id = proxmox_virtual_environment_file.cloud_config.id } network_device { bridge = "vmbr0" + vlan_id = 66 } operating_system { type = "l26" } + vga { + type = "std" + } } diff --git a/terraform/bpg-simple-vm/provider.tf b/terraform/bpg-simple-vm/provider.tf index 4d66ca0..e78026a 100644 --- a/terraform/bpg-simple-vm/provider.tf +++ b/terraform/bpg-simple-vm/provider.tf @@ -11,7 +11,7 @@ provider "proxmox" { api_token = var.proxmox_api_token insecure = false ssh { - agent = true - username = "root" + agent = false + #username = "root" } }