playvants-web del bus de eventos. Contiene el Worker de Cloudflare que sirve la web y la API, las Neon Functions, el bot de Discord, el agente VANTS, el bus de eventos y los workflows que lo prueban y despliegan. La API pública y el bot de Discord se documentan a partir del código de este repositorio.
Estructura
Rutas públicas
El Worker expone rutas limpias como/es/tournaments/:juego/:estado/ (también /en/...) y una API JSON pública (/api/tournaments, /api/teams, /api/articles, /api/search, entre otras). Las rutas, los parámetros y las respuestas están en API pública.
Despliegue
El Worker sirve el frontend desdevants-server/public/. Verificación posterior al despliegue: las páginas principales deben responder 200 con un User-Agent de navegador. Sin User-Agent la protección contra bots responde 403.
Para revertir: git revert <sha> y push a main; el CI vuelve a desplegar.
Los workflows que despliegan y las precauciones antes de fusionar a main están en Seguridad.
Workflows
Los workflows están en.github/workflows/. Todos se pueden lanzar también a mano desde la pestaña Actions de GitHub.
cloudflare-deploy, neon-migrate y neon-deploy-functions comparten la cola deploy-prod, así que nunca se ejecutan a la vez.
Secretos necesarios
Las credenciales de Cloudflare, Neon, FACEIT, Steam, HenrikDev, Discord y del servicio de agente se configuran como secrets del repositorio (GitHub) o del Worker (Cloudflare). No viven en el código. Cómo guardarlos y rotarlos: Seguridad.Bot de Discord
Las variables de entorno están enbot/.env.example. Además del token del bot y la cadena de conexión de Neon (sslmode=require), el bot usa:
bot/commands/: análisis, comunidad, informes, moderación, perfil, verificar, vincular y agente. Cada comando, con sus permisos, está en Bot de Discord.