From 4b1af93edeca3388ebfd2eea3b612fedd7f383db Mon Sep 17 00:00:00 2001 From: Jonathan Moss Date: Thu, 19 Feb 2026 11:05:49 -0500 Subject: [PATCH 1/5] ignore tflock --- terraform/azure_fxci/.terraform.lock.hcl | 82 ------------------------ 1 file changed, 82 deletions(-) delete mode 100644 terraform/azure_fxci/.terraform.lock.hcl diff --git a/terraform/azure_fxci/.terraform.lock.hcl b/terraform/azure_fxci/.terraform.lock.hcl deleted file mode 100644 index 6c715047..00000000 --- a/terraform/azure_fxci/.terraform.lock.hcl +++ /dev/null @@ -1,82 +0,0 @@ -# This file is maintained automatically by "terraform init". -# Manual edits may be lost in future updates. - -provider "registry.terraform.io/azure/azapi" { - version = "2.8.0" - hashes = [ - "h1:gJpLLWwcTgHPyyqDNaXZkCfFCAywGMAgVlqg7QHRRBk=", - "zh:048fa67ba123c6da65a7af12453328e36e1783cac1dbecc905d44ee7a1daa41c", - "zh:08dfb8c493a99aa54ea0c00f5d2e2389aac55d70b31bfc50a38e4ab61800aca8", - "zh:0d5bf53f356864567bf0855eb90b0b9aa4619b60fd1469210461ad88c0508a6f", - "zh:221cc52181d81bd741e8624ba9619ae20438f7a13828b72aa138a51b57bc1483", - "zh:51e7485e4f502cbbefe9b4ea991961eb9b19f41862593150905197bbb37cc6fb", - "zh:6e2d0986176bbeabdfa7dc3d1bf37d0a24549ebff29a3c9e8c5082e03cc38247", - "zh:87e46ceddcd3a4b7ed16f6b853c286840753d8af8ae8df0618ab5f29e950976b", - "zh:894998419943fadb3b85d1469665e9b7cdf492e6dc30907a77e32043e1d52b6a", - "zh:9f1efae3ad37510d947e7a27118a84bae55e35681b047d939781da96dd6ab6c7", - "zh:a201371f6c4c65b6976a8a360223c188ea91b7a33078fdd3a5f5f0ac7b438d35", - "zh:af3cc16bdfc545e61ce66449b9daaebfaa0c5e495777241c9414671a31e37ffa", - "zh:dbbb263a5f4c40624823fd3e68dc046b1f00325548393557384f0914a4694278", - ] -} - -provider "registry.terraform.io/hashicorp/aws" { - version = "6.30.0" - hashes = [ - "h1:FNkicntiPhllPhKf8uBJTCQVY/cqN/sXa/LwE4Q0ML8=", - "zh:08fdcbb84b63739b758fd2f657303f495859ae15f2d6c3dbd642520cadb5f063", - "zh:1e69ff49906541cd511bdabcd4b2996a731b1642ba26b834cdac5432e8d5c557", - "zh:3aa23e3af1fb1dd0c025cb8fb73abdabd3f44b6a687a2a239947e7b0201b2f1f", - "zh:4b3b81e63eee913c874e8115d6a83d12bd9d7903446f91be15ba50c583c79549", - "zh:6e93a72d8770d73a4122dc82af33a020d58feeaca4e194a2685dce30dbcdce24", - "zh:74be722c9a64b95e06554cde0bef624084cc5a5ea7f3373f1975b7a4737d7074", - "zh:7d2acf6bc93be26504fd0e2965c77699a49549f74a767d0a81430d9e12d51358", - "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", - "zh:aef629bc537b4cc0f64ece87bc2bfdb3e032a4d03a3f7f301f4c84ffdc2ac1ac", - "zh:b41dcc4a2c8e356d82d3f92629aab0e25849db106a43e7adf06d8c6bda7af4c9", - "zh:b4d7a9cf9ad5ac5dd07f4ea1e834b63f14e752f9aca9452cd99570fed16e0c12", - "zh:bcb20f64b9b4599fa746305bcff7eeee3da85029dc467f812f950cf45b519436", - "zh:e45a520b82a1d2d42360db1b93d8e96406a7548948ed528bac5018e1d731c5c6", - "zh:f743e4a0e10dc64669469e6a22e47012f07fb94587f5a1e8cf5431da4e878ae1", - "zh:fe1895af7dcc5815896f892b2593fe71b7f4f364b71d9487d6e8b10ef244c11c", - ] -} - -provider "registry.terraform.io/hashicorp/azurerm" { - version = "4.58.0" - constraints = "~> 4.0" - hashes = [ - "h1:k0a/JkkhIEGrJ/oR7MZWbTZsUXHQ18JIPcVWBdW+V58=", - "zh:041c2a778ab4dd5a9af174b1d6f75409e5aabfc359cb386dfea3fb09e3f32709", - "zh:0a302531a61e7383acf99a6202d7984b2ea559306f45021381665c827a830d46", - "zh:0c69f132c7609683d907e87b89210a298d84c5b0121b62278949931bc54ca952", - "zh:0cadf48e9d2d9daed43212a3c9d886d7faaf68787b6e955456cbe4f43e4a17ec", - "zh:35ef4293d7731f6ff1f8bcba2c4529f987b7fac243c1ac1c154bbc02c9703c25", - "zh:3cb2679e1d56865e0ee0cf4c5d1404dbad0db42d11425e7bf0580a026cc64287", - "zh:4e56411f5119042d4962acff5c6d64224a49a69154ba80e6df63fa57b1e6d284", - "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", - "zh:ca4626411a111720c220f9849c7d2e1fcd5d380f56459e096d835a9dbf9e6e13", - "zh:d31c4e65dcb096974479b2d548fffb86fc9a5262aff1b01fe62ef442ce536c6b", - "zh:d9631602999c1853e53ee2c5aef7476e23c7787beddc3599c10dbaa4891ba166", - "zh:f31ba7c9341037ceb7d49467946c01b2b0930404ed1d5643c1451f734a613a03", - ] -} - -provider "registry.terraform.io/hashicorp/local" { - version = "2.6.2" - hashes = [ - "h1:XaUyyJIDfkkQQ16UopuefD25sfQA6gc653nFGNP6wG0=", - "zh:018382c416d271bf89be6fba6550b4fae42e31a4d26a421b3c92f1d589b1b086", - "zh:107fd03879eb10d26dcaf5a68d98e4ca7d2488e43c01868e27698d248c1f42a2", - "zh:4854946830189100e6a36b8facf028244a7a54baf6e9f5a1a68d11669d8ee597", - "zh:4a23aee49842043cb3305f62fa04c3231eb5e6250a439b9a895d8c928a4408a3", - "zh:5becec4296cd32ac2b75198ed2de9f716a4c2094ee59d85244d589ae025dfdb6", - "zh:619822fb681d7d44c13c1d5ca3d5c85978a8dc8bca18f21bcb80e71816c3f6cd", - "zh:6f781cdfde321d530d9b0e4b03ee92a3ec16c82951ab22346ef647d84db321a1", - "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", - "zh:8418a84aeed1b31796ffb8c61749406b25e764a4f5a53de29b7ba7c2619692e3", - "zh:ab28bd1283712a9720a40c50cc85baffce0f2c23266144602ebbbf1a6a2bccda", - "zh:b848cae1d5d1103ba47bd650f27802f316f7bc0dc54df82c514d74269bfcdca5", - "zh:bd467d695311c19eec13712792934c19e1b33f351e0cc1fffa08ce404b7d503d", - ] -} From 64ca748befdc48f01787370b1569c4aafb6ff3ba Mon Sep 17 00:00:00 2001 From: Jonathan Moss Date: Thu, 19 Feb 2026 11:45:11 -0500 Subject: [PATCH 2/5] RELOPS-2207: add Win11 25H2 worker image definitions --- terraform/azure_fxci/worker-images.tf | 48 ++++++++++++++ terraform/azure_trusted_fxci/worker-images.tf | 62 ++++++++++++++++++- 2 files changed, 109 insertions(+), 1 deletion(-) diff --git a/terraform/azure_fxci/worker-images.tf b/terraform/azure_fxci/worker-images.tf index f32fecc9..c419a299 100644 --- a/terraform/azure_fxci/worker-images.tf +++ b/terraform/azure_fxci/worker-images.tf @@ -64,6 +64,38 @@ locals { os_type = "Windows" hyper_v_generation = "V2" }, + "win11a6425h2builderalpha" = { + publisher = "windows11preview-arm64" + offer = "Windows-11" + sku = "win11-25h2-ent" + architecture = "Arm64" + os_type = "Windows" + hyper_v_generation = "V2" + }, + "win11a6425h2builder" = { + publisher = "windows11preview-arm64" + offer = "Windows-11" + sku = "win11-25h2-ent" + architecture = "Arm64" + os_type = "Windows" + hyper_v_generation = "V2" + }, + "win11a6425h2testeralpha" = { + publisher = "windows11preview-arm64" + offer = "Windows-11" + sku = "win11-25h2-ent" + architecture = "Arm64" + os_type = "Windows" + hyper_v_generation = "V2" + }, + "win11a6425h2tester" = { + publisher = "windows11preview-arm64" + offer = "Windows-11" + sku = "win11-25h2-ent" + architecture = "Arm64" + os_type = "Windows" + hyper_v_generation = "V2" + }, "win116424h2" = { publisher = "MicrosoftWindowsDesktop" offer = "Windows-11" @@ -80,6 +112,22 @@ locals { os_type = "Windows" hyper_v_generation = "V2" }, + "win116425h2" = { + publisher = "MicrosoftWindowsDesktop" + offer = "Windows-11" + sku = "win11-25h2-avd" + architecture = "x64" + os_type = "Windows" + hyper_v_generation = "V2" + }, + "win116425h2alpha" = { + publisher = "MicrosoftWindowsDesktop" + offer = "Windows-11" + sku = "win11-25h2-avd" + architecture = "x64" + os_type = "Windows" + hyper_v_generation = "V2" + }, "win2022642009alpha" = { publisher = "MicrosoftWindowsServer" offer = "WindowsServer" diff --git a/terraform/azure_trusted_fxci/worker-images.tf b/terraform/azure_trusted_fxci/worker-images.tf index 8047fe61..1d470667 100644 --- a/terraform/azure_trusted_fxci/worker-images.tf +++ b/terraform/azure_trusted_fxci/worker-images.tf @@ -38,6 +38,66 @@ resource "azurerm_shared_image" "trusted_win11_a64_24h2_builder" { } } +locals { + shared_images = { + "trusted_win11_a64_25h2_builder" = { + publisher = "windows11preview-arm64" + offer = "Windows-11" + sku = "win11-25h2-ent" + architecture = "Arm64" + os_type = "Windows" + hyper_v_generation = "V2" + }, + "trusted_win11_64_25h2" = { + publisher = "MicrosoftWindowsDesktop" + offer = "Windows-11" + sku = "win11-25h2-avd" + architecture = "x64" + os_type = "Windows" + hyper_v_generation = "V2" + } + } +} + +resource "azurerm_shared_image_gallery" "this" { + for_each = local.shared_images + name = each.key + resource_group_name = azurerm_resource_group.rg-packer-worker-images.name + location = azurerm_resource_group.rg-packer-worker-images.location + description = replace(each.key, "_", "-") + + tags = merge(local.common_tags, + tomap({ + "Name" = "rg-packer-worker-images" + }) + ) +} + +resource "azurerm_shared_image" "this" { + for_each = local.shared_images + name = each.key + gallery_name = azurerm_shared_image_gallery.this[each.key].name + resource_group_name = azurerm_resource_group.rg-packer-worker-images.name + location = azurerm_resource_group.rg-packer-worker-images.location + os_type = each.value.os_type + release_note_uri = "https://github.com/mozilla-platform-ops/worker-images/releases" + hyper_v_generation = each.value.hyper_v_generation + architecture = each.value.architecture + disk_controller_type_nvme_enabled = true + + tags = merge(local.common_tags, + tomap({ + "Name" = "rg-packer-worker-images" + }) + ) + + identifier { + publisher = each.value.publisher + offer = each.value.offer + sku = each.value.sku + } +} + resource "azurerm_shared_image_gallery" "trusted_win2022_64_2009" { name = "trusted_win2022_64_2009" resource_group_name = azurerm_resource_group.rg-packer-worker-images.name @@ -65,4 +125,4 @@ resource "azurerm_shared_image" "trusted_win2022_64_2009" { offer = "WindowsServer" sku = "2022-datacenter-azure-edition" } -} \ No newline at end of file +} From 6c605513838fce51cdd29ba478b077d826ded3a8 Mon Sep 17 00:00:00 2001 From: Jonathan Moss Date: Thu, 19 Feb 2026 11:47:15 -0500 Subject: [PATCH 3/5] RELOPS-2207: rename terraform files and update trusted lockfile --- .../azure_fxci/{versions.tf => terraform.tf} | 1 - .../azure_trusted_fxci/.terraform.lock.hcl | 84 +++++++++---------- .../{versions.tf => terraform.tf} | 1 - 3 files changed, 42 insertions(+), 44 deletions(-) rename terraform/azure_fxci/{versions.tf => terraform.tf} (87%) rename terraform/azure_trusted_fxci/{versions.tf => terraform.tf} (87%) diff --git a/terraform/azure_fxci/versions.tf b/terraform/azure_fxci/terraform.tf similarity index 87% rename from terraform/azure_fxci/versions.tf rename to terraform/azure_fxci/terraform.tf index 2871f4a5..6fd6cc45 100644 --- a/terraform/azure_fxci/versions.tf +++ b/terraform/azure_fxci/terraform.tf @@ -1,5 +1,4 @@ terraform { - required_version = ">= 0.15" required_providers { aws = { source = "hashicorp/aws" diff --git a/terraform/azure_trusted_fxci/.terraform.lock.hcl b/terraform/azure_trusted_fxci/.terraform.lock.hcl index cea7318e..6cb197ea 100644 --- a/terraform/azure_trusted_fxci/.terraform.lock.hcl +++ b/terraform/azure_trusted_fxci/.terraform.lock.hcl @@ -22,61 +22,61 @@ provider "registry.terraform.io/azure/azapi" { } provider "registry.terraform.io/hashicorp/aws" { - version = "6.14.1" + version = "6.33.0" hashes = [ - "h1:oacWXQzS6BmkN3lcKKxafYOGUQcUOpneJikw8hqLUyA=", - "zh:14d0b4b3dffb3368e6257136bbab1f93d419863dd65d99ef80ca2c1dd3c72a1e", - "zh:1de3601251f87a0a989c4b3474baa2efcaf491804f8d7afe15421b728bac5dc5", - "zh:2cfe42b853a3b4117bdbb73e5715035eac9b8d753d6e653fd5f30a807a36b985", - "zh:3dd8a0336face356928faf2396065634739ef2c3ac3dcaa655570df205559fd9", - "zh:42712baca386b84e089b1db8b7844038557f4039b32d8702611aa67eadef7d0f", - "zh:4ffc698099e4d7ffc6b0490a4e78ad66b041afd54e988b8bf8e229bcdd4b3ead", - "zh:52a6a3b01cb34394b0d06b273b27702fb9d795290a02e5824e198315787e8446", - "zh:56eae388c48a844401e44811719dc23be84de538468fd12b7265b06acbf4b51d", - "zh:614a918fdf27416b2ee2ce1737895b791f59f9deff3b61246c62a992eabfb8eb", - "zh:68605e159177b57fdc4a26bb2caff69a7b69593a601145b7ab5a86fd44b28b9f", - "zh:771ac00fd5f211052d735ff0e4b9ec67288abd1e22ffea4ed774aec73c7e5687", + "h1:wNrviem6bg9fq1bYvtGqH9QWO6iWbM1bBRLSqFJWqWM=", + "zh:207f3f9db05c11429a241b84deeecfbd4caa941792c2c49b09c8c85cd59474dd", + "zh:25c36ad1f4617aeb23f8cd18efc7856127db721f6cf3e2e474236af019ce9ad1", + "zh:2685af1f3eb9abfce3168777463eaaad9dba5687f9f84d8bb579cb878bcfa18b", + "zh:57e28457952cf43923533af0a9bb322164be5fc3d66c080b5c59ee81950e9ef6", + "zh:5b6cd074f9e3a8d91841e739d259fe11f181e69c4019e3321231b35c0dde08c8", + "zh:6e3251500cebf1effb9c68d49041268ea270f75b122b94d261af231a8ebfa981", + "zh:7eee56f52f4b94637793508f3e83f68855f5f884a77aed2bd2fe77480c89e33d", "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", - "zh:a1355841161e5b53dc3078c88aae1972fd4a9c0d30309b18b1951137b96571fa", - "zh:a3c8ca40c1fa7ad76d3d4c3c0039b66a93cc96399e757d2caa0b5cdedce9d3e8", - "zh:c77e02a72ef9eb0eb65faaf84c33af843520622dbb51ec31d04ca371bd4d4ee8", + "zh:9e228c92db1b9e36a0f899d6ab7446e6b8cf3183112d4f1c1613d6827a0ed3d6", + "zh:b34a84475e91715352ed1119b21e51a81d8ad12e93c86d4e78cd2d315d02dcab", + "zh:cdcc05a423a78a9b2c4e2844c58ecbf2ce6a3117cab353fa05197782d6f76667", + "zh:d0f5f6b1399cfa1b64f3e824bee9e39ff15d5a540ff197e9bfc157fe354a8426", + "zh:d9525dbb53468dee6b8e6d15669d25957e9872bf1cd386231dff93c8c659f1d7", + "zh:ed37db2df08b961a7fc390164273e602767ca6922f57560daa9678a2e1315fd0", + "zh:f6adc66b86e12041a2d3739600e6a153a1f5752dd363db11469f6f4dbd090080", ] } provider "registry.terraform.io/hashicorp/azurerm" { - version = "4.45.1" + version = "4.60.0" hashes = [ - "h1:EqW8SSqI1k/TbmvJJoQtFGu/bmq6udit9lMuGXjSWhc=", - "zh:316ee6968dce966b07e706d0e691f11a8464ff1e5bc00f1d68c5d39e7ec3c9d6", - "zh:3ca79de740976f9700afb223781d6e685ca54858cc0df8b81d50cf0b08c2873f", - "zh:6514c0091045521d4f52f34c833b490bffc38ae73a1778110ae0e6483dd60f15", + "h1:+lXN53ebkUGXt8T5jwZ8QlwoglyoyUtOCbfWCgzh5xE=", + "zh:1ee965ee6be563f14eb7cc8825d06524f2723f05b3ed8ae857a4b83690439eac", + "zh:594c57e40075b584a77889a21fa7df3e20cb421ce302a07e504a1d1305759217", "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", - "zh:7f13b6c790657cfe42fe1b51c32705cbe6254b2b948381749387a1f5bb330454", - "zh:944c47f8b5180e2a854c255e5a10b48e824150ce5d17cfe166337e7440b81573", - "zh:a7bc560c6ae63af2ae5afcd1627c3922cb278b08b6bfe136954b11d979e68fbc", - "zh:b2e8b5504a2621077a9d0cfaaff7c7389e0fa8f3fee492ec72d2a61ea5e1e7a6", - "zh:bf029332cd7332be45bef719dcaf7e8b14743cae0f07b196a70503b27ed74834", - "zh:c8102a427c8c5330581dd0d2c7abce54a6d2f7b155c21ef65177c85cd4570936", - "zh:e8c06aff119697536b005633bd1f1338120ec89a6785cd4ea19d4230b37ad49d", - "zh:fe7a4abe7a6b4951e7d46a9aadc4eaf50fee902f71c10acd9fb7a36f2ed12ff0", + "zh:8c7ed398bf4ea5729fe9b30c8d4da36f2cf07d4c58f5265d8967bf92030da24b", + "zh:9088e9e6c9610bb5c87c310c0b9d3f821c4e52f77b6ad1085647b71b20d8151c", + "zh:986379fa0b1fd493f11cb3d9224235968357c3e7064c1478c8bba213567d6767", + "zh:a0025810f724a46648dbcd24d345151f21f2e0d093b7cfe7771280b9efa492db", + "zh:b72ac710c9e89d64ad59f2f11528cd178379910577f7fc08e273d5f983266244", + "zh:bebb774b44b588c889525667362bdbc4a9799ff78e3144025f0d5b231e16ec56", + "zh:ed2a586b9fab6cf18da7a47096257132b49a880cf0da258e8cc9beec624a058f", + "zh:f9b5ff4c433c78cbbdf1067557f8f6b04156361e102854848559163d6e73b0b1", + "zh:fd69648e4b009d0a7893c3ce7c0cf344d106a6aea78257c95947721280fe3459", ] } provider "registry.terraform.io/hashicorp/local" { - version = "2.5.3" + version = "2.7.0" hashes = [ - "h1:MCzg+hs1/ZQ32u56VzJMWP9ONRQPAAqAjuHuzbyshvI=", - "zh:284d4b5b572eacd456e605e94372f740f6de27b71b4e1fd49b63745d8ecd4927", - "zh:40d9dfc9c549e406b5aab73c023aa485633c1b6b730c933d7bcc2fa67fd1ae6e", - "zh:6243509bb208656eb9dc17d3c525c89acdd27f08def427a0dce22d5db90a4c8b", + "h1:sSwlfp2etjCaE9hIF7bJBDjRIhDCVFglEOVyiCI7vgs=", + "zh:261fec71bca13e0a7812dc0d8ae9af2b4326b24d9b2e9beab3d2400fab5c5f9a", + "zh:308da3b5376a9ede815042deec5af1050ec96a5a5410a2206ae847d82070a23e", + "zh:3d056924c420464dc8aba10e1915956b2e5c4d55b11ffff79aa8be563fbfe298", + "zh:643256547b155459c45e0a3e8aab0570db59923c68daf2086be63c444c8c445b", "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", - "zh:885d85869f927853b6fe330e235cd03c337ac3b933b0d9ae827ec32fa1fdcdbf", - "zh:bab66af51039bdfcccf85b25fe562cbba2f54f6b3812202f4873ade834ec201d", - "zh:c505ff1bf9442a889ac7dca3ac05a8ee6f852e0118dd9a61796a2f6ff4837f09", - "zh:d36c0b5770841ddb6eaf0499ba3de48e5d4fc99f4829b6ab66b0fab59b1aaf4f", - "zh:ddb6a407c7f3ec63efb4dad5f948b54f7f4434ee1a2607a49680d494b1776fe1", - "zh:e0dafdd4500bec23d3ff221e3a9b60621c5273e5df867bc59ef6b7e41f5c91f6", - "zh:ece8742fd2882a8fc9d6efd20e2590010d43db386b920b2a9c220cfecc18de47", - "zh:f4c6b3eb8f39105004cf720e202f04f57e3578441cfb76ca27611139bc116a82", + "zh:7aa4d0b853f84205e8cf79f30c9b2c562afbfa63592f7231b6637e5d7a6b5b27", + "zh:7dc251bbc487d58a6ab7f5b07ec9edc630edb45d89b761dba28e0e2ba6b1c11f", + "zh:7ee0ca546cd065030039168d780a15cbbf1765a4c70cd56d394734ab112c93da", + "zh:b1d5d80abb1906e6c6b3685a52a0192b4ca6525fe090881c64ec6f67794b1300", + "zh:d81ea9856d61db3148a4fc6c375bf387a721d78fc1fea7a8823a027272a47a78", + "zh:df0a1f0afc947b8bfc88617c1ad07a689ce3bd1a29fd97318392e6bdd32b230b", + "zh:dfbcad800240e0c68c43e0866f2a751cff09777375ec701918881acf67a268da", ] } diff --git a/terraform/azure_trusted_fxci/versions.tf b/terraform/azure_trusted_fxci/terraform.tf similarity index 87% rename from terraform/azure_trusted_fxci/versions.tf rename to terraform/azure_trusted_fxci/terraform.tf index 6ca7dd73..b0132842 100644 --- a/terraform/azure_trusted_fxci/versions.tf +++ b/terraform/azure_trusted_fxci/terraform.tf @@ -1,5 +1,4 @@ terraform { - required_version = ">= 0.15" required_providers { aws = { source = "hashicorp/aws" From bc38bef3b9740bb487f09b369b2c0f52eefdc619 Mon Sep 17 00:00:00 2001 From: Jonathan Moss Date: Thu, 19 Feb 2026 11:54:32 -0500 Subject: [PATCH 4/5] RELOPS-2207: align trusted worker-image tags and description --- terraform/azure_trusted_fxci/worker-images.tf | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/terraform/azure_trusted_fxci/worker-images.tf b/terraform/azure_trusted_fxci/worker-images.tf index 1d470667..112f80ed 100644 --- a/terraform/azure_trusted_fxci/worker-images.tf +++ b/terraform/azure_trusted_fxci/worker-images.tf @@ -64,13 +64,14 @@ resource "azurerm_shared_image_gallery" "this" { name = each.key resource_group_name = azurerm_resource_group.rg-packer-worker-images.name location = azurerm_resource_group.rg-packer-worker-images.location - description = replace(each.key, "_", "-") - - tags = merge(local.common_tags, - tomap({ - "Name" = "rg-packer-worker-images" - }) - ) + description = "Shared Image Gallery for ${each.value.sku}" + tags = { + terraform = "true" + project_name = "worker-images" + production_state = "production" + owner_email = "relops@mozilla.com" + source_repo_url = "https://github.com/mozilla-platform-ops/relops_infra_as_code" + } } resource "azurerm_shared_image" "this" { @@ -84,12 +85,13 @@ resource "azurerm_shared_image" "this" { hyper_v_generation = each.value.hyper_v_generation architecture = each.value.architecture disk_controller_type_nvme_enabled = true - - tags = merge(local.common_tags, - tomap({ - "Name" = "rg-packer-worker-images" - }) - ) + tags = { + terraform = "true" + project_name = "worker-images" + production_state = "production" + owner_email = "relops@mozilla.com" + source_repo_url = "https://github.com/mozilla-platform-ops/relops_infra_as_code" + } identifier { publisher = each.value.publisher From 7671d2f552abda0127d0ae1dbee3d14ebd0e3232 Mon Sep 17 00:00:00 2001 From: Jonathan Moss Date: Thu, 19 Feb 2026 12:05:03 -0500 Subject: [PATCH 5/5] RELOPS-2207: move trusted worker images into for_each with moved blocks --- terraform/azure_trusted_fxci/worker-images.tf | 160 +++++++++--------- 1 file changed, 77 insertions(+), 83 deletions(-) diff --git a/terraform/azure_trusted_fxci/worker-images.tf b/terraform/azure_trusted_fxci/worker-images.tf index 112f80ed..3db0f8e1 100644 --- a/terraform/azure_trusted_fxci/worker-images.tf +++ b/terraform/azure_trusted_fxci/worker-images.tf @@ -8,70 +8,99 @@ resource "azurerm_resource_group" "rg-packer-worker-images" { ) } -resource "azurerm_shared_image_gallery" "trusted_win11_a64_24h2_builder" { - name = "trusted_win11_a64_24h2_builder" - resource_group_name = azurerm_resource_group.rg-packer-worker-images.name - location = azurerm_resource_group.rg-packer-worker-images.location - description = "trusted-win11-a64-24h2-builder" - - tags = merge(local.common_tags, +locals { + worker_image_tags = { + terraform = "true" + project_name = "worker-images" + production_state = "production" + owner_email = "relops@mozilla.com" + source_repo_url = "https://github.com/mozilla-platform-ops/relops_infra_as_code" + } + legacy_gallery_tags = merge(local.common_tags, tomap({ "Name" = "rg-packer-worker-images" }) ) -} - -resource "azurerm_shared_image" "trusted_win11_a64_24h2_builder" { - name = "trusted_win11_a64_24h2_builder" - gallery_name = azurerm_shared_image_gallery.trusted_win11_a64_24h2_builder.name - resource_group_name = azurerm_resource_group.rg-packer-worker-images.name - location = azurerm_resource_group.rg-packer-worker-images.location - os_type = "Windows" - release_note_uri = "https://github.com/mozilla-platform-ops/worker-images/releases" - hyper_v_generation = "V2" - architecture = "Arm64" - identifier { - publisher = "windows11preview-arm64" - offer = "Windows-11" - sku = "win11-24h2-ent" - } -} - -locals { shared_images = { + "trusted_win11_a64_24h2_builder" = { + publisher = "windows11preview-arm64" + offer = "Windows-11" + sku = "win11-24h2-ent" + architecture = "Arm64" + os_type = "Windows" + hyper_v_generation = "V2" + gallery_description = "trusted-win11-a64-24h2-builder" + gallery_tags = local.legacy_gallery_tags + image_tags = {} + disk_controller_type_nvme_enabled = false + }, "trusted_win11_a64_25h2_builder" = { - publisher = "windows11preview-arm64" - offer = "Windows-11" - sku = "win11-25h2-ent" - architecture = "Arm64" - os_type = "Windows" - hyper_v_generation = "V2" + publisher = "windows11preview-arm64" + offer = "Windows-11" + sku = "win11-25h2-ent" + architecture = "Arm64" + os_type = "Windows" + hyper_v_generation = "V2" + gallery_description = "Shared Image Gallery for win11-25h2-ent" + gallery_tags = local.worker_image_tags + image_tags = local.worker_image_tags + disk_controller_type_nvme_enabled = true }, "trusted_win11_64_25h2" = { - publisher = "MicrosoftWindowsDesktop" - offer = "Windows-11" - sku = "win11-25h2-avd" - architecture = "x64" - os_type = "Windows" - hyper_v_generation = "V2" + publisher = "MicrosoftWindowsDesktop" + offer = "Windows-11" + sku = "win11-25h2-avd" + architecture = "x64" + os_type = "Windows" + hyper_v_generation = "V2" + gallery_description = "Shared Image Gallery for win11-25h2-avd" + gallery_tags = local.worker_image_tags + image_tags = local.worker_image_tags + disk_controller_type_nvme_enabled = true + }, + "trusted_win2022_64_2009" = { + publisher = "MicrosoftWindowsServer" + offer = "WindowsServer" + sku = "2022-datacenter-azure-edition" + architecture = "x64" + os_type = "Windows" + hyper_v_generation = "V2" + gallery_description = "trusted-win2022-64-2009" + gallery_tags = local.legacy_gallery_tags + image_tags = {} + disk_controller_type_nvme_enabled = false } } } +moved { + from = azurerm_shared_image_gallery.trusted_win11_a64_24h2_builder + to = azurerm_shared_image_gallery.this["trusted_win11_a64_24h2_builder"] +} + +moved { + from = azurerm_shared_image.trusted_win11_a64_24h2_builder + to = azurerm_shared_image.this["trusted_win11_a64_24h2_builder"] +} + +moved { + from = azurerm_shared_image_gallery.trusted_win2022_64_2009 + to = azurerm_shared_image_gallery.this["trusted_win2022_64_2009"] +} + +moved { + from = azurerm_shared_image.trusted_win2022_64_2009 + to = azurerm_shared_image.this["trusted_win2022_64_2009"] +} + resource "azurerm_shared_image_gallery" "this" { for_each = local.shared_images name = each.key resource_group_name = azurerm_resource_group.rg-packer-worker-images.name location = azurerm_resource_group.rg-packer-worker-images.location - description = "Shared Image Gallery for ${each.value.sku}" - tags = { - terraform = "true" - project_name = "worker-images" - production_state = "production" - owner_email = "relops@mozilla.com" - source_repo_url = "https://github.com/mozilla-platform-ops/relops_infra_as_code" - } + description = each.value.gallery_description + tags = each.value.gallery_tags } resource "azurerm_shared_image" "this" { @@ -84,14 +113,8 @@ resource "azurerm_shared_image" "this" { release_note_uri = "https://github.com/mozilla-platform-ops/worker-images/releases" hyper_v_generation = each.value.hyper_v_generation architecture = each.value.architecture - disk_controller_type_nvme_enabled = true - tags = { - terraform = "true" - project_name = "worker-images" - production_state = "production" - owner_email = "relops@mozilla.com" - source_repo_url = "https://github.com/mozilla-platform-ops/relops_infra_as_code" - } + disk_controller_type_nvme_enabled = each.value.disk_controller_type_nvme_enabled + tags = length(each.value.image_tags) == 0 ? null : each.value.image_tags identifier { publisher = each.value.publisher @@ -99,32 +122,3 @@ resource "azurerm_shared_image" "this" { sku = each.value.sku } } - -resource "azurerm_shared_image_gallery" "trusted_win2022_64_2009" { - name = "trusted_win2022_64_2009" - resource_group_name = azurerm_resource_group.rg-packer-worker-images.name - location = azurerm_resource_group.rg-packer-worker-images.location - description = "trusted-win2022-64-2009" - - tags = merge(local.common_tags, - tomap({ - "Name" = "rg-packer-worker-images" - }) - ) -} - -resource "azurerm_shared_image" "trusted_win2022_64_2009" { - name = "trusted_win2022_64_2009" - gallery_name = azurerm_shared_image_gallery.trusted_win2022_64_2009.name - resource_group_name = azurerm_resource_group.rg-packer-worker-images.name - location = azurerm_resource_group.rg-packer-worker-images.location - os_type = "Windows" - release_note_uri = "https://github.com/mozilla-platform-ops/worker-images/releases" - hyper_v_generation = "V2" - - identifier { - publisher = "MicrosoftWindowsServer" - offer = "WindowsServer" - sku = "2022-datacenter-azure-edition" - } -}