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>
65 lines
2.0 KiB
Bash
Executable File
65 lines
2.0 KiB
Bash
Executable File
#!/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
|