Skip to content

RELOPS-2487: retire the nucwimfxci stack; point the downloader SP at hardwareimaging - #326

Merged
markcor merged 1 commit into
masterfrom
hardware-imaging-retire-nucwimfxci
Aug 26, 2026
Merged

RELOPS-2487: retire the nucwimfxci stack; point the downloader SP at hardwareimaging#326
markcor merged 1 commit into
masterfrom
hardware-imaging-retire-nucwimfxci

Conversation

@markcor

@markcor markcor commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Grants the MDC1 downloader SP the access it needs on the hardwareimaging account.

What this adds

  • azurerm_role_assignment.mdc1_hwimg_ro — Storage Blob Data Reader for the MDC1 downloader SP (ae54832f-8931-46d8-8faa-133637e72798), scoped to the captured container so the SP can read build outputs and nothing else. Guarded by count on var.nuc_wim_downloader_object_id; leaving that empty skips the grant and falls back to the SAS path.
  • hardware-imaging-storage.tf now owns the aliased AAD provider azurerm.nuc_wim_aad and the relops_group_object_id / nuc_wim_downloader_object_id variables. The declarations themselves are unchanged — same defaults, same descriptions.

Notes

  • Scoped to the container rather than the account, matching what the SP actually does.
  • Applied against FXCI DevTest; the grant is live on hardwareimaging/captured and verified with az role assignment list.
  • A terraform plan here still reports one in-place change to the network_rules block on azurerm_storage_account.hardware-imaging. That is a pre-existing perpetual diff — Azure does not persist an all-defaults block, so the provider re-proposes it every run. It predates this branch and is unrelated to this change.

🤖 Generated with Claude Code

@markcor
markcor requested a review from jwmossmoz August 25, 2026 15:28
jwmossmoz
jwmossmoz previously approved these changes Aug 26, 2026
@markcor
markcor enabled auto-merge (squash) August 26, 2026 15:55
…hardwareimaging

Phase 2 of the nuc-wim -> hardware-imaging migration, completing the phase-1
create-alongside (#317).

Removes nuc-wim-storage.tf entirely: the old 'nucwimfxci' account, its base/ and
captured/ containers, the nuc-wim RG/VNet/subnet, the wim_builder identity and the
nine wim_* role assignments. Every blob the old account held has a verified
counterpart under hardwareimaging resources/ and captured/, and worker-images has
provisioned exclusively into rg-central-us-hardware-imaging since the cutover -
no code in win-hw-wim/ or ci/ references the old RG, VNet, subnet or identity.

Adds azurerm_role_assignment.mdc1_hwimg_ro: Storage Blob Data Reader for the MDC1
downloader SP, scoped to the new account's 'captured' container. That grant existed
only on nucwimfxci, so since the cutover the SP has had no access to the account the
images actually live in. This is the "point the SP at the right ones" fix.

The aliased AAD provider (azurerm.nuc_wim_aad) and the relops_group_object_id /
nuc_wim_downloader_object_id variables lived in the deleted file and are moved into
hardware-imaging-storage.tf unchanged.

Deliberately NOT doing the cosmetic resource renames the phase-1 header proposed
(state mv captured_hwimg -> captured, dropping _hwimg suffixes): hand-run state
surgery adds risk to a change that already destroys a storage account.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@markcor
markcor force-pushed the hardware-imaging-retire-nucwimfxci branch from 19cedb5 to 108707d Compare August 26, 2026 17:50
@markcor
markcor merged commit 63ce314 into master Aug 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants