Estandarditza com
les teves apps consumeixen
secrets.
Deixa de reinventar la càrrega de secrets a cada projecte. Defineix un contracte d'entorn i resol-lo a tot arreu.
Resolució de secrets open source per a AWS SSM i Azure Key Vault, per al desenvolupament local, CI/CD i el runtime de l’aplicació.
❯ npm install -g envilderPer què la gestió de secrets està trencada
Cada equip, cada etapa, cada runtime gestiona els secrets de forma diferent. Sense estàndard. Sense consistència. Sense confiança.
Fragmentada entre eines
L'entorn local utilitza fitxers .env. CI/CD llegeix d'integracions amb vaults. Producció té el seu propi mètode. Mateixa app, diferents fluxos de configuració a tot arreu.
Secrets compartits per canals insegurs
Claus API enviades per Slack, fitxers .env als repositoris, pàgines wiki amb credencials en text pla. Un incident de seguretat esperant a passar.
El desfasament de configuració és inevitable
Sense una font única de veritat sobre quins secrets necessita una app. Dev, staging i producció es desincronitzen. Els desplegaments fallen. Ningú sap quina config és la correcta.
Per què Envilder?
Envilder és una capa de resolució sobre el teu gestor de secrets existent. Els secrets es queden al teu núvol. El mapeig JSON és només el contracte que manté cada entorn consistent.
Zero infraestructura
Sense servidors, sense proxies, sense SaaS intermediari. Construït sobre AWS SSM i Azure Key Vault, serveis que ja utilitzes i pagues.
Un fitxer, tots els secrets
Un sol contracte JSON defineix cada secret per a cada entorn. Versionat a Git, revisable en PRs, comparable. El teu equip revisa canvis de secrets al mateix PR que el codi.
Rotació de secrets segura
Rota valors a AWS SSM o Azure Key Vault sense canviar envilder.json. Els fitxers .env generats només s'actualitzen quan tornes a executar Envilder; els consumidors de runtime s'han de reiniciar o tornar a resoldre els secrets.
El teu magatzem de secrets, un contracte de mapeig
Conserva els secrets a la configuració d'AWS SSM o Azure Key Vault que ja utilitzes. Envilder preserva el contracte de mapeig envilder.json entre eines; les credencials i la migració de secrets continuen sent específiques de cada proveïdor.
També inclou
Com funciona
Defineix. Resol. Desplega.
Defineix el model de mapeig
Un fitxer JSON que mapeja noms de variables d'entorn a rutes de secrets al núvol. Fes-ne commit. Revisa'l en PRs. Compara entre entorns. Un model per a cada etapa i runtime.
{
"DB_PASSWORD": "/my-app/prod/db-password",
"API_KEY": "/my-app/prod/api-key",
"SECRET_TOKEN": "/my-app/prod/secret-token"
}Resol amb la CLI
Una comanda obté cada secret del teu vault al núvol i els escriu a .env. Utilitza'l localment o en scripts. Mateix mapeig, mateix comportament.
$ envilder --map=envilder.json --envfile=.env
✔ Obtingut DB_PASSWORD → ···word
✔ Obtingut API_KEY → ···key
✔ Obtingut SECRET_TOKEN → ···oken
✔ Fitxer d'entorn escrit a .envCarrega en runtime amb SDKs
Salta't el fitxer .env completament. Carrega secrets directament a la teva aplicació a l'inici amb SDKs natius: Python, .NET, Node.js i més.
pip install envilderfrom envilder import Envilder, SecretProviderType
# One-liner: load secrets into os.environ
Envilder.load("envilder.json")
# Or resolve as a dict without injecting
secrets = Envilder.resolve_file("envilder.json")
# Fluent builder with provider override
secrets = (
Envilder.from_map_file("envilder.json")
.with_provider(SecretProviderType.AZURE)
.with_vault_url("https://my-vault.vault.azure.net")
.inject()
)dotnet add package Envilderusing Envilder;
var builder = WebApplication.CreateBuilder(args);
// Load secrets into IConfiguration
builder.Configuration.AddEnvilder("envilder.json");
// Register EnvilderClient in DI
builder.Services.AddEnvilder("envilder.json");
// --- Or standalone (no ASP.NET) ---
// One-liner: resolve + inject into Environment
Env.Load("envilder.json");
// Fluent builder with provider override
Env.FromMapFile("envilder.json")
.WithProvider(SecretProviderType.Azure)
.WithVaultUrl("https://my-vault.vault.azure.net")
.Inject();npm install @envilder/sdkimport { Envilder, SecretProviderType } from '@envilder/sdk';
// One-liner: resolve + inject into process.env
await Envilder.load('envilder.json');
// Or resolve as a Map without injecting
const secrets = await Envilder.resolveFile('envilder.json');
// Fluent builder with provider override
const override = await Envilder.fromMapFile('envilder.json')
.withProvider(SecretProviderType.Azure)
.withVaultUrl('https://my-vault.vault.azure.net')
.inject();Push des de dev al vault
Necessites afegir o rotar un secret? Puja valors des del teu entorn local al proveïdor al núvol. Sense necessitat de consola.
$ envilder --push --envfile=.env --map=envilder.json
✔ Pujat DB_PASSWORD → /my-app/prod/db-password
✔ Pujat API_KEY → /my-app/prod/api-key
✔ Pujat SECRET_TOKEN → /my-app/prod/secret-tokenEls secrets es queden al teu vault
Sense intermediaris. El teu núvol gestiona l'emmagatzematge, la rotació i el control d'accés. Envilder resol, mai emmagatzema.
Mira'l en acció
Mira com Envilder simplifica la gestió de secrets en menys de 2 minuts.
El teu núvol. La teva elecció.
Envilder funciona actualment amb AWS SSM Parameter Store i Azure Key Vault. GCP Secret Manager està planificat i encara no està disponible. Configura els proveïdors disponibles a envilder.json o amb flags CLI.
AWS SSM Parameter Store
{
"$config": {
"provider": "aws",
"profile": "prod-account"
},
"DB_PASSWORD": "/my-app/prod/db-password",
"API_KEY": "/my-app/prod/api-key"
}$ envilder --map=envilder.json --envfile=.env- ✔ Suport de GetParameter amb WithDecryption
- ✔ Suport de perfil AWS per a multi-compte
- ✔ Control d'accés basat en polítiques IAM
- ✔ Registre d'accés de CloudTrail quan està configurat
Azure Key Vault
{
"$config": {
"provider": "azure",
"vaultUrl": "https://my-vault.vault.azure.net"
},
"DB_PASSWORD": "my-app-prod-db-password",
"API_KEY": "my-app-prod-api-key"
}$ envilder --provider=azure --vault-url=https://my-vault.vault.azure.net --map=envilder.json --envfile=.env- ✔ Auto-normalitza noms de secrets (barres → guions)
- ✔ Autenticació DefaultAzureCredential
- ✔ Control d'accés Azure RBAC
- ✔ Registre d'accés d'Azure Monitor quan està configurat
GCP Secret Manager
Planificat- → Integració planificada amb GCP Secret Manager
- → No disponible a la CLI, la GitHub Action ni els SDKs de runtime
Comença ara
En funcionament en menys d'un minut.
Prerequisits
- Node.js v22.12+
- Tria un proveïdor al núvol:
- AWS SSM: credencials AWS amb ssm:GetParameter; afegeix ssm:PutParameter per a --push
- Azure Key Vault: credencials Azure amb accés Get a secrets; afegeix accés Set per a --push
Instal·lar
Inici ràpid
- Crea un envilder.json que mapegi variables d'entorn a rutes de secrets
- Executa npx envilder --map=envilder.json --envfile=.env
- El teu fitxer .env està llest ✔
import os
from envilder import Envilder
Envilder.load("envilder.json")
# Els secrets ja són a os.environ
api_key = os.environ["API_KEY"]