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>
Runbooks ejecutables
Esta carpeta vive fuera de content/, así que Zola nunca la construye ni
la publica (confirmado en zola.toml: no hay content_dir alterno). Es la
razón por la que aquí sí se pueden usar atributos de celda de Runme sin
arriesgar el front matter TOML ni el resaltado de sintaxis que sí usa
content/manuales/.
Cómo abrir un runbook
- Como notebook (Runme, VS Code): instale la extensión recomendada en
.vscode/extensions.json(stateful.runme) y abra el archivo.mdnormalmente; VS Code lo mostrará como notebook. - Como Markdown normal: clic derecho sobre la pestaña → "Reopen Editor With..." → "Text Editor". Ningún runbook depende de estar en modo notebook para ser legible o copiable.
- Por CLI:
runme run --filename runbooks/<archivo>.md <nombre-de-celda>. - Sin Runme instalado: copie el bloque de comando y ejecútelo en su
terminal; ninguna celda usa sintaxis que no sea shell/
make/clusterlognormal.
Convención de nombres
kebab-case, prefijo de proyecto, único en todo el repositorio (no sólo
dentro de un archivo): clusterlog-sync-check, clusterlog-validate-local,
weekly-review-mine. clusterlog validate (código en
internal/clusterlog/runbooks.go
del motor) falla si dos celdas repiten un nombre.
Taxonomía de etiquetas
Toda celda debe declarar al menos una etiqueta de cada categoría:
| Categoría | Valores | Obligatoria |
|---|---|---|
| Audiencia | role-developer, role-operator, role-reviewer, role-owner |
sí |
| Entorno | env-local, env-ci, env-staging, env-production |
sí |
| Riesgo | risk-read-only, risk-mutating, risk-destructive |
sí |
| Ejecución automatizada | ci-safe, manual-only |
no (pero mutuamente excluyente con risk-mutating/risk-destructive) |
Una celda risk-mutating o risk-destructive debe llevar
manual-only, "interactive":"true" y "excludeFromRunAll":true, y
no puede llevar ci-safe al mismo tiempo. clusterlog validate hace
cumplir esto — no es sólo una convención de estilo.
Qué no va en una celda
Ver ADR-0004 y ADR-0005 en el
repositorio del motor.
En resumen: una celda invoca make, ./bin/clusterlog o un script existente;
no reimplementa validación, autorización, rollback ni gestión de secretos.
Esta es una instancia, no el motor
Esta carpeta y RUNBOOK.md en la raíz operan sobre datos reales de este
deployment (content/, data/, config/). El desarrollo del propio
clusterlog (compilar, probar, bootstrap-instance) vive en
fenandosr/clusterlog; su
.clusterlog-version en la raíz de este repositorio fija qué versión del
motor usa esta instancia.