Skip to main content
Esta referência lista as variáveis de ambiente que configuram o serviço de ledger do Midaz. O Midaz é o motor de dupla entrada de código-fonte disponível (ELv2). Ele atende às APIs de onboarding e de transação em uma única porta. Você define estas variáveis no momento da implantação, por valores Helm, Docker Compose ou pelo ambiente do seu orquestrador. Uma variável obrigatória que você não define faz o servidor falhar na inicialização. Todo produto Lerian compartilha um conjunto de blocos de configuração: postura de TLS, OpenTelemetry, autenticação do Access Manager, multi-tenancy, service discovery e streaming de eventos. A referência de configuração BYOC documenta esses blocos. Esta página foca no que é distintivo do ledger.
A consolidação já aconteceu. Você implanta o serviço de ledger (rotas unificadas de onboarding + transação), e CRM e Fees são compilados dentro desse mesmo processo do ledger — o binário do ledger lê as variáveis de CRM e Fees abaixo. O Tracer vive no mesmo repositório e é implantado como serviço opcional próprio. Os antigos componentes onboarding, transaction e mdz não existem mais como implantáveis separados. O chart do Helm ainda traz um deployment crm autônomo legado, desabilitado por padrão.

Portas e endpoints de saúde

O ledger roda um único processo HTTP. Veja a referência de saúde e prontidão para o contrato de sondas. O ledger usa push OTLP para telemetria e não expõe um endpoint /metrics para scraping.

Implantação e TLS

Aplicação

Banco de dados (PostgreSQL)

O ledger mantém dois bancos de dados lógicos — onboarding e transaction — cada um com um bloco de conexão primário e um de réplica. As variáveis compartilham um formato. Substitua {MODULE} por ONBOARDING ou TRANSACTION. As variáveis de réplica carregam um infixo _REPLICA_ (por exemplo DB_ONBOARDING_REPLICA_HOST).

Document store (MongoDB)

As variáveis do MongoDB usam um namespace por módulo: MONGO_ONBOARDING_*, MONGO_TRANSACTION_* e — no binário consolidado — MONGO_CRM_* e MONGO_FEES_*. Todas compartilham um formato. Substitua {NS} pelo namespace. Elas podem apontar para uma única implantação MongoDB (bancos de dados lógicos separados) ou para hosts dedicados.

Cache (Redis / Valkey)

Message broker (RabbitMQ)

O pipeline interno assíncrono de operações de saldo usa o RabbitMQ quando RABBITMQ_TRANSACTION_ASYNC=true; o RabbitMQ também transporta exchanges legados de saída selecionados.

Throughput

Integração com o Tracer

O seam opcional permite ao ledger reservar limites de gasto no Tracer antes de confirmar uma transação. Deixe TRACER_BASE_URL sem definir para desativá-lo.
Com TRACER_BASE_URL definida, o seam usa o transporte grpc padrão a menos que você defina TRACER_TRANSPORT=rest. O transporte gRPC exige que o serviço Tracer exponha seu seam gRPC de reserva — defina TRACER_GRPC_PORT no Tracer (consulte Variáveis de ambiente do Tracer). Com TRACER_TLS_MODE=mtls, você deve definir os caminhos do certificado de cliente, da chave e da CA acima.

CRM e Fees

O processo do ledger lê estas variáveis — CRM e Fees são compilados dentro do binário do ledger. Elas protegem os PII dos titulares de conta e configuram o backend de criptografia de campos.

Base de configuração compartilhada

Os blocos a seguir são idênticos entre os produtos Lerian. A referência de configuração BYOC os documenta por completo. Eles vêm desativados. Uma implantação BYOC single-tenant pode ignorar todos os opcionais.
  • Autenticação do Access ManagerPLUGIN_AUTH_ENABLED, PLUGIN_AUTH_HOST. Ative em produção.
  • Multi-tenancyMULTI_TENANT_*. Desativado por padrão. Ativa a resolução de banco de dados por tenant.
  • Service discoverySD_* (Consul). Desativado por padrão.
  • Streaming de eventosSTREAMING_* (produtor lib-streaming). Desativado por padrão no ledger.
  • OpenTelemetryENABLE_TELEMETRY, OTEL_*. A telemetria é push OTLP.