Skip to content

Decouple deploy runner authority from VM lifecycle #284

Description

@dotnetpower

Issue #280 cannot safely complete blue/green replacement while the deploy principal is the current VM's system-assigned identity and platform/scenario Terraform grants roles to the active deployer object. Cloning all 15 current assignments propagates authority drift; cloning only bootstrap baseline breaks plan/apply capabilities.

Exit criteria

  • Bootstrap provisions one user-assigned deploy identity with an explicit stable role manifest and attaches it to the active and candidate runner VMs during transition.
  • Every protected fdai-deploy workflow authenticates with the configured deploy identity client ID and verifies the expected tenant, subscription, and principal before privileged work.
  • Existing platform, bootstrap, and scenario state-owned role assignments migrate to the stable deploy identity through reviewed zero-unrelated-destroy plans; temporary grants retain bounded grant/revoke behavior.
  • A Standard_D4ds_v5 candidate with Local ResourceDisk ephemeral OS registers five candidate-only slots and passes protected-source checkout, managed-identity login, private state access, and plan-only preflight.
  • Cutover changes the five canonical fdai-deploy slots only after candidate verification, then removes the old registrations, VM, NIC, and managed OS disk with rollback evidence.
  • Scheduled infra-drift reports zero runner storage/identity drift and issue Resize and restore the FDAI deploy runner #280 exit criteria are all checked.

Note: No candidate VM or role was created in the current session because required CI is not green and the authority migration has not been reviewed.

Metadata

Metadata

Assignees

Labels

needs-triageNot yet triaged: needs type, priority, area, and exit criteriatype:taskImplementation unit that supports a story or stands alone

Projects

Status
In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions