> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Variáveis de ambiente

> Variáveis de ambiente definidas no deploy do Lerian SILOC: runtime, conectividade com a fila de liquidação do SILOC, persistência, autenticação e certificados.

O Lerian SILOC é a integração de mensageria nativa da Lerian para o SILOC, o sistema de liquidação diferida líquida que a Núclea opera para fluxos de boleto e cartão. Você define essas variáveis no momento do deploy. Uma alteração apenas entra em vigor depois que você reinicia o serviço. Para os parâmetros que se comportam da mesma forma em todo serviço Go da Lerian (postura de deployment, telemetria e convenções de datastore), consulte [Fundamentos de configuração do BYOC](/pt/reference/byoc-configuration).

<Note>
  O Lerian SILOC é um serviço em estágio inicial. Esta página documenta a superfície de configuração atualmente verificada. Espera-se que ela cresça conforme o trilho amadurece. Por exemplo, a Lerian planeja um plano de configuração de runtime via systemplane, mas ainda não o expõe. Trate a referência de ambiente do próprio serviço como a fonte de verdade para uma versão específica.
</Note>

Nas tabelas abaixo, **Obrigatório** marca uma variável que você deve definir, de forma global ou sob a condição indicada. `—` significa que não há padrão.

## Runtime e servidor

| Variável          | Descrição                                                                                                                                                                                                  | Padrão            | Obrigatório |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | ----------- |
| `SERVICE_NAME`    | Identificador do serviço usado em logs e telemetria.                                                                                                                                                       | Padrão do serviço | Não         |
| `ENV_NAME`        | Rótulo do ambiente de runtime. `production` ativa os controles mais rígidos de autenticação e TLS descritos abaixo.                                                                                        | `development`     | Não         |
| `DEPLOYMENT_MODE` | Postura de aplicação de TLS (`local`, `byoc`, `saas`). `saas` torna o TLS obrigatório e recusa iniciar sem ele. Consulte [Modo de deploy e TLS](/pt/reference/byoc-configuration#deployment-mode-and-tls). | —                 | Não         |
| `LOG_LEVEL`       | Verbosidade de log (`debug`, `info`, `warn`, `error`).                                                                                                                                                     | `info`            | Não         |
| `SERVER_PORT`     | Porta de escuta HTTP. Os probes de liveness e readiness usam essa mesma porta.                                                                                                                             | `9820`            | Não         |

## Autenticação

O Lerian SILOC autoriza rotas protegidas por meio do Access Manager. Ele funciona com padrão fechado: a autenticação permanece ativa a menos que você a desabilite.

| Variável       | Descrição                                                                                         | Padrão | Obrigatório |
| -------------- | ------------------------------------------------------------------------------------------------- | ------ | ----------- |
| `AUTH_ENABLED` | Exige autenticação do Access Manager nas rotas protegidas. Deve ser `true` em produção e no SaaS. | `true` | Em produção |
| `AUTH_ADDRESS` | Endereço do serviço Access Manager. Deve ser uma URL `https://` válida em produção e no SaaS.     | —      | Em produção |

## PostgreSQL

A réplica volta a usar o host primário quando você deixa `DB_REPLICA_HOST` vazio (padrão de nó único).

| Variável          | Descrição                                                                                | Padrão    | Obrigatório            |
| ----------------- | ---------------------------------------------------------------------------------------- | --------- | ---------------------- |
| `DB_HOST`         | Host do PostgreSQL.                                                                      | —         | Sim (em operação real) |
| `DB_PORT`         | Porta do PostgreSQL.                                                                     | `5432`    | Não                    |
| `DB_USER`         | Usuário do banco de dados.                                                               | —         | Sim (em operação real) |
| `DB_PASSWORD`     | Senha do banco de dados. Sensível — injete no momento do deploy; nunca faça commit dela. | —         | Sim (em operação real) |
| `DB_NAME`         | Nome do banco de dados.                                                                  | —         | Sim (em operação real) |
| `DB_SSLMODE`      | Modo de TLS do libpq. Use `require` ou algo mais forte em produção.                      | `disable` | Não                    |
| `DB_REPLICA_HOST` | Host opcional de réplica de leitura. Volta a usar `DB_HOST` quando não definido.         | —         | Não                    |

## Redis

| Variável         | Descrição                                                                                                             | Padrão  | Obrigatório |
| ---------------- | --------------------------------------------------------------------------------------------------------------------- | ------- | ----------- |
| `REDIS_ADDRESS`  | Host e porta do Redis/Valkey.                                                                                         | —       | Não         |
| `REDIS_PASSWORD` | Senha do Redis. Sensível.                                                                                             | —       | Não         |
| `REDIS_DB`       | Número do banco de dados Redis.                                                                                       | `0`     | Não         |
| `REDIS_TLS`      | Define a postura de TLS informada pela verificação de readiness do Redis. Não configura o TLS do transporte do Redis. | `false` | Não         |

## Conectividade de liquidação do SILOC

O Lerian SILOC mantém uma única conexão IBM MQ com o gerenciador de filas de liquidação do SILOC na Núclea. Definir `MQ_HOST`, `MQ_CHANNEL`, `MQ_QUEUE_MANAGER`, `MQ_SEND_QUEUE` ou `MQ_RECEIVE_QUEUE` faz o serviço validar todo o descritor de conexão de forma fail-closed na inicialização. Sozinhas, `MQ_PORT`, `MQ_TLS_ENABLED` e `MQ_SSL_KEY_REPOSITORY` não ativam essa validação.

| Variável                | Descrição                                                                                                                                                                                                                                                                                                                 | Padrão     | Obrigatório                  |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------------------------- |
| `MQ_HOST`               | Host do gerenciador de filas.                                                                                                                                                                                                                                                                                             | —          | Sim (SILOC em operação real) |
| `MQ_PORT`               | Porta de escuta do gerenciador de filas.                                                                                                                                                                                                                                                                                  | —          | Sim (SILOC em operação real) |
| `MQ_QUEUE_MANAGER`      | Nome do gerenciador de filas. Deve ser o gerenciador de filas de liquidação do SILOC na Núclea.                                                                                                                                                                                                                           | —          | Sim (SILOC em operação real) |
| `MQ_CHANNEL`            | Canal de conexão do servidor. Deve corresponder ao padrão de canal do SILOC na Núclea `C02992335.<ISPB>.1`, em que `<ISPB>` é o ISPB de 8 dígitos do participante.                                                                                                                                                        | —          | Sim (SILOC em operação real) |
| `MQ_SEND_QUEUE`         | Fila de envio de saída.                                                                                                                                                                                                                                                                                                   | —          | Sim (SILOC em operação real) |
| `MQ_RECEIVE_QUEUE`      | Fila de recebimento de entrada.                                                                                                                                                                                                                                                                                           | —          | Sim (SILOC em operação real) |
| `MQ_TLS_ENABLED`        | Habilita o TLS mútuo no canal MQ. Deve ser `true` em produção.                                                                                                                                                                                                                                                            | `false`    | Em produção                  |
| `MQ_SSL_KEY_REPOSITORY` | Caminho do repositório de chaves do GSKit (`MQSSLKEYR`) que sustenta o TLS do MQ. A chave privada fica aqui, nunca em uma variável de ambiente. Obrigatório quando `MQ_TLS_ENABLED=true`.                                                                                                                                 | —          | Se TLS habilitado            |
| `CAMARA_PAG_ISPB`       | O ISPB de 8 dígitos da câmara do SILOC. Toda mensagem de liquidação de entrada é autorizada contra esse remetente antes de ter qualquer efeito semântico. Ele corresponde ao prefixo do canal de liquidação, então apenas substitua esse valor para uma câmara de teste. Um valor que não tenha 8 dígitos recusa iniciar. | `02992335` | Não                          |

## Certificados

| Variável                  | Descrição                                                                                                                                                                                        | Padrão | Obrigatório |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------ | ----------- |
| `CERT_READINESS_MIN_DAYS` | Limite de dias até o vencimento que registra um aviso para um certificado atualmente válido. Não degrada o readiness apenas porque o certificado está perto do vencimento. Deve ser maior que 0. | `30`   | Não         |

## Confiança e custódia

| Variável                    | Descrição                                                                                                      | Padrão | Obrigatório |
| --------------------------- | -------------------------------------------------------------------------------------------------------------- | ------ | ----------- |
| `SFN_TRUST_MANIFEST_PATH`   | Caminho do manifesto de confiança do SFN usado para validar o material de confiança de mensagens regulatórias. | —      | Não         |
| `SFN_CUSTODY_CONFIG_PATH`   | Caminho da configuração do provedor de custódia.                                                               | —      | Não         |
| `SFN_CUSTODY_CACHE_ENTRIES` | Número máximo de entradas de custódia mantidas no cache em memória.                                            | `16`   | Não         |

<h2 id="observability">
  Observabilidade
</h2>

| Variável                       | Descrição                                                                                                                                                                                                                                                                                                                                                                         | Padrão  | Obrigatório              |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------ |
| `ENABLE_TELEMETRY`             | Habilita a instrumentação do OpenTelemetry.                                                                                                                                                                                                                                                                                                                                       | `false` | Não                      |
| `OTEL_EXPORTER_OTLP_ENDPOINT`  | Endpoint do coletor OTLP.                                                                                                                                                                                                                                                                                                                                                         | —       | Se telemetria habilitada |
| `STREAMING_BROKERS`            | Endereços dos brokers para o dispatcher obrigatório de fatos do SILOC. O streaming não tem modo desabilitado: uma configuração de broker ausente ou inválida impede a inicialização, em vez de deixar os fatos como `PENDING`. Configure as opções compartilhadas `STREAMING_*` conforme descrito em [Streaming e outbox](/pt/reference/byoc-configuration#streaming-and-outbox). | —       | Sim                      |
| `STREAMING_CLOUDEVENTS_SOURCE` | Identidade de origem do CloudEvents. Copie-a exatamente do pacote de deploy atual da Lerian. Um valor diferente, incluindo espaços em branco no início ou no fim, impede a inicialização; o serviço usa essa identidade para derivar os tópicos de broker e o escopo de controle de acesso.                                                                                       | —       | Sim                      |
| `LDL_FACT_CONSUMER_ENABLED`    | Habilita o consumidor dos fatos oficiais de liquidação LDL do SPB. Cada fato conclui a instrução do SILOC que ele autoriza. Com `true`, `STREAMING_BROKERS` e o datastore PostgreSQL são obrigatórios, e o serviço recusa iniciar sem eles. Desabilitado, sua verificação de readiness informa `skipped`; em execução, a verificação não bloqueia o readiness.                    | `false` | Não                      |

## Health e readiness

O Lerian SILOC expõe `GET /health` (liveness), `GET /readyz` (readiness) e `GET /version` na porta HTTP principal. O serviço inicializa e disponibiliza esses probes mesmo antes que seus datastores e a conexão de liquidação estejam acessíveis. `/readyz` informa a saúde de cada dependência. Consulte [Health e readiness](/pt/reference/health-and-readiness) para o contrato de probe.
