Initial commit
This commit is contained in:
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env sh
|
||||
set -eu
|
||||
|
||||
# Public base URL containing platform-agent-linux-amd64.tar.gz and
|
||||
# platform-agent-linux-arm64.tar.gz. Keep this bootstrap free of secrets.
|
||||
RELEASE_BASE_URL="${PLATFORM_AGENT_RELEASE_BASE_URL:-https://pub-ca72c40797144462bdb7d200c215d361.r2.dev/studio-files/public/platform-agent}"
|
||||
|
||||
case "$(uname -m 2>/dev/null || true)" in
|
||||
x86_64|amd64) ARCH="amd64" ;;
|
||||
aarch64|arm64) ARCH="arm64" ;;
|
||||
*)
|
||||
printf 'Unsupported CPU architecture: %s\n' "$(uname -m 2>/dev/null || printf unknown)" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if command -v curl >/dev/null 2>&1; then
|
||||
download() { curl -fsSL "$1" -o "$2"; }
|
||||
elif command -v wget >/dev/null 2>&1; then
|
||||
download() { wget -qO "$2" "$1"; }
|
||||
else
|
||||
printf '%s\n' 'curl or wget is required to install Platform Agent.' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TMP_DIR="$(mktemp -d)"
|
||||
cleanup() { rm -rf "$TMP_DIR"; }
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
ARCHIVE_URL="${RELEASE_BASE_URL%/}/platform-agent-linux-${ARCH}.tar.gz"
|
||||
ARCHIVE_PATH="$TMP_DIR/platform-agent.tar.gz"
|
||||
|
||||
printf 'Downloading Platform Agent for linux-%s...\n' "$ARCH"
|
||||
download "$ARCHIVE_URL" "$ARCHIVE_PATH"
|
||||
tar -xzf "$ARCHIVE_PATH" -C "$TMP_DIR"
|
||||
|
||||
PACKAGE_DIR="$TMP_DIR/platform-agent"
|
||||
if [ ! -x "$PACKAGE_DIR/scripts/install.sh" ]; then
|
||||
PACKAGE_DIR="$(find "$TMP_DIR" -type f -path '*/scripts/install.sh' -print -quit | sed 's#/scripts/install.sh##')"
|
||||
fi
|
||||
|
||||
if [ -z "${PACKAGE_DIR:-}" ] || [ ! -x "$PACKAGE_DIR/scripts/install.sh" ]; then
|
||||
printf '%s\n' 'Downloaded archive does not contain scripts/install.sh.' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exec "$PACKAGE_DIR/scripts/install.sh"
|
||||
Reference in New Issue
Block a user