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
| Variable | Para qué | Ejemplo seguro |
|---|---|---|
APP_NAME | Nombre de la aplicación. | APP_NAME_EXAMPLE |
APP_ENV | Ambiente de ejecución. Cambia el prefijo de parámetros en AWS. | production |
APP_KEY | Llave de cifrado. | APP_KEY_EXAMPLE |
APP_DEBUG | Muestra errores detallados. Debe estar deshabilitado en producción. | false |
APP_URL | URL base. | https://example.com |
LOG_CHANNEL | Destino de los logs. | stack |
ADMIN_PASSWORD | Contraseña administrativa. | PASSWORD_EXAMPLE |
Bases de datos
| Grupo | Para qué |
|---|---|
DB_* | Base de datos principal del participante: conexión, host, puerto, nombre, usuario y contraseña. |
MEM_DB_*_2 | Base de datos del MEM, para precios y nodos. |
MONGODB_* | MongoDB, para precios y nodos del mercado. |
DB_*_SYNC_SERVICE | Base 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
| Variable | Para qué |
|---|---|
QUEUE_CONNECTION | Conexión de cola por omisión. |
CACHE_DRIVER | Motor de caché. |
SESSION_DRIVER, SESSION_LIFETIME | Manejo de sesiones. |
BROADCAST_DRIVER | Difusión de eventos. |
PUSHER_*, MIX_PUSHER_* | Notificaciones en tiempo real hacia la interfaz. |
AWS
| Variable | Para qué |
|---|---|
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION | Credenciales generales. |
SQS_KEY, SQS_SECRET, SQS_REGION, SQS_PREFIX | Acceso a las colas. |
BUCKET_INVOICES | Bucket de facturas. |
BUCKET_CENACE_DOCUMENTS | Bucket de documentos de CENACE. |
BUCKET_AFIX | Sufijo 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í.
| Variable | Cola de |
|---|---|
SQS_CREATE_INVOICE | Creación de facturas. |
SQS_UPLOAD_INVOICE | Carga de facturas al SIM. |
SQS_INVOICE_STATUS | Consulta de estatus de facturas. |
SQS_ECD_SYNC | Sincronización de ECD. |
SQS_ECD_SYNC_MISSING | Reproceso de ECD faltantes. |
SQS_CENACE_BALANCE | Cálculos de balance de CENACE. Es la cola de los comandos de despacho. |
SQS_REA | Bot de REA. |
SQS_BANK_REFERENCE_ONE / _TWO / _THREE | Etapas del bot de referencia bancaria. |
SQS_CENACE_DOCUMENTS | Bot de documentos de CENACE. |
SQS_CENACE_NOTIFICATIONS | Bot de notificaciones del SIM. |
SQS_CFE_TX | Mediciones de CFE TX. |
Integraciones
| Variable | Para qué |
|---|---|
FACTURA_COM_API_URL | Endpoint del proveedor de timbrado. |
FACTURA_COM_API_KEY, FACTURA_COM_SECRET_KEY | Credenciales de timbrado. |
CFDI_VERSION | Versión del comprobante fiscal. |
MEM_ACCESS_KEY, MEM_SECRET_KEY | Acceso a los datos del MEM. |
MAIL_* | Envío de correo. |
Qué se rompe si falta
| Grupo ausente o incorrecto | Efecto |
|---|---|
DB_* | La aplicación no arranca. |
AWS_* / SQS_* | Los comandos que despachan trabajos fallan con error de AWS. |
| Una cola concreta | Solo 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ón | Riesgo 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.