Pular para o conteúdo principal
O Systemplane é o plano de controle para configuração em tempo de execução compartilhado pelas aplicações Lerian. Essas aplicações o expõem para que você possa inspecionar e alterar configurações operacionais em um serviço em execução, sem reiniciar. Em ambientes financeiros regulados, derrubar um serviço para aplicar uma mudança de configuração é ao mesmo tempo um risco de compliance e uma interrupção operacional. Com o Systemplane, você ajusta os valores que um serviço aceita com segurança enquanto ele continua atendendo ao tráfego. Essa é a mesma superfície administrativa em todas as aplicações que a montam. Cada produto documenta suas próprias chaves configuráveis, mas as rotas, os formatos de requisição e resposta, e o modelo de autorização descritos aqui são comuns a todas elas.

O que é o Systemplane


O Systemplane não é um serviço independente. Cada aplicação monta o mesmo conjunto de rotas em seu próprio host e porta HTTP, sob um prefixo de caminho específico da aplicação. O prefixo canônico documentado aqui é /system, mas ele varia conforme a aplicação (veja a tabela de aplicabilidade abaixo). As aplicações registram as rotas de forma programática, e nenhum gerador de código as produz. Esta referência documenta a superfície manualmente, para que você possa operá-la de forma consistente entre os produtos.

Namespaces


A configuração vive em namespaces, cada um com entradas simples e indexadas por chaves de texto. Trilhos e plugins usam três namespaces canônicos: O valor de cada entrada não tem tipo na camada de transporte. Cada chave registrada aceita seu próprio escalar, objeto ou array JSON, e um validador próprio do lado do servidor verifica o valor. Nem toda configuração pode ser alterada em tempo de execução. A aplicação lê as configurações apenas de bootstrap uma única vez, na inicialização. Essas configurações não aparecem no Systemplane e ainda exigem um reinício para mudar.

Endpoints


Todos os caminhos são relativos ao prefixo da aplicação (padrão /system).
/system/-/catalog nomeia um caminho de metadados reservado. A aplicação o atende antes das rotas de namespace. O segmento - não é um namespace real, e você não pode usá-lo como um. A maioria das aplicações retorna os erros em um envelope simples {"code": <int>, "title": "<string>", "message": "<string>"}. Veja a lista de erros do Systemplane.

Autenticação e permissões


A autorização nega tudo por padrão. Uma aplicação apenas disponibiliza a superfície depois que você configura um autorizador. Sem um autorizador, a aplicação nega toda requisição. Quando você habilita a autenticação, a aplicação aplica controle de acesso baseado em papéis por namespace, sobre uma identidade válida. No modo multi-tenant, um plano de plataforma exige uma identidade com escopo de plataforma. Nesse modo, um plano por tenant, marcado como “(por tenant)” na tabela abaixo, exige uma identidade com escopo de tenant e lê e grava só os valores desse tenant. Leituras exigem a permissão de leitura do namespace, e gravações exigem a permissão de escrita correspondente: A ação de leitura cobre GET. A ação de escrita cobre PUT e DELETE. Os endpoints de descoberta do catálogo exigem permissão de leitura em pelo menos um namespace.
As strings exatas de permissão podem variar por aplicação. Consulte a documentação do próprio produto para saber seu modelo de autorização.
Os tokens são JWTs do tipo bearer emitidos pelo Access Manager da plataforma. Chamadores automatizados obtêm um token pelo fluxo de client credentials.
Quando uma aplicação opta pela superfície de catálogo, GET /system/-/catalog lista todas as chaves que ela registra. A rota de detalhe GET /system/-/catalog/{namespace}/{key} retorna o contrato de gravação completo de uma chave. O contrato cobre seu tipo, escopo de tenant, classe de tempo de execução, JSON schema, regras de validação, exemplos válidos, valor padrão e o caminho PUT correspondente. Use o catálogo para saber o que um serviço expõe antes de mudar qualquer coisa. O catálogo descreve o contrato de gravação. Para ler o valor configurado atual, chame GET /system/{namespace}/{key}.

Quais produtos expõem o Systemplane


O Systemplane é opcional por produto. A tabela abaixo lista produtos que o montam. Para cada produto, ela indica o prefixo de caminho, a porta HTTP padrão e se o produto também disponibiliza a superfície de descoberta do catálogo. O prefixo e a porta são padrões. Um deploy pode sobrescrevê-los.