Pular para o conteúdo

Estrutura de projeto e runtime

Esta página mostra como um projeto TunnelHub costuma ser organizado e como o SDK participa da execução.

Um template oficial normalmente inclui:

  • src/index.ts;
  • uma classe de integração em src/core/ ou equivalente;
  • metadata;
  • tipos e modelos;
  • __tests__;
  • tunnelhub.yml.

O handler principal costuma:

  • instanciar a classe de integração;
  • chamar AutomationExecution.executeAutomation(...);
  • retornar sucesso HTTP quando não há erro fatal.

Esse é o ponto de entrada esperado pelo runtime público.

Essa classe herda um dos flows do SDK e concentra a lógica principal de negócio:

  • extração da origem;
  • reconciliação com destino, quando houver delta;
  • envio, insert, update ou delete;
  • definição de metadados.

Em runtime, a automação recebe um payload que costuma incluir pelo menos:

  • identificadores de tenant, ambiente, automação e execução;
  • systems associados;
  • parameters cadastrados;
  • payload do trigger, quando aplicável.

É esse contrato que conecta o produto ao código.

tunnelhub.yml define como o projeto será empacotado e publicado. O runtime depende desse arquivo para localizar o artefato e interpretar a configuração básica do serviço.

  1. a CLI cria a automação e baixa um template;
  2. o projeto implementa a integração com o SDK;
  3. o build gera o artefato definido em package.artifact;
  4. a CLI publica uma nova versão;
  5. o produto executa e monitora a automação.