Conseguir la CLI
openwaf-cloud es un único binario. OpenWAF todavía no publica versiones descargables; si quieres usarla, pídela en [email protected]. Todo lo que hace está también disponible desde el panel, la API, los SDK y el servidor MCP.
Comprueba que funciona:
openwaf-cloud ctl helpApuntarla a la API
Define la dirección de la API una vez en el perfil de tu shell. La CLI añade ella misma las rutas /v1/…, así que basta con el host:
export OPENWAF_API_URL=https://dash.openwaf.devDarle un token
Crea un token de API en el panel, en Tokens de API, con el rol y el alcance que necesites: Solo lectura basta para consultar y Técnico permite hacer cambios. Los tokens empiezan por owf_.
La CLI nunca acepta el token como argumento, para que no acabe en el historial de la shell ni en la lista de procesos. Usa una de estas dos vías:
Guarda el token en un fichero que solo puedas leer tú. Puede contener solo el token o una única línea NOMBRE_TOKEN=valor, así que también sirve un fichero al estilo .env.
mkdir -p ~/.config/openwaf
read -rs TOKEN && printf '%s\n' "$TOKEN" > ~/.config/openwaf/token && unset TOKEN
chmod 600 ~/.config/openwaf/token
export OPENWAF_TOKEN_FILE=~/.config/openwaf/tokenLa CLI rechaza un fichero que no sea tuyo o que puedan leer el grupo u otros usuarios.
read -rs OPENWAF_TOKEN && export OPENWAF_TOKENÚtil en CI, donde el token sale del almacén de secretos del pipeline.
Define solo una de OPENWAF_TOKEN y OPENWAF_TOKEN_FILE; con las dos, la CLI se detiene.
Elegir la organización
Un token pertenece a una organización y la CLI usa esa por defecto. Para indicarla explícitamente, define OPENWAF_ORG (o --org) con su nombre o su id:
export OPENWAF_ORG=acmePrimera consulta
openwaf-cloud ctl zones list
openwaf-cloud ctl zones show example.com
openwaf-cloud ctl records list example.comLas zonas se nombran por su dominio o por su id. Añade --json a cualquier consulta para obtener la respuesta de la API tal cual.
Primer cambio
Todo cambio necesita un motivo. Pruébalo primero como simulación:
openwaf-cloud ctl records add example.com type=TXT name=_cli-test content="hola" \
--reason "Probar la CLI" --dry-runLa CLI imprime Simulación sobre zona example.com: versión 7 → 8 y las diferencias. Repite la orden sin --dry-run: simula, enseña las diferencias, pregunta ¿Aplicar? [s/N] y aplica cuando respondes s. Después deshazlo:
openwaf-cloud ctl records rm example.com _cli-test/TXT --reason "Quitar la prueba de la CLI"Sigue con Cambios: simulación y confirmación y la referencia de órdenes.