RSSAmplifier

Blog

Topaz Blog

Topaz Blog

topaz.thecloudtheory.comRSS feed ↗20 posts

Latest posts

Debugging Application Insights without a cloud subscription

Application Insights bugs are notoriously hard to reproduce because you can't easily inspect what the SDK is actually sending. Topaz emulates the ingestion and query APIs locally, so you can trace every telemetry call, run KQL queries against the data, and fix the bug before it reaches production.

Topaz Weekly Pulse #11: Azure App Configuration, Application Insights, Private Endpoints, HNS Storage, Kudu Auth, and More

This week in Topaz: Azure App Configuration launches as a new first-class service with store and replica lifecycle management, soft-delete, and purge support. Azure Application Insights joins as a new service with CRUD component management, telemetry ingestion, and log query endpoints. Private Endpoint management arrives for virtual networking. Blob and Queue Storage gain Hierarchical Namespace…

Topaz Weekly Pulse #10: Azure Log Analytics, Cosmos DB Entra ID Auth, Geo-Replication, Management Group Expansion, and More

This week in Topaz: Azure Log Analytics launches as a new first-class service with workspace management, data ingestion, and soft-delete support. Cosmos DB gains Entra ID data-plane authorization with resource-scoped RBAC, GROUP BY/ORDER BY query support, and an expired document purge scheduler. Blob Storage adds geo-replication sync simulation. ARM expands with management group child retrieval,…

15 months of building OSS software - with and without AI

A retrospective on building Topaz, a local Azure emulator, over 15 months. What LLMs actually helped with, where they fell short, and why affordable models are still sophisticated code generators rather than engineers.

Topaz Weekly Pulse #9: Azure App Configuration, Service Bus Sessions, Blob Auth Enforcement, ARM Deployment Operations, and More

This week in Topaz: Azure App Configuration is fully implemented with data plane key-value management, access key operations, and Azure CLI support. Service Bus gains session-based messaging with session lock management, wildcard session attachment, and dead-letter queue semantics. Blob Storage now enforces authentication for private containers. ARM deployment operations are now tracked across all…

Testing Azure retry logic locally: why I stopped mocking 429s and started injecting them

Mocking HttpClient to return 429 or 503 tests your mock setup, not the SDK's retry pipeline. Topaz's fault injection engine sits between the auth check and the endpoint handler, so the full Azure SDK stack runs under real fault conditions on localhost.

I replaced three Azure emulators with one binary, added Key Vault and ACR, and cut our CI setup to a single step

How replacing Azurite, the Service Bus Emulator, and the Cosmos DB Emulator with Topaz eliminated three Docker images, three wait loops, and the Apple Silicon startup problem, while adding Key Vault, Container Registry, and Entra emulation.

Topaz Weekly Pulse #8: Cosmos DB Data Plane Queries, Device Code Authentication, Service Bus Authorization Rules, and Documentation Expansion

This week in Topaz: Azure Cosmos DB gains full SQL query execution with schema-aware document CRUD, partition range planning, and QueryEngine refactoring. Entra ID adds device code authentication with an interactive HTML authorization flow for headless and CLI scenarios. Service Bus introduces authorization rules for namespace and entity-level access control. Documentation and onboarding receive…

Running Azure integration tests in CI without a subscription, credentials, or cloud costs

A walkthrough of replacing real Azure dependencies in GitHub Actions with a local Topaz emulator. Covers the four pain points of cloud-dependent CI, the GitHub Actions workflow, and a real timing comparison.

How Topaz enables az login without root: MSAL, port 443, and a built-in CONNECT proxy

Topaz cannot bind port 443 without root on non-Docker installs. MSAL's user-realm discovery pre-flight always targets port 443, which breaks ROPC login. This post explains the constraint, why the naive solutions do not work, and how a built-in HTTP CONNECT proxy solves it.

Topaz Weekly Pulse #7: Azure Cosmos DB, ROPC Authentication with HTTP Proxy, Key Vault Challenge Headers, and ACR Token Improvements

This week in Topaz: Azure Cosmos DB arrives as a full resource-management service with Accounts, SQL Databases, and Containers. Entra ID adds Resource Owner Password Credential (ROPC) authentication with a built-in HTTP CONNECT proxy for non-Docker installs. Key Vault improves authentication challenges by reflecting request domains. Container Registry enhances token handling with improved…

Local Azure development with Docker Compose: a copy-paste starting point

A practical guide to running Topaz alongside your application in Docker Compose for local Azure development. Covers fixed-IP networking, certificate distribution without bind mounts, startup ordering, and in-process ARM provisioning.

Topaz Weekly Pulse #6: Azure SQL, Service Bus AMQP data plane, Blob User Delegation SAS, Entra Device Code, ACR Tasks and Runs, and a Python SDK

This week in Topaz: Azure SQL arrives as a full first-class service with Servers and Databases. Service Bus gains a real AMQP data plane with queue management and message locking. Blob Storage completes the User Delegation SAS flow. Entra ID adds Device Code and form_post support. Container Registry grows Tasks and Runs automation APIs. And Topaz ships its first Python SDK.

What AMQP compatibility means for a local Azure emulator (.NET / MassTransit)

Getting AMQP 1.0 right in a local Azure emulator is harder than it looks. This post covers what real AMQP compatibility means, lock settlement, receive credit, management links, and how Topaz handles it well enough to run MassTransit end-to-end. Examples use C# and MassTransit.

Topaz Weekly Pulse #5: Azure App Service, Virtual Machines, Storage SAS security, Key Vault AES keys, and a live Portal terminal

This week in Topaz: Azure App Service lands as a first-class service with Plans and Sites. Virtual Machines gain full CLI coverage. Storage gets end-to-end SAS and stored-access-policy enforcement. Key Vault now handles symmetric AES keys. The Portal grows a live CLI terminal and universal tag editing.

Using Topaz with GitHub Copilot via MCP Server

How to connect the Topaz MCP server to GitHub Copilot so your AI assistant can provision local Azure infrastructure, Key Vault, Storage, Service Bus, and Event Hubs, directly from a chat prompt. Covers the Docker network and DNS setup needed for container-to-container connectivity.

Topaz Weekly Pulse #4: OData Table queries, Virtual Network maturity, NSGs, and Dev Containers

This week in Topaz: Table Storage learns OData, Virtual Networks reach full CRUD, Network Security Groups arrive, Key Vault gets auto-purge, and the repo ships an official Dev Container.

Building a devcontainer for Topaz: workspace mounts, DNS wildcards, and why /etc/resolv.conf always wins

A technical account of building a VS Code Dev Container for the Topaz Azure emulator, covering Docker Compose workspace mount pitfalls, certificate distribution without bind mounts, and why dnsmasq belongs in its own sidecar service.

Topaz Weekly Pulse #3: Key Vault certificates, Management Groups maturity, and a new Portal dashboard

This week in Topaz: Key Vault certificates land, Management Groups reach full CRUD maturity, Storage gets Entra ID auth, and the Portal grows a real dashboard.

Topaz vs Azurite: what actually works locally and what doesn't

An honest comparison of Topaz and Azurite for local Azure development. Storage parity, Key Vault soft-delete, Service Bus AMQP, Container Registry, Entra ID, RBAC, ARM templates, Terraform, MCP: what each tool emulates, what neither does yet, and when to pick which.