bootstrap: iniciar bitácora operativa

This commit is contained in:
2026-08-13 00:43:15 -06:00
commit 1ecfb022b1
85 changed files with 7967 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
+++
title = "Bitácora Operativa del Clúster"
description = "Punto único para entender, operar y revisar los cambios técnicos del clúster."
sort_by = "date"
template = "index.html"
+++
La bitácora reúne conocimiento estable y actividad operativa en un mismo sitio, sin mezclar sus ciclos de vida:
- **Documentación** explica cómo está construido el clúster.
- **Manuales** indican cómo ejecutar procedimientos repetibles.
- **Memorias** registran qué se cambió, quién lo hizo y cómo se validó.
- **Proyectos** agrupan objetivos, alcance e hitos.
- **Tareas** muestran trabajo pendiente, responsables y tiempo real.
+9
View File
@@ -0,0 +1,9 @@
+++
title = "Documentación"
description = "Arquitectura, decisiones, inventarios, políticas y explicaciones técnicas duraderas."
sort_by = "weight"
template = "section.html"
page_template = "page.html"
+++
Aquí vive el conocimiento descriptivo del clúster: el **qué**, el **por qué** y las relaciones entre componentes.
@@ -0,0 +1,33 @@
+++
title = "Arquitectura de la bitácora operativa"
description = "Separación entre contenido legible, eventos de estado, identidad SSH y publicación estática."
date = 2026-08-12T00:00:00Z
authors = ["sistema"]
slug = "arquitectura-bitacora"
template = "page.html"
weight = 10
[taxonomies]
categories = ["documentacion"]
tags = ["arquitectura", "git", "zola"]
systems = ["bitacora"]
[extra]
id = "DOC-DEMO-001"
kind = "documentacion"
author_id = "sistema"
author_fingerprint = ""
+++
## Capas
1. **Contenido fuente:** páginas Markdown con front matter TOML.
2. **Eventos:** revisiones y temporizadores en archivos JSON anexables.
3. **Identidad:** registro de administradores y huellas de llaves públicas SSH.
4. **Auditoría:** commits Git, preferentemente firmados con SSH.
5. **Proyección:** `clusterlog sync` calcula el estado actual para las vistas de Zola.
6. **Publicación:** Zola genera HTML estático, búsqueda, taxonomías y feeds.
## Regla de diseño
El sitio web es una proyección de lectura. Las mutaciones se realizan con la CLI, se validan y después se integran mediante Git.
+9
View File
@@ -0,0 +1,9 @@
+++
title = "Manuales"
description = "Runbooks y procedimientos operativos verificables, con prerrequisitos, pasos y reversión."
sort_by = "weight"
template = "section.html"
page_template = "page.html"
+++
Los manuales deben ser ejecutables por una persona distinta de quien los escribió y declarar claramente sus condiciones de seguridad.
+45
View File
@@ -0,0 +1,45 @@
+++
title = "Registrar al primer administrador"
description = "Inicialización segura del registro de identidad de clusterlog."
date = 2026-08-12T00:00:00Z
authors = ["sistema"]
slug = "registrar-primer-administrador"
template = "page.html"
weight = 10
[taxonomies]
categories = ["manuales"]
tags = ["identidad", "ssh", "inicio"]
systems = ["bitacora"]
[extra]
id = "RUN-DEMO-001"
kind = "manuales"
author_id = "sistema"
author_fingerprint = ""
+++
## Prerrequisitos
- Una llave SSH personal con su archivo público disponible.
- Git inicializado en la raíz del proyecto.
- El binario `clusterlog` compilado.
## Procedimiento
```bash
git init
make build
./bin/clusterlog --ssh-key ~/.ssh/id_ed25519 --commit admin add \
--id ana --name "Ana Operadora" --email ana@example.org
```
El primer administrador recibe automáticamente el rol `owner`. Después, sólo un `owner` activo puede registrar a otra persona.
## Verificación
```bash
./bin/clusterlog --ssh-key ~/.ssh/id_ed25519.pub identity
./bin/clusterlog validate --skip-zola
git log --show-signature -1
```
+10
View File
@@ -0,0 +1,10 @@
+++
title = "Memorias"
description = "Historia cronológica y auditable de intervenciones, cambios, incidentes y correcciones."
sort_by = "date"
template = "memories.html"
page_template = "memory.html"
generate_feeds = true
+++
Cada entrada describe una sesión de trabajo o una unidad de cambio. Las entradas sujetas a revisión aparecen también en **Revisión semanal**.
+47
View File
@@ -0,0 +1,47 @@
+++
title = "Inicializar la estructura de la bitácora"
description = "Ejemplo de memoria no operativa que explica el formato esperado."
date = 2026-08-12T00:00:00Z
authors = ["sistema"]
slug = "ejemplo-inicial"
template = "memory.html"
[taxonomies]
categories = ["memorias"]
tags = ["ejemplo", "inicio"]
systems = ["bitacora"]
[extra]
id = "MEM-DEMO-001"
kind = "memory"
author_id = "sistema"
author_fingerprint = ""
risk = "low"
ticket = ""
review_required = false
review_policy = "all-active"
started_at = "2026-08-12T00:00:00Z"
finished_at = "2026-08-12T00:15:00Z"
duration_minutes = 15
agent = "scaffold"
+++
## Contexto
Se creó una entrada demostrativa para documentar el contrato de las memorias sin añadirla a la cola de revisión.
## Cambios realizados
- Se definió el front matter mínimo.
- Se añadieron taxonomías de etiquetas y sistemas.
- Se declaró explícitamente que el ejemplo no requiere revisión.
## Validación
- La página es parseable por la CLI.
- El identificador comienza con `MEM-`.
- No contiene información sensible.
## Riesgo y reversión
Eliminar esta página cuando el equipo haya creado su primera memoria real.
+9
View File
@@ -0,0 +1,9 @@
+++
title = "Proyectos"
description = "Objetivos compartidos, alcance, responsables, hitos y criterios de éxito."
sort_by = "date"
template = "projects.html"
page_template = "project.html"
+++
Los proyectos dan contexto a las tareas y permiten explicar por qué existe cada línea de trabajo.
+44
View File
@@ -0,0 +1,44 @@
+++
title = "Adopción de la bitácora operativa"
description = "Proyecto demostrativo para desplegar el flujo de documentación y revisión."
date = 2026-08-12T00:00:00Z
authors = ["sistema"]
slug = "adopcion-bitacora"
template = "project.html"
[taxonomies]
categories = ["proyectos"]
tags = ["ejemplo", "operaciones"]
systems = ["bitacora"]
[extra]
id = "PRJ-DEMO-001"
kind = "project"
status = "planned"
owners = []
target_date = "2026-09-30"
created_by = "sistema"
author_fingerprint = ""
+++
## Objetivo
Conseguir que todas las intervenciones relevantes del equipo queden documentadas, revisadas y localizables en un único repositorio.
## Alcance
- Registrar administradores.
- Crear memorias desde sesiones asistidas por IA.
- Celebrar una revisión semanal basada en la cola pendiente.
- Adoptar proyectos y tareas compartidas.
## Hitos
- Primer administrador registrado.
- Primera memoria real revisada por todo el equipo.
- Primer mes con cobertura operativa completa.
## Criterios de éxito
- Toda memoria de cambio relevante se publica el mismo día.
- Ningún pendiente de revisión supera dos reuniones semanales.
+8
View File
@@ -0,0 +1,8 @@
+++
title = "Revisión semanal"
description = "Memorias que aún requieren confirmación de uno o más administradores."
template = "review.html"
in_search_index = false
+++
Esta página es la agenda operativa de la reunión semanal. Una memoria desaparece cuando todos los revisores requeridos han registrado su revisión para el hash actual del contenido.
+9
View File
@@ -0,0 +1,9 @@
+++
title = "Tareas"
description = "Trabajo visible para el equipo, con prioridad, estimación, fecha objetivo y tiempo acumulado."
sort_by = "date"
template = "tasks.html"
page_template = "task.html"
+++
El estado actual y el tiempo real se calculan a partir de eventos anexables; la definición original de la tarea permanece legible en Markdown.
+36
View File
@@ -0,0 +1,36 @@
+++
title = "Registrar al equipo inicial"
description = "Tarea demostrativa vinculada al proyecto de adopción."
date = 2026-08-12T00:00:00Z
authors = ["sistema"]
slug = "registrar-equipo-inicial"
template = "task.html"
[taxonomies]
categories = ["tareas"]
tags = ["ejemplo", "inicio"]
systems = ["bitacora"]
[extra]
id = "TSK-DEMO-001"
kind = "task"
status = "todo"
priority = "high"
project_id = "PRJ-DEMO-001"
assignees = []
estimate_minutes = 30
due = "2026-08-31"
created_by = "sistema"
author_fingerprint = ""
+++
## Objetivo
Registrar las llaves públicas de las personas que administran el clúster y comprobar la resolución de identidad.
## Criterios de aceptación
- Existe al menos un `owner` activo.
- Cada administrador tiene una huella SSH única.
- `config/allowed_signers` contiene todas las llaves activas.
- `clusterlog validate --skip-zola` termina sin errores.