O caminho A é a rota mais curta até um primeiro sucesso. Comece por ele se você só quer avaliar o produto.
Caminho A — Rode o Engine sem infraestrutura
O Engine traz um harness em memória em
pkg/engine/memory. Ele cobre as portas de armazenamento: o registro de conectores, o connection store, o cache de esquemas, o result sink e o execution store. Você não precisa de MongoDB, de RabbitMQ nem de object storage. Ele não traz um CredentialProtector, então, se você ligar a persistência criptografada, precisa fornecer o seu.
1
Adicione o módulo
2
Construa, planeje, execute
3
Leia o resultado
Nenhum destino de resultado está configurado aqui, então o Engine roda em modo direct. Ele devolve as linhas inline como JSON indentado, mais um digest SHA-256 sobre esses bytes exatos. Os bytes são determinísticos: a mesma entrada sempre produz o mesmo digest.
Caminho B — Rode os serviços autônomos
Este caminho entrega a API REST e os jobs assíncronos. Tudo roda localmente com Docker Compose.
Pré-requisitos
- Docker e Docker Compose
- Make
- Go, apenas para desenvolvimento. A versão do toolchain está no
go.moddo repositório.
Configurar e rodar
1
Clone o repositório
2
Crie os arquivos de ambiente
.env.example de cada componente para .env.3
Gere a chave-mestra de criptografia
APP_ENC_KEY em ambos components/manager/.env e components/worker/.env. Os dois serviços precisam do mesmo valor. O Worker a usa para descriptografar credenciais e para conferir assinaturas de mensagens.4
Suba tudo
5
Verifique se a API responde
- API REST:
http://localhost:4006 - Referência da API no Scalar, quando
SWAGGER_ENABLED=true:http://localhost:4006/swagger/docs - Gerenciamento do RabbitMQ:
http://localhost:3008
Execute sua primeira extração
Uma extração tem três movimentos. Registre uma conexão, crie um job e depois consulte o job.1. Registre uma conexão de banco de dados
X-Product-Name nomeia o produto dono da conexão. Use o mesmo valor em metadata.source do job no passo 2, porque o Fetcher compara os dois.
O Fetcher criptografa a senha antes de gravar o registro. Teste a conexão antes de usá-la:
2. Crie um job de extração
Nomeie os campos que você quer, por tabela, por fonte de dados:202 Accepted com um ID de job. Envie a mesma requisição duas vezes dentro de 5 minutos e você recebe 200 OK com o primeiro job, em vez de um segundo. Um job que falhou não bloqueia uma nova tentativa.
3. Consulte o job
completed ou failed. Na conclusão, o Worker já criptografou o resultado no object storage e publicou um evento job.completed. Os dois estados anteriores são pending e processing. Jobs de extração traz o ciclo de vida completo de quatro estados.
Ligue a autenticação com
PLUGIN_AUTH_ENABLED=true. As requisições passam então a carregar um header Authorization: Bearer <token>. Este quickstart roda com a autenticação desligada.Próximos passos
Conceitos centrais
Conexões, descoberta de esquema, jobs, filtros e resultados.
Configuração
Cada variável de ambiente, por componente.
Implantação
Dependências, filas, escala e as checagens fail-closed de inicialização.
Segurança
Derivação de chaves, rotação, assinatura de mensagens e validação de host.

