> ## 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 deploy específicas do Consignado para conectividade com o Dataprev, workers, leilões, credenciais, artefatos, ritmo e janelas operacionais.

Defina essas variáveis no momento do deploy. Salvo indicação contrária, alterar uma delas exige uma reinicialização. A [referência de configuração do BYOC](/pt/reference/byoc-configuration) cobre o runtime compartilhado da Lerian: servidor, datastores, multi-tenancy, telemetria, autenticação, streaming, outbox e licenciamento. Esta página lista as configurações específicas do Consignado e as poucas configurações compartilhadas que mudam materialmente o comportamento do trilho.

`—` significa nenhum padrão. Variáveis que carregam certificados, chaves privadas, segredos OAuth ou chaves HMAC são sensíveis e devem vir de um gerenciador de segredos.

## Serviço e modo de tenant

| Variável                       | Padrão        | Finalidade                                                                                                                                           |
| ------------------------------ | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SERVER_ADDRESS`               | `:8080`       | Listener HTTP principal para a API e os probes.                                                                                                      |
| `ENV_NAME`                     | `development` | Ativa o hardening de produção quando definido como `production`.                                                                                     |
| `ENVIRONMENT_NAME`             | —             | Ambiente do event listener multi-tenant; usa `ENV_NAME` como alternativa.                                                                            |
| `SYSTEMPLANE_ENABLED`          | `false`       | Habilita a configuração em tempo de execução em `/system`.                                                                                           |
| `MULTI_TENANT_ENABLED`         | `false`       | Seleciona a custódia de credenciais do Dataprev por tenant em vez do fallback estático single-tenant.                                                |
| `DEFAULT_TENANT_ID`            | `default`     | Tenant usado no modo single-tenant.                                                                                                                  |
| `OUTBOX_ENABLED`               | `true`        | Deve ser `true`; a inicialização recusa um deploy que não consiga registrar fatos do trilho de forma durável.                                        |
| `STREAMING_ENABLED`            | `true`        | Deve ser `true`; o relay de streaming é o único a publicar os fatos do outbox.                                                                       |
| `STREAMING_BROKERS`            | —             | Lista de brokers obrigatória. A inicialização recusa um relay sem destino.                                                                           |
| `STREAMING_CLOUDEVENTS_SOURCE` | —             | Deve ser exatamente `consignado-gw`. A inicialização recusa qualquer outro valor; uma origem errada significa que nenhum fato chega a um consumidor. |

## Cliente e autenticação do Dataprev

| Variável                          | Padrão  | Finalidade                                                                                                                                        |
| --------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DATAPREV_ENABLED`                | `false` | Chave mestra para o runtime do trilho Dataprev.                                                                                                   |
| `DATAPREV_BASE_URL`               | —       | URL base da API principal do Dataprev. HTTPS é obrigatório em deploys gerenciados; local/dev permite HTTP apenas para hosts loopback.             |
| `DATAPREV_TOMBAMENTO_BASE_URL`    | —       | Endpoint separado para operações de tombamento. Vazio mantém essas operações indisponíveis. Segue a mesma política de HTTPS/loopback.             |
| `DATAPREV_OAUTH_TOKEN_URL`        | —       | Endpoint de token OAuth2. HTTPS é obrigatório em deploys gerenciados; local/dev permite HTTP apenas para hosts loopback.                          |
| `DATAPREV_OAUTH_CLIENT_ID`        | —       | Client ID OAuth de fallback single-tenant. Sensível.                                                                                              |
| `DATAPREV_OAUTH_CLIENT_SECRET`    | —       | Client secret OAuth de fallback single-tenant. Sensível.                                                                                          |
| `DATAPREV_OAUTH_SCOPES`           | —       | Escopos OAuth delimitados por espaço solicitados ao Dataprev.                                                                                     |
| `DATAPREV_CERT_FILE`              | —       | Caminho local do certificado ICP-Brasil para desenvolvimento single-tenant não gerenciado. Sensível.                                              |
| `DATAPREV_KEY_FILE`               | —       | Caminho local da chave privada pareada com `DATAPREV_CERT_FILE`. Sensível.                                                                        |
| `DATAPREV_CODIGO_SOLICITANTE`     | —       | Fallback de código de solicitante de três dígitos para o modo single-tenant.                                                                      |
| `DATAPREV_REQUEST_TIMEOUT_SEC`    | `30`    | Timeout para uma requisição ao Dataprev.                                                                                                          |
| `DATAPREV_REQUESTS_PER_SECOND`    | `25`    | Teto validado pelo operador e padrão do Systemplane para o ritmo do trilho.                                                                       |
| `DATAPREV_CONSENT_CACHE_HMAC_KEY` | —       | Chave HMAC usada para indexar entradas do cache de consentimento do trabalhador sem expor o CPF. Obrigatória quando o trilho usa Redis. Sensível. |

Deploys gerenciados devem usar custódia de credenciais por tenant. Eles falham de forma fechada em vez de recorrer a um cliente sem autenticação ou sem mTLS.

## Contrato e janelas de portabilidade

| Variável                                                 | Padrão  | Finalidade                                                                 |
| -------------------------------------------------------- | ------- | -------------------------------------------------------------------------- |
| `DATAPREV_AVERBACAO_ENABLED`                             | `false` | Habilita o runtime de averbação e o caminho de testemunho de proposta.     |
| `DATAPREV_PORTABILIDADE_SOLICITACAO_WINDOW_HOURS`        | `72`    | Janela de lookback para propostas de portabilidade.                        |
| `DATAPREV_PORTABILIDADE_INCLUSAO_GARANTIAS_PATH`         | —       | Override para o caminho de envio de garantia de portabilidade do Dataprev. |
| `DATAPREV_PORTABILIDADE_AVERBACAO_WINDOW_DAYS`           | `20`    | Janela para concluir o registro de portabilidade de saída.                 |
| `DATAPREV_REFINANCIAMENTO_REVERSAO_WINDOW_BUSINESS_DAYS` | `7`     | Janela em dias úteis para reversão de refinanciamento.                     |
| `DATAPREV_SALDO_DEVEDOR_CLOCK_INTERVAL_SEC`              | `86400` | Cadência para obrigações de saldo devedor e fallback de fim de mês.        |

## Conciliação e feeds de emprego

| Variável                                        | Padrão     | Finalidade                                                                     |
| ----------------------------------------------- | ---------- | ------------------------------------------------------------------------------ |
| `DATAPREV_RECONCILIATION_ENABLED`               | `false`    | Habilita a conciliação de escrituração de folha de pagamento e de repasse.     |
| `DATAPREV_RECONCILIATION_INTERVAL_SEC`          | `3600`     | Cadência de conciliação.                                                       |
| `DATAPREV_RECONCILIATION_LOOKBACK_MONTHS`       | `1`        | Competências de folha anteriores incluídas em cada execução.                   |
| `DATAPREV_RECONCILIATION_CNPJS`                 | —          | Escopos de empregador separados por vírgula; vazio lê o feed de todo o trilho. |
| `DATAPREV_RECONCILIATION_TENANT_ID`             | —          | Tenant usado pelos feeds agendados single-tenant.                              |
| `DATAPREV_EMPLOYMENT_REPORT_ENABLED`            | `false`    | Habilita o feed de rescisão de emprego.                                        |
| `DATAPREV_EMPLOYMENT_REPORT_ADAPTER`            | `disabled` | `dataprev` para o adapter real; `fake` é apenas local.                         |
| `DATAPREV_EMPLOYMENT_REPORT_INTERVAL_SEC`       | `3600`     | Cadência do relatório de emprego.                                              |
| `DATAPREV_EMPLOYMENT_REPORT_PAGE_SIZE`          | `100`      | Registros solicitados por página.                                              |
| `DATAPREV_EMPLOYMENT_REPORT_CONCURRENCY`        | `4`        | Workers concorrentes por tenant.                                               |
| `DATAPREV_EMPLOYMENT_REPORT_TENANT_TIMEOUT_SEC` | `300`      | Tempo máximo de processamento para um tenant em uma execução.                  |

## Exclusão e redirecionamento

| Variável                                         | Padrão     | Finalidade                                                                                 |
| ------------------------------------------------ | ---------- | ------------------------------------------------------------------------------------------ |
| `DATAPREV_EXCLUSION_ENABLED`                     | `false`    | Habilita a admissão e a recuperação de exclusão.                                           |
| `DATAPREV_EXCLUSION_PROVIDER_TIMEOUT_SEC`        | `30`       | Timeout para uma chamada ao provedor de exclusão.                                          |
| `DATAPREV_EXCLUSION_CLAIM_DWELL_SEC`             | `60`       | Tempo de permanência mínimo antes que um trabalho reivindicado possa ser repetido.         |
| `DATAPREV_EXCLUSION_STATUS_CHECK_LEASE_SEC`      | `60`       | Lease para verificações de status de exclusão.                                             |
| `DATAPREV_EXCLUSION_RECOVERY_INTERVAL_SEC`       | `30`       | Cadência do loop de recuperação.                                                           |
| `DATAPREV_EXCLUSION_RECOVERY_BATCH`              | `50`       | Operações reivindicadas por execução.                                                      |
| `DATAPREV_EXCLUSION_RECOVERY_CONCURRENCY`        | `4`        | Workers de recuperação concorrentes.                                                       |
| `DATAPREV_EXCLUSION_RECOVERY_TENANT_TIMEOUT_SEC` | `60`       | Tempo máximo de processamento para um tenant em uma execução.                              |
| `DATAPREV_REDIRECTION_ADAPTER`                   | `disabled` | Seleção do adapter de redirecionamento. `fake` apenas é aceito para desenvolvimento local. |

`DATAPREV_EXCLUSION_ADAPTER` e `DATAPREV_EXCLUSION_FAKE_BASE_URL` foram descontinuadas. Remova-as dos manifests de deploy. Valores legados não inertes falham na validação.

## Recuperação de desfecho

Um comando de trilho pode terminar com o desfecho não estabelecido: o processo morreu no meio da chamada, ou o Dataprev nunca respondeu. Dois loops de recuperação convergem esse estado com o registro próprio do trilho. Os dois loops ficam desligados por padrão. Habilite-os em qualquer deploy que envie averbações ou comandos de trilho. Caso contrário, um desfecho não estabelecido nunca se resolve.

| Variável                                              | Padrão  | Finalidade                                                                                                        |
| ----------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------- |
| `DATAPREV_AVERBACAO_RECOVERY_ENABLED`                 | `false` | Habilita a convergência de desfecho de averbação.                                                                 |
| `DATAPREV_AVERBACAO_RECOVERY_INTERVAL_SEC`            | `60`    | Cadência de convergência.                                                                                         |
| `DATAPREV_AVERBACAO_RECOVERY_BATCH`                   | `50`    | Registros reivindicados por execução.                                                                             |
| `DATAPREV_AVERBACAO_RECOVERY_CONCURRENCY`             | `4`     | Workers concorrentes por tenant.                                                                                  |
| `DATAPREV_AVERBACAO_RECOVERY_TENANT_TIMEOUT_SEC`      | `60`    | Tempo máximo de processamento para um tenant em uma execução.                                                     |
| `DATAPREV_AVERBACAO_RECOVERY_MINIMUM_DWELL_SEC`       | `300`   | Idade mínima antes que um desfecho não estabelecido seja conciliado.                                              |
| `DATAPREV_AVERBACAO_RECOVERY_PROVIDER_TIMEOUT_SEC`    | `30`    | Timeout para uma leitura do registro.                                                                             |
| `DATAPREV_RAIL_COMMAND_RECOVERY_ENABLED`              | `false` | Habilita a convergência de refinanciamento, reversão, renegociação e exclusão de portabilidade do lado de origem. |
| `DATAPREV_RAIL_COMMAND_RECOVERY_INTERVAL_SEC`         | `60`    | Cadência de convergência.                                                                                         |
| `DATAPREV_RAIL_COMMAND_RECOVERY_BATCH`                | `50`    | Registros reivindicados por execução.                                                                             |
| `DATAPREV_RAIL_COMMAND_RECOVERY_CONCURRENCY`          | `4`     | Workers concorrentes por tenant.                                                                                  |
| `DATAPREV_RAIL_COMMAND_RECOVERY_TENANT_TIMEOUT_SEC`   | `60`    | Tempo máximo de processamento para um tenant em uma execução.                                                     |
| `DATAPREV_RAIL_COMMAND_RECOVERY_MINIMUM_DWELL_SEC`    | `300`   | Idade mínima antes que um desfecho não estabelecido seja conciliado.                                              |
| `DATAPREV_RAIL_COMMAND_RECOVERY_PROVIDER_TIMEOUT_SEC` | `30`    | Timeout para uma leitura do registro.                                                                             |

## Leilões e lances de clientes

| Variável                          | Padrão  | Finalidade                                                                                                                                                                                                                                                                            |
| --------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `LEILAO_ENABLED`                  | `false` | Habilita a descoberta agendada de solicitações de empréstimo abertas.                                                                                                                                                                                                                 |
| `LEILAO_CLIENT_BID_ENABLED`       | `false` | Habilita a superfície de comando de lance autenticado do cliente.                                                                                                                                                                                                                     |
| `LEILAO_INTERVAL_SEC`             | `3600`  | Cadência de descoberta de leilão.                                                                                                                                                                                                                                                     |
| `LEILAO_TENANT_ID`                | —       | Tenant usado pelos fluxos de leilão M001 e de descoberta de portabilidade M011. Obrigatório quando qualquer um dos fluxos habilitados precisa dele.                                                                                                                                   |
| `LEILAO_PORTAL_BASE_URL`          | —       | URL base opcional de fallback single-tenant do portal do trabalhador. Deixar sem definir é um deploy válido: os lances então trafegam com os próprios contatos do cliente. Um valor definido é validado na inicialização, e um valor inseguro falha a inicialização de forma fechada. |
| `LEILAO_DISCOVERY_LOOKBACK_HOURS` | `8760`  | Lookback inicial e de recuperação para solicitações abertas.                                                                                                                                                                                                                          |
| `LEILAO_DISCOVERY_CLOCK_SKEW_SEC` | `300`   | Sobreposição de clock skew aplicada às janelas de descoberta.                                                                                                                                                                                                                         |
| `LEILAO_PORTABILITY_ENABLED`      | `false` | Habilita a descoberta de portabilidade M011. Isso é independente de `LEILAO_ENABLED`.                                                                                                                                                                                                 |
| `LEILAO_PORTABILITY_INTERVAL_SEC` | `3600`  | Cadência da execução de descoberta de portabilidade M011.                                                                                                                                                                                                                             |
| `LEILAO_BID_MANAGER_RPS`          | `25`    | Orçamento de requisições para o fan-out do gerenciador de lances.                                                                                                                                                                                                                     |
| `LEILAO_BID_MANAGER_BURST`        | `25`    | Orçamento de burst imediato para o fan-out do gerenciador de lances.                                                                                                                                                                                                                  |
| `LEILAO_DECIDE_DEADLINE_SEC`      | `5`     | Prazo de decisão por gerenciador de lances.                                                                                                                                                                                                                                           |

A descoberta de portabilidade M011 exige `LEILAO_PORTABILITY_ENABLED=true`, `LEILAO_TENANT_ID`, `DATAPREV_ENABLED=true`, `STREAMING_ENABLED=true`, um banco de dados primário e o outbox canônico. Ela não exige `LEILAO_ENABLED=true`. A janela de listagem de portabilidade é de 72 horas por padrão (`DATAPREV_PORTABILIDADE_SOLICITACAO_WINDOW_HOURS`). O serviço recusa a inicialização a menos que essa janela seja maior que `LEILAO_PORTABILITY_INTERVAL_SEC` mais a margem de 300 segundos de `LEILAO_DISCOVERY_CLOCK_SKEW_SEC`.

## Custódia de credenciais e artefatos

| Variável                                      | Padrão  | Finalidade                                                                                                                                                                                                                                                                                                |
| --------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CREDENTIALS_STORE_ENABLED`                   | `false` | Habilita a custódia de credenciais por tenant. Obrigatória quando o trilho Dataprev roda em um deploy gerenciado.                                                                                                                                                                                         |
| `CREDENTIALS_CLEANUP_INTERVAL_SEC`            | `30`    | Cadência de limpeza de credenciais.                                                                                                                                                                                                                                                                       |
| `CREDENTIALS_CLEANUP_BATCH_SIZE`              | `50`    | Credenciais reivindicadas por execução de limpeza.                                                                                                                                                                                                                                                        |
| `CREDENTIALS_CLEANUP_CONCURRENCY`             | `4`     | Workers de limpeza concorrentes.                                                                                                                                                                                                                                                                          |
| `CREDENTIALS_CLEANUP_LEASE_SEC`               | `60`    | Lease de limpeza.                                                                                                                                                                                                                                                                                         |
| `CREDENTIALS_CLEANUP_PERSISTENCE_TIMEOUT_SEC` | `5`     | Timeout de persistência para uma operação de limpeza.                                                                                                                                                                                                                                                     |
| `AVERBACAO_ARTIFACTS_BUCKET`                  | —       | Bucket privado de armazenamento de objetos para artefatos de CCB e do trilho. Obrigatório quando `DATAPREV_AVERBACAO_ENABLED=true`.                                                                                                                                                                       |
| `AVERBACAO_ARTIFACTS_ENDPOINT_URL`            | —       | Override de endpoint compatível com S3 para armazenamentos de objetos locais ou privados.                                                                                                                                                                                                                 |
| `AVERBACAO_ARTIFACTS_USE_PATH_STYLE`          | `false` | Usa endereçamento S3 no estilo path quando habilitado.                                                                                                                                                                                                                                                    |
| `AWS_REGION`                                  | —       | Região usada pela custódia de credenciais e pelo armazenamento de artefatos. Deliberadamente sem padrão: um valor não definido permite que o AWS SDK resolva a própria região da instituição, e um valor fixo a sobrescreveria. Defina-a explicitamente para a região em que seus dados devem permanecer. |
| `AWS_ENDPOINT_URL`                            | —       | Override de endpoint compatível com AWS para desenvolvimento local. Não defina em produção AWS gerenciada.                                                                                                                                                                                                |

<Note>
  O Consignado não tem modo de inicialização não orientado a eventos: outbox, streaming e brokers são obrigatórios, mesmo que a plataforma compartilhe essas configurações. Mantenha a origem do CloudEvent fixa em `consignado-gw`.
</Note>
