packer/Ubuntu/ubuntu-24.pkr.hcl

83 lines
2.3 KiB
HCL
Raw Normal View History

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
"<down><down><down><down><left> <wait>",
2024-04-19 14:00:34 -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/\"",
"<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"
cpu_type = "host"
2024-04-19 14:00:34 -04:00
memory = "2048"
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}"
node = "kamino"
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"]
provisioner "shell" {
scripts = [
"scripts/debian-install.sh",
"scripts/remove-snap.sh"
]
}
provisioner "file" {
source = "scripts/initial-setup.sh"
destination = "/home/xadmin/initial-setup.sh"
}
2024-04-19 14:00:34 -04:00
}