diff --git a/debian/13-trixie/debian-trixie.pkr.hcl b/debian/13-trixie/debian-trixie.pkr.hcl index 6d63ffd..aa3aa7e 100644 --- a/debian/13-trixie/debian-trixie.pkr.hcl +++ b/debian/13-trixie/debian-trixie.pkr.hcl @@ -1,133 +1,133 @@ packer { - required_plugins { - proxmox = { - version = "~> 1" - source = "github.com/hashicorp/proxmox" - } - } + required_plugins { + proxmox = { + version = "~> 1" + source = "github.com/hashicorp/proxmox" + } + } } source "proxmox-iso" "debian-13-trixie" { - # Proxmox Connection Settings - proxmox_url = "${var.proxmox_api_url}" - username = "${var.proxmox_api_token_id}" - token = "${var.proxmox_api_token_secret}" + # Proxmox Connection Settings + proxmox_url = "${var.proxmox_api_url}" + username = "${var.proxmox_api_token_id}" + token = "${var.proxmox_api_token_secret}" - # Skip TLS Verification - insecure_skip_tls_verify = "${var.proxmox_skip_tls_verify}" + # Skip TLS Verification + insecure_skip_tls_verify = "${var.proxmox_skip_tls_verify}" - # VM General Settings - node = "${var.proxmox_node}" - vm_id = "${var.template_vm_id}" - vm_name = "debian-13-trixie-${local.timestamp}" - template_description = "Debian 13 Trixie, built with Packer on ${local.timestamp}" - os = "l26" - qemu_agent = true + # VM General Settings + node = "${var.proxmox_node}" + vm_id = "${var.template_vm_id}" + vm_name = "debian-13-trixie-${local.timestamp}" + template_description = "Debian 13 Trixie, built with Packer on ${local.timestamp}" + os = "l26" + qemu_agent = true - # VM Hardware Settings - machine = "q35" - cpu_type = "${var.template_cpu_type}" - cores = 2 - memory = 2048 - bios = "ovmf" - scsi_controller = "virtio-scsi-pci" - disks { - disk_size = "20G" - format = "qcow2" - storage_pool = "${var.disk_storage_pool}" - type = "virtio" - } + # VM Hardware Settings + machine = "q35" + cpu_type = "${var.template_cpu_type}" + cores = 2 + memory = 2048 + bios = "ovmf" + scsi_controller = "virtio-scsi-pci" + disks { + disk_size = "20G" + format = "qcow2" + storage_pool = "${var.disk_storage_pool}" + type = "virtio" + } - efi_config { - efi_storage_pool = "${var.disk_storage_pool}" - pre_enrolled_keys = true - efi_format = "raw" - efi_type = "4m" - } + efi_config { + efi_storage_pool = "${var.disk_storage_pool}" + pre_enrolled_keys = true + efi_format = "raw" + efi_type = "4m" + } - # Download ISO - boot_iso { - type = "scsi" - iso_url = "${var.iso_url}" - unmount = true - iso_storage_pool = "${var.iso_storage_pool}" - iso_checksum = "${var.iso_checksum}" - } + # Download ISO + boot_iso { + type = "scsi" + iso_url = "${var.iso_url}" + unmount = true + iso_storage_pool = "${var.iso_storage_pool}" + iso_checksum = "${var.iso_checksum}" + } - # VM Network Settings - network_adapters { - model = "virtio" - mac_address = "${var.mac_address}" - bridge = "${var.network_bridge}" - firewall = "false" - } + # VM Network Settings + network_adapters { + model = "virtio" + mac_address = "${var.mac_address}" + bridge = "${var.network_bridge}" + firewall = "false" + } - # VM Cloud-Init Settings - cloud_init = true - cloud_init_storage_pool = "${var.disk_storage_pool}" - cloud_init_disk_type = "scsi" + # VM Cloud-Init Settings + cloud_init = true + cloud_init_storage_pool = "${var.disk_storage_pool}" + cloud_init_disk_type = "scsi" - # PACKER Boot Commands - boot = "order=virtio0;scsi0" - boot_wait = "10s" - communicator = "ssh" - boot_command = [ - "c", - "linux /install.amd/vmlinuz auto-install/enable=true priority=critical ", - "DEBIAN_FRONTEND=text preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/ks.cfg noprompt", - "initrd /install.amd/initrd.gz", - "DEBCONF_DEBUG=5", - "boot" - ] + # PACKER Boot Commands + boot = "order=virtio0;scsi0" + boot_wait = "10s" + communicator = "ssh" + boot_command = [ + "c", + "linux /install.amd/vmlinuz auto-install/enable=true priority=critical ", + "DEBIAN_FRONTEND=text preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg noprompt", + "initrd /install.amd/initrd.gz", + "DEBCONF_DEBUG=5", + "boot" + ] - # PACKER Autoinstall Settings - http_directory = "debian/13-trixie/http" + # PACKER Autoinstall Settings + http_directory = "debian/13-trixie/http" - # SSH Settings - ssh_username = "root" - ssh_password = "packer" - ssh_timeout = "20m" - ssh_pty = true + # SSH Settings + ssh_username = "root" + ssh_password = "packer" + ssh_timeout = "20m" + ssh_pty = true } build { - name = "debian-13-trixie-image" - sources = ["source.proxmox-iso.debian-13-trixie"] + name = "debian-13-trixie-image" + sources = ["source.proxmox-iso.debian-13-trixie"] - # Provisioning the VM Template for Cloud-Init Integration in Proxmox #1 - provisioner "shell" { - inline = [ - "rm /etc/ssh/ssh_host_*", - "truncate -s 0 /etc/machine-id", - "apt -y autoremove --purge 2> /dev/null", - "apt -y clean 2> /dev/null", - "apt -y autoclean 2> /dev/null", - "cloud-init clean", - "rm -f /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg", - "rm -rf /var/cache/apt/archives /var/lib/apt/lists/*", - "sync" - ] - } + # Provisioning the VM Template for Cloud-Init Integration in Proxmox #1 + provisioner "shell" { + inline = [ + "rm /etc/ssh/ssh_host_*", + "truncate -s 0 /etc/machine-id", + "apt -y autoremove --purge 2> /dev/null", + "apt -y clean 2> /dev/null", + "apt -y autoclean 2> /dev/null", + "cloud-init clean", + "rm -f /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg", + "rm -rf /var/cache/apt/archives /var/lib/apt/lists/*", + "sync" + ] + } - # Provisioning the VM Template for Cloud-Init Integration in Proxmox #2 - provisioner "file" { - source = "debian/13-trixie/files/99-pve.cfg" - destination = "/tmp/99-pve.cfg" - } + # Provisioning the VM Template for Cloud-Init Integration in Proxmox #2 + provisioner "file" { + source = "debian/13-trixie/files/99-pve.cfg" + destination = "/tmp/99-pve.cfg" + } - # Provisioning the VM Template for Cloud-Init Integration in Proxmox #3 - provisioner "shell" { - inline = ["sudo cp /tmp/99-pve.cfg /etc/cloud/cloud.cfg.d/99-pve.cfg"] - } + # Provisioning the VM Template for Cloud-Init Integration in Proxmox #3 + provisioner "shell" { + inline = ["sudo cp /tmp/99-pve.cfg /etc/cloud/cloud.cfg.d/99-pve.cfg"] + } - # Remove CD-ROM entries from APT sources list - provisioner "shell" { - inline = ["sed -i '/cdrom/d' /etc/apt/sources.list"] - } + # Remove CD-ROM entries from APT sources list + provisioner "shell" { + inline = ["sed -i '/cdrom/d' /etc/apt/sources.list"] + } - # Add custom APT sources list - provisioner "file" { - source = "debian/13-trixie/files/debian.sources" - destination = "/etc/apt/sources.list.d/debian.sources" - } + # Add custom APT sources list + provisioner "file" { + source = "debian/13-trixie/files/debian.sources" + destination = "/etc/apt/sources.list.d/debian.sources" + } } diff --git a/debian/13-trixie/http/ks.cfg b/debian/13-trixie/http/preseed.cfg similarity index 97% rename from debian/13-trixie/http/ks.cfg rename to debian/13-trixie/http/preseed.cfg index f938dbe..99e0a78 100644 --- a/debian/13-trixie/http/ks.cfg +++ b/debian/13-trixie/http/preseed.cfg @@ -29,7 +29,7 @@ popularity-contest popularity-contest/participate boolean false ### Mirror settings d-i mirror/country string manual -d-i mirror/http/hostname string http.us.debian.org +d-i mirror/http/hostname string ftp.de.debian.org d-i mirror/http/directory string /debian d-i mirror/http/proxy string