Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,946 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Topaz

GitHub Actions Workflow Status GitHub Release Discord Docs Open in Dev Containers https://hub.docker.com/r/thecloudtheory/topaz-host

One binary. Multiple Azure services. No cloud required.

Topaz emulator demo

# macOS
brew tap thecloudtheory/topaz && brew install topaz && topaz-host

# Linux
curl -fsSL https://raw.githubusercontent.com/TheCloudTheory/Topaz/main/install/get-topaz.sh | bash

# Docker (latest stable release)
docker run -p 8899:8899 thecloudtheory/topaz-host

# Docker (nightly — built daily from main)
docker run -p 8899:8899 thecloudtheory/topaz-host:nightly

→ Full docs, quickstarts, and service guides at topaz.thecloudtheory.com

What is Topaz?

Topaz is a single-binary Azure emulator. Instead of running Azurite for Storage, a separate emulator for Service Bus, and another for Key Vault — you run one tool.

It supports both the control and data planes of Azure services, emulates ARM deployments with Bicep and ARM Templates, and implements Azure RBAC, all locally with no Azure subscription required. Teams use it to cut cloud costs, speed up CI pipelines, and develop entirely offline.

Why Topaz?

Most Azure emulators cover a single service. Topaz covers the full stack:

  • One tool — no more juggling multiple emulators per service
  • Control & data plane — not just data operations, but full resource management
  • ARM / Bicep / Terraform deployments — deploy templates locally the same way you would in Azure
  • Azure RBAC emulation — role assignments and permission checks work locally
  • Microsoft Entra ID tenant emulation — identity flows without a real tenant
  • Azure resource hierarchy — management groups, subscriptions, resource groups, and resource IDs behave as expected
  • Seamless Azure SDK integration — no code changes; point your SDK at Topaz
  • Full portability — single executable or Docker container, runs anywhere
  • No runtime required — published as a self-contained binary and a distroless Docker image; no .NET installation needed

See the roadmap for what's coming next.

Supported services

Service Control Plane Data Plane Status
Azure Storage (Blob) Preview
Azure Storage (Table) Preview
Azure Storage (Queue) Preview
Azure Key Vault Preview
Azure Service Bus Preview
Azure Container Registry Preview
Azure Event Hub Preview
Azure Virtual Machines Preview
Azure Virtual Network Preview
Azure App Configuration Preview
Azure Resource Manager Preview
Microsoft Entra ID Preview
Azure App Service Preview
Azure SQL Preview
Azure Cosmos DB Preview
Azure Disk Preview
Azure Load Balancer Preview
Azure Log Analytics Preview
Azure Application Insights Preview
Public IP Address Preview
Private Endpoints Preview
Azure Redis Cache Preview
Azure API Management Preview

See the API coverage docs for the full operation-level breakdown per service.

Getting started

Once Topaz is running, verify with the Topaz CLI:

topaz health

Then connect your tooling — no code changes required:

Quick onboarding path:

See the documentation for connection strings, DNS setup, and service-specific quickstarts.

CI/CD integration

Topaz runs as a service step in any pipeline — no Azure subscription, service principal, or network access required. See the CI/CD integration guide for GitHub Actions and Azure DevOps examples.

For a ready-to-copy, manual-only GitHub Actions workflow, use .github/workflows/topaz-ci.yml.

Terraform integration

Topaz supports local Terraform workflows with both the AzureRM and AzAPI providers — no real Azure subscription required. See the Terraform integration guide for setup instructions, including DNS configuration and provider examples.

Licensing

Topaz is open-source. A commercial license with enterprise support is planned for teams that need SLAs, priority fixes, or long-term stability guarantees. Existing users will receive advance notice well before any licensing changes take effect.

Community

Questions, ideas, and feedback are welcome in GitHub Discussions. For bugs, open an issue. Contributions are welcome — see CONTRIBUTING.md for details.

AI agents and LLMs

Topaz publishes an llms.txt index so AI assistants and agents can discover and navigate the documentation efficiently. If you're using GitHub Copilot, ChatGPT, Claude, or a similar tool to set up a local Azure environment, point it at https://topaz.thecloudtheory.com/llms.txt for a curated map of all relevant docs and product pages.

Alternatives

If you need emulation for a single Azure service, these official Microsoft tools may be sufficient:

If you need multiple services, RBAC, or ARM deployments locally, that's where Topaz fits. See the Topaz vs. Azurite comparison for a detailed breakdown, or the blog post for a narrative walkthrough.

If you're coming from AWS and already use LocalStack, Topaz is the equivalent for Azure — one process, multiple services, RBAC, Bicep deployments, and Entra ID emulation, all without an Azure account.

Privacy

All state is local. Topaz never makes outbound calls and never transmits credentials or resource data to external services.

Releases

Sponsor this project

Contributors

Languages