SDK .NET

Carrega secrets directament en una aplicació .NET en iniciar-se.

.NET SDK

Carrega secrets directament a la teva aplicació .NET a l'inici. Façana d'una línia, constructor fluent, integració amb IConfiguration o control programàtic total.

Instal·lació

dotnet add package Envilder

Una línia: resoldre + injectar

Resol secrets del fitxer de mapeig i injecta'ls a Environment en una sola crida:

using Envilder;

// Resolve secrets and inject into Environment
Env.Load("envilder.json");

var dbPassword = Environment.GetEnvironmentVariable("DB_PASSWORD");

Resoldre sense injectar

Obté secrets com un diccionari sense modificar l'entorn:

using Envilder;

var secrets = Env.ResolveFile("envilder.json");
var dbPassword = secrets["DB_PASSWORD"];

Constructor fluent amb sobreescriptures

Sobreescriu la configuració del proveïdor de manera programàtica amb l'API fluent:

using Envilder;

var secrets = Env.FromMapFile("envilder.json")
    .WithProvider(SecretProviderType.Azure)
    .WithVaultUrl("https://my-vault.vault.azure.net")
    .Resolve();

// Or inject directly
Env.FromMapFile("envilder.json")
    .WithProfile("staging")
    .Inject();

Càrrega basada en entorn

Encamina la càrrega de secrets segons el teu entorn actual. Cada entorn mapeja al seu fitxer de secrets:

using Envilder;

var env = Environment.GetEnvironmentVariable("APP_ENV") ?? "development";

Env.Load(env, new Dictionary<string, string?>
{
    ["production"] = "prod-secrets.json",
    ["development"] = "dev-secrets.json",
    ["test"] = null,  // no secrets loaded
});

Validació de secrets

Validació opcional que assegura que tots els secrets resolts tenen valors no buits:

using Envilder;

var secrets = Env.ResolveFile("envilder.json");
secrets.ValidateSecrets(); // throws SecretValidationException if any value is empty

Via IConfiguration (ASP.NET)

Afegeix Envilder com a font de configuració a la teva aplicació ASP.NET:

var builder = WebApplication.CreateBuilder(args);
builder.Configuration.AddEnvilder("envilder.json");
var app = builder.Build();

Avançat: control programàtic total

Analitza el fitxer de mapeig, resol secrets i injecta'ls a les variables d'entorn:

using Envilder;

var secrets = await Env.ResolveFileAsync("envilder.json");
EnvilderClient.InjectIntoEnvironment(secrets);

Documentació completa →