Об этом проекте

Topaz — это локальный эмулятор Azure, распространяемый в виде одного самодостаточного бинарного файла или distroless Docker-образа. Вместо запуска отдельных эмуляторов для каждой службы он стремится охватить множество служб Azure в одном процессе, без необходимости в подписке Azure, субъекте-службе или сетевом доступе. Он позиционируется как аналог LocalStack для Azure. Варианты установки включают Homebrew на macOS, установочный скрипт на Linux и Docker-образы (stable и nightly). Вместе с хостом поставляется CLI Topaz, а команда проверки работоспособности позволяет убедиться, что экземпляр запущен. Перечень поддерживаемых служб в README включает Azure Storage (Blob, Table, Queue), Key Vault, Service Bus, Container Registry, Event Hub, Virtual Machines, Virtual Network, App Configuration, Resource Manager, Microsoft Entra ID, App Service, Azure SQL, Cosmos DB, Disk, Load Balancer, Log Analytics, Application Insights, Public IP Address, Private Endpoints, Redis Cache, API Management и Event Grid. Большинство отмечены как Preview. Поддержка плоскости управления указана для всех перечисленных; поддержка плоскости данных указана для подмножества, такого как Storage, Key Vault, Service Bus, Container Registry, Event Hub, App Configuration, Cosmos DB, Log Analytics, Application Insights, Redis Cache, API Management и Event Grid. Помимо операций с данными, Topaz эмулирует плоскость управления, развёртывания ARM с помощью Bicep и ARM Templates, назначения ролей Azure RBAC и проверки разрешений, потоки идентификации тенанта Microsoft Entra ID, а также иерархию ресурсов Azure: группы управления, подписки, группы ресурсов и идентификаторы ресурсов. Заявленная цель — чтобы существующий код Azure SDK работал без изменений при указании на Topaz. Рекомендации по интеграции охватывают Azure CLI, Azure PowerShell, Azure SDK для .NET, Python, Java и JavaScript, экспериментальное расширение для VS Code, Terraform с провайдерами AzureRM и AzAPI, а также конвейеры CI/CD с примерами для GitHub Actions и Azure DevOps. Пример рабочего процесса GitHub Actions включён в репозиторий. Документация размещена на topaz.thecloudtheory.com и включает быстрые старты, руководства по службам, разбор покрытия API, сравнения и дорожную карту. Проект также публикует индекс llms.txt, предназначенный для помощи ИИ-ассистентам и агентам в навигации по документации. В README отмечается, что начиная с версии 1.11 Topaz перейдёт на двойное лицензирование, включая коммерческую лицензию для команд, которым нужны SLA, приоритетные исправления или гарантии долгосрочной стабильности. Поддержка сообщества осуществляется через GitHub Discussions и issues, вклад принимается. Проект заявляет, что всё состояние хранится локально и что он никогда не совершает исходящих вызовов и не передаёт учётные данные или данные ресурсов вовне.