Pular para conteúdo

Nodes e AuthNodes

A feature Nodes é responsável por representar e gerenciar a infraestrutura remota utilizada pelo PLDPro, centralizando o cadastro de máquinas/servidores (Nodes) e o gerenciamento de credenciais/usuários remotos (AuthNodes). No SDK, essa funcionalidade é exposta pela classe Nodes.

Além de viabilizar o gerenciamento de nodes — incluindo listagem, criação, atualização e remoção de nodes registrados no sistema — a feature também organiza e controla o acesso remoto através de AuthNodes, garantindo que operações sejam executadas de forma rastreável e com credenciais apropriadas.


Visão geral

Um Node representa uma máquina/servidor cadastrado na aplicação, utilizado como alvo para operações remotas e execução de casos. Já um AuthNode representa a identidade de acesso a esse Node, associando um usuário e seu contexto de trabalho (por exemplo, workdir) e suportando operações de provisionamento/gestão de credenciais.

A feature Nodes é o ponto de integração entre: - Infraestrutura (onde executar) — Nodes - Autenticação e contexto (como acessar) — AuthNodes - Casos associados (o que está vinculado àquele ambiente)


Responsabilidades da classe Nodes

A classe Nodes concentra e padroniza operações relacionadas a Nodes e AuthNodes, tratando conversões de tipos (como str -> UUID), lidando com exceções da API (ApiException) e registrando logs consistentes para facilitar diagnóstico.

Gerenciamento de Nodes

A classe oferece operações para administrar o ciclo de vida de nodes cadastrados no sistema, viabilizando o gerenciamento de nodes — listagem, criação, atualização e remoção — de forma centralizada pela SDK.


Casos associados ao Node

Além de gerenciar o cadastro do node, a classe também permite consultar os casos vinculados a um determinado ambiente, facilitando auditoria e rastreabilidade.

  • Listar casos associados a um node: list_node_casos(node_id)

Gerenciamento de AuthNodes (credenciais por Node)

AuthNodes representam os usuários/credenciais que permitem conexão e operação em um Node específico. A classe fornece métodos para criar, consultar, listar e remover AuthNodes, garantindo que o controle de acesso permaneça centralizado e explícito.

Saúde e conectividade (check remoto)

Para suportar operações seguras, a classe permite verificar se um AuthNode está apto a ser utilizado, validando conectividade e estado do ambiente remoto.

  • Testar conectividade/saúde: test_node_connection(auth_node_id) -> HostCheckResult

Versões disponíveis do PLDPro

A feature também oferece um ponto de consulta para obter as versões de PLDPro disponíveis em determinado contexto remoto (associado ao AuthNode).

  • Listar versões disponíveis: list_versions(auth_node_id) -> List[str]

Credenciais e chaves SSH

Como AuthNodes encapsulam autenticação, a classe fornece suporte para atualização de credenciais e obtenção de chave pública, facilitando provisionamento e rotação de acesso.

  • Atualizar credenciais e recriar chaves: update_auth_node_credentials(auth_node_id, password) -> HostCheckResult
  • Obter chave pública SSH: get_auth_node_public_key(auth_node_id) -> str

Papel no fluxo de execução

No fluxo típico do sistema, a feature Nodes atua como a base de infraestrutura para execução e operação remota. Primeiro, um Node é cadastrado e configurado; em seguida, AuthNodes são criados para definir quem acessa e com qual contexto. A partir desse vínculo, os Casos podem ser associados e executados, com validação de conectividade, consulta de versões e gerenciamento de chaves quando necessário.

Em resumo, a classe Nodes fornece uma camada coesa para cadastrar e administrar servidores e controlar o acesso remoto de forma segura, servindo como alicerce para a operação e execução de casos na plataforma PLDPro.