Skip to content

Commit be36d1d

Browse files
Update packer templates with new features (#12208)
1 parent 699ade4 commit be36d1d

File tree

5 files changed

+329
-15
lines changed

5 files changed

+329
-15
lines changed

images/ubuntu/templates/ubuntu-22.04.pkr.hcl

Lines changed: 58 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,15 +134,61 @@ variable "vm_size" {
134134
default = "Standard_D4s_v4"
135135
}
136136

137+
variable "image_offer" {
138+
type = string
139+
default = "0001-com-ubuntu-server-jammy"
140+
}
141+
142+
variable "image_publisher" {
143+
type = string
144+
default = "canonical"
145+
}
146+
147+
variable "image_sku" {
148+
type = string
149+
default = "22_04-lts"
150+
}
151+
152+
variable "gallery_name" {
153+
type = string
154+
default = "${env("GALLERY_NAME")}"
155+
}
156+
157+
variable "gallery_resource_group_name" {
158+
type = string
159+
default = "${env("GALLERY_RESOURCE_GROUP_NAME")}"
160+
}
161+
162+
variable "gallery_image_name" {
163+
type = string
164+
default = "${env("GALLERY_IMAGE_NAME")}"
165+
}
166+
167+
variable "gallery_image_version" {
168+
type = string
169+
default = "${env("GALLERY_IMAGE_VERSION")}"
170+
}
171+
172+
variable "gallery_storage_account_type" {
173+
type = string
174+
default = "${env("GALLERY_STORAGE_ACCOUNT_TYPE")}"
175+
}
176+
177+
variable "use_azure_cli_auth" {
178+
type = bool
179+
default = false
180+
}
181+
137182
source "azure-arm" "build_image" {
138183
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
139184
build_resource_group_name = "${var.build_resource_group_name}"
140185
client_cert_path = "${var.client_cert_path}"
141186
client_id = "${var.client_id}"
142187
client_secret = "${var.client_secret}"
143-
image_offer = "0001-com-ubuntu-server-jammy"
144-
image_publisher = "canonical"
145-
image_sku = "22_04-lts"
188+
use_azure_cli_auth = var.use_azure_cli_auth
189+
image_offer = "${var.image_offer}"
190+
image_publisher = "${var.image_publisher}"
191+
image_sku = "${var.image_sku}"
146192
location = "${var.location}"
147193
managed_image_name = "${local.managed_image_name}"
148194
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
@@ -157,6 +203,15 @@ source "azure-arm" "build_image" {
157203
virtual_network_subnet_name = "${var.virtual_network_subnet_name}"
158204
vm_size = "${var.vm_size}"
159205

206+
shared_image_gallery_destination {
207+
subscription = var.subscription_id
208+
gallery_name = var.gallery_name
209+
resource_group = var.gallery_resource_group_name
210+
image_name = var.gallery_image_name
211+
image_version = var.gallery_image_version
212+
storage_account_type = var.gallery_storage_account_type
213+
}
214+
160215
dynamic "azure_tag" {
161216
for_each = var.azure_tags
162217
content {

images/ubuntu/templates/ubuntu-24.04.pkr.hcl

Lines changed: 58 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,15 +134,61 @@ variable "vm_size" {
134134
default = "Standard_D4s_v4"
135135
}
136136

137+
variable "image_offer" {
138+
type = string
139+
default = "ubuntu-24_04-lts"
140+
}
141+
142+
variable "image_publisher" {
143+
type = string
144+
default = "canonical"
145+
}
146+
147+
variable "image_sku" {
148+
type = string
149+
default = "server-gen1"
150+
}
151+
152+
variable "gallery_name" {
153+
type = string
154+
default = "${env("GALLERY_NAME")}"
155+
}
156+
157+
variable "gallery_resource_group_name" {
158+
type = string
159+
default = "${env("GALLERY_RESOURCE_GROUP_NAME")}"
160+
}
161+
162+
variable "gallery_image_name" {
163+
type = string
164+
default = "${env("GALLERY_IMAGE_NAME")}"
165+
}
166+
167+
variable "gallery_image_version" {
168+
type = string
169+
default = "${env("GALLERY_IMAGE_VERSION")}"
170+
}
171+
172+
variable "gallery_storage_account_type" {
173+
type = string
174+
default = "${env("GALLERY_STORAGE_ACCOUNT_TYPE")}"
175+
}
176+
177+
variable "use_azure_cli_auth" {
178+
type = bool
179+
default = false
180+
}
181+
137182
source "azure-arm" "build_image" {
138183
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
139184
build_resource_group_name = "${var.build_resource_group_name}"
140185
client_cert_path = "${var.client_cert_path}"
141186
client_id = "${var.client_id}"
142187
client_secret = "${var.client_secret}"
143-
image_offer = "ubuntu-24_04-lts"
144-
image_publisher = "canonical"
145-
image_sku = "server-gen1"
188+
use_azure_cli_auth = var.use_azure_cli_auth
189+
image_offer = "${var.image_offer}"
190+
image_publisher = "${var.image_publisher}"
191+
image_sku = "${var.image_sku}"
146192
location = "${var.location}"
147193
managed_image_name = "${local.managed_image_name}"
148194
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
@@ -157,6 +203,15 @@ source "azure-arm" "build_image" {
157203
virtual_network_subnet_name = "${var.virtual_network_subnet_name}"
158204
vm_size = "${var.vm_size}"
159205

206+
shared_image_gallery_destination {
207+
subscription = var.subscription_id
208+
gallery_name = var.gallery_name
209+
resource_group = var.gallery_resource_group_name
210+
image_name = var.gallery_image_name
211+
image_version = var.gallery_image_version
212+
storage_account_type = var.gallery_storage_account_type
213+
}
214+
160215
dynamic "azure_tag" {
161216
for_each = var.azure_tags
162217
content {

images/windows/templates/windows-2019.pkr.hcl

Lines changed: 71 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,16 +144,72 @@ variable "vm_size" {
144144
default = "Standard_F8s_v2"
145145
}
146146

147+
variable "image_offer" {
148+
type = string
149+
default = "WindowsServer"
150+
}
151+
152+
variable "image_publisher" {
153+
type = string
154+
default = "MicrosoftWindowsServer"
155+
}
156+
157+
variable "image_sku" {
158+
type = string
159+
default = "2019-Datacenter"
160+
}
161+
162+
variable "gallery_name" {
163+
type = string
164+
default = "${env("GALLERY_NAME")}"
165+
}
166+
167+
variable "gallery_resource_group_name" {
168+
type = string
169+
default = "${env("GALLERY_RESOURCE_GROUP_NAME")}"
170+
}
171+
172+
variable "gallery_image_name" {
173+
type = string
174+
default = "${env("GALLERY_IMAGE_NAME")}"
175+
}
176+
177+
variable "gallery_image_version" {
178+
type = string
179+
default = "${env("GALLERY_IMAGE_VERSION")}"
180+
}
181+
182+
variable "gallery_storage_account_type" {
183+
type = string
184+
default = "${env("GALLERY_STORAGE_ACCOUNT_TYPE")}"
185+
}
186+
187+
variable "build_key_vault_name" {
188+
type = string
189+
default = "${env("BUILD_KEY_VAULT_NAME")}"
190+
}
191+
192+
variable "build_key_vault_secret_name" {
193+
type = string
194+
default = "${env("BUILD_KEY_VAULT_SECRET_NAME")}"
195+
}
196+
197+
variable "use_azure_cli_auth" {
198+
type = bool
199+
default = false
200+
}
201+
147202
source "azure-arm" "image" {
148203
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
149204
build_resource_group_name = "${var.build_resource_group_name}"
150205
client_cert_path = "${var.client_cert_path}"
151206
client_id = "${var.client_id}"
152207
client_secret = "${var.client_secret}"
208+
use_azure_cli_auth = var.use_azure_cli_auth
153209
communicator = "winrm"
154-
image_offer = "WindowsServer"
155-
image_publisher = "MicrosoftWindowsServer"
156-
image_sku = "2019-Datacenter"
210+
image_offer = "${var.image_offer}"
211+
image_publisher = "${var.image_publisher}"
212+
image_sku = "${var.image_sku}"
157213
location = "${var.location}"
158214
managed_image_name = "${local.managed_image_name}"
159215
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
@@ -172,6 +228,18 @@ source "azure-arm" "image" {
172228
winrm_insecure = "true"
173229
winrm_use_ssl = "true"
174230
winrm_username = "packer"
231+
winrm_expiration_time = "1440h"
232+
build_key_vault_name = var.build_key_vault_name
233+
build_key_vault_secret_name = var.build_key_vault_secret_name
234+
235+
shared_image_gallery_destination {
236+
subscription = var.subscription_id
237+
gallery_name = var.gallery_name
238+
resource_group = var.gallery_resource_group_name
239+
image_name = var.gallery_image_name
240+
image_version = var.gallery_image_version
241+
storage_account_type = var.gallery_storage_account_type
242+
}
175243

176244
dynamic "azure_tag" {
177245
for_each = var.azure_tags

images/windows/templates/windows-2022.pkr.hcl

Lines changed: 71 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,16 +144,72 @@ variable "vm_size" {
144144
default = "Standard_F8s_v2"
145145
}
146146

147+
variable "image_offer" {
148+
type = string
149+
default = "WindowsServer"
150+
}
151+
152+
variable "image_publisher" {
153+
type = string
154+
default = "MicrosoftWindowsServer"
155+
}
156+
157+
variable "image_sku" {
158+
type = string
159+
default = "2022-Datacenter"
160+
}
161+
162+
variable "gallery_name" {
163+
type = string
164+
default = "${env("GALLERY_NAME")}"
165+
}
166+
167+
variable "gallery_resource_group_name" {
168+
type = string
169+
default = "${env("GALLERY_RESOURCE_GROUP_NAME")}"
170+
}
171+
172+
variable "gallery_image_name" {
173+
type = string
174+
default = "${env("GALLERY_IMAGE_NAME")}"
175+
}
176+
177+
variable "gallery_image_version" {
178+
type = string
179+
default = "${env("GALLERY_IMAGE_VERSION")}"
180+
}
181+
182+
variable "gallery_storage_account_type" {
183+
type = string
184+
default = "${env("GALLERY_STORAGE_ACCOUNT_TYPE")}"
185+
}
186+
187+
variable "build_key_vault_name" {
188+
type = string
189+
default = "${env("BUILD_KEY_VAULT_NAME")}"
190+
}
191+
192+
variable "build_key_vault_secret_name" {
193+
type = string
194+
default = "${env("BUILD_KEY_VAULT_SECRET_NAME")}"
195+
}
196+
197+
variable "use_azure_cli_auth" {
198+
type = bool
199+
default = false
200+
}
201+
147202
source "azure-arm" "image" {
148203
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
149204
build_resource_group_name = "${var.build_resource_group_name}"
150205
client_cert_path = "${var.client_cert_path}"
151206
client_id = "${var.client_id}"
152207
client_secret = "${var.client_secret}"
208+
use_azure_cli_auth = var.use_azure_cli_auth
153209
communicator = "winrm"
154-
image_offer = "WindowsServer"
155-
image_publisher = "MicrosoftWindowsServer"
156-
image_sku = "2022-Datacenter"
210+
image_offer = "${var.image_offer}"
211+
image_publisher = "${var.image_publisher}"
212+
image_sku = "${var.image_sku}"
157213
location = "${var.location}"
158214
managed_image_name = "${local.managed_image_name}"
159215
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
@@ -172,6 +228,18 @@ source "azure-arm" "image" {
172228
winrm_insecure = "true"
173229
winrm_use_ssl = "true"
174230
winrm_username = "packer"
231+
winrm_expiration_time = "1440h"
232+
build_key_vault_name = var.build_key_vault_name
233+
build_key_vault_secret_name = var.build_key_vault_secret_name
234+
235+
shared_image_gallery_destination {
236+
subscription = var.subscription_id
237+
gallery_name = var.gallery_name
238+
resource_group = var.gallery_resource_group_name
239+
image_name = var.gallery_image_name
240+
image_version = var.gallery_image_version
241+
storage_account_type = var.gallery_storage_account_type
242+
}
175243

176244
dynamic "azure_tag" {
177245
for_each = var.azure_tags

0 commit comments

Comments
 (0)