Skip to content

v0.1.2

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Oct 09:34
· 1 commit to main since this release

A local Azure emulator with a real identity plane and real RBAC. Docs: https://armite.cloud · Install: https://armite.cloud/install

What it does

  • Entra ID: client-credentials token endpoint, OpenID discovery, JWKS; IMDS for managed identity.
  • ARM: resource groups (including PATCH for tags), role definitions for all 934 built-in roles, role assignments at any scope.
  • RBAC: Actions/NotActions/DataActions/NotDataActions with Azure's glob semantics, deny by default, enforced on the management plane and the data plane. A 403 names the action and the scope.
  • Key Vault: vaults; secrets with versions, soft delete, recover and purge.
  • Storage: accounts and a blob data plane served by Azurite behind the RBAC layer; user delegation SAS issued by Armite and checked against RBAC at use.
  • Persistence: encrypted journal and snapshot in your data directory; survives kill -9.
  • Operations: x-ms-request-id on every response and one log line per request (text or JSON), armite hosts, armite version.
  • Verified end to end with az, the Azure SDKs for JavaScript and Python, Terraform's azurerm provider and curl.

Install

docker run -d --name armite -p 127.0.0.1:8443:8443 -p 127.0.0.1:8081:8081 -v armite:/data ghcr.io/ioflux-org/armite:0.1.2
go install github.com/ioflux-org/armite/cmd/armite@v0.1.2

Archives below for Linux and macOS (amd64, arm64) and Windows (amd64); checksums in armite_0.1.2_checksums.txt. The image is multi-arch (linux/amd64, linux/arm64) with Azurite inside.

Demo clips

hero, storage, ops and docker, as MP4 and GIF, attached below. What each one shows: https://github.com/ioflux-org/armite/tree/main/demo

Known limits

One tenant and one subscription; principals are declared in the config file (no Graph); services are Key Vault secrets and Blob Storage. Every known difference from Azure: https://armite.cloud/divergences

Full Changelog: v0.1.1...v0.1.2