Pular para o conteúdo principal

API Management

1. Visão Geral

A tela de API Management gerencia as rotas, consumidores e autenticação das APIs expostas pela plataforma — o painel de administração do API Gateway da Nukk.

Um API Gateway é a porta de entrada única para as APIs de um sistema: em vez de cada Flow ou Backend App expor seu próprio endpoint diretamente, todas as chamadas passam por ele, que aplica de forma centralizada segurança (autenticação, API Keys), controle de tráfego (rate limit), timeouts e roteamento para o destino correto. Isso evita expor a infraestrutura interna diretamente à internet, padroniza autenticação entre serviços diferentes, e permite trocar/mover o destino real de uma API sem impactar quem a consome.

A tela tem três abas:

  • Routes — mapeia uma URL pública para um Flow ou Backend App.
  • Consumers — credenciais (API Keys) e limites de uso de quem consome as rotas protegidas por API Key.
  • Auth — configurações de autenticação do gateway.

2. Expondo uma API

Para expor um Flow ou Backend App como API, dois passos costumam ser necessários:

  1. Criar uma Route (aba Routes) — define a URL pública, os métodos HTTP permitidos e para qual Flow/Backend App a chamada deve ser encaminhada.
  2. Criar um Consumer (aba Consumers) — necessário apenas se a rota tiver o Security Type configurado como API Key. O Consumer representa quem vai consumir a API e recebe a chave (API Key) usada para autenticar as chamadas.

Se a rota não usa API Key como tipo de segurança, o passo do Consumer não é necessário.

3. Aba Routes

Lista as rotas cadastradas, filtráveis por Squad e Environment. A tabela mostra: Route, URI Prefix, Target, Security Type, Last Update, Status e Actions.

Criando uma Route

O formulário New Route tem os seguintes campos:

CampoDescrição
Route NameNome de identificação da rota.
Target TypeTipo de destino da rota: Flow ou Backend App.
Flow / Backend AppSeleção do Flow ou Backend App específico que receberá as chamadas, de acordo com o Target Type escolhido.
URI PrefixPrefixo da URL pública da rota (ex: /api/v1/example).
HTTP MethodsMétodos HTTP permitidos nessa rota (ex: GET, POST, DELETE, PATCH, PUT, OPTIONS).
Security TypeTipo de segurança aplicado à rota. Ex: API Key — exige que a chamada informe uma API Key válida de um Consumer cadastrado.

Timeouts (advanced) — opcionais; se deixados em branco, usam o padrão do gateway (~60s). Valores em milissegundos:

CampoDescrição
Read timeout (ms)Tempo máximo de espera pela resposta do destino (Flow/Backend App).
Send timeout (ms)Tempo máximo para enviar a requisição até o destino.
Connect timeout (ms)Tempo máximo para estabelecer a conexão com o destino.

4. Aba Consumers

Lista os consumidores de API cadastrados, filtráveis por Squad e Environment. A tabela mostra: Consumer, API Key, Rate Limit by Second, Rate Limit by Minute, Last Update, Status e Actions.

Cada Consumer representa uma credencial de acesso, usada para autenticar chamadas em rotas com Security Type = API Key.

ColunaDescrição
ConsumerNome do consumidor.
APIKEYChave de API gerada para esse consumidor, usada nas requisições.
Rate Limit by SecondLimite de requisições por segundo permitido para esse consumidor.
Rate Limit by MinuteLimite de requisições por minuto permitido para esse consumidor.
StatusStatus do consumidor (ex: INSTALLING durante o provisionamento).

TODO: detalhar o formulário de criação de um New Consumer (campos e como configurar os rate limits).

5. Aba Auth

TODO: detalhar as opções de configuração de autenticação disponíveis nessa aba.

6. Perguntas frequentes

Toda rota precisa de um Consumer? Não — só é necessário criar um Consumer quando a rota usa Security Type = API Key. Outros tipos de segurança podem dispensar esse passo.

Dá para ter mais de um Consumer usando a mesma rota? TODO: confirmar se múltiplos consumers podem acessar a mesma rota com limites diferentes.

O que acontece se os timeouts não forem configurados? O gateway usa o valor padrão (~60 segundos) para leitura, envio e conexão.