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
Deploys de Preview
Section titled “Deploys de Preview”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.
Deploy Manual via Wrangler
Section titled “Deploy Manual via Wrangler”pnpm build
# Deploy direto via Cloudflare Wranglernpx wrangler deployVariáveis e Segredos de Produção
Section titled “Variáveis e Segredos de Produção”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) |
Rotas de Borda Disponíveis
Section titled “Rotas de Borda Disponíveis”/*: 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.