Purgar la caché

Ver en Markdown

Purga URL, prefijos, nombres o etiquetas guardados en el borde de OpenWAF tras un despliegue, desde TypeScript o Python.

Una purga quita el contenido guardado de todos los nodos de borde que guardan en caché la zona, en general en menos de un segundo. Queda en la auditoría, pero no se versiona: lleva motivo y admite simulación, pero no versión esperada. El token necesita el rol Técnico; el panel también puede crear un token que solo puede purgar la caché de una zona, ideal para un pipeline de CI.

El cuerpo lleva exactamente una de estas claves, con como mucho 100 valores:

ClavePurga
purge_everything: trueTodo lo guardado de la zona.
filesEstas URL de la zona, con todas sus variantes.
prefixesTodas las URL que empiezan por este host/ruta.
hostsTodo lo guardado de estos nombres.
tagsTodas las respuestas que llevaban alguno de estos valores de Cache-Tag.
purge.ts
import { OpenWAF } from "./openwaf.ts";

const owf = new OpenWAF();
const { items = [] } = await owf.listZones();
const zone = items.find((z) => z.name === "example.com");
if (!zone?.id) throw new Error("no se encuentra example.com");

const body = { files: ["https://www.example.com/app.js", "https://www.example.com/styles.css"] };

// Opcional: comprueba qué se va a purgar (los valores vuelven normalizados).
const preview = await owf.purgeCache({ zone: zone.id, body }, { reason: "Despliegue 42", dryRun: true });
console.log("se purgará", preview.kind, preview.values, preview.warnings);

const done = await owf.purgeCache({ zone: zone.id, body }, { reason: "Despliegue 42" });
console.log("purga", done.seq);

Comprobar que ha llegado al borde

listCachePurges / list_cache_purges lista las purgas de la zona de los últimos 7 días con, para cada una, cuántos nodos de borde con caché sirven la zona (nodes) y cuántos la han aplicado ya.

Última actualización:

↑↓ para moverte↵ para abriresc para cerrar