Michaelkc.Extensions.Configuration.Doppler
1.0.1
dotnet add package Michaelkc.Extensions.Configuration.Doppler --version 1.0.1
NuGet\Install-Package Michaelkc.Extensions.Configuration.Doppler -Version 1.0.1
<PackageReference Include="Michaelkc.Extensions.Configuration.Doppler" Version="1.0.1" />
<PackageVersion Include="Michaelkc.Extensions.Configuration.Doppler" Version="1.0.1" />
<PackageReference Include="Michaelkc.Extensions.Configuration.Doppler" />
paket add Michaelkc.Extensions.Configuration.Doppler --version 1.0.1
#r "nuget: Michaelkc.Extensions.Configuration.Doppler, 1.0.1"
#:package Michaelkc.Extensions.Configuration.Doppler@1.0.1
#addin nuget:?package=Michaelkc.Extensions.Configuration.Doppler&version=1.0.1
#tool nuget:?package=Michaelkc.Extensions.Configuration.Doppler&version=1.0.1
Michaelkc.Extensions.Configuration.Doppler
DopplerSDK.ConfigurationProvider adds a read-only Doppler-backed configuration provider to the standard .NET configuration pipeline.
It is designed to be used like other built-in providers: register once during startup, then bind your options as usual.
Features
AddDoppler(...)integration forIConfigurationBuilder/ConfigurationManager- Read-only secret loading from Doppler's download endpoint
- Token-first bootstrap (
DopplerTokenrequired) - Optional host override and Doppler name transformer selection
- Optional periodic reload support
- Fail-fast startup behavior by default when Doppler loading fails
Quick start
using DopplerSDK.ConfigurationProvider;
var builder = WebApplication.CreateBuilder(args);
builder.Configuration.AddDoppler(doppler =>
{
// DopplerToken could come from environment or user secrets
doppler.DopplerToken = builder.Configuration["DopplerToken"];
doppler.DopplerNameTransformer = DopplerNameTransformers.DotNet;
// doppler.DopplerApiHost = "https://api.doppler.com"; // optional override
});
Then configure options as normal:
builder.Services.Configure<AppSettings>(builder.Configuration);
Bootstrap configuration contract
DopplerClientConfiguration fields:
DopplerToken(required)DopplerNameTransformer(optional, defaults todotnet)DopplerApiHost(optional, defaults tohttps://api.doppler.com)RequestTimeout(optional, defaults to 30 seconds)
Provider-level fields:
FailFast(optional, defaults totrue)ReloadInterval(optional, disabled unless set)
Security guidance
- Do not hard-code service tokens in committed files.
- Prefer environment variables, user secrets, or a local development-only JSON file ignored by git.
- Treat Doppler tokens as credentials with least-privilege access.
Sample
See the SampleApp project for an end-to-end example. It also demonstrates how to load an entire appsettings.json document out of a single key using the provider.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 is compatible. net471 is compatible. net472 was computed. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Microsoft.Extensions.Configuration (>= 6.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- System.Net.Http.Json (>= 6.0.1)
- System.Text.Json (>= 6.0.10)
-
.NETFramework 4.7
- Microsoft.Extensions.Configuration (>= 6.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- System.Net.Http.Json (>= 6.0.1)
- System.Text.Json (>= 6.0.10)
-
.NETFramework 4.7.1
- Microsoft.Extensions.Configuration (>= 6.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- System.Net.Http.Json (>= 6.0.1)
- System.Text.Json (>= 6.0.10)
-
.NETFramework 4.8
- Microsoft.Extensions.Configuration (>= 6.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- System.Net.Http.Json (>= 6.0.1)
- System.Text.Json (>= 6.0.10)
-
.NETStandard 2.0
- Microsoft.Extensions.Configuration (>= 6.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- System.Net.Http.Json (>= 6.0.1)
- System.Text.Json (>= 6.0.10)
-
.NETStandard 2.1
- Microsoft.Extensions.Configuration (>= 6.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- System.Net.Http.Json (>= 6.0.1)
- System.Text.Json (>= 6.0.10)
-
net10.0
- Microsoft.Extensions.Configuration (>= 6.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
-
net5.0
- Microsoft.Extensions.Configuration (>= 6.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- System.Text.Json (>= 6.0.10)
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.1 | 0 | 3/7/2026 |
| 1.0.0 | 32 | 3/7/2026 |
| 0.0.2-pr.1.2 | 27 | 3/6/2026 |