Pular para o conteúdo

Cloudflare Workers & Pages

Arquitetura Moderna (Workers com Static Assets)

Section titled “Arquitetura Moderna (Workers com Static Assets)”

O portal oficial do CEP Saúde adota a arquitetura de Cloudflare Workers com Static Assets, unificando a entrega ultrarrápida do site estático compilado com Astro (dist/) e as APIs serverless na borda (src/worker.ts), sem custos de infraestrutura.

Deploys Automáticos via Git (Workers Builds)

Section titled “Deploys Automáticos via Git (Workers Builds)”

Ao conectar o repositório GitHub ao Cloudflare Workers, cada push para a branch main dispara um deploy automático de produção com 3.000 minutos de build gratuitos por mês.

  • Comando de Build: pnpm run build
  • Diretório de Saída (Assets): dist
  • Ponto de Entrada (Worker): src/worker.ts

Pull requests e branches secundárias recebem deploys de pré-visualização automáticos em subdomínios seguros, permitindo validar alterações antes do merge na branch principal.

Terminal window
pnpm build
# Deploy direto via Cloudflare Wrangler
npx wrangler deploy

Configure estas variáveis no painel da Cloudflare (Workers & Pages > cepsaude > Settings > Variables and Secrets):

Variável Finalidade
SITE_URL URL canônica de produção (https://cepsaude.com)
NODE_VERSION Versão do Node.js de build (24 ou 20)
PNPM_VERSION Versão do gerenciador de pacotes (8.15.0)
TELEGRAM_BOT_TOKEN Token do bot de redação do Telegram (@BotFather)
TELEGRAM_ALLOWED_CHAT_ID ID numérico do grupo privado autorizado no Telegram
GEMINI_API_KEY Chave de API do Google Gemini 2.5 Flash
GITHUB_TOKEN Personal Access Token com permissão de escrita de conteúdo (contents: write)
  • /*: Entrega de páginas HTML, CSS, JavaScript e imagens estáticas diretamente do cache global da Cloudflare.
  • /api/telegram-webhook: Webhook inteligente do bot do Telegram com Google Gemini.
  • /api/health: Diagnóstico e status da aplicação.