Esta é a base compartilhada, não a lista completa. Os prefixos das variáveis diferem ligeiramente entre os serviços (por exemplo, um serviço com bancos de dados separados de onboarding e de transação usa namespaces distintos para eles), e cada serviço adiciona suas próprias chaves. Veja Variáveis por produto para as listas exaustivas.
Modo de implantação e TLS
DEPLOYMENT_MODE define com que rigor o serviço impõe TLS em suas conexões de infraestrutura, e seu valor é refletido na resposta de /readyz.
Servidor
Alguns serviços expõem um
SERVER_PORT numérico em vez de, ou além de, SERVER_ADDRESS. Componentes worker sem uma API HTTP principal expõem uma porta de saúde dedicada (por exemplo HEALTH_PORT ou WORKER_SERVER_PORT). Veja Portas de rede padrão e Saúde e prontidão.Datastores
Todo serviço que persiste estado conecta-se a um ou mais datastores. O prefixo da variável depende do store — e, em alguns serviços, do banco de dados lógico. A tabela abaixo mostra o formato comum; consulte a página de cada produto para os nomes exatos.Nem todo serviço usa todos os stores, e os prefixos variam: os produtos centrais costumam usar namespaces por banco de dados lógico nas conexões (por exemplo
DB_ONBOARDING_*, DB_TRANSACTION_*, MONGO_CRM_*), enquanto plugins e trilhos usam o formato plano POSTGRES_* acima. No modo multi-tenant, as credenciais estáticas de datastore são ignoradas — as conexões são resolvidas por tenant (veja abaixo).Multi-tenancy
O multi-tenancy vem desativado por padrão. Quando você o ativa, cada conexão de datastore passa da configuração estática para a resolução por tenant através do Tenant Manager, e o serviço adiciona uma sonda de prontidão por tenant emGET /readyz/tenant/{id}.
Botões adicionais de dimensionamento de pool por tenant, circuit-breaker e TTL de cache (
MULTI_TENANT_MAX_TENANT_POOLS, MULTI_TENANT_CIRCUIT_BREAKER_*, MULTI_TENANT_CACHE_TTL_SEC, entre outros) existem por serviço. Veja as páginas por produto.Configuração em tempo de execução
Quando ativada, o serviço expõe um plano autenticado para ler e gravar configuração em tempo de execução. Veja Systemplane para a API, os namespaces e as permissões exigidas.
Streaming e outbox
O caminho de publicação de eventos (um produtor lib-streaming apoiado por um outbox transacional) vem desativado por padrão em todos os serviços, exceto no worker do Fetcher, que defineSTREAMING_ENABLED=true para emitir eventos de conclusão de job.
STREAMING_SASL_* e STREAMING_TLS_* protegem a conexão com o broker — defina-as quando seu broker exigir autenticação ou TLS.Service discovery
O service discovery via Consul vem desativado por padrão. Quando ativado, o serviço se registra e resolve os peers através do Consul em vez de endereços estáticos.Alguns serviços usam aliases legados (
SD_ADVERTISE_*, CONSUL_ADDR) para o mesmo comportamento.Observabilidade
A telemetria é baseada em push (OTLP). Alguns serviços expõem adicionalmente um endpoint/metrics para scraping pelo Prometheus — veja Saúde e prontidão.
Autenticação de plugins
Os serviços Lerian podem autenticar as rotas protegidas — incluindo a API de administração do systemplane — através do Access Manager (baseado em Casdoor). O toggle de autenticação, seu nome de variável e seu valor padrão diferem por serviço: a maioria dos plugins e produtos usaPLUGIN_AUTH_ENABLED (padrão false, desligado), enquanto rails nativos como SILOC e SPB usam AUTH_ENABLED (padrão true, ligado — obrigatório em produção e SaaS) em conjunto com AUTH_ADDRESS. Sempre ative a autenticação em produção e consulte a página de variáveis de ambiente de cada produto ou rail para o nome do toggle, o valor padrão e as rotas que ele protege.
Variáveis por produto
As variáveis acima são a base compartilhada. Cada produto adiciona as suas próprias — prefixos de datastore, URLs de integração, ajuste de workers e chaves de recurso. Use as páginas por produto para a lista completa e atual:Midaz
Tracer
Reporter
Flowker
Lender
Fetcher
A lista exaustiva de variáveis por serviço é entregue no arquivo
.env.example de cada serviço. Trate-o como a fonte da verdade para um release específico e nunca faça commit de valores de segredo reais nele.
