Files
clusterlogs/RUNBOOK.md
T
fernandoandClaude Sonnet 5 eac5e22ed1
CI / validate-and-build (push) Failing after 7s
CI / runme (push) Failing after 5s
refactor: convertir este repositorio en instancia de clusterlog
Retira el código del motor (cmd/, internal/, go.mod, templates/,
examples/, scripts de desarrollo Go) — vive ahora en
https://github.com/fenandosr/clusterlog (release v0.1.0). Este
repositorio conserva únicamente content/, data/, config/ y zola.toml:
los datos reales de esta instancia (MCPS).

Se agrega .clusterlog-version (fija v0.1.0) y scripts/fetch-engine.sh,
que descarga el binario y las plantillas del motor por versión fijada
verificando su checksum contra el release. Makefile y
.gitea/workflows/ci.yml se adaptan para descargar en vez de compilar.
RUNBOOK.md y runbooks/ se recortan a las celdas que sí operan sobre
datos reales de esta instancia (sync-check, validate-local, site-build,
review-mine, verify-head); el ciclo de desarrollo del motor mismo
(build/test/vet) vive en su propio repositorio.

Se preserva toda la historia existente: éste es un commit nuevo, no una
reescritura. Ver docs/adr/0005-motor-instancia.md en el repositorio del
motor para el contexto completo de la separación.

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

3.4 KiB

RUNBOOK

Punto de entrada de la documentación ejecutable de esta instancia de clusterlog (MCPS). Cada celda envuelve un comando canónico existente (make, ./bin/clusterlog, un script en scripts/) — ninguna celda contiene lógica propia. El desarrollo del motor mismo (compilar, probar, bootstrap-instance) vive en fenandosr/clusterlog; ver 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 zola.toml && test -f .clusterlog-version || { echo "ejecute esto desde la raíz de la instancia" >&2; exit 1; }
echo "clusterlog-version: $(cat .clusterlog-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 sync-check
make validate-local
make site

clusterlog-site-build no lleva ci-safe: descarga el tema y las plantillas del motor por red (make theme templates). La CI (.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

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

es lo que corre make runme-ci: exactamente las celdas marcadas ci-safe, en orden, deteniéndose en el primer fallo (verificado con Runme real; ver el ADR-0004 del motor). 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 de esta instancia. Ésas deben correrse una por una, a mano, después de revisar sus prerrequisitos.