> ## 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.

# Operando o Lerian SRC

> Verificações de readiness, a conexão IBM MQ, credenciais e chaves, dados pessoais, casos de operador, configuração em runtime, armazenamento, métricas e a postura de deploy do Lerian SRC.

O Lerian SRC leva as consultas da sua instituição ao BACEN. Uma instância que não está pronta é um evento operacional.

## Saúde e readiness

***

`GET /health` informa a liveness. `GET /readyz` executa as verificações abaixo. Ele responde `503` quando uma verificação informa `down` ou `degraded`, e enquanto o serviço está desligando.

| Verificação | O que ela testa |
| - | - |
| `postgres` | O banco de dados PostgreSQL. |
| `outbox_dispatcher` | O loop que publica os eventos a partir do outbox. Ele informa `skipped` enquanto a publicação de eventos está suspensa, por exemplo sem broker. |
| `src_mq` | A conexão IBM MQ que leva as consultas. |
| `custody` | O provedor PKCS#11 ou KMIP. |
| `trust_anchor` | O certificado do BACEN. |
| `license` | O servidor de licenças da Lerian. |
| `runtime_config` | O armazenamento da configuração em runtime. |
| `declaration` | A declaração de permissões ao Access Manager. Ela informa `skipped` enquanto `IDP_DECLARATION_ENABLED` é `false`. |
| `startup_self_probe` | A autoverificação de inicialização do serviço. |

`GET /version` retorna a versão de build do serviço.

## IBM MQ

***

O Lerian SRC se conecta ao queue manager IBM MQ da sua própria instituição. Esse queue manager chega ao BACEN pela RSFN.

Defina `SRC_MQ_HOST`, `SRC_MQ_PORT`, `SRC_MQ_CHANNEL` e `SRC_MQ_QUEUE_MANAGER`. O Lerian SRC não aplica padrão para a porta e o canal, então peça esses valores à sua equipe de IBM MQ.

O Lerian SRC deriva os nomes das filas de `SRC_CNPJ_BASE8`:

* Fila de envio: `QR.REQ.<CNPJ base>.00038166.03`.
* Fila de recebimento: `QL.RSP.00038166.<CNPJ base>.03`.

Defina `SRC_MQ_SEND_QUEUE` e `SRC_MQ_RECEIVE_QUEUE` apenas quando o seu queue manager usa outros nomes.

Enquanto `SRC_MQ_BACKOUT_THRESHOLD` está acima de `0`, uma mensagem que falha na entrega esse número de vezes vai para a fila de backout. O limite padrão é 5. A fila de backout é o nome da fila de recebimento seguido de `.BACKOUT`, a menos que você defina `SRC_MQ_BACKOUT_QUEUE`. O Lerian SRC abre a fila de backout quando se conecta, então crie-a no queue manager antes de iniciar o serviço.

Quando nenhuma chamada IBM MQ termina durante `SRC_MQ_STALE_AFTER`, 30 segundos por padrão, a verificação `src_mq` informa `degraded`.

A imagem do Lerian SRC roda em `linux/amd64`.

## Credenciais e chaves

***

O Lerian SRC assina cada mensagem que envia ao BACEN com a chave privada da sua instituição. Ele usa o certificado do BACEN para proteger cada mensagem para o BACEN.

O Lerian SRC usa a chave privada por PKCS#11 ou KMIP. Quando você configura os dois, ele usa PKCS#11. Defina `SRC_LOCAL_CERT_FILE` com o certificado da sua instituição para essa chave e `SRC_BACEN_CERT_FILE` com o certificado do BACEN. Depois de trocar o certificado do BACEN, reinicie o Lerian SRC.

`GET /v1/src/credentials` retorna o status da credencial.

## Dados pessoais

***

Listas, resultados de busca e eventos mostram o documento da pessoa mascarado, em `documentMasked`. A trilha de evidências retorna o registro completo, incluindo o documento. O Lerian SRC registra cada leitura da trilha de evidências na mesma transação da leitura. Se ele não consegue registrar a leitura, a leitura falha.

<h2 id="operator-cases">
  Casos de operador
</h2>

***

`GET /v1/src/operator/cases` lista os casos abertos, do mais novo para o mais antigo. Envie `status=closed` para os casos fechados, ou `status=all` para os dois. [Como o Lerian SRC funciona](/pt/rails/src/how-src-works#operator-cases) explica os tipos de caso.

Feche um caso com a operação do tipo dele:

| Tipo | Operação |
| - | - |
| `orphan_response` | `POST /v1/src/operator/orphan-responses/{caseId}/closure` |
| `invalid_outbound` | `POST /v1/src/operator/invalid-dispatches/{caseId}/closure` |

Um caso `budget_exhausted` tem `closable` definido como `false`. O fechamento de um caso que não está aberto retorna `404` com o código `SRC-0301`.

Acompanhe dois números em `GET /v1/src/dashboard/consultations`:

* `openOperatorCases`: os casos de operador abertos agora.
* `pendingBeyondExpected`: as consultas que ficam `pending` por mais tempo que `src.pending.alert_threshold`, 15 minutos por padrão.

## Configuração em runtime (Systemplane)

***

O Lerian SRC serve a API administrativa da configuração em runtime em `/v1/system`. [Autenticação e permissões](/pt/rails/src/src-integration#authentication-and-permissions) indica a permissão que ela exige. A API administrativa aceita 30 requisições por minuto de cada endereço IP de cliente.

Uma mudança entra em vigor sem restart. As tabelas listam as chaves que ajustam consultas, novas tentativas, rate limits e retenção. Veja [System plane](/pt/reference/platform/systemplane/overview).

**Namespace `tenant_policy`**

| Chave | O que ela controla | Padrão | Intervalo |
| - | - | - | - |
| `src.channel.active` | O canal que leva as consultas ao BACEN. | `messaging` | `messaging` |
| `src.consultation.protection_types` | Os tipos de proteção que uma consulta pode levar. Uma requisição com outro tipo retorna `422`. | `account_opening,ownership_change` | `account_opening`, `ownership_change` |
| `src.pending.alert_threshold` | Quanto tempo uma consulta pode ficar `pending` antes que `pendingBeyondExpected` a conte. | `15m` | `1m` a `168h` |

**Namespace `runtime_config`**

| Chave | O que ela controla | Padrão | Intervalo |
| - | - | - | - |
| `src.dispatch.max_attempts` | Tentativas para cada consulta. | `8` | 1 a 20 |
| `src.dispatch.backoff_initial` | Espera antes da primeira nova tentativa. | `1m` | `1s` a `1h` |
| `src.dispatch.backoff_ceiling` | Espera mais longa entre duas tentativas. | `30m` | `1m` a `24h` |
| `src.log.level` | Nível de log. | `INFO` | `DEBUG`, `INFO`, `WARN`, `ERROR` |
| `src.rate_limit.ip_max` | Requisições que um endereço IP de cliente pode enviar em cada janela, em cada réplica. | `6000` | 1 a 1000000 |
| `src.rate_limit.ip_window` | Duração da janela do rate limit. | `1m` | `1s` a `1h` |
| `src.retention.transient_purge_age` | Idade a partir da qual a varredura pode excluir uma chave de idempotência. | `24h` | `1h` a `720h` |
| `src.retention.transient_purge_batch` | Chaves de idempotência que uma instrução de exclusão apaga. | `1000` | 100 a 10000 |
| `src.retention.resolved_orphan_payload_purge_age` | Por quanto tempo um caso de resposta órfã fechado guarda a mensagem que o Lerian SRC recebeu. | `8760h` | `24h` a `8760h` |

## Armazenamento, outbox e retenção

***

O Lerian SRC armazena o estado dele no PostgreSQL.

Os eventos saem por uma tabela de outbox, na mesma transação da mudança que eles informam. Sem broker, os eventos ficam pendentes no outbox.

A varredura de retenção exclui as chaves de idempotência mais antigas que `src.retention.transient_purge_age`, 24 horas por padrão.

O Lerian SRC não aplica o próprio schema de banco de dados. A imagem `br-src-migrations` o aplica. Rode essa imagem antes de iniciar a imagem `br-src`.

## Métricas e tracing

***

Defina `ENABLE_TELEMETRY=true` para exportar traces e métricas por OTLP para `OTEL_EXPORTER_OTLP_ENDPOINT`. O Lerian SRC não tem endpoint `/metrics`. Veja [Observabilidade](/pt/platform/observability) para a visão da plataforma.

## Postura de deploy

***

`DEPLOYMENT_MODE` aceita `local`, `byoc` ou `saas`. Um deploy atende uma instituição.

[Variáveis de ambiente](/pt/rails/src/src-environment-variables) define um deploy de produção e marca cada configuração que ele exige. Uma configuração obrigatória ausente interrompe o boot.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.