Ir a: https://github.com/TU_USUARIO/TU_REPO/settings/secrets/actions
-
CLOUDFLARE_API_TOKEN configurado
- Crear en: https://dash.cloudflare.com/profile/api-tokens
- Permisos necesarios:
- ✅ Account > Cloudflare Pages: Edit
- ✅ Account > Cloudflare Workers Scripts: Edit
- ✅ Account > D1: Edit
- ✅ Account > Account Settings: Read
-
CLOUDFLARE_ACCOUNT_ID (opcional - se detecta automáticamente)
cd "/Users/jch/Documents/[01]Jobs/[01]Dara/[03] CbnFlight/CbnFlight.Monitor"
# Verificar cambios
git status
# Agregar todos los cambios
git add .
# Commit
git commit -m "Deploy CbnFlight Monitor - Configured for automatic deployment"
# Push a main (esto iniciará el despliegue automático)
git push origin main- Ir a:
https://github.com/TU_USUARIO/TU_REPO/actions - Ver workflow: "Deploy to Cloudflare"
- Esperar a que termine (círculo verde ✅)
- ✅ Setup Terraform
- ✅ Setup Node.js
- ✅ Fetch Account ID
- ✅ Install packages
- ✅ Build worker
- ✅ Build page
- ✅ Install Python dependencies
- ✅ Create D1 database and tables
- ✅ Migrate state from KV (si aplica)
- ✅ Deploy using Terraform
- ✅ Upload pages
Ir a: https://dash.cloudflare.com/
-
Worker:
uptimeflare_worker-cbnflight- Status: ✅ Active
- Cron: ✅ * * * * * (cada minuto)
- Bindings: ✅ UPTIMEFLARE_STATE (D1)
-
Pages:
uptimeflare-cbnflight- Status: ✅ Deployed
- URL: https://uptimeflare-cbnflight.pages.dev
- Bindings: ✅ UPTIMEFLARE_STATE (D1)
- Database:
uptimeflare_d1-cbnflight- Tablas:
- ✅ monitor_status
- ✅ monitor_history
- ✅ incidents
- Tablas:
-
Esperar 2-3 minutos para el primer check
-
Verificar que aparecen los 9 monitores:
- Identity Service
- Payment Service
- CRM Service
- Notifications Service
- RealEstate Service
- Shops Service
- FileGateway Service
- RabbitMQ Management API
- Python FreePBX Extension Server
-
Verificar que se muestran los estados (verde/rojo/amarillo)
-
Verificar que funcionan los gráficos de latencia
Si quieres usar: status.cbnflight.com
- Ir a Pages project en Cloudflare
- Click "Custom domains"
- Add:
status.cbnflight.com - Agregar CNAME en DNS de cbnflight.com
- Esperar propagación
Editar uptime.config.ts para agregar webhook o notificaciones.
-
Error: "CLOUDFLARE_API_TOKEN not set"
- Verificar que el secret está configurado en GitHub
- Verificar el nombre exacto:
CLOUDFLARE_API_TOKEN
-
Error: "Permission denied"
- Verificar permisos del API token
- Recrear el token con todos los permisos necesarios
-
Warning: "import failed"
- ✅ NORMAL en primer despliegue
- El workflow continúa y crea los recursos
- Esperar 2-3 minutos más
- Verificar logs del worker en Cloudflare
- Verificar que el cron trigger está activo
- Verificar que los endpoints en
uptime.config.tsson accesibles
- GitHub Actions: Tab "Actions" en el repo
- Worker logs: Cloudflare Dashboard > Worker > Logs
- Pages logs: Cloudflare Dashboard > Pages > Logs
| Recurso | Nombre | Estado |
|---|---|---|
| Worker | uptimeflare_worker-cbnflight | ⏳ Pendiente |
| Pages | uptimeflare-cbnflight | ⏳ Pendiente |
| D1 Database | uptimeflare_d1-cbnflight | ⏳ Pendiente |
| Cron Trigger | * * * * * | ⏳ Pendiente |
Después del push, marca como ✅ cuando cada recurso esté activo.
- Secrets configurados en GitHub
- Push realizado a main
- GitHub Actions completado exitosamente
- Worker aparece en Cloudflare
- Pages desplegado
- D1 Database creada con tablas
- Status page accesible
- Monitores funcionando
- (Opcional) Dominio personalizado configurado
Cada vez que quieras actualizar:
# 1. Editar archivos (uptime.config.ts, etc.)
nano uptime.config.ts
# 2. Git add, commit, push
git add .
git commit -m "Update configuration"
git push origin main
# 3. ¡GitHub Actions se encarga del resto! 🚀- ✅ Nombres con sufijo
-cbnflightevitan conflictos - ✅ Tu otro worker NO se afecta
- ✅ Despliegue 100% automático
- ✅ No requiere herramientas locales
- ✅ Free tier de Cloudflare ($0/mes)
- ✅ Checks cada 1 minuto
- ✅ Historial de 90 días
¿Ya configuraste CLOUDFLARE_API_TOKEN en GitHub?
- ✅ SÍ → Ejecuta los comandos git arriba
- ❌ NO → Ve al Paso 1 primero
Fecha de configuración: $(date) Versión: v1.0 Status: ✅ Listo para desplegar
💡 Tip: Guarda este archivo para futuras referencias.
📖 Documentación completa: Ver DEPLOYMENT_STEPS.md
🔍 Verificar config: Ejecutar ./check-deploy.sh