v0.9.2 Codi obert · MIT

Els teus secrets.
Una comanda.
Cada entorn.

Una eina CLI i GitHub Action que centralitza de forma segura les teves variables d'entorn des de AWS SSM, Azure Key Vault o GCP Secret Manager com a font de veritat única. Adéu a copiar i enganxar secrets.

$ npm install -g envilder
# 1. Defineix el mapeig $ cat param-map.json { "DB_PASSWORD": "/app/prod/db-pass", "API_KEY": "/app/prod/api-key" }   # 2. Descarrega secrets → genera .env $ envilder --map =param-map.json --envfile =.env   Obtingut DB_PASSWORD → ···pass Obtingut API_KEY → ···key Fitxer d'entorn escrit a .env   $
AWS SSM
Azure Key Vault
GitHub Actions
npm

Sponsors

El problema amb fitxers .env

Gestionar secrets manualment no escala. És insegur, propens a errors i crea fricció per a tot l'equip.

💀

Desincronització entre entorns

Dev, staging i prod tenen secrets diferents. Els desplegaments fallen. Ningú sap quin .env és el correcte.

📨

Secrets compartits per Slack/email

Claus API enviades en text pla per xat. Sense traçabilitat. Sense rotació. Un incident de seguretat esperant a passar.

🐌

Onboarding i rotacions lentes

Un nou membre s'uneix a l'equip? Copia i enganxa un .env de la màquina d'algú. Algú rota? Espera que tothom actualitzi manualment.

▼ envilder ho soluciona ▼
🛡️

Font de veritat al núvol

Tots els secrets viuen a AWS SSM o Azure Key Vault. IAM/RBAC controla qui pot llegir què. Cada accés queda registrat.

Una comanda, sempre sincronitzat

Executa envilder i el teu .env es regenera des de la font de veritat. Idempotent. Instantani. Sense marge per al desfasament.

🤖

Automatitzat en CI/CD

Utilitza la GitHub Action per obtenir secrets en el moment del desplegament. Sense secrets als repos. Sense passos manuals als pipelines.

Fet per a equips reals

Tot el que necessites per gestionar secrets d'entorn de forma segura i a escala.

☁️

Multi-Proveïdor

AWS SSM, Azure Key Vault i GCP Secret Manager (pròximament). Tria amb --provider o $config al fitxer de mapeig.

🔄

Sincronització bidireccional

Obté secrets a fitxers .env o puja valors .env al teu proveïdor al núvol. Suport complet d'anada i tornada.

⚙️

GitHub Action

Action per als teus workflows CI/CD. Obté secrets en el moment del desplegament sense intervenció manual.

🔒

Accés IAM i RBAC

Aprofita el control d'accés natiu del núvol. Les polítiques IAM d'AWS o RBAC d'Azure defineixen qui llegeix què, per entorn.

📊

Totalment auditable

Cada lectura i escriptura queda registrada a AWS CloudTrail o Azure Monitor. Traçabilitat completa de qui ha accedit a què i quan.

🔁

Sincronització idempotent

Només s'actualitza el que hi ha al teu mapeig. Res més es toca. Executa'l deu vegades — mateix resultat, zero efectes secundaris.

🧱

Zero infraestructura

Construït sobre serveis natius del núvol. Sense Lambdas, sense servidors, sense infraestructura extra per gestionar o pagar.

👤

Suport de perfils AWS

Configuració multi-compte? Utilitza --profile per canviar entre perfils AWS CLI. Perfecte per a entorns multi-etapa.

🔌

SDKs en temps real

Pròximament

Carrega secrets directament a la teva app a l'inici — TypeScript, Python, Go, .NET, Java. Sense fitxers .env, sense intermediaris.

Com funciona

Defineix. Descarrega. Fet.

PAS 01

Escriu un param-map.json

Un fitxer JSON que mapeja noms de variables d'entorn a les seves rutes a SSM o noms de secrets a Key Vault. Fes-ne commit. Revisa'l en PRs. Difencia'l entre entorns. És l'única configuració que necessites.

param-map.json json
{
  "DB_PASSWORD": "/my-app/prod/db-password",
  "API_KEY":     "/my-app/prod/api-key",
  "SECRET_TOKEN": "/my-app/prod/secret-token"
}
PAS 02

Executa envilder

Una comanda obté cada secret del teu vault al núvol i els escriu a .env. Sense copiar manualment. Sense desfasaments. Repetible a qualsevol lloc — localment, en CI o en una màquina nova.

terminal bash
$ envilder --map=param-map.json --envfile=.env

✔ Obtingut DB_PASSWORD  → ···word
✔ Obtingut API_KEY      → ···key
✔ Obtingut SECRET_TOKEN → ···oken
✔ Fitxer d'entorn escrit a .env
PAS 03

.env escrit. Els secrets es queden al vault.

Un fitxer .env net, generat sota demanda des de dades del vault en temps real. Utilitza'l localment, descarrega'l en el desplegament amb la GitHub Action o evita el fitxer amb --exec.

.env bash
DB_PASSWORD=my-super-secret-password
API_KEY=sk_live_abc123def456
SECRET_TOKEN=tok_prod_xyz789

Mira'l en acció

Mira com Envilder simplifica la gestió de secrets en menys de 2 minuts.

Demo CLI — Obtenir Secrets

El teu núvol. La teva elecció.

Envilder funciona amb AWS SSM Parameter Store, Azure Key Vault i GCP Secret Manager (pròximament). Configura en línia o amb flags CLI.

AWS SSM Parameter Store

param-map.json json
{
  "$config": {
    "provider": "aws",
    "profile": "prod-account"
  },
  "DB_PASSWORD": "/my-app/prod/db-password",
  "API_KEY": "/my-app/prod/api-key"
}
$ envilder --map=param-map.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'auditoria CloudTrail

Azure Key Vault

param-map.json json
{
  "$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=param-map.json --envfile=.env
  • ✔ Auto-normalitza noms de secrets (barres → guions)
  • ✔ Autenticació DefaultAzureCredential
  • ✔ Control d'accés Azure RBAC
  • ✔ Registre d'auditoria Azure Monitor

GCP Secret Manager

Pròximament
param-map.json json
{
  "$config": {
    "provider": "gcp",
    "projectId": "my-project-id"
  },
  "DB_PASSWORD": "my-app-prod-db-password",
  "API_KEY": "my-app-prod-api-key"
}
$ envilder --provider=gcp --map=param-map.json --envfile=.env
  • ✔ Integració amb Google Cloud Secret Manager
  • ✔ Application Default Credentials (ADC)
  • ✔ Control d'accés basat en IAM
  • ✔ Cloud Audit Logs

GitHub Action

Obté secrets en el moment del desplegament. Afegeix-lo a qualsevol workflow en minuts.

☁️ AWS SSM

.github/workflows/deploy.yml yaml
- name: 🪙 Configure AWS Credentials
  uses: aws-actions/configure-aws-credentials@v6
  with:
    role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
    aws-region: us-east-1

- name: 🔐 Pull Secrets from AWS SSM
  uses: macalbert/envilder/github-action@v0
  with:
    map-file: param-map.json
    env-file: .env

🔑 Azure Key Vault

.github/workflows/deploy.yml yaml
- name: 🔑 Azure Login
  uses: azure/login@v2
  with:
    client-id: ${{ secrets.AZURE_CLIENT_ID }}
    tenant-id: ${{ secrets.AZURE_TENANT_ID }}
    subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

- name: 🔐 Pull Secrets from Azure Key Vault
  uses: macalbert/envilder/github-action@v0
  with:
    map-file: param-map.json
    env-file: .env
    provider: azure
    vault-url: ${{ secrets.AZURE_KEY_VAULT_URL }}

Inputs de l'Action

Input Requerit Descripció
map-file Ruta al fitxer JSON que mapeja variables d'entorn a rutes de secrets
env-file Ruta al fitxer .env a generar
provider No Proveïdor al núvol: aws o azure (per defecte: aws)
vault-url No URL d'Azure Key Vault

Output: env-file-path — Ruta al fitxer .env generat

Què hi ha de nou

Novetats de l'última versió. El lloc de documentació ja és en línia.

v0.9.2

Documentació i Estabilitat

30 de març del 2026
  • Web de documentació publicada a envilder.com — guies completes, historial i docs multilingüe
  • Corregit: @types/node mogut a devDependencies — sense dependències de runtime innecessàries
  • Corregit: inestabilitat als tests e2e — rutes SSM úniques per execució eviten condicions de carrera

Què ve ara

Envilder es desenvolupa activament. Aquí és cap on anem.

Descarregar secrets a .env

Mapeja noms de variables d'entorn a rutes de secrets al núvol via JSON i genera fitxers .env automàticament

Mode push (--push)

Puja valors .env o secrets individuals al proveïdor al núvol

GitHub Action

Utilitza Envilder en workflows CI/CD de forma nativa

Multi-proveïdor (AWS + Azure)

Suport d'AWS SSM Parameter Store i Azure Key Vault

📖

Web de documentació

Web de docs dedicada amb guies, exemples i referència API

📦

TypeScript SDK (@envilder/sdk)

Pròximament

Biblioteca nativa de runtime — carregarà secrets directament a process.env des d’un map-file. Es publicarà a npm

🐍

Python SDK (envilder)

Pròximament

Biblioteca per a Django/FastAPI/pipelines de dades. Es publicarà a PyPI

🐹

Go SDK (envilder)

Pròximament

Biblioteca per a apps cloud-native i eines Kubernetes. Es publicarà com a mòdul Go

🔵

.NET SDK (Envilder)

Pròximament

Biblioteca per a apps enterprise i Azure-native. Es publicarà a NuGet

Java SDK (envilder)

Pròximament

Biblioteca per a Spring Boot i backends Android. Es publicarà a Maven Central

Mode exec (--exec)

Injecta secrets en un procés fill sense escriure a disc

☁️

GCP Secret Manager

Tercer proveïdor cloud — completa el trident multi-núvol

🔐

AWS Secrets Manager

Suport de secrets JSON junt amb SSM Parameter Store

✔️

Mode check/sync (--check)

Valida secrets al núvol vs .env local — falla CI si estan desincronitzats

Comença ara

En funcionament en menys d'un minut.

Prerequisits

  • Node.js v20+
  • AWS CLI configurat (per AWS SSM)
  • Azure CLI configurat (per Azure Key Vault)
  • Permisos IAM: ssm:GetParameter / ssm:PutParameter

Instal·lar

pnpm pnpm add -g envilder
npm npm install -g envilder
npx npx envilder --help

Inici ràpid

  1. Crea un param-map.json que mapegi variables d'entorn a rutes de secrets
  2. Executa envilder --map=param-map.json --envfile=.env
  3. El teu fitxer .env està llest ✔
# Instal·lar globalment $ npm install -g envilder   # Crear fitxer de mapeig $ echo '{"API_KEY": "/app/api-key"}' > param-map.json   # Obtenir secrets $ envilder --map =param-map.json --envfile =.env   Fet! Fitxer .env generat.   # Pujar un secret $ envilder --push --key =API_KEY --value =sk_live_abc123 --secret-path =/app/api-key   Secret pujat correctament.