Skip to main content
DevOps define estas variables en tiempo de despliegue. Un cambio requiere reiniciar el servicio. Los ajustes de tiempo de ejecución y de negocio están en Configuración. En las tablas de abajo, la columna Predeterminado / Obligatorio muestra el valor predeterminado. Un calificador en negrita (por ejemplo Obligatorio, Obligatorio en producción, Obligatorio si está habilitado) marca una variable que debes definir. significa que no hay valor predeterminado.

Configuración de infraestructura


Esta sección es para los equipos de DevOps. DevOps define estas variables en tiempo de despliegue. Un cambio se aplica solo después de reiniciar el servicio.

Aplicación

TLS

Encabezados de proxy

Defínelos cuando el servicio corre detrás de un balanceador de carga o un proxy inverso. Permiten que el servicio lea la IP real del cliente para el rate limit y los logs de auditoría.

Autenticación

Este plugin delega la autorización a plugin-auth. Configura la conexión con las variables de abajo.
Cuando PLUGIN_AUTH_ENABLED=true, PLUGIN_AUTH_ADDRESS debe usar HTTPS en los entornos de producción. El servicio rechaza una dirección HTTP al arrancar.

Admin de pruebas (solo fuera de producción)

BTF_TEST_ADMIN_ENABLED debe permanecer en false en producción. Expone endpoints de administración solo para pruebas (por ejemplo POST /admin/test/circuit-breakers/reset) que no llevan tenant y saltan la autenticación de producción. Solo el carril mock de docker-compose lo habilita, para las pruebas E2E. Cualquier despliegue con este indicador en true fuera de una red de pruebas cerrada es un error de configuración.

Idempotencia

Multi-tenancy

BYOC con un solo tenant:
SaaS multi-tenant:

PostgreSQL

Réplica de PostgreSQL

Configura una réplica de lectura para descargar consultas. Todos los campos recurren a los valores del principal cuando no se definen.

MongoDB

El servicio requiere MongoDB para guardar los eventos de auditoría de las transferencias. No arranca sin una conexión válida a MongoDB.

Redis

Redis es una dependencia obligatoria. Guarda en caché las claves de idempotencia y detecta duplicados. Si Redis no está disponible al arrancar, o deja de ser alcanzable en tiempo de ejecución, el servicio se reporta como DOWN a la sonda de readiness. Entonces deja de aceptar solicitudes.

Conexión con JD SPB

Debes definir estas variables para los despliegues BYOC. En modo SaaS, Lerian administra la conexión con JD.

Polling de JD

JD_POLLING_ENABLED tiene el valor predeterminado false para despliegues más seguros. En modo de un solo tenant, define ORGANIZATION_ID antes de habilitarlo. Los workers en segundo plano inyectan ese valor en el contexto para las llamadas posteriores a CRM y Midaz. En modo multi-tenant, el gestor del poller de TED IN encuentra cada tenant activo a través del servicio de la plataforma de multi-tenancy. Luego arranca un poller por tenant y resuelve la configuración de JD de cada tenant.

Servicios externos (Midaz)

Servicios externos (CRM)

Servicios externos (Fees)

BTF_FEE_ENABLED es el interruptor principal. Cuando está en false (valor predeterminado), el plugin no construye ningún adaptador de Fees y cada transferencia sigue con fee=0 y sin llamadas HTTP. Las demás variables FEES_* se aplican solo cuando BTF_FEE_ENABLED=true.

RabbitMQ

Cuando el streaming está habilitado, el plugin puede hacer fan-out de los eventos del ciclo de vida de las transferencias a RabbitMQ para los consumidores posteriores.

Outbox de streaming

El subsistema de streaming publica los eventos de transferencia en el único tema de la aplicación, lerian.streaming.plugin-br-bank-transfer, en un broker de Redpanda/Kafka a través de un outbox transaccional. Debes habilitarlo para la entrega saliente de webhooks (WEBHOOK_ENABLED=true requiere STREAMING_ENABLED=true).

Entrega de webhooks

La entrega saliente de webhooks requiere tanto RabbitMQ como el outbox de streaming. El worker de webhooks consume los eventos de una cola de RabbitMQ y los entrega a los endpoints suscritos.

Telemetría (OpenTelemetry)

Licencia

Cifrado

Cifrado en el nivel de campo para los datos sensibles en reposo. Cada clave debe ser una clave AES-256 de 32 bytes codificada en hexadecimal (64 caracteres hexadecimales). Deja una clave vacía para deshabilitar el cifrado de ese campo.