# # Source the Cloud Init Config file # data "template_file" "cloud_init_fedora_vm_ipa" { # template = "${file("${path.module}/files/cloud_init_fedora.cloud_config")}" # # vars = { # ssh_key = file("~/.ssh/id_ed25519.pub") # hostname = "ipa" # domain = var.domain # } # } ## Create a local copy of the file, to transfer to Proxmox #resource "local_file" "cloud_init_fedora_vm_ipa" { # #content = data.template_file.cloud_init_fedora_vm_ipa.rendered # #content = templatefile("${var.working_directory}/cloud-inits/cloud-init.cloud_config.tftpl", { ssh_key = var.public_ssh_key, hostname = "ipa" }) # content = templatefile("${path.module}/files/user_data_cloud_init_fedora_vm_ipa.cfg", { ssh_key = var.ssh_public_key, hostname = "ipa" , domain = var.domain}) # filename = "${path.module}/files/user_data_cloud_init_fedora_vm_ipa.cfg" #} # ## Transfer the file to the Proxmox Host #resource "null_resource" "cloud_init_fedora_vm_ipa" { # connection { # type = "ssh" # user = "root" # private_key = file("~/.ssh/id_ed25519") # host = "pve.lab.softbox.net" # } # # provisioner "file" { # source = local_file.cloud_init_fedora_vm_ipa.filename # destination = "/var/lib/vz/snippets/cloud_init_fedora_vm_ipa.yml" # } #} # # #/* Configure Cloud-Init User-Data with custom config file */ #resource "proxmox_vm_qemu" "cloudinit-fedora" { # depends_on = [ # null_resource.cloud_init_fedora_vm_ipa, # ] # # name = "ipa" # #desc = "FreeIPA Server" # target_node = "pve" # # clone = "temp-fedora-38" # # # The destination resource pool for the new VM # pool = "lab" # # #storage = "local" # cpu { # cores = 2 # sockets = 1 # type = "host" # } # # memory = 2048 # #disk_gb = 16 # #nic = "virtio" # #bridge = "vmbr0" # # ssh_user = "root" # ssh_private_key = var.ssh_private_key # os_type = "cloud-init" # ipconfig0 = "ip=10.11.12.65/24,gw=10.11.12.254" # # /* # sshkeys and other User-Data parameters are specified with a custom config file. # In this example each VM has its own config file, previously generated and uploaded to # the snippets folder in the local storage in the Proxmox VE server. # */ # cicustom = "user=local:snippets/cloud_init_fedora_vm_ipa.yml" # /* Create the Cloud-Init drive on the "local-lvm" storage */ # disks { # ide { # ide3 { # cloudinit { # storage = "local-lvm" # } # } # } # } # tags = "fedora" # # #provisioner "remote-exec" { # # inline = [ # # "ip a" # # ] # #} #} # #/* Uses custom eth1 user-net SSH portforward */ #resource "proxmox_vm_qemu" "vm_ipa" { # name = "ipa" # #desc = "FreeIPA Server" # target_node = "pve" # # clone = "temp-fedora-38" # vmid = 111 # agent = 1 # # # The destination resource pool for the new VM # pool = "lab" # # cpu { # cores = 2 # sockets = 1 # type = "host" # } # tags = "ldap,samba,kerberos,dns,pki" # # # Same CPU as the Physical host, possible to add cpu flags # # Ex: "host,flags=+md-clear;+pcid;+spec-ctrl;+ssbd;+pdpe1gb" # memory = 2048 # #scsihw = "lsi" # scsihw = "virtio-scsi-pci" # # Boot from hard disk (c), CD-ROM (d), network (n) # boot = "cdn" # # It's possible to add this type of material and use it directly # # Possible values are: network,disk,cpu,memory,usb # hotplug = "network,disk,usb" # # Default boot disk # bootdisk = "virtio0" # # HA, you need to use a shared disk for this feature (ex: rbd) # hastate = "" # # #Display # vga { # type = "serial0" # #Between 4 and 512, ignored if type is defined to serial # memory = 4 # } # # network { # id = 0 # model = "virtio" # bridge = "vmbr0" # macaddr = "bc:24:11:de:2b:30" # } # disk { # #id = 0 # type = "disk" # storage = "local-lvm" # slot = "virtio0" # #storage_type = "lvm" # size = "16" # backup = true # } # # Serial interface of type socket is used by xterm.js # # You will need to configure your guest system before being able to use it # serial { # id = 0 # type = "socket" # } # #preprovision = true # ssh_forward_ip = "10.11.12.1" # ssh_user = "root" # ssh_private_key = var.ssh_private_key # os_type = "ubuntu" # os_network_config = <