Services Overview
miniblue emulates 21 Azure services on a single port. All services use in-memory storage and require no authentication.
Service status
| Service | Azure Provider | Status | ARM API | Data Plane |
|---|---|---|---|---|
| Resource Groups | Microsoft.Resources |
Done | Yes | -- |
| Blob Storage | Microsoft.Storage |
Done | -- | Yes |
| Table Storage | Microsoft.Storage |
Done | -- | Yes |
| Queue Storage | Microsoft.Storage |
Done | -- | Yes |
| Key Vault | Microsoft.KeyVault |
Done | -- | Yes |
| Cosmos DB | Microsoft.DocumentDB |
Done | -- | Yes |
| Service Bus | Microsoft.ServiceBus |
Done | -- | Yes |
| Azure Functions | Microsoft.Web |
Done | Yes | -- |
| Virtual Networks | Microsoft.Network |
Done | Yes | -- |
| DNS Zones | Microsoft.Network |
Done | Yes | -- |
| Container Registry | Microsoft.ContainerRegistry |
Done | Yes | Yes |
| Event Grid | Microsoft.EventGrid |
Done | Yes | Yes |
| App Configuration | Microsoft.AppConfiguration |
Done | -- | Yes |
| Managed Identity | IMDS | Done | -- | Yes |
| DB for PostgreSQL | Microsoft.DBforPostgreSQL |
Done | Yes | -- |
| DB for MySQL | Microsoft.DBforMySQL |
Done | Yes | -- |
| Azure SQL Database | Microsoft.Sql |
Done | Yes | -- |
| Azure Cache for Redis | Microsoft.Cache |
Done | Yes | -- |
| Container Instances | Microsoft.ContainerInstance |
Done | Yes | -- |
What "ARM API" and "Data Plane" mean
- ARM API -- the service responds to Azure Resource Manager style URLs (
/subscriptions/{sub}/resourceGroups/{rg}/providers/...). This is what Terraform and the Azure CLI use. - Data Plane -- the service responds to simplified REST URLs for direct data operations (e.g.
/blob/{account}/{container}/{blob}). This is what the azlocal CLI and curl use.
Terraform compatibility
The following resources work with hashicorp/azurerm provider v3.x:
| Terraform Resource | miniblue Service |
|---|---|
azurerm_resource_group |
Resource Groups |
azurerm_virtual_network |
Virtual Networks |
azurerm_subnet |
Virtual Networks |
azurerm_dns_zone |
DNS Zones |
azurerm_container_registry |
Container Registry |
See the Terraform guide for a full working example.
API patterns
All ARM-style endpoints follow the Azure REST API convention:
All data plane endpoints use simplified paths:
PUT /blob/{account}/{container}/{blob}
PUT /keyvault/{vault}/secrets/{name}
POST /cosmosdb/{account}/dbs/{db}/colls/{coll}/docs
Common query parameters
| Parameter | Notes |
|---|---|
api-version |
Accepted but not enforced. miniblue responds the same regardless of version. |
Error format
Errors follow the Azure error response format:
{
"error": {
"code": "ResourceNotFound",
"message": "Resource 'myRG' of type 'Microsoft.Resources/resourceGroups' was not found."
}
}
HTTP status codes used:
| Code | Meaning |
|---|---|
200 |
OK (update, get) |
201 |
Created |
202 |
Accepted (async delete) |
204 |
No Content |
400 |
Bad Request |
404 |
Not Found |
409 |
Conflict |