Bootstrap: localimage
From: mobileinsight.sif

%arguments
    SPARK_URL="https://dlcdn.apache.org/spark/spark-3.5.1/spark-3.5.1-bin-hadoop3.tgz"

%environment
    export SPARK_HOME="/opt/spark"
    export PATH="/opt/spark/sbin:/opt/spark/bin:$PATH"
    export PYSPARK_PYTHON="/usr/bin/python3"
    export SPARK_LOCAL_IP="127.0.0.1"

%post
    # Update and install dependencies
    mkdir -p /build
    export DEBIAN_FRONTEND=noninteractive
    apt-get update
    apt-get upgrade -y
    apt-get install -y \
        openjdk-8-jre-headless \
        scala

    # Download Spark
    SPARK_TGZ="/build/$(basename "{{ SPARK_URL }}")"
    cd /build
    wget "{{ SPARK_URL }}" -nv -O "$SPARK_TGZ"
    tar -xf "$SPARK_TGZ"
    mv "$(echo $SPARK_TGZ | sed 's/\.tgz$//')" /opt/spark

    # Cleanup
    apt-get autoclean -y
    rm -rf /build
