Variables de Entorno - asincode-sas/wiki GitHub Wiki

Manejo de variables de entorno

Las aplicaciones utiliza variables de entorno para definir su configuración en los distintos entornos (desarrollo, pruebas, producción). Estas variables permiten ajustar comportamientos sin necesidad de modificar el código fuente.

Por seguridad, el archivo .env no debe versionarse. En su lugar, se incluye un archivo .env.example que lista las variables requeridas, con los valores sensibles en blanco, para facilitar la configuración inicial del entorno local.

📌 Reglas generales de nomenclatura

Formato

  • Siempre en mayúsculas.
  • Separación de palabras con guion bajo (_).
  • Alfabeto ASCII básico (sin tildes, ñ, etc).

Prefijos

  • Usar prefijos relacionados al proveedor, contexto o servicio si aplica.

Dominio de aplicación

Las variables deben ser descriptivas, reflejando su propósito:

  • ZOHO_URL (URL base de ZOHO)
  • WOMPI_URL (URL base de Wompi)
  • BD_NAME (nombre de la base de datos)
  • JWT_EXPIRES (tiempo de expiración del token JWT)

Evitar palabras genéricas

  • Ejemplos a evitar: USER, PASSWORD, TOKEN.
  • Mejor: DB_USER, JWT_SECRET, API_TOKEN.

🔒 Seguridad en el manejo de variables de entorno

  • Las variables sensibles (tokens, claves secretas) deben ser almacenadas de forma segura (Vault, Secret Manager, etc).
  • Evitar exponerlas en logs o errores.

📝 Asegúrate de tener este contenido en un archivo .env.example dentro del proyecto. Cada desarrollador deberá duplicar este archivo como .env y completar los valores según su entorno local o de producción

📌 Buenas prácticas adicionales con el uso de variables de entorno

  • Documentar siempre el uso de cada variable.
  • Validar las variables en el arranque de la aplicación.
  • Centralizar su carga (por ejemplo: config/env.config.js).

Nunca versionar archivos .env con datos reales en el repositorio.

Ofrecer plantillas de ejemplo: .env.example.

Convenciones de nombres para variables de entorno

✅ Ejemplos correctos

Variable Descripción
ZOHO_URL URL base de la API de Zoho
BD_NAME Nombre de la base de datos
JWT_EXPIRES Tiempo de expiración del token JWT
AWS_ACCESS_KEY Access Key de AWS
REDIS_HOST Hostname del servidor Redis
SMTP_SERVER Servidor SMTP para envío de correos

❌ Ejemplos incorrectos (evitar)

Variable Problema
url Muy genérico, no indica contexto
db Ambiguo, no indica si es nombre, host, usuario, etc.
token No especifica a qué sistema pertenece
KEY Sin prefijo, sin contexto
123abc No es un nombre válido
myVar Convención de camelCase no permitida
PASSWORD Genérico y poco seguro, falta prefijo