variable "proxmox_apiuser" {
  type    = string
  default = "packer"
}

variable "proxmox_apitoken" {
  type    = string
  default = "changeme"
}

source "proxmox-iso" "almalinux-9" {
  template_name            = "almalinux-9"
  template_description     = "Almalinux 9.5, generated on ${timestamp()}"
  vm_id                    = "204"
  boot_wait                = "10s"
  boot_key_interval        = "200ms"
  boot_command             = ["<tab><wait1s>", " inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/almalinux-9-server.ks<enter><wait5m>"]

  http_directory           = "http"
  http_port_max            = "8089"
  http_port_min            = "8080"

  os                       = "l26"
  cores                    = "2"
  sockets                  = "1"
  cpu_type                 = "host"
  memory                   = "2048"
  scsi_controller          = "virtio-scsi-single"
  disks {
    disk_size              = "30G"
    storage_pool           = "templates"
    type                   = "scsi"
  }
  network_adapters {
    bridge                 = "vmbr0"
    model                  = "virtio"
  }

  proxmox_url              = "https://kamino.int.metaunix.net:8006/api2/json/"
  insecure_skip_tls_verify = true
  username                 = "${var.proxmox_apiuser}"
  password                 = "${var.proxmox_apitoken}"
  node                     = "kamino"
  pool                     = "Templates"

  iso_url                  = "https://repo.almalinux.org/almalinux/9.5/isos/x86_64/AlmaLinux-9.5-x86_64-boot.iso"
  iso_checksum             = "sha256:3038fb71a29d33c3c93117bd8f4c3f612cb152dce057c666b6b11dfa793fb65c"
  iso_storage_pool         = "iso"
  unmount_iso              = true
  iso_download_pve         = true

  ssh_username             = "xadmin"
  ssh_password             = "packer"
  ssh_timeout              = "20m"
}

build {
  sources = ["source.proxmox-iso.almalinux-9"]

  provisioner "shell" {
    script = "scripts/rhel-install.sh"
  }

  provisioner "file" {
    source      = "scripts/initial-setup.sh"
    destination = "/home/xadmin/initial-setup.sh"
  }
}