From 1d76112e931ab63009af3638474b33a1f51d413c Mon Sep 17 00:00:00 2001 From: AJ Schroeder <6432150+ajschroeder@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:20:44 -0500 Subject: [PATCH] fix: update windows build vars for consistency --- builds/windows/desktop/11/variables.pkr.hcl | 17 +++++++------ builds/windows/desktop/11/windows.pkr.hcl | 19 +++++++++------ .../desktop/11/windows.pkrvars.hcl.example | 24 +++++++++++-------- 3 files changed, 36 insertions(+), 24 deletions(-) diff --git a/builds/windows/desktop/11/variables.pkr.hcl b/builds/windows/desktop/11/variables.pkr.hcl index 8169e6d..09f39dc 100644 --- a/builds/windows/desktop/11/variables.pkr.hcl +++ b/builds/windows/desktop/11/variables.pkr.hcl @@ -114,19 +114,16 @@ variable "vm_os_name" { variable "vm_os_version" { type = string description = "The guest operating system version. Used for naming." - default = "11" } variable "vm_os_edition_pro" { type = string description = "The guest operating system edition. Used for naming." - default = "pro" } variable "vm_os_edition_ent" { type = string description = "The guest operating system edition. Used for naming." - default = "ent" } variable "vm_os_type" { @@ -297,6 +294,12 @@ variable "common_http_bind_address" { default = null } +variable "common_http_interface" { + type = string + description = "Name of the network interface that Packer gets HTTPIP from. Defaults to the first non loopback interface." + default = null +} + variable "common_http_port_min" { type = number description = "The start of the HTTP port range." @@ -307,10 +310,10 @@ variable "common_http_port_max" { description = "The end of the HTTP port range." } -// variable "vm_boot_order" { -// type = string -// description = "The boot order for virtual machines devices." -// } +variable "vm_boot_order" { + type = string + description = "The boot order for virtual machines devices." +} variable "vm_boot_wait" { type = string diff --git a/builds/windows/desktop/11/windows.pkr.hcl b/builds/windows/desktop/11/windows.pkr.hcl index 0295da7..25a6691 100644 --- a/builds/windows/desktop/11/windows.pkr.hcl +++ b/builds/windows/desktop/11/windows.pkr.hcl @@ -8,7 +8,7 @@ // The Packer configuration. packer { - required_version = ">= 1.11.0" + required_version = ">= 1.12.0" required_plugins { ansible = { source = "github.com/hashicorp/ansible" @@ -19,7 +19,7 @@ packer { source = "github.com/ethanmdavidson/git" } proxmox = { - version = ">= 1.2.2" + version = "= 1.2.1" source = "github.com/hashicorp/proxmox" } } @@ -125,11 +125,11 @@ source "proxmox-iso" "windows-desktop-pro" { "autounattend.xml" = templatefile("${abspath(path.root)}/data/autounattend.pkrtpl.hcl", { build_username = var.build_username build_password = var.build_password - vm_inst_os_eval = var.vm_inst_os_eval // Does not support evaluation. + vm_inst_os_eval = var.vm_inst_os_eval vm_inst_os_language = var.vm_inst_os_language vm_inst_os_keyboard = var.vm_inst_os_keyboard vm_inst_os_image = var.vm_inst_os_image_pro - vm_inst_os_key = var.vm_inst_os_key_pro // Does not support evaluation. + vm_inst_os_key = var.vm_inst_os_key_pro vm_guest_os_language = var.vm_os_language vm_guest_os_keyboard = var.vm_os_keyboard vm_guest_os_timezone = var.vm_os_timezone @@ -141,6 +141,8 @@ source "proxmox-iso" "windows-desktop-pro" { } // Boot and Provisioning Settings + http_interface = var.common_http_interface + http_bind_address = var.common_http_bind_address http_port_min = var.common_http_port_min http_port_max = var.common_http_port_max boot_wait = var.vm_boot_wait @@ -235,11 +237,11 @@ source "proxmox-iso" "windows-desktop-ent" { "autounattend.xml" = templatefile("${abspath(path.root)}/data/autounattend.pkrtpl.hcl", { build_username = var.build_username build_password = var.build_password - vm_inst_os_eval = var.vm_inst_os_eval // Does not support evaluation. + vm_inst_os_eval = var.vm_inst_os_eval vm_inst_os_language = var.vm_inst_os_language vm_inst_os_keyboard = var.vm_inst_os_keyboard vm_inst_os_image = var.vm_inst_os_image_ent - vm_inst_os_key = var.vm_inst_os_key_ent // Does not support evaluation. + vm_inst_os_key = var.vm_inst_os_key_ent vm_guest_os_language = var.vm_os_language vm_guest_os_keyboard = var.vm_os_keyboard vm_guest_os_timezone = var.vm_os_timezone @@ -251,6 +253,8 @@ source "proxmox-iso" "windows-desktop-ent" { } // Boot and Provisioning Settings + http_interface = var.common_http_interface + http_bind_address = var.common_http_bind_address http_port_min = var.common_http_port_min http_port_max = var.common_http_port_max boot_wait = var.vm_boot_wait @@ -272,7 +276,8 @@ source "proxmox-iso" "windows-desktop-ent" { build { sources = [ - "source.proxmox-iso.windows-desktop-ent" + "source.proxmox-iso.windows-desktop-pro", + "source.proxmox-iso.windows-desktop-ent", ] provisioner "ansible" { diff --git a/builds/windows/desktop/11/windows.pkrvars.hcl.example b/builds/windows/desktop/11/windows.pkrvars.hcl.example index 7d0c9ed..a5398f8 100644 --- a/builds/windows/desktop/11/windows.pkrvars.hcl.example +++ b/builds/windows/desktop/11/windows.pkrvars.hcl.example @@ -5,16 +5,20 @@ */ // Installation Operating System Metadata +vm_inst_os_eval = true +vm_inst_os_language = "en-US" +vm_inst_os_keyboard = "en-US" +vm_inst_os_image_pro = "Windows 11 Pro" vm_inst_os_key_pro = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" +vm_inst_os_image_ent = "Windows 11 Enterprise Evaluation" vm_inst_os_key_ent = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" -// Virtual Machine Guest Operating System Setting -vm_guest_os_type = "windows9_64Guest" - -// Virtual Machine Hardware Settings -vm_firmware = "efi-secure" - -// Removable Media Settings -iso_datastore_path = "iso/windows/windows-desktop/11/amd64" -iso_content_library_item = "22631.2428.231001-0608.23H2_NI_RELEASE_SVC_REFRESH_CLIENTENTERPRISEEVAL_OEMRET_x64FRE_en-us" -iso_file = "22631.2428.231001-0608.23H2_NI_RELEASE_SVC_REFRESH_CLIENTENTERPRISEEVAL_OEMRET_x64FRE_en-us.iso" +// Guest Operating System Metadata +vm_os_language = "en-US" +vm_os_keyboard = "en-US" +vm_os_timezone = "UTC" +vm_os_family = "windows" +vm_os_name = "desktop" +vm_os_version = "11" +vm_os_edition_pro = "pro" +vm_os_edition_ent = "ent"