@neondatabase/serverless. Cada evento verificado se guarda en la tabla faceit_webhook_events y, si tiene equivalente en el bus de eventos, se publica allí para que el resto de la plataforma reaccione.
Endpoints
Validación del secreto
ElPOST solo se acepta si incluye el secreto compartido con FACEIT. Los nombres exactos de header o parámetro que acepta el Worker están en el código del repositorio.
Secrets del Worker
El Worker usa secretos para validar a FACEIT, conectarse a Neon y firmar las peticiones al bus de eventos.Ninguno vive en el repo. Para cambiarlos:
npx wrangler secret put <NOMBRE>.Puente al bus de eventos (VANTS-BUS)
Cada webhook verificado se guarda en Neon. Si el bus está configurado, además se publica en el bus central para que la web, el launcher y los agentes reaccionen en vivo.
Los eventos sin mapeo se ignoran.
Garantías
- La respuesta a FACEIT no cambia: primero se guarda en Neon y se responde
200. La publicación al bus va en background (ctx.waitUntil). - Deduplicación por
event_idcon la tablavants_bus_dedup(se crea sola en Neon). - 3 reintentos con backoff hacia el bus.
Consumir eventos desde otros proyectos
Otros proyectos leen los eventos del bus con peticiones firmadas con HMAC por proyecto. La implementación está envants-bus/ (ver Vantsgames).