Arham.Foundation.ServiceDefaults
0.6.0-preview.5
dotnet add package Arham.Foundation.ServiceDefaults --version 0.6.0-preview.5
NuGet\Install-Package Arham.Foundation.ServiceDefaults -Version 0.6.0-preview.5
<PackageReference Include="Arham.Foundation.ServiceDefaults" Version="0.6.0-preview.5" />
<PackageVersion Include="Arham.Foundation.ServiceDefaults" Version="0.6.0-preview.5" />
<PackageReference Include="Arham.Foundation.ServiceDefaults" />
paket add Arham.Foundation.ServiceDefaults --version 0.6.0-preview.5
#r "nuget: Arham.Foundation.ServiceDefaults, 0.6.0-preview.5"
#:package Arham.Foundation.ServiceDefaults@0.6.0-preview.5
#addin nuget:?package=Arham.Foundation.ServiceDefaults&version=0.6.0-preview.5&prerelease
#tool nuget:?package=Arham.Foundation.ServiceDefaults&version=0.6.0-preview.5&prerelease
Arham.Foundation.ServiceDefaults
ASP.NET Core service defaults for globally usable .NET services.
Use this package to add a practical baseline for telemetry, health endpoints, HTTP resilience, service discovery, Prometheus, OTLP, and Azure Monitor.
Install
dotnet add package Arham.Foundation.ServiceDefaults
What It Provides
- OpenTelemetry metrics and traces
- ASP.NET Core, HTTP client, and runtime instrumentation
- Prometheus
/metricsendpoint - Conditional OTLP exporter support through
OTEL_EXPORTER_OTLP_ENDPOINT - Conditional Azure Monitor support through
APPLICATIONINSIGHTS_CONNECTION_STRING - Health endpoints for readiness and liveness
- HTTP client resilience and service discovery defaults
Example
var builder = WebApplication.CreateBuilder(args);
builder.AddArhamServiceDefaults();
var app = builder.Build();
app.MapArhamDefaultEndpoints();
app.MapGet("/", () => "Hello from Arham Foundation");
app.Run();
Configuration
{
"Arham": {
"Foundation": {
"ServiceDefaults": {
"HealthPath": "/health",
"LivenessPath": "/alive",
"MetricsPath": "/metrics",
"MapHealthChecksOnlyInDevelopment": true,
"EnablePrometheusExporter": true
}
}
}
}
Set OTEL_EXPORTER_OTLP_ENDPOINT to enable OTLP export. Set APPLICATIONINSIGHTS_CONNECTION_STRING to enable Azure Monitor export.
| 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
- Azure.Monitor.OpenTelemetry.AspNetCore (>= 1.5.0)
- Microsoft.Extensions.Http.Resilience (>= 10.7.0)
- Microsoft.Extensions.ServiceDiscovery (>= 10.7.0)
- OpenTelemetry (>= 1.16.0)
- OpenTelemetry.Exporter.OpenTelemetryProtocol (>= 1.16.0)
- OpenTelemetry.Exporter.Prometheus.AspNetCore (>= 1.16.0-beta.1)
- OpenTelemetry.Extensions.Hosting (>= 1.16.0)
- OpenTelemetry.Instrumentation.AspNetCore (>= 1.15.2)
- OpenTelemetry.Instrumentation.Http (>= 1.15.1)
- OpenTelemetry.Instrumentation.Runtime (>= 1.15.1)
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 |
|---|---|---|
| 0.6.0-preview.5 | 1,923 | 7/5/2026 |
| 0.6.0-preview.4 | 78 | 7/5/2026 |
| 0.6.0-preview.3 | 437 | 6/22/2026 |
| 0.6.0-preview.2 | 101 | 6/19/2026 |
| 0.6.0-preview.1 | 84 | 6/19/2026 |
| 0.6.0-preview.0 | 98 | 6/18/2026 |
| 0.5.0-Preview.0 | 70 | 6/18/2026 |
| 0.4.0-Preview.0 | 78 | 6/18/2026 |
| 0.3.0-Preview.0 | 76 | 6/17/2026 |
| 0.2.0-preview.0 | 179 | 6/17/2026 |
| 0.1.0-Preview.7 | 72 | 6/16/2026 |
| 0.1.0-Preview.6 | 60 | 6/16/2026 |
| 0.1.0-Preview.5 | 1,944 | 6/16/2026 |
| 0.1.0-preview.4 | 80 | 6/13/2026 |
| 0.1.0-Preview.3 | 74 | 6/13/2026 |
0.6.0-preview.5: multitenancy contracts (ITenantScopedEntity, ITenantContextProvider, StaticTenantContextProvider, MissingTenantContextException, CrossTenantWriteException) moved from Arham.Foundation.Persistence.EfCore to Arham.Foundation.Core (namespace Arham.Foundation.Core.Multitenancy) so domain layers can implement the tenant marker without an EF Core dependency. EF enforcement (TenantSaveChangesInterceptor, UseArhamMultitenancy, UseArhamTenantEnforcement) and the PostgreSQL RLS half are unchanged in their packages. Breaking within the 0.6.0 preview line: update usings from Arham.Foundation.Persistence.EfCore.Multitenancy to Arham.Foundation.Core.Multitenancy for the moved types. See CHANGELOG.md and docs/Multitenancy.md.