Skip to content

Variables por ambiente

Objetivo

Documentar qué variables de configuración necesita sy-energy, para qué sirve cada una y qué se rompe si falta — sin exponer ningún valor real.

Audiencia

DevOps, soporte técnico y desarrollo interno.

Estado documental

  • Estado: Borrador
  • Última actualización: 2026-08-02
  • Owner: Pendiente
  • SME requerido: DevOps
  • Fuente resumida: plantilla de variables de ambiente del repositorio.

Regla de esta página

Aquí solo se documentan nombres y propósito. Nunca valores reales, hosts, llaves, tokens, contraseñas ni URLs privadas. Los ejemplos usan placeholders.

Una versión anterior de este documento listaba variables de Supabase que no corresponden a este sistema; quedó corregida.

Aplicación

VariablePara quéEjemplo seguro
APP_NAMENombre de la aplicación.APP_NAME_EXAMPLE
APP_ENVAmbiente de ejecución. Cambia el prefijo de parámetros en AWS.production
APP_KEYLlave de cifrado.APP_KEY_EXAMPLE
APP_DEBUGMuestra errores detallados. Debe estar deshabilitado en producción.false
APP_URLURL base.https://example.com
LOG_CHANNELDestino de los logs.stack
ADMIN_PASSWORDContraseña administrativa.PASSWORD_EXAMPLE

Bases de datos

GrupoPara qué
DB_*Base de datos principal del participante: conexión, host, puerto, nombre, usuario y contraseña.
MEM_DB_*_2Base de datos del MEM, para precios y nodos.
MONGODB_*MongoDB, para precios y nodos del mercado.
DB_*_SYNC_SERVICEBase del servicio de sincronización de demanda.
REDIS_*Caché, sesiones y una conexión de cola.

Configuración por participante

Cada instancia apunta a su propia base de datos. Copiar un archivo de configuración de un participante a otro es el error más costoso posible: el sistema arranca sin error y escribe datos en la base equivocada.

Colas y controladores

VariablePara qué
QUEUE_CONNECTIONConexión de cola por omisión.
CACHE_DRIVERMotor de caché.
SESSION_DRIVER, SESSION_LIFETIMEManejo de sesiones.
BROADCAST_DRIVERDifusión de eventos.
PUSHER_*, MIX_PUSHER_*Notificaciones en tiempo real hacia la interfaz.

AWS

VariablePara qué
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGIONCredenciales generales.
SQS_KEY, SQS_SECRET, SQS_REGION, SQS_PREFIXAcceso a las colas.
BUCKET_INVOICESBucket de facturas.
BUCKET_CENACE_DOCUMENTSBucket de documentos de CENACE.
BUCKET_AFIXSufijo de dominio para construir la URL de los buckets.

Colas por proceso

Una variable por cola. Los nombres reales incluyen el código del participante y no se documentan aquí.

VariableCola de
SQS_CREATE_INVOICECreación de facturas.
SQS_UPLOAD_INVOICECarga de facturas al SIM.
SQS_INVOICE_STATUSConsulta de estatus de facturas.
SQS_ECD_SYNCSincronización de ECD.
SQS_ECD_SYNC_MISSINGReproceso de ECD faltantes.
SQS_CENACE_BALANCECálculos de balance de CENACE. Es la cola de los comandos de despacho.
SQS_REABot de REA.
SQS_BANK_REFERENCE_ONE / _TWO / _THREEEtapas del bot de referencia bancaria.
SQS_CENACE_DOCUMENTSBot de documentos de CENACE.
SQS_CENACE_NOTIFICATIONSBot de notificaciones del SIM.
SQS_CFE_TXMediciones de CFE TX.

Integraciones

VariablePara qué
FACTURA_COM_API_URLEndpoint del proveedor de timbrado.
FACTURA_COM_API_KEY, FACTURA_COM_SECRET_KEYCredenciales de timbrado.
CFDI_VERSIONVersión del comprobante fiscal.
MEM_ACCESS_KEY, MEM_SECRET_KEYAcceso a los datos del MEM.
MAIL_*Envío de correo.

Qué se rompe si falta

Grupo ausente o incorrectoEfecto
DB_*La aplicación no arranca.
AWS_* / SQS_*Los comandos que despachan trabajos fallan con error de AWS.
Una cola concretaSolo ese proceso deja de funcionar; el resto sigue. Es difícil de detectar.
FACTURA_COM_*No se timbra ninguna factura.
MONGODB_* / MEM_*Los cálculos que dependen de precios quedan incompletos.
BUCKET_*Las facturas no llegan a S3 y el bot no encuentra qué subir.
APP_DEBUG=true en producciónRiesgo de seguridad: expone detalles internos ante errores.

Dónde viven los valores

  • Se colocan en el servidor durante el despliegue; no están en el repositorio.
  • Hay parámetros adicionales en AWS Systems Manager, con prefijo distinto por ambiente.
  • Las credenciales de CENACE de cada participante se administran en la infraestructura de AWS.

Riesgos y gaps

  • No está documentado el procedimiento de rotación de credenciales.
  • No está documentado quién tiene acceso a los valores productivos.
  • No hay una verificación automática de que una instancia tenga todas las variables que necesita: una cola mal configurada se descubre cuando el proceso falla.
  • Falta confirmar qué variables difieren realmente entre participantes.

Próxima revisión

Tras la validación de DevOps.