Saltar al contenido principal
betaESActualizado: 21 nov 2025

Pipeline de sincronizacion con el sitio

Como los pushes en GitHub disparan el webhook del backend y mantienen cacheado el sitio publico.

referencesync

Resumen

  1. Los docs se mergean a main.
  2. GitHub dispara un repository dispatch/webhook gestionado por el backend del sitio.
  3. El backend obtiene archivos cambiados via GitHub Contents API usando ETags para cache-busting.
  4. La salida renderizada en HTML/MDX se cachea en Redis con TTL de 15 minutos.

Contrato del webhook

CampoDescripcion
eventSiempre wiki.synced
commitSHA del commit mergeado
filesArreglo de rutas de docs modificadas
timestampTimestamp ISO

El backend valida el HMAC usando el secreto compartido WIKI_WEBHOOK_SECRET. Ver website-backend/src/http/routes/webhooks.ts para detalles de implementacion.

Pruebas locales

Usa el payload de ejemplo en docs/es/reference/webhook-example.json con curl o Invoke-WebRequest.

Invoke-WebRequest `
  -Uri https://api.pokebedrock.com/wiki/webhook `
  -Headers @{ "X-Signature" = "<hmac>" } `
  -Body (Get-Content docs/es/reference/webhook-example.json -Raw) `
  -Method Post

Cache busting

  • El backend guarda el ETag devuelto por GitHub por archivo.
  • En sincronizaciones siguientes, envia If-None-Match; el contenido sin cambios evita re-render.
  • Cuando el sitio sirve una pagina, incluye lastUpdated del frontmatter en la respuesta para ayudar al cliente a decidir si debe pedir datos frescos.

¿Encontraste un error o falta información?

Edita esta página en GitHub y ayuda a otros entrenadores.

Editar en GitHub