Skip to main content
Version: Next (unreleased)

Supported services

Depending on the version of Topaz a different set of Azure services is supported for emulation. The table below presents the current state of emulation and maturity of certain features.

Best practice

Make sure you're using the most recent version of Topaz to benefit from the bugfixes and newest features.

Service NameControl PlaneData Plane
Subscriptions🚧N/A
Resource GroupsN/A
Azure Storage🚧🚧
Table Storage🚧
Blob Storage🚧🚧
Queue Storage🔜🔜
Key Vault🚧
Event Hub🚧🚧
Service Bus🚧🚧
Virtual Network🚧N/A
Azure Resource Manager🚧N/A
Managed IdentityN/A
Container Registry🚧
Azure SQL🔜🔜
Azure Virtual Machines🔜N/A
Entra IDN/A🚧
RBAC🚧N/A
Monitor🚧

✅ - fully supported (stable)

🚧 - partially supported (unstable)

🔜 - coming soon

- not supported

N/A - not provided by Azure

Looking for a detailed breakdown?

The API Coverage section lists every REST operation for each service and shows exactly which ones are implemented in Topaz. Coverage for Subscriptions and Resource Groups is tracked under the Azure Resource Manager page.

Used ports

The ports used by Topaz can be divided into two groups:

  • common port for Azure Resource Manager operations
  • service-specific port for data plane

You can find which service uses which port below:

Service NamePortProtocol
Resource Manager8899, 443HTTPS
Table Storage8890HTTPS
Blob Storage8891HTTP
Azure Key Vault8898, 443HTTPS
Azure Event Hub8897HTTPS
Azure Event Hub (AMQP)8888AMQP
Azure Service Bus8887, 8899HTTPS
Azure Service Bus (AMQP)8889, 5671AMQP, AMQP/TLS
Container Registry (control plane)8899HTTPS
Container Registry (data plane)8892HTTPS

For HTTPS endpoints, if you're running Topaz as a standalone application, you need to install and trust the certificates provided along with the main package.

Admin privileges required for port 443

Port 443 is a privileged port on Linux and macOS. If you are running Topaz as a standalone executable (not inside a container) and you need Azure CLI integration with Key Vault, you must start Topaz with sudo (or equivalent elevated privileges) so it can bind to port 443.

This requirement does not apply when running Topaz as a Docker container — Docker handles the privileged port mapping automatically.

If you are only using the Azure SDK (not the Azure CLI), you can point your SDK client directly at port 8898 and skip port 443 entirely.

Star on GitHub