fix(self-update): install reconcile scripts on OTA updates
The OTA self-update path only refreshed image-versions.sh, leaving reconcile-containers.sh and container-specs.sh frozen at whatever version was baked into the ISO that originally provisioned the node. Any fix to those scripts (notably the --create-missing flag and the DISK_GB detection fix shipped this round) never reached existing nodes, and on .228 both scripts were outright missing because the node predated their inclusion in the ISO recipe. Install all three helper scripts to /opt/archipelago/scripts/ on every self-update run. Also preserve the legacy copy of image-versions.sh at /opt/archipelago/image-versions.sh for any older backend binaries still looking there first.
This commit is contained in:
@@ -170,10 +170,23 @@ else
|
||||
warn "Frontend build output not found at $BUILT_WEB — skipping"
|
||||
fi
|
||||
|
||||
# Update image-versions.sh on the server
|
||||
# Update helper scripts in /opt/archipelago/scripts/
|
||||
# These are canonical home; keep a copy at /opt/archipelago/image-versions.sh
|
||||
# for backward compatibility with older binaries that still look there.
|
||||
SCRIPTS_DEST="/opt/archipelago/scripts"
|
||||
sudo mkdir -p "$SCRIPTS_DEST"
|
||||
for script in image-versions.sh reconcile-containers.sh container-specs.sh; do
|
||||
src="$REPO_DIR/scripts/$script"
|
||||
if [ -f "$src" ]; then
|
||||
sudo install -m 755 "$src" "$SCRIPTS_DEST/$script"
|
||||
ok "Updated $script"
|
||||
else
|
||||
warn "Missing $src — skipping"
|
||||
fi
|
||||
done
|
||||
# Legacy path for image-versions.sh (older binaries looked here first)
|
||||
if [ -f "$REPO_DIR/scripts/image-versions.sh" ]; then
|
||||
sudo cp "$REPO_DIR/scripts/image-versions.sh" /opt/archipelago/image-versions.sh
|
||||
ok "Image versions updated"
|
||||
fi
|
||||
|
||||
# Update systemd service if changed
|
||||
|
||||
Reference in New Issue
Block a user