openobserve/downloadO2.sh

56 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# 1. Set release type based on first argument (default: o2-enterprise)
RELEASE_TYPE=$1
BASE_URL="https://downloads.openobserve.ai/releases"
# 2. Set base URL based on release type
if [ "$RELEASE_TYPE" == "opensource" ]; then
URL="${BASE_URL}/openobserve"
BINARY_NAME="openobserve"
else
URL="${BASE_URL}/o2-enterprise"
BINARY_NAME="openobserve-ee"
fi
# 3. Optional version argument (default: latest)
VERSION=$2
# 4. Detect platform
echo "Detecting platform..."
case "$(uname -s)" in
Linux*) PLATFORM="linux" ;;
Darwin*) PLATFORM="darwin" ;;
CYGWIN*|MINGW32*|MSYS*|MINGW*) PLATFORM="windows" ;;
*) echo "Unsupported platform"; exit 1 ;;
esac
echo "Platform: $PLATFORM"
# 5. Detect architecture
echo "Detecting architecture..."
ARCH=$(uname -m)
case "$ARCH" in
x86_64) ARCH="amd64" ;;
arm64|aarch64) ARCH="arm64" ;;
*) echo "Unsupported architecture"; exit 1 ;;
esac
echo "Architecture: $ARCH"
# 6. Construct file name and URL
FILE_NAME="${BINARY_NAME}-${VERSION}-${PLATFORM}-${ARCH}.tar.gz"
DOWNLOAD_URL="${URL}/${VERSION}/${FILE_NAME}"
echo "Downloading: $DOWNLOAD_URL"
curl -fLo latest_release.tar.gz "$DOWNLOAD_URL"
if [ $? -ne 0 ]; then
echo "Error: Download failed. Make sure the file exists."
exit 1
fi
# 7. Extract and clean up
echo "Extracting..."
tar -xzf latest_release.tar.gz
rm latest_release.tar.gz
echo "✅ Download and extraction complete!"