Skip to main content
Kamil Mrzygłód
Topaz maintainer & contributor
View all authors

How Topaz emulates the Azure Container Registry data plane

· 7 min read
Kamil Mrzygłód
Topaz maintainer & contributor

Container Registry is different from every other Azure service Topaz emulates. You do not call it through the Azure SDK with a credential — you call it through the Docker CLI, docker pull, docker push, helm push, or any OCI-compliant client. Before any of that works, the client has to authenticate. And that authentication flow is entirely its own protocol, separate from anything in the Azure REST API.

This post walks through how Topaz emulates the ACR data plane authentication layer and what design decisions made it possible without writing a custom token server.

Topaz is now in beta

· 5 min read
Kamil Mrzygłód
Topaz maintainer & contributor

After months of alpha development, Topaz is moving to beta. The core emulation layer is stable, the service catalogue has grown considerably, and the rough edges that made early adopters cautious are largely gone. This post walks through what changed and what is currently available.

How Topaz emulates Microsoft Entra ID

· 4 min read
Kamil Mrzygłód
Topaz maintainer & contributor

Authentication is the first thing every Azure SDK touches. Before your application can read a secret from Key Vault, publish a message to Service Bus, or query a storage account, it needs a valid token. That token comes from Microsoft Entra ID. Without a working Entra emulation layer, every other Azure service emulator is incomplete — your code would still call out to login.microsoftonline.com even in a fully local setup.

Topaz solves this by shipping a full Entra ID emulation layer out of the box.

Star on GitHub