Files
clusterlogs/RUNBOOK.md
T
fernandoandClaude Sonnet 5 c06037fa3b feat(runme): integrar Runme como sidecar de documentación ejecutable
Agrega RUNBOOK.md y runbooks/ (fuera de content/, para no interferir con
la publicación de Zola), con reglas de nombres/etiquetas/aislamiento de
celdas mutantes verificadas por clusterlog validate. Instalación pinneada
a v3.17.4 con checksum verificado (scripts/runme-install.sh), un job de
CI separado (.gitea/workflows/ci.yml) que sólo corre celdas ci-safe, y la
decisión documentada en docs/adr/0004-runme-sidecar.md y docs/RUNME.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 00:06:01 -06:00

4.2 KiB

RUNBOOK

Punto de entrada de la documentación ejecutable de clusterlog. Cada celda de abajo envuelve un comando canónico existente (make, ./bin/clusterlog, un script en scripts/) — ninguna celda contiene lógica propia. Ver docs/RUNME.md para el porqué y el modelo de identidad, y runbooks/README.md para la convención completa de nombres y etiquetas.

Este archivo funciona igual con o sin Runme instalado: cada bloque es un comando de shell normal que también puede copiarse y ejecutarse a mano.

Runbooks disponibles

Comprobaciones rápidas

set -euo pipefail
test -f go.mod && test -f Makefile || { echo "ejecute esto desde la raíz de clusterlog" >&2; exit 1; }
echo "go:      $(go version)"
echo "git:     $(git --version)"
if command -v zola >/dev/null 2>&1; then echo "zola:    $(zola --version)"; else echo "zola:    no instalado (validate --skip-zola sigue funcionando)"; fi
if command -v runme >/dev/null 2>&1; then echo "runme:   $(runme --version)"; else echo "runme:   no instalado (make runme-install)"; fi
make build
make test
make sync-check
make validate-local
make site

clusterlog-site-build no lleva ci-safe: make site incluye make theme, que clona el repositorio del tema por red. La CI principal (.gitea/workflows/ci.yml) ya construye el sitio en su propio paso; repetirlo aquí sería una segunda copia de la misma lógica, no una celda adicional útil.

: "${CLUSTERLOG_SSH_KEY:?defina CLUSTERLOG_SSH_KEY con la ruta a su llave pública}"
./bin/clusterlog --root . --json --ssh-key "$CLUSTERLOG_SSH_KEY" review list --mine

clusterlog-review-mine tampoco lleva ci-safe: --mine resuelve identidad a partir de una llave SSH personal, y CI no tiene ni debe tener acceso a ninguna llave privada real.

./bin/clusterlog --root . --json verify commit HEAD

Ejecutar

Ejemplo (nota: éste es texto de referencia, no una celda ejecutable — usa fence ```text a propósito para que Runme no lo liste como comando):

runme run --filename RUNBOOK.md clusterlog-build

o, sin Runme instalado, copie y corra el comando dentro del bloque directamente. make runme-ci ejecuta:

runme run --filename RUNBOOK.md --tag ci-safe --all --skip-prompts

runme run sí acepta --tag/--all (verificado con el binario real de v3.17.4: un tag inexistente devuelve No tasks to execute with the tag provided, y --tag ci-safe --all corre exactamente las celdas marcadas ci-safe, en orden, deteniéndose en el primer fallo). Como es un filtro explícito por etiqueta de seguridad — no "correr todo" — este uso puntual sí es seguro.

Nunca ejecute runme run --all --skip-prompts sin --tag ci-safe sobre este archivo ni sobre runbooks/weekly-review.md: sin ese filtro, --all también incluiría celdas que mutan estado real. Ésas deben correrse una por una, a mano, después de revisar sus prerrequisitos.