Skip to main content
Esta referencia enumera las variables de entorno que configuran el servicio ledger de Midaz. Midaz es el motor de partida doble source-available (ELv2). Sirve las API de onboarding y transacciones en un solo puerto. Configuras estas variables en el momento del despliegue, mediante valores de Helm, Docker Compose o el entorno de tu orquestador. Una variable obligatoria que no configures hace que el servidor falle al iniciar. Cada producto de Lerian comparte un conjunto de bloques de configuración: postura de TLS, OpenTelemetry, autenticación de Access Manager, multi-tenancy, descubrimiento de servicios y streaming de eventos. La referencia de configuración de BYOC documenta estos bloques. Esta página se centra en lo distintivo del ledger.
La consolidación ya se aplicó. Despliegas el servicio ledger (rutas unificadas de onboarding y transacciones), y CRM y Fees se compilan dentro de ese mismo proceso ledger. El binario del ledger lee las variables de CRM y Fees que se muestran abajo. Tracer vive en el mismo repositorio y se distribuye como su propio servicio opcional. Los antiguos componentes onboarding, transaction y mdz ya no existen como unidades de despliegue independientes. El chart de Helm todavía incluye un despliegue heredado independiente de crm, desactivado de forma predeterminada.

Puertos y endpoints de salud

El ledger ejecuta un solo proceso HTTP. Consulta la referencia de salud y disponibilidad para conocer el contrato de las sondas. El ledger usa OTLP push para la telemetría y no expone un endpoint de scrape /metrics.

Despliegue y TLS

Aplicación

Base de datos (PostgreSQL)

El ledger mantiene dos bases de datos lógicas (onboarding y transaction), cada una con un bloque de conexión primario y uno de réplica. Las variables comparten una misma forma. Reemplaza {MODULE} por ONBOARDING o TRANSACTION. Las variables de réplica llevan el infijo _REPLICA_ (por ejemplo, DB_ONBOARDING_REPLICA_HOST).

Almacén de documentos (MongoDB)

Las variables de MongoDB usan un namespace por módulo: MONGO_ONBOARDING_*, MONGO_TRANSACTION_* y, en el binario consolidado, MONGO_CRM_* y MONGO_FEES_*. Todas comparten una misma forma. Reemplaza {NS} por el namespace. Pueden apuntar a un solo despliegue de MongoDB (con bases de datos lógicas separadas) o a hosts dedicados.

Caché (Redis / Valkey)

Broker de mensajes (RabbitMQ)

El pipeline interno asíncrono de operaciones de saldo usa RabbitMQ cuando RABBITMQ_TRANSACTION_ASYNC=true. RabbitMQ también transporta ciertos exchanges salientes heredados.

Rendimiento

Integración con Tracer

El seam opcional permite que el ledger reserve límites de gasto contra Tracer antes de confirmar una transacción. Deja TRACER_BASE_URL sin configurar para desactivarlo.
Con TRACER_BASE_URL configurada, el seam usa el transporte grpc predeterminado a menos que configures TRACER_TRANSPORT=rest. El transporte gRPC requiere que el servicio Tracer exponga su seam gRPC de reservas. Configura TRACER_GRPC_PORT en Tracer (consulta Variables de entorno de Tracer). Bajo TRACER_TLS_MODE=mtls, debes configurar las rutas del certificado de cliente, la clave y la CA indicadas arriba.

CRM y Fees

El proceso del ledger lee estas variables porque CRM y Fees se compilan dentro del binario del ledger. Protegen la PII del titular de la cuenta y configuran el backend de cifrado de campos.

Columna vertebral de configuración compartida

Los siguientes bloques son idénticos en todos los productos de Lerian. La referencia de configuración de BYOC los documenta en detalle. Están desactivados de forma predeterminada. Un despliegue BYOC de un solo tenant puede ignorar todos los opcionales.
  • Autenticación de Access Manager: PLUGIN_AUTH_ENABLED, PLUGIN_AUTH_HOST. Habilítala en producción.
  • Multi-tenancy: MULTI_TENANT_*. Desactivado de forma predeterminada. Habilita la resolución de bases de datos por tenant.
  • Descubrimiento de servicios: SD_* (Consul). Desactivado de forma predeterminada.
  • Streaming de eventos: STREAMING_* (productor de lib-streaming). Desactivado de forma predeterminada en el ledger.
  • OpenTelemetry: ENABLE_TELEMETRY, OTEL_*. La telemetría es OTLP push.