Cirreum.Runtime.Persistence.Azure
1.0.25
dotnet add package Cirreum.Runtime.Persistence.Azure --version 1.0.25
NuGet\Install-Package Cirreum.Runtime.Persistence.Azure -Version 1.0.25
<PackageReference Include="Cirreum.Runtime.Persistence.Azure" Version="1.0.25" />
<PackageVersion Include="Cirreum.Runtime.Persistence.Azure" Version="1.0.25" />
<PackageReference Include="Cirreum.Runtime.Persistence.Azure" />
paket add Cirreum.Runtime.Persistence.Azure --version 1.0.25
#r "nuget: Cirreum.Runtime.Persistence.Azure, 1.0.25"
#:package Cirreum.Runtime.Persistence.Azure@1.0.25
#addin nuget:?package=Cirreum.Runtime.Persistence.Azure&version=1.0.25
#tool nuget:?package=Cirreum.Runtime.Persistence.Azure&version=1.0.25
Cirreum.Runtime.Persistence.Azure
Simplified Cirreum.Persistence.Azure configuration for Cirreum runtime applications
Overview
Cirreum.Runtime.Persistence.Azure provides a unified persistence layer configuration for the Cirreum framework. It simplifies database integration by offering a single extension method that automatically registers and configures multiple persistence providers with built-in health checks.
Installation
dotnet add package Cirreum.Runtime.Persistence.Azure
Usage
Add persistence to your application with a single line:
var builder = WebApplication.CreateBuilder(args);
// Add persistence support
builder.AddPersistence();
var app = builder.Build();
This automatically:
- Registers Azure Cosmos DB persistence services
- Configures health checks for database connectivity
- Prevents duplicate service registration
- Integrates with the Cirreum service provider infrastructure
Supported Providers
| Provider | Package | Database |
|---|---|---|
| Azure Cosmos DB | Cirreum.Persistence.Azure |
NoSQL document database |
Features
- Simple Integration: One method to configure all persistence needs
- Declarative Indexing Policies: Entity attribute-driven Cosmos DB indexing configuration (included/excluded paths, composite indexes, spatial indexes)
- Health Checks: Automatic health check registration for monitoring
- Duplicate Prevention: Smart registration prevents service conflicts
- Extensible Design: Built on the Cirreum service provider pattern for easy extension
Declarative Indexing Policy
When IsAutoResourceCreationEnabled is true, Cosmos DB containers are auto-created with indexing policies defined on your entity classes via attributes from Cirreum.Persistence.NoSql:
[Container("tasks")]
[PartitionKeyPath("/clientId")]
[IndexingPolicy(IndexingMode.Consistent, Automatic = true)]
[ExcludedPath("/description/*")]
[ExcludedPath("/*")]
public record TaskItem : Entity {
[IncludedPath]
[CompositeIndex("type-client-date", CompositePathSortOrder.Ascending, position: 0)]
public string Type { get; set; }
[IncludedPath]
[CompositeIndex("type-client-date", CompositePathSortOrder.Ascending, position: 1)]
public string ClientId { get; set; }
[IncludedPath]
[CompositeIndex("type-client-date", CompositePathSortOrder.Descending, position: 2)]
public DateTimeOffset CreatedAt { get; set; }
}
Entities without [IndexingPolicy] use the Cosmos DB default policy (auto-index all paths). For full attribute documentation, see Cirreum.Persistence.NoSql and Cirreum.Persistence.Azure.
Configuration
Configure persistence providers in appsettings.json:
{
"ServiceProviders": {
"Persistence": {
"Azure": {
"default": {
"Name": "MyCosmosDb",
"DatabaseId": "my-database",
"OptimizeBandwidth": true,
"IsAutoResourceCreationEnabled": true
}
}
}
},
"ConnectionStrings": {
"MyCosmosDb": "AccountEndpoint=https://your-account.documents.azure.com:443/;AccountKey=..."
}
}
The Name property resolves the connection string via Configuration.GetConnectionString(name). For production, store connection strings in Azure Key Vault using the naming convention ConnectionStrings--{Name}.
For detailed configuration options, see the individual provider documentation:
- Cirreum.Persistence.NoSql (abstractions)
- Cirreum.Persistence.Azure (implementation)
Versioning
Cirreum.Runtime.Persistence follows Semantic Versioning:
- Major - Breaking API changes
- Minor - New features, backward compatible
- Patch - Bug fixes, backward compatible
Given its foundational role, major version bumps are rare and carefully considered.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Cirreum Foundation Framework
Layered simplicity for modern .NET
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Cirreum.Persistence.Azure (>= 2.0.5)
- Cirreum.Runtime.ServiceProvider (>= 1.0.17)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.25 | 101 | 5/11/2026 |
| 1.0.24 | 94 | 5/10/2026 |
| 1.0.23 | 97 | 5/1/2026 |
| 1.0.22 | 111 | 4/28/2026 |
| 1.0.21 | 97 | 4/27/2026 |
| 1.0.20 | 109 | 4/26/2026 |
| 1.0.19 | 109 | 4/15/2026 |
| 1.0.18 | 117 | 4/13/2026 |
| 1.0.17 | 118 | 4/13/2026 |
| 1.0.16 | 114 | 4/10/2026 |
| 1.0.15 | 107 | 3/25/2026 |
| 1.0.14 | 100 | 3/25/2026 |
| 1.0.12 | 117 | 3/21/2026 |
| 1.0.11 | 101 | 3/21/2026 |
| 1.0.10 | 107 | 3/17/2026 |
| 1.0.9 | 109 | 3/16/2026 |
| 1.0.8 | 120 | 3/14/2026 |
| 1.0.7 | 116 | 3/13/2026 |
| 1.0.6 | 108 | 3/9/2026 |
| 1.0.5 | 110 | 3/4/2026 |