New: Virtual Machines (Microsoft.Compute/virtualMachines)
Full VM lifecycle backed by real Docker containers, plus multi-service deployment, log streaming, run-command, interactive SSH and managed-identity attestation. miniblue now emulates 28 Azure services.
Virtual Machines
- Create, list, start, stop, restart and delete VMs via the ARM API and
azlocal vm, each backed by a Docker container on a per-VM network (ACI-style stub mode when Docker is absent) - Deploy multiple named services per VM (
azlocal vm deploy), each in its own container with host-published ports and port-conflict detection - Read per-service or combined labelled logs with tail and follow (
azlocal vm logs) - Run one-off commands (
azlocal vm run-command, mirrors Azure runCommand) or open an interactive shell (azlocal vm ssh) - A VM whose container fails to start fails fast with
ContainerStartFailedand persists nothing
Managed identities
- User-assigned managed identities (
Microsoft.ManagedIdentity/userAssignedIdentities) withazlocal identityCRUD - Assign identities to VMs (
azlocal vm identity-assign); workloads inside a VM obtain attestation tokens with no code changes via the standardIDENTITY_ENDPOINT/IDENTITY_HEADERprotocol - Tokens carry
xms_miridand VM claims, verifiable viaPOST /metadata/identity/introspect
Other
- Java SDK example covering Resource Groups, Key Vault, Blob Storage and Cosmos DB (#122)
- Website docs page for Virtual Machines, wired into the nav, services overview and the API parity matrix
- Dependency updates: go-chi/chi v5.3.0, testcontainers-go v0.43.0, alpine 3.24, actions/checkout v7
Full changelog: https://github.com/moabukar/miniblue/blob/main/CHANGELOG.md