2024-04-19 14:00:34 -04:00
|
|
|
variable "proxmox_apiuser" {
|
|
|
|
type = string
|
|
|
|
default = "packer"
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "proxmox_apitoken" {
|
|
|
|
type = string
|
|
|
|
default = "changeme"
|
|
|
|
}
|
|
|
|
|
2024-05-20 10:04:41 -04:00
|
|
|
source "proxmox-iso" "ubuntu-24" {
|
|
|
|
template_name = "ubuntu-24"
|
|
|
|
template_description = "Ubuntu 24.04, generated on ${timestamp()}"
|
2024-05-20 10:06:03 -04:00
|
|
|
vm_id = "206"
|
2024-04-19 14:00:34 -04:00
|
|
|
boot_wait = "10s"
|
|
|
|
boot_key_interval = "200ms"
|
|
|
|
boot_command = [
|
2024-04-19 17:45:49 -04:00
|
|
|
# Edit boot options
|
|
|
|
"e<wait>",
|
2024-04-19 14:00:34 -04:00
|
|
|
|
2024-04-19 17:45:49 -04:00
|
|
|
# Go to the end of the boot command
|
2024-04-20 22:05:11 -04:00
|
|
|
"<down><down><down><down><left> <wait>",
|
2024-04-19 14:00:34 -04:00
|
|
|
|
2024-04-21 12:59:29 -04:00
|
|
|
# Add kernel command-line to start autoinstall
|
2024-04-19 14:00:34 -04:00
|
|
|
"autoinstall ",
|
2024-05-20 10:04:41 -04:00
|
|
|
"ds=\"nocloud-net;seedfrom=http://{{ .HTTPIP }}:{{ .HTTPPort }}/ubuntu/\"",
|
2024-04-20 22:05:11 -04:00
|
|
|
"<leftCtrlOn>x<leftCtrlOff><wait>"
|
2024-04-19 14:00:34 -04:00
|
|
|
]
|
|
|
|
|
|
|
|
http_directory = "http"
|
|
|
|
http_port_max = "8089"
|
|
|
|
http_port_min = "8080"
|
|
|
|
|
|
|
|
os = "l26"
|
|
|
|
cores = "2"
|
|
|
|
sockets = "1"
|
2024-04-20 22:05:11 -04:00
|
|
|
cpu_type = "host"
|
2024-04-19 14:00:34 -04:00
|
|
|
memory = "2048"
|
2024-04-20 22:05:11 -04:00
|
|
|
scsi_controller = "virtio-scsi-single"
|
2024-04-19 14:00:34 -04:00
|
|
|
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}"
|
2024-04-21 01:55:46 -04:00
|
|
|
node = "kamino"
|
2024-04-21 01:54:33 -04:00
|
|
|
pool = "Templates"
|
2024-04-19 14:00:34 -04:00
|
|
|
|
2024-05-20 10:04:41 -04:00
|
|
|
iso_url = "https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso"
|
|
|
|
iso_checksum = "sha256:8762f7e74e4d64d72fceb5f70682e6b069932deedb4949c6975d0f0fe0a91be3"
|
2024-04-19 14:00:34 -04:00
|
|
|
iso_storage_pool = "iso"
|
|
|
|
unmount_iso = true
|
|
|
|
iso_download_pve = true
|
|
|
|
|
|
|
|
ssh_username = "xadmin"
|
|
|
|
ssh_password = "packer"
|
|
|
|
ssh_timeout = "20m"
|
|
|
|
}
|
|
|
|
|
|
|
|
build {
|
2024-05-20 10:04:41 -04:00
|
|
|
sources = ["source.proxmox-iso.ubuntu-24"]
|
2024-04-21 01:54:33 -04:00
|
|
|
|
|
|
|
provisioner "shell" {
|
2024-04-21 12:32:29 -04:00
|
|
|
scripts = [
|
|
|
|
"scripts/debian-install.sh",
|
|
|
|
"scripts/remove-snap.sh"
|
|
|
|
]
|
2024-04-21 01:54:33 -04:00
|
|
|
}
|
2024-04-21 15:25:44 -04:00
|
|
|
|
|
|
|
provisioner "file" {
|
|
|
|
source = "scripts/initial-setup.sh"
|
|
|
|
destination = "/home/xadmin/initial-setup.sh"
|
|
|
|
}
|
2024-04-19 14:00:34 -04:00
|
|
|
}
|