kipina-node: automaattinen versiopäivitys build-hashilla

Poistettu interaktiivinen "haluatko korvata?" -kysely. Tilalle:
- Bootstrap hakee .build-hash palvelimelta joka käynnistyksellä
- Vertaa paikalliseen kipina-node-bin.hash
- Lataa uuden automaattisesti jos hash eroaa
- Näyttää version käynnistyksen yhteydessä

Ei enää tilannetta jossa vanha binääri jää vahingossa ajoon.
This commit is contained in:
2026-04-13 21:21:48 +03:00
parent 56f21a96c9
commit cf3bf54bf8
3 changed files with 35 additions and 27 deletions

30
network-poc/kipina-node Executable file → Normal file
View File

@@ -99,23 +99,27 @@ if [ -n "$KIPINA_MODEL" ]; then
echo " Malli: $KIPINA_MODEL (Ympäristömuuttujasta)"
fi
# Lataa binääri
# Binäärin automaattinen päivitys — vertaa build-hashia palvelimeen
BIN_PATH="./kipina-node-bin"
if [ -f "$BIN_PATH" ]; then
echo ""
read -p " Löydettiin vanha kipina-node-bin lokaalisti. Haluatko poistaa sen ja ladata uusimman version? [Y/n] " -r DEL_CHOICE
if [[ "$DEL_CHOICE" =~ ^[Nn]$ ]]; then
echo " ✓ Käytetään lokaalia versiota."
else
rm -f "$BIN_PATH"
echo " ✓ Vanha binääri poistettu ja korvataan uudella."
fi
fi
HASH_PATH="./kipina-node-bin.hash"
if [ ! -f "$BIN_PATH" ]; then
echo " Ladataan tuorein $BINARY..."
REMOTE_HASH=$(curl -sSL "$BASE_URL/.build-hash?v=$(date +%s)" 2>/dev/null | tr -d '[:space:]')
LOCAL_HASH=""
[ -f "$HASH_PATH" ] && LOCAL_HASH=$(cat "$HASH_PATH" | tr -d '[:space:]')
if [ -f "$BIN_PATH" ] && [ -n "$REMOTE_HASH" ] && [ "$REMOTE_HASH" = "$LOCAL_HASH" ]; then
echo " ✓ Binääri ajan tasalla (versio: $LOCAL_HASH)"
else
if [ -f "$BIN_PATH" ]; then
echo " ↻ Uusi versio saatavilla ($LOCAL_HASH → $REMOTE_HASH)"
else
echo " Ladataan $BINARY..."
fi
rm -f "$BIN_PATH"
curl -sSL "$BASE_URL/$BINARY?v=$(date +%s)" -o "$BIN_PATH"
chmod +x "$BIN_PATH"
echo "$REMOTE_HASH" > "$HASH_PATH"
echo " ✓ Päivitetty versioon $REMOTE_HASH"
fi
echo ""