v0.9.2 Código abierto · MIT

Tus secretos.
Un comando.
Cada entorno.

Una herramienta CLI y GitHub Action que centraliza de forma segura tus variables de entorno desde AWS SSM, Azure Key Vault o GCP Secret Manager como fuente única de verdad. Se acabó copiar y pegar secretos.

$ npm install -g envilder
# 1. Define tu mapeo $ cat param-map.json { "DB_PASSWORD": "/app/prod/db-pass", "API_KEY": "/app/prod/api-key" }   # 2. Descarga secretos → genera .env $ envilder --map =param-map.json --envfile =.env   Obtenido DB_PASSWORD → ···pass Obtenido API_KEY → ···key Archivo de entorno escrito en .env   $
AWS SSM
Azure Key Vault
GitHub Actions
npm

Sponsors

El problema con archivos .env

Gestionar secretos manualmente no escala. Es inseguro, propenso a errores y crea fricción para todo el equipo.

💀

Desincronización entre entornos

Dev, staging y prod tienen secretos diferentes. Los despliegues fallan. Nadie sabe qué .env es el correcto.

📨

Secretos compartidos por Slack/email

Claves API enviadas en texto plano por chat. Sin trazabilidad. Sin rotación. Un incidente de seguridad esperando a ocurrir.

🐌

Onboarding y rotaciones lentas

¿Un nuevo miembro se une al equipo? Copia y pega un .env de la máquina de alguien. ¿Alguien rota? Espera que todos actualicen manualmente.

▼ envilder lo soluciona ▼
🛡️

Fuente de verdad en la nube

Todos los secretos viven en AWS SSM o Azure Key Vault. IAM/RBAC controla quién puede leer qué. Cada acceso queda registrado.

Un comando, siempre sincronizado

Ejecuta envilder y tu .env se regenera desde la fuente de verdad. Idempotente. Instantáneo. Sin margen para el desfase.

🤖

Automatizado en CI/CD

Usa la GitHub Action para obtener secretos en el momento del despliegue. Sin secretos en los repos. Sin pasos manuales en los pipelines.

Hecho para equipos reales

Todo lo que necesitas para gestionar secretos de entorno de forma segura y a escala.

☁️

Multi-Proveedor

AWS SSM, Azure Key Vault y GCP Secret Manager (próximamente). Elige con --provider o $config en tu archivo de mapeo.

🔄

Sincronización bidireccional

Obtén secretos en archivos .env o sube valores .env a tu proveedor en la nube. Soporte completo de ida y vuelta.

⚙️

GitHub Action

Action para tus workflows CI/CD. Obtén secretos en el momento del despliegue sin intervención manual.

🔒

Acceso IAM y RBAC

Aprovecha el control de acceso nativo de la nube. Las políticas IAM de AWS o RBAC de Azure definen quién lee qué, por entorno.

📊

Totalmente auditable

Cada lectura y escritura queda registrada en AWS CloudTrail o Azure Monitor. Trazabilidad completa de quién accedió a qué y cuándo.

🔁

Sincronización idempotente

Solo se actualiza lo que hay en tu mapeo. Nada más se toca. Ejecútalo diez veces — mismo resultado, cero efectos secundarios.

🧱

Cero infraestructura

Construido sobre servicios nativos de la nube. Sin Lambdas, sin servidores, sin infraestructura extra que gestionar o pagar.

👤

Soporte de perfiles AWS

¿Configuración multi-cuenta? Usa --profile para cambiar entre perfiles AWS CLI. Perfecto para entornos multi-etapa.

🔌

SDKs en tiempo real

Próximamente

Carga secretos directamente en tu app al iniciar — TypeScript, Python, Go, .NET, Java. Sin archivos .env, sin intermediarios.

Cómo funciona

Define. Descarga. Listo.

PASO 01

Escribe un param-map.json

Un archivo JSON que mapea nombres de variables de entorno a sus rutas en SSM o nombres de secretos en Key Vault. Confírmalo. Revísalo en PRs. Diferéncialo entre entornos. Es la única configuración que necesitas.

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"
}
PASO 02

Ejecuta envilder

Un comando obtiene cada secreto de tu vault en la nube y los escribe en .env. Sin copiar manualmente. Sin desfases. Repetible en cualquier lugar — localmente, en CI o en una máquina nueva.

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

✔ Obtenido DB_PASSWORD  → ···word
✔ Obtenido API_KEY      → ···key
✔ Obtenido SECRET_TOKEN → ···oken
✔ Archivo de entorno escrito en .env
PASO 03

.env escrito. Los secretos se quedan en el vault.

Un archivo .env limpio, generado bajo demanda desde datos del vault en tiempo real. Úsalo localmente, descárgalo en el despliegue con la GitHub Action o evita el archivo con --exec.

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

Míralo en acción

Mira cómo Envilder simplifica la gestión de secretos en menos de 2 minutos.

Demo CLI — Obtener Secretos

Tu nube. Tu elección.

Envilder funciona con AWS SSM Parameter Store, Azure Key Vault y GCP Secret Manager (próximamente). Configura en línea o con 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
  • ✔ Soporte de GetParameter con WithDecryption
  • ✔ Soporte de perfil AWS para multi-cuenta
  • ✔ Control de acceso basado en políticas IAM
  • ✔ Registro de auditoría 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-normaliza nombres de secretos (barras → guiones)
  • ✔ Autenticación DefaultAzureCredential
  • ✔ Control de acceso Azure RBAC
  • ✔ Registro de auditoría Azure Monitor

GCP Secret Manager

Próximamente
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ón con Google Cloud Secret Manager
  • ✔ Application Default Credentials (ADC)
  • ✔ Control de acceso basado en IAM
  • ✔ Cloud Audit Logs

GitHub Action

Obtén secretos en el momento del despliegue. Añádelo a cualquier workflow en minutos.

☁️ 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 la Action

Input Requerido Descripción
map-file Ruta al archivo JSON que mapea variables de entorno a rutas de secretos
env-file Ruta al archivo .env a generar
provider No Proveedor en la nube: aws o azure (por defecto: aws)
vault-url No URL de Azure Key Vault

Output: env-file-path — Ruta al archivo .env generado

Qué hay de nuevo

Novedades de la última versión. El sitio de documentación ya está en línea.

v0.9.2

Documentación y Estabilidad

30 de marzo de 2026
  • Sitio de documentación publicado en envilder.com — guías completas, historial y docs multiidioma
  • Corregido: @types/node movido a devDependencies — sin dependencias de runtime innecesarias
  • Corregido: inestabilidad en tests e2e — rutas SSM únicas por ejecución evitan condiciones de carrera

Qué viene ahora

Envilder se desarrolla activamente. Aquí es adónde vamos.

Descargar secretos a .env

Mapea nombres de variables de entorno a rutas de secretos en la nube vía JSON y genera archivos .env automáticamente

Modo push (--push)

Sube valores .env o secretos individuales al proveedor en la nube

GitHub Action

Usa Envilder en workflows CI/CD de forma nativa

Multi-proveedor (AWS + Azure)

Soporte de AWS SSM Parameter Store y Azure Key Vault

📖

Web de documentación

Web de docs dedicada con guías, ejemplos y referencia API

📦

TypeScript SDK (@envilder/sdk)

Próximamente

Librería nativa de ejecución — cargará secretos directamente en process.env desde un map-file. Se publicará en npm

🐍

Python SDK (envilder)

Próximamente

Librería para Django/FastAPI/pipelines de datos. Se publicará en PyPI

🐹

Go SDK (envilder)

Próximamente

Librería para apps cloud-native y herramientas Kubernetes. Se publicará como módulo Go

🔵

.NET SDK (Envilder)

Próximamente

Librería para apps enterprise y Azure-native. Se publicará en NuGet

Java SDK (envilder)

Próximamente

Librería para Spring Boot y backends Android. Se publicará en Maven Central

Modo exec (--exec)

Inyecta secretos en un proceso hijo sin escribir a disco

☁️

GCP Secret Manager

Tercer proveedor cloud — completa el tridente multi-nube

🔐

AWS Secrets Manager

Soporte de secretos JSON junto a SSM Parameter Store

✔️

Modo check/sync (--check)

Valida secretos en la nube vs .env local — falla CI si están desincronizados

Empieza ahora

En funcionamiento en menos de un minuto.

Prerrequisitos

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

Instalar

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

Inicio rápido

  1. Crea un param-map.json que mapee variables de entorno a rutas de secretos
  2. Ejecuta envilder --map=param-map.json --envfile=.env
  3. Tu archivo .env está listo ✔
# Instalar globalmente $ npm install -g envilder   # Crear archivo de mapeo $ echo '{"API_KEY": "/app/api-key"}' > param-map.json   # Obtener secretos $ envilder --map =param-map.json --envfile =.env   ¡Hecho! Archivo .env generado.   # Subir un secreto $ envilder --push --key =API_KEY --value =sk_live_abc123 --secret-path =/app/api-key   Secreto subido correctamente.