Nabs.Launchpad.Core.Configuration
10.0.273
Prefix Reserved
dotnet add package Nabs.Launchpad.Core.Configuration --version 10.0.273
NuGet\Install-Package Nabs.Launchpad.Core.Configuration -Version 10.0.273
<PackageReference Include="Nabs.Launchpad.Core.Configuration" Version="10.0.273" />
<PackageVersion Include="Nabs.Launchpad.Core.Configuration" Version="10.0.273" />
<PackageReference Include="Nabs.Launchpad.Core.Configuration" />
paket add Nabs.Launchpad.Core.Configuration --version 10.0.273
#r "nuget: Nabs.Launchpad.Core.Configuration, 10.0.273"
#:package Nabs.Launchpad.Core.Configuration@10.0.273
#addin nuget:?package=Nabs.Launchpad.Core.Configuration&version=10.0.273
#tool nuget:?package=Nabs.Launchpad.Core.Configuration&version=10.0.273
Nabs.Launchpad.Core.Configuration
Purpose
Provides a standardised, opinionated, and secure configuration experience for Nabs Launchpad services. It enforces the IOptions<T> pattern, keeps secrets out of appsettings*.json, and integrates cleanly with .NET Aspire.
Installation
dotnet add package Nabs.Launchpad.Core.Configuration
Quick Start
using Nabs.Launchpad.Core.Configuration;
var builder = WebApplication.CreateBuilder(args);
builder.AddNabsConfiguration();
builder.Services.AddNabsOptions<MyFeatureOptions>("MyFeature");
API Overview
AddNabsConfiguration<TBuilder>()– registers Azure App Configuration (with optional Key Vault secret resolution), sentinel-based refresh, and preserves the default provider order.AddNabsOptions<TOptions>()– binds a section, applies[Required],[Range], etc., and callsValidateOnStart()for fail-fast startup validation.NabsConfigurationOptions– connection names, refresh interval, sentinel key, and optional callbacks for advanced App Configuration setup.NabsConfigurationConstants– shared resource/parameter naming conventions used by both the client and AppHost packages.
Environment behaviour
This package intentionally has no environment branching. The AppHost decides where configuration and secrets come from (emulator, provisioned resources, or existing shared landing-zone resources). Service code simply consumes IOptions<T>.
| Source | Local | Ephemeral | Production |
|---|---|---|---|
| App Configuration | Aspire emulator (emulator endpoint) | Provisioned resource | Existing shared resource (AsExisting) |
| Secrets | Aspire Parameters / user-secrets | Provisioned Key Vault | Existing shared Key Vault (AsExisting) |
Conventions
| Convention | Value |
|---|---|
| App Configuration connection name | appconfig |
| Key Vault connection name | keyvault |
| Sentinel refresh key | AppConfig:Sentinel |
| Hierarchical keys | Section:SubSection:Key → env var Section__SubSection__Key |
Security
- Secrets must never be stored in
appsettings*.json. - Key Vault references embedded in App Configuration are resolved using the configured credential.
- Options validation fails fast on startup so missing or invalid configuration is caught immediately.
Advanced Usage
builder.AddNabsConfiguration(options =>
{
options.SentinelKey = "MyApp:Sentinel";
options.RefreshInterval = TimeSpan.FromMinutes(1);
options.ConfigureAppConfigurationOptions = appConfig =>
{
appConfig.UseFeatureFlags();
};
});
| 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
- Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration (>= 13.5.3)
- Azure.Identity (>= 1.21.0)
- Microsoft.Extensions.Configuration (>= 10.0.11)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.11)
- Microsoft.Extensions.Configuration.AzureAppConfiguration (>= 8.6.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.11)
- Microsoft.Extensions.Hosting (>= 10.0.11)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.11)
- Microsoft.Extensions.Options (>= 10.0.11)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.11)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.11)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Nabs.Launchpad.Core.Configuration:
| Package | Downloads |
|---|---|
|
Nabs.Launchpad.Core.Aspire.Hosting
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.