{"id":43505240,"url":"https://github.com/thecloudtheory/topaz","last_synced_at":"2026-06-10T22:00:27.774Z","repository":{"id":297783417,"uuid":"972009675","full_name":"TheCloudTheory/Topaz","owner":"TheCloudTheory","description":"Local Azure environment emulation for development","archived":false,"fork":false,"pushed_at":"2026-06-10T15:13:29.000Z","size":9061,"stargazers_count":22,"open_issues_count":63,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-10T17:09:57.454Z","etag":null,"topics":["azure","dev-tools","emulator","local-development","terraform","testing"],"latest_commit_sha":null,"homepage":"https://topaz.thecloudtheory.com/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheCloudTheory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["TheCloudTheory"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-04-24T11:57:02.000Z","updated_at":"2026-06-10T15:21:04.000Z","dependencies_parsed_at":"2026-01-06T02:06:23.438Z","dependency_job_id":null,"html_url":"https://github.com/TheCloudTheory/Topaz","commit_stats":null,"previous_names":["thecloudtheory/topaz"],"tags_count":88,"template":false,"template_full_name":null,"purl":"pkg:github/TheCloudTheory/Topaz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCloudTheory%2FTopaz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCloudTheory%2FTopaz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCloudTheory%2FTopaz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCloudTheory%2FTopaz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheCloudTheory","download_url":"https://codeload.github.com/TheCloudTheory/Topaz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheCloudTheory%2FTopaz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34172196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","dev-tools","emulator","local-development","terraform","testing"],"created_at":"2026-02-03T12:14:24.732Z","updated_at":"2026-06-10T22:00:27.752Z","avatar_url":"https://github.com/TheCloudTheory.png","language":"C#","funding_links":["https://github.com/sponsors/TheCloudTheory"],"categories":[],"sub_categories":[],"readme":"# Topaz ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/TheCloudTheory/Topaz/ci-build-and-test.yml) ![GitHub Release](https://img.shields.io/github/v/release/TheCloudTheory/Topaz?include_prereleases) [![Discord](https://img.shields.io/discord/1383721799736492032?logo=discord\u0026label=Discord\u0026color=5865F2)](https://discord.gg/eGTkS76w) [![Docs](https://img.shields.io/badge/docs-topaz.thecloudtheory.com-blue)](https://topaz.thecloudtheory.com/) [![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers\u0026message=Open\u0026color=blue\u0026logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/TheCloudTheory/Topaz)\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./static/topaz-logo.png\" /\u003e\n\n  \u003cb\u003eOne binary. Multiple Azure services. No cloud required.\u003c/b\u003e\n\u003c/div\u003e\n\n```bash\n# macOS\nbrew tap thecloudtheory/topaz \u0026\u0026 brew install topaz \u0026\u0026 topaz-host\n\n# Linux\ncurl -fsSL https://raw.githubusercontent.com/TheCloudTheory/Topaz/main/install/get-topaz.sh | bash\n\n# Docker\ndocker run -p 8899:8899 thecloudtheory/topaz-host\n```\n\n→ Full docs, quickstarts, and service guides at **[topaz.thecloudtheory.com](https://topaz.thecloudtheory.com/)**\n\n## What is Topaz?\n\nTopaz 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.\n\nIt 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.\n\n## Why Topaz?\n\nMost Azure emulators cover a single service. Topaz covers the full stack:\n\n* **One tool** — no more juggling multiple emulators per service\n* **Control \u0026 data plane** — not just data operations, but full resource management\n* **ARM / Bicep / Terraform deployments** — deploy templates locally the same way you would in Azure\n* **Azure RBAC emulation** — role assignments and permission checks work locally\n* **Microsoft Entra ID tenant emulation** — identity flows without a real tenant\n* **Azure resource hierarchy** — management groups, subscriptions, resource groups, and resource IDs behave as expected\n* **Seamless Azure SDK integration** — no code changes; point your SDK at Topaz\n* **Full portability** — single executable or Docker container, runs anywhere\n\nSee the [roadmap](https://topaz.thecloudtheory.com/docs/roadmap/) for what's coming next.\n\n## Supported services\n\n| Service | Control Plane | Data Plane | Status |\n|---|---|---|---|\n| Azure Storage (Blob) | ✅ | ✅ | Preview |\n| Azure Storage (Table) | ✅ | ✅ | Preview |\n| Azure Storage (Queue) | ✅ | ✅ | Preview |\n| Azure Key Vault | ✅ | ✅ | Preview |\n| Azure Service Bus | ✅ | ✅ | Preview |\n| Azure Container Registry | ✅ | ✅ | Preview |\n| Azure Event Hub | ✅ | ✅ | Preview |\n| Azure Virtual Machines | ✅ | — | Preview |\n| Azure Virtual Network | ✅ | — | Preview |\n| Azure Resource Manager | ✅ | — | Preview |\n| Microsoft Entra ID | ✅ | — | Preview |\n| Azure App Service | ✅ | — | Preview |\n| Azure SQL | ✅ | — | Preview |\n| Azure Cosmos DB | ✅ | — | Preview |\n| Azure Disk | ✅ | — | Preview |\n\nSee the [API coverage docs](https://topaz.thecloudtheory.com/docs/api-coverage/) for the full operation-level breakdown per service.\n\n## Getting started\n\nOnce Topaz is running, verify with the Topaz CLI:\n\n```bash\ntopaz health\n```\n\nThen connect your tooling — no code changes required:\n\n- **Azure CLI** — [Azure CLI integration guide](https://topaz.thecloudtheory.com/azure-cli-integration/)\n- **Azure PowerShell** — [Azure PowerShell integration guide](https://topaz.thecloudtheory.com/azure-powershell-integration/)\n- **Azure SDKs (.NET, Python, Java, JS)** — [Getting started](https://topaz.thecloudtheory.com/docs/intro/)\n\nSee the [documentation](https://topaz.thecloudtheory.com/) for connection strings, DNS setup, and service-specific quickstarts.\n\n## CI/CD integration\n\nTopaz runs as a service step in any pipeline — no Azure subscription, service principal, or network access required. See the [CI/CD integration guide](https://topaz.thecloudtheory.com/docs/ecosystem/ci-cd/) for GitHub Actions and Azure DevOps examples.\n\nFor a ready-to-copy, manual-only GitHub Actions workflow, use [.github/workflows/topaz-ci.yml](.github/workflows/topaz-ci.yml).\n\n## Terraform integration\n\nTopaz supports local Terraform workflows with both the AzureRM and AzAPI providers — no real Azure subscription required. See the [Terraform integration guide](https://topaz.thecloudtheory.com/docs/terraform-integration/) for setup instructions, including DNS configuration and provider examples.\n\n## Licensing\n\nTopaz 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.\n\n## Community\n\nQuestions, ideas, and feedback are welcome in [GitHub Discussions](https://github.com/TheCloudTheory/Topaz/discussions). For bugs, open an [issue](https://github.com/TheCloudTheory/Topaz/issues). Contributions are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\n## Alternatives\n\nIf you need emulation for a single Azure service, these official Microsoft tools may be sufficient:\n\n* [Azurite](https://github.com/Azure/Azurite) — Azure Storage only\n* [Azure Cosmos DB Emulator](https://github.com/Azure/azure-cosmos-db-emulator-docker) — Cosmos DB only\n* [Azure Service Bus Emulator](https://github.com/Azure/azure-service-bus-emulator-installer) — Service Bus only\n\nIf you need multiple services, RBAC, or ARM deployments locally, that's where Topaz fits.\n\nIf you're coming from AWS and already use [LocalStack](https://github.com/localstack/localstack), Topaz fills the equivalent role for Azure — one process, multiple services, no account required.\n\n## Privacy\n\nAll state is local. Topaz never makes outbound calls and never transmits credentials or resource data to external services.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecloudtheory%2Ftopaz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecloudtheory%2Ftopaz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecloudtheory%2Ftopaz/lists"}