#!/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"