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

# License Manager

> Como um produto Lerian licenciado valida a chave de licença, o que cada resultado permite e como ele se comporta quando o serviço de licenças não responde.

A Lerian emite uma chave de licença para cada produto e plugin Enterprise. O produto valida a chave quando inicia, e de novo em um intervalo fixo. Esta página descreve o que você configura, qual host o produto chama e o que cada resultado permite.

<Note>
  Estes comportamentos descrevem produtos construídos sobre a biblioteca Go. Produtos construídos sobre a biblioteca TypeScript são diferentes. O cache dura 24 horas. A verificação vale para cada rota, health probes incluídos. Uma resposta de rate limit não aumenta o número de tentativas. O produto nunca lê o header `X-Organization-Id`, e envia os identificadores de organização configurados ao serviço de licenças em cada verificação.
</Note>

## O que é uma chave de licença

***

Uma chave de licença cobre um produto e os identificadores de organização que você declara para ele. Um produto aceita a chave apenas para essas organizações, e apenas para si mesmo. Guarde a chave como um secret, e mantenha-a fora do controle de versão.

## O que o produto lê do ambiente

***

| Variável           | Conteúdo                                                                                                                             |
| :----------------- | :----------------------------------------------------------------------------------------------------------------------------------- |
| `LICENSE_KEY`      | A chave que a Lerian emitiu para este produto.                                                                                       |
| `ORGANIZATION_IDS` | Os identificadores de organização que a chave cobre, separados por vírgulas. Use `global` quando a Lerian licencia o deploy inteiro. |
| `IS_DEVELOPMENT`   | Opcional. Defina como `true` para validar contra `https://license.dev.lerian.io` em vez do host de produção.                         |

Um produto que não tem identificador de organização não inicia.

## Como a verificação roda

***

O produto envia o próprio nome, a chave de licença e um identificador de organização para `https://license.lerian.io`. A Lerian opera esse serviço. Libere HTTPS de saída para esse host a partir de cada carga de trabalho que roda um produto licenciado, ou cada verificação falha. Uma carga de trabalho que define `IS_DEVELOPMENT` como `true` precisa da mesma regra para `https://license.dev.lerian.io`.

O produto valida na inicialização, depois repete a verificação a cada sete dias em segundo plano. Ele mantém cada resultado em memória por oito dias. Uma tentativa espera até cinco segundos por uma resposta. A atualização em segundo plano faz três tentativas, ou cinco tentativas quando o serviço reporta requisições demais. A verificação de inicialização faz uma tentativa.

Cada requisição deve carregar o identificador de organização no header `X-Organization-Id`, a menos que você defina `ORGANIZATION_IDS` como `global`. O produto compara o header com `ORGANIZATION_IDS`, depois responde a partir do resultado em cache ou repete a verificação. Requisições para `/health`, `/version` e `/swagger/` pulam a verificação.

## O que cada resultado permite

***

| Resultado                               | O que o produto faz                                                                                                     |
| :-------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |
| Ativa                                   | O produto roda. Ele registra um aviso 30 dias antes do vencimento, e um aviso mais forte nos últimos 7 dias.            |
| Trial                                   | O produto roda e registra os dias que restam. Ele registra um aviso nos últimos 2 dias.                                 |
| Vencida, carência aberta                | O serviço concede 14 dias de carência a partir do dia em que registra o vencimento. O produto roda e registra um aviso. |
| Carência encerrada                      | O serviço suspende a chave. O produto para.                                                                             |
| Nenhuma licença válida na inicialização | O produto para e escreve o motivo no log.                                                                               |

## Quando o serviço de licenças não responde

***

O produto prefere um resultado que já tem. Se o serviço retorna um erro de servidor, um produto que declara uma organização ou `global` usa o último resultado em cache para essa organização. Se ele não tem resultado em cache, o produto continua por mais sete dias e repete a verificação depois. Um produto que declara várias organizações não lê o cache em um erro de servidor. Ele continua por mais sete dias.

Se a rede falha, um produto que declara uma organização ou `global` usa de novo o resultado em cache. Se ele não tem resultado em cache, a requisição falha com o código `LCS-0012`. Se cada organização configurada falha por um motivo diferente de requisições demais, o produto para. Isso vale na inicialização e em cada verificação posterior.

<Warning>
  O produto para se o serviço de licenças continua inalcançável além dos oito dias do resultado em cache. Ele também para se reinicia sem resultado em cache durante uma indisponibilidade. Monitore a regra de saída e os logs de validação.
</Warning>

## Códigos de erro

***

Cada falha carrega um código estável. A [lista de erros do License Manager](/pt/platform/licensing/license-manager-error-list) traz cada código e a mensagem que vem com ele.
