Servicios de los que depende Lender
PostgreSQL, Valkey, Midaz y RedPanda son obligatorios: Lender no inicia sin el backbone de eventos, y sin Midaz configurado toda solicitud y liberación de crédito directo responden 503. Un proveedor de identidad es obligatorio cuando la autorización de rutas está habilitada, que es el valor por defecto. Con
DEPLOYMENT_MODE en byoc, saas o production, Lender no inicia sin él. Lender también necesita una licencia válida, como clave o como archivo de licencia firmado. Valkey y RedPanda deben ser accesibles desde cada proceso de Lender, y el servicio de licencias también, cuando usas la clave.
Aplicar las migraciones
Lender no migra la base de datos cuando arranca. Las migraciones las aplicas por fuera, desde un conjunto en el directorio
migrations. La imagen del contenedor lleva un binario /migrate que lo aplica. El binario comprueba la licencia antes de trabajar, así que da al job de migración LICENSE_KEY o LICENSE_FILE_PATH además de DATABASE_URL.
El conjunto también carga el registro de jurisdicciones: dos jurisdicciones activas, BR para Brasil y XX, la base genérica. Ninguna API crea una jurisdicción. El binario desplegado lleva el comportamiento de cada perfil, y la tabla registra qué códigos conoce ese binario. Lee Jurisdicciones para saber qué decide un perfil.
Configuración obligatoria
El outbox de PostgreSQL es obligatorio y se inicializa de forma automática. Configura la autenticación cuando tu despliegue habilita la autorización por ruta.
Una licencia: LICENSE_KEY o LICENSE_FILE_PATH
Define LICENSE_KEY con la clave de licencia de Lerian de tu despliegue, o monta un archivo de licencia firmado y define LICENSE_FILE_PATH. La clave es válida para todo el despliegue. Lender valida la licencia al iniciar en todo DEPLOYMENT_MODE, y Lender no inicia sin una licencia aceptada. Nada desactiva esa comprobación. Si el servicio de licencia no responde, Lender sigue en pie, no listo, y sigue intentando. Si la licencia se revoca después, /readyz la reporta como caída, Lender rechaza las rutas con licencia y se apaga. /health y /version siguen accesibles en el puerto de la API, y /readyz en el puerto de salud. Abre la regla de salida que describe License Manager.
Un sujeto autenticado: PLUGIN_AUTH_ENABLED=true, el valor por defecto
Lender registra quién actuó en cada solicitud de préstamo. Lee al oficial asignado del sujeto del Bearer token, no del cuerpo de la solicitud. Por lo tanto, toda llamada de solicitud de préstamo necesita una identidad autenticada.
PLUGIN_AUTH_ENABLED es true de forma predeterminada. Define PLUGIN_AUTH_HOST con la dirección de tu proveedor de identidad.
Después envía un Bearer token en cada llamada. El token necesita un claim de sujeto no vacío. Cualquier operador o admin que tenga el permiso de la ruta puede aprobar, rechazar, retirar o desembolsar una solicitud directa, sin importar quién la creó.
Lender define sus roles y permisos en un archivo de semilla. Carga esa semilla en tu proveedor de identidad. El rol del oficial necesita estos permisos:
Un sumidero de asientos durable: siempre presente
Un préstamo desembolsado registra su intención de asiento de forma durable. Lender inicializa su outbox transaccional de PostgreSQL en cada despliegue, dentro de la misma transacción de base de datos que mueve la solicitud adisbursed. OUTBOX_ENABLED no existe.
El despachador transmite cada intención después, con la cadencia que define OUTBOX_DISPATCH_INTERVAL_SEC. Lee Contabilidad y ejecuciones de devengo para saber qué recibe el ledger.
Asientos en el ledger
Apunta Lender a Midaz. La originación lo necesita:
La credencial de Lender en Midaz también debe alcanzar a los titulares del CRM de Midaz, porque cada solicitud busca o registra ahí al prestatario. Sin Midaz configurado, toda solicitud y liberación de crédito directo responden 503.
Con
MIDAZ_LEDGER_ACCOUNT_PROVISIONING_ENABLED=true, el valor por defecto, Lender prepara el ledger antes de contabilizar: adopta el activo del ledger por código o lo crea, asegura el tipo de cuenta de la naturaleza de cada pierna y crea las cuentas de las piernas que nombra el perfil contable. Cuando un perfil contable indica midazOrganizationId y no indica midazLedgerId, Lender busca o crea el ledger lender-product-<loan product id> en esa organización. Toda versión de un producto contabiliza en el ledger que eligió su primera versión configurada.
Valores predeterminados del tenant
DEFAULT_TENANT_ID identifica al tenant, y debe ser un UUID válido. Un tenant sin vínculo en lender.jurisdictions/tenant_bindings recibe 403 en toda ruta de Brasil. En un despliegue BYOC, define los vínculos como muestra Configuración y despliegue.
Streaming de eventos
Lender no arranca sin el backbone de eventos. Define
STREAMING_ENABLED=true, apunta STREAMING_BROKERS a RedPanda y define STREAMING_CLOUDEVENTS_SOURCE=lender. Lender valida esos valores cuando arranca.
Lista de verificación
- PostgreSQL 17, Valkey 8 y RedPanda accesibles.
- Midaz accesible, con las credenciales del ledger y del CRM definidas.
LICENSE_KEYoLICENSE_FILE_PATHdefinida y, con la clave, el servicio de licencias accesible.- Migraciones aplicadas y vínculos de jurisdicción definidos.
STREAMING_ENABLED=trueySTREAMING_BROKERSdefinidos.- Cuando la autorización de rutas está habilitada, asegúrate de que el proveedor de identidad sea accesible y usa un Bearer token con sujeto y todos los permisos de la tabla anterior.
DEFAULT_TENANT_IDun UUID válido.
Próximos pasos
Inicio rápido
Siete llamadas desde una base de datos vacía hasta un préstamo desembolsado.
Configuración y despliegue
La forma completa del contenedor, la superficie de entorno más amplia y la ruta de asiento en el ledger.

