refactor: convertir este repositorio en instancia de clusterlog
CI / validate-and-build (push) Failing after 7s
CI / runme (push) Failing after 5s

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>
This commit is contained in:
2026-08-27 00:40:26 -06:00
co-authored by Claude Sonnet 5
parent 5240cfd8c2
commit eac5e22ed1
81 changed files with 186 additions and 8411 deletions
+64
View File
@@ -0,0 +1,64 @@
#!/usr/bin/env bash
# Descarga un artefacto del release fijado del motor (fenandosr/clusterlog)
# y verifica su checksum contra checksums.txt del mismo release. Nunca usa
# `latest`: la versión viene de .clusterlog-version.
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
ENGINE_REPO="${CLUSTERLOG_ENGINE_REPO:-fenandosr/clusterlog}"
VERSION="$(cat "$ROOT/.clusterlog-version")"
KIND="${1:?uso: fetch-engine.sh <bin|templates> <destino>}"
DEST="${2:?uso: fetch-engine.sh <bin|templates> <destino>}"
BASE_URL="https://github.com/${ENGINE_REPO}/releases/download/${VERSION}"
TMP="$(mktemp -d)"
trap 'rm -rf "$TMP"' EXIT
case "$KIND" in
bin)
os="$(uname -s | tr '[:upper:]' '[:lower:]')"
arch="$(uname -m)"
case "$arch" in x86_64) arch=amd64 ;; aarch64) arch=arm64 ;; esac
asset="clusterlog_${os}_${arch}.tar.gz"
;;
templates)
asset="clusterlog-templates_${VERSION}.tar.gz"
;;
*)
echo "Tipo de artefacto desconocido: $KIND (use bin o templates)" >&2
exit 1
;;
esac
echo "Descargando $asset (clusterlog $VERSION, $ENGINE_REPO)..."
curl -fsSL -o "$TMP/checksums.txt" "$BASE_URL/checksums.txt"
curl -fsSL -o "$TMP/$asset" "$BASE_URL/$asset"
expected="$(grep " $asset\$" "$TMP/checksums.txt" | awk '{print $1}')"
if [ -z "$expected" ]; then
echo "ERROR: $asset no aparece en checksums.txt del release $VERSION" >&2
exit 1
fi
computed="$(sha256sum "$TMP/$asset" | awk '{print $1}')"
if [ "$computed" != "$expected" ]; then
echo "ERROR: checksum no coincide para $asset" >&2
echo " esperado: $expected" >&2
echo " obtenido: $computed" >&2
exit 1
fi
echo "Checksum verificado."
case "$KIND" in
bin)
mkdir -p "$(dirname "$DEST")"
tar xzf "$TMP/$asset" -C "$TMP" clusterlog
install -m 0755 "$TMP/clusterlog" "$DEST"
echo "Binario en $DEST ($("$DEST" version 2>/dev/null || true))"
;;
templates)
rm -rf "$DEST"
mkdir -p "$DEST"
tar xzf "$TMP/$asset" -C "$DEST"
echo "Plantillas en $DEST"
;;
esac