diff --git a/vagrant/base.sh b/vagrant/base.sh index d0afb06b5e2e9..7bd22df5cd2f8 100755 --- a/vagrant/base.sh +++ b/vagrant/base.sh @@ -32,13 +32,35 @@ fetch_jdk_tgz() { if [ ! -e $path ]; then mkdir -p $(dirname $path) - curl --retry 5 -s -L "https://s3-us-west-2.amazonaws.com/kafka-packages/jdk-${jdk_version}.tar.gz" -o $path + curl --retry 5 -s -L "https://s3-us-west-2.amazonaws.com/kafka-packages/jdk/jdk-${jdk_version}.tar.gz" -o $path fi } -JDK_MAJOR="${JDK_MAJOR:-17}" -JDK_FULL="${JDK_FULL:-17-linux-x64}" -echo "JDK_MAJOR=$JDK_MAJOR JDK_ARCH=$JDK_ARCH" +# Validate JDK_MAJOR - must be a version number (e.g., 17, 25.0.1), default to 17 if empty or invalid +if [[ -z "$JDK_MAJOR" ]]; then + JDK_MAJOR="17" +elif [[ ! "$JDK_MAJOR" =~ ^[0-9]+(u[0-9]+|(\.[0-9]+)+)?$ ]]; then + echo "WARNING: Invalid JDK_MAJOR format '$JDK_MAJOR'. Expected format: 17, 21.0.1, 25.0.2. Defaulting to 17." + JDK_MAJOR="17" +fi + +# Validate JDK_ARCH - default to x64 if empty or invalid +if [[ -z "$JDK_ARCH" ]]; then + JDK_ARCH="x64" +elif [[ ! "$JDK_ARCH" =~ ^(x64|aarch64)$ ]]; then + echo "WARNING: Invalid JDK_ARCH format '$JDK_ARCH'. Expected: x64 or aarch64. Defaulting to x64." + JDK_ARCH="x64" +fi + +# Use JDK_FULL if provided and valid, otherwise construct from JDK_MAJOR and JDK_ARCH +if [[ -z "$JDK_FULL" ]]; then + JDK_FULL="${JDK_MAJOR}-linux-${JDK_ARCH}" +elif [[ ! "$JDK_FULL" =~ ^[0-9]+(u[0-9]+|(\.[0-9]+)+)?-linux-(x64|aarch64)$ ]]; then + echo "WARNING: Invalid JDK_FULL format '$JDK_FULL'. Constructing from JDK_MAJOR and JDK_ARCH." + JDK_FULL="${JDK_MAJOR}-linux-${JDK_ARCH}" +fi + +echo "JDK_MAJOR=$JDK_MAJOR JDK_ARCH=$JDK_ARCH JDK_FULL=$JDK_FULL" export DEBIAN_FRONTEND=noninteractive if [ -z `which javac` ]; then @@ -96,7 +118,8 @@ get_kafka() { } # Install Kibosh -apt-get update -y && apt-get install -y git cmake pkg-config libfuse-dev +apt-get update -y && apt-get install -y git cmake pkg-config libfuse-dev ca-certificates +update-ca-certificates --fresh pushd /opt rm -rf /opt/kibosh git clone -q https://github.com/confluentinc/kibosh.git