Engenharia Reversa de Deploys: Mapeando arquiteturas no Cloudflare Workers
Como estruturar e auditar projetos full-stack no Cloudflare analisando arquivos wrangler.toml e rotas do Worker.
Quando você assume um projeto que já está rodando na Cloudflare (como um simulador de notas de concursos com frontend e backend), a primeira coisa que precisa fazer é entender como a arquitetura foi desenhada.
Ao contrário de servidores Node.js tradicionais onde você caça um app.js e olha os Express routers, no ecossistema Cloudflare a engenharia reversa começa por dois lugares muito específicos.
O Coração do Deploy: wrangler.toml
O arquivo wrangler.toml é a planta baixa de qualquer projeto Cloudflare. Ao inspecionar a pasta .wrangler/ ou a raiz do seu projeto worker/, este arquivo te dirá exatamente com o que você está lidando.
O que procurar no wrangler.toml:
- Nome e Compatibilidade: Qual a data de compatibilidade (
compatibility_date)? Isso dita quais features do V8 estão ativas. - Databases (D1): Existe um bloco
[[d1_databases]]? Se sim, você sabe que há persistência relacional. - KV Namespaces ou R2: O projeto armazena blobs ou configurações de chave-valor?
- Variáveis de Ambiente (
[vars]): Quais segredos e tokens a API consome?
Dissecando as Rotas (index.js e handlers)
O ponto de entrada de um Worker é quase sempre um arquivo que exporta um objeto com o método fetch. (Ex: worker/src/index.js).
Em projetos organizados, você não verá um index.js gigante de mil linhas. Você verá um roteador leve (como o itty-router ou Hono) despachando requisições para Handlers.
Se você olhar a pasta /src, vai encontrar arquivos como:
db.js(Lida com a injeção da conexão do D1)adminPages.jsfeedbackHandler.jspessoaHandler.js
Para entender o fluxo de dados, basta rastrear a rota. O frontend chamou GET /api/candidato/123?
Vá no index.js, veja que o endpoint bate no pessoaHandler.js. Lá dentro, você verá a query SQL bruta (ou via um query builder leve) que extrai os dados do D1 (banco SQLite no Edge).
A Pasta .cloudflare-sessao
Se você estiver vasculhando diretórios de deploy antigos ou locais, preste atenção nas pastas ocultas. A pasta local .wrangler/state contém os dados mockados do seu banco de dados local. Se você apagar essa pasta achando que é cache de compilação (como a node_modules), você apagará o seu banco de dados de desenvolvimento local.
Mapear um projeto no Cloudflare Pages/Workers é muito mais previsível que em infraestruturas tradicionais. Se você entende o wrangler.toml e o ponto de entrada do Fetch, você domina o projeto inteiro.