- Ve a: https://dash.cloudflare.com/profile/api-tokens
- Click en "Create Token"
- Selecciona "Edit Cloudflare Workers" template
- Click "Continue to summary" → "Create Token"
- COPIA EL TOKEN (solo se muestra una vez)
- Ve a tu repo en GitHub:
Settings→Secrets and variables→Actions - Click "New repository secret"
- Nombre:
CLOUDFLARE_API_TOKEN - Valor: pega el token que copiaste
- Click "Add secret"
✅ Listo el Paso 1
Abre tu terminal y ejecuta:
cd "/Users/jch/Documents/[01]Jobs/[01]Dara/[03] CbnFlight/CbnFlight.Monitor"
git add .
git commit -m "Deploy CbnFlight Monitor"
git push origin main✅ Listo el Paso 2
- Ve a: https://github.com/TU_USUARIO/TU_REPO/actions
- Verás el workflow "Deploy to Cloudflare" ejecutándose (círculo naranja 🟠)
- Click en él para ver el progreso en vivo
- Espera a que termine (círculo verde ✅)
Nota: Si ves warnings de "import failed" = ES NORMAL en el primer despliegue
✅ Listo el Paso 3
- Ve a: https://dash.cloudflare.com/
- Click en "Workers & Pages"
- Deberías ver:
- Worker:
uptimeflare_worker-cbnflight(con estrella verde) - Pages:
uptimeflare-cbnflight(con estrella verde)
- Worker:
- Click en "D1" en el menú lateral
- Deberías ver:
- Database:
uptimeflare_d1-cbnflight
- Database:
✅ Listo el Paso 4
- Abre: https://uptimeflare-cbnflight.pages.dev
- Espera 2-3 minutos para que el worker ejecute los primeros checks
- Recarga la página
- Deberías ver tus 9 monitores con sus estados
✅ ¡DESPLIEGUE COMPLETADO! 🎉
| Archivo | Cambio |
|---|---|
deploy.tf |
✅ Actualizado de KV a D1, nombres con -cbnflight |
worker/wrangler.toml |
✅ Nombre del worker: uptimeflare_worker-cbnflight |
worker/wrangler-dev.toml |
✅ Nombre del worker dev actualizado |
.github/workflows/deploy.yml |
✅ Instalación de Python, nombres actualizados |
deploy/init_d1.py |
✅ Script para crear base de datos D1 (NUEVO) |
deploy/migrate_kv.py |
✅ Script para migración KV→D1 (NUEVO) |
❌ Antes: Workflow esperaba archivos Python que no existían
✅ Ahora: Scripts Python creados y funcionando
❌ Antes: Terraform usaba KV (obsoleto)
✅ Ahora: Terraform usa D1 (moderno y más rápido)
❌ Antes: Conflicto de nombres con tu otro worker
✅ Ahora: Sufijo -cbnflight evita conflictos
❌ Antes: Nombres inconsistentes entre archivos
✅ Ahora: Todos los archivos usan los mismos nombres
❌ Antes: Pages project con doble "cbnflight"
✅ Ahora: Nombre correcto: uptimeflare-cbnflight
# Editar configuración de monitores
nano uptime.config.ts
# Commit y push
git add .
git commit -m "Update monitors"
git push origin main
# ¡GitHub Actions despliega automáticamente! 🚀NO necesitas:
- ❌ Ejecutar terraform manualmente
- ❌ Ejecutar wrangler manualmente
- ❌ Instalar nada localmente
- ❌ Configurar nada en Cloudflare manualmente
Todo es AUTOMÁTICO después del push 🎯
| Recurso | URL |
|---|---|
| Status Page | https://uptimeflare-cbnflight.pages.dev |
| Cloudflare Dashboard | https://dash.cloudflare.com/ |
| GitHub Actions | https://github.com/TU_USUARIO/TU_REPO/actions |
| API Tokens | https://dash.cloudflare.com/profile/api-tokens |
👉 Verifica que configuraste el secret en GitHub (Paso 1)
👉 El token necesita más permisos. Créalo de nuevo con template "Edit Cloudflare Workers"
👉 ES NORMAL en el primer despliegue. El workflow continúa y crea los recursos.
👉 Espera 2-3 minutos y recarga. El worker necesita ejecutarse al menos una vez.
👉 Espera 1-2 minutos más después de que termine GitHub Actions
Ejecuta esto para verificar que todo está OK antes del push:
cd "/Users/jch/Documents/[01]Jobs/[01]Dara/[03] CbnFlight/CbnFlight.Monitor"
./check-deploy.shDebería mostrar: "✅ ¡Todo listo para desplegar!"
- ✅ El despliegue toma 3-5 minutos
- ✅ Los checks se ejecutan cada 1 minuto
- ✅ El historial guarda 90 días de datos
- ✅ Todo es gratis (Cloudflare free tier)
- ✅ Tu otro worker NO se afecta
- ✅ Puedes agregar dominio custom después
Siguiente acción: Ejecutar los comandos del Paso 2 arriba ☝️
Documentación completa: Ver DEPLOYMENT_STEPS.md
Checklist detallado: Ver CHECKLIST.md
Verificar config: Ejecutar ./check-deploy.sh
¿Listo para hacer push? 🚀