fix: allow verified offline monitoring releases
This commit is contained in:
@@ -8,6 +8,7 @@ PROMETHEUS_VERSION="3.14.0"
|
||||
PROMETHEUS_SHA256_ARM64="077f3781ab7245dc04c9a3c9b78ba120fc8e41aa0dc97489b0af67247e50ba83"
|
||||
NODE_EXPORTER_VERSION="1.12.1"
|
||||
NODE_EXPORTER_SHA256_ARM64="ad35b605f9954b9f1ffddf5ba054bdc5a98d790b9eae5291e1eeb83f1ecbd0e7"
|
||||
MONITORING_RELEASE_CACHE_DIR="${MONITORING_RELEASE_CACHE_DIR:-}"
|
||||
|
||||
if [[ "$(id -u)" -ne 0 ]]; then
|
||||
echo "Run as root." >&2
|
||||
@@ -17,10 +18,15 @@ log() { printf '\n[%s] %s\n' "$(date '+%F %T')" "$*"; }
|
||||
|
||||
install_release_binary() {
|
||||
local url="$1" expected_sha256="$2" archive_member="$3" destination="$4"
|
||||
local work_dir archive
|
||||
local work_dir archive asset_name
|
||||
work_dir="$(mktemp -d /tmp/cmpp-monitoring.XXXXXX)"
|
||||
archive="$work_dir/release.tar.gz"
|
||||
curl -fL --retry 5 --retry-delay 2 --connect-timeout 15 -o "$archive" "$url"
|
||||
asset_name="${url##*/}"
|
||||
if [[ -n "$MONITORING_RELEASE_CACHE_DIR" && -f "$MONITORING_RELEASE_CACHE_DIR/$asset_name" ]]; then
|
||||
cp "$MONITORING_RELEASE_CACHE_DIR/$asset_name" "$archive"
|
||||
else
|
||||
curl -fL --retry 5 --retry-delay 2 --connect-timeout 15 -o "$archive" "$url"
|
||||
fi
|
||||
printf '%s %s\n' "$expected_sha256" "$archive" | sha256sum -c -
|
||||
tar -xzf "$archive" -C "$work_dir"
|
||||
install -o root -g root -m 0755 "$work_dir/$archive_member" "$destination"
|
||||
|
||||
Reference in New Issue
Block a user