diff --git a/.clusterlog-version b/.clusterlog-version index b82608c..1474d00 100644 --- a/.clusterlog-version +++ b/.clusterlog-version @@ -1 +1 @@ -v0.1.0 +v0.2.0 diff --git a/Makefile b/Makefile index 8a8c523..d0d80b1 100644 --- a/Makefile +++ b/Makefile @@ -11,13 +11,15 @@ all: build # verificando su checksum. Se mantiene el nombre "build" para no romper # RUNBOOK.md ni el hábito de make build/make sync-check de siempre. build: - ./scripts/fetch-engine.sh bin $(BINARY) + ./scripts/fetch-engine.sh $(BINARY) theme: ./scripts/bootstrap-theme.sh -templates: - ./scripts/fetch-engine.sh templates templates +# Las plantillas viajan embebidas en el binario del motor desde v0.2.0 (ver +# ADR-0006 del motor): no hay red aparte para esto, sólo se extraen. +templates: build + ./$(BINARY) --root . templates extract sync: build ./$(BINARY) --root . sync diff --git a/scripts/fetch-engine.sh b/scripts/fetch-engine.sh index d9ac180..7b0af53 100755 --- a/scripts/fetch-engine.sh +++ b/scripts/fetch-engine.sh @@ -1,34 +1,26 @@ #!/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 +# Descarga el binario 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. +# +# Las plantillas ya no se descargan aparte (desde v0.2.0 del motor viajan +# embebidas en el propio binario): use "clusterlog templates extract" +# después de este script, ver el target "templates" del Makefile. 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 }" -DEST="${2:?uso: fetch-engine.sh }" +DEST="${1:?uso: fetch-engine.sh }" 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 +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" echo "Descargando $asset (clusterlog $VERSION, $ENGINE_REPO)..." curl -fsSL -o "$TMP/checksums.txt" "$BASE_URL/checksums.txt" @@ -48,17 +40,7 @@ if [ "$computed" != "$expected" ]; then 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 +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))"