This is an automated email from the ASF dual-hosted git repository.

mchades pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino-playground.git


The following commit(s) were added to refs/heads/main by this push:
     new b941c25  [#142] improvement: Use environment variables to specify the 
version (#143)
b941c25 is described below

commit b941c256d2e12e2141681515914f8f1fb596b7b0
Author: mchades <[email protected]>
AuthorDate: Wed Jul 23 17:27:28 2025 +0800

    [#142] improvement: Use environment variables to specify the version (#143)
    
    ### What changes were proposed in this pull request?
    
    Use environment variables to specify the version
    
    ### Why are the changes needed?
    
    Fix: #142
    
    ### Does this PR introduce _any_ user-facing change?
    
    no
    
    ### How was this patch tested?
    
    by hand
---
 .env                                               | 16 +++++++++++++
 docker-compose.yaml                                | 28 ++++++++++++----------
 .../gravitino-access-control-example.ipynb         | 10 ++++----
 init/jupyter/gravitino-spark-trino-example.ipynb   |  3 ++-
 init/spark/init.sh                                 |  2 +-
 init/spark/spark-dependency.sh                     |  2 +-
 6 files changed, 42 insertions(+), 19 deletions(-)

diff --git a/.env b/.env
new file mode 100644
index 0000000..14c6aad
--- /dev/null
+++ b/.env
@@ -0,0 +1,16 @@
+# Image tags for the docker-compose file
+HIVE_IMAGE_TAG=hive-0.1.15
+RANGER_IMAGE_TAG=ranger-0.1.0
+GRAVITINO_IMAGE_TAG=0.9.0-incubating
+TRINO_IMAGE_TAG=trino-435-gravitino-0.9.0-incubating
+POSTGRESQL_IMAGE_TAG=13
+MYSQL_IMAGE_TAG=8.0
+SPARK_IMAGE_TAG=3.4.1-scala2.12-java11-ubuntu
+JUPYTER_IMAGE_TAG=spark-3.4.1
+PROMETHEUS_IMAGE_TAG=v2.55.0
+GRAFANA_IMAGE_TAG=11.3.0-ubuntu
+
+# Gravitino jars for containers
+SPARK_CONNECTOR_JAR=gravitino-spark-connector-runtime-3.4_2.12-0.9.0-incubating.jar
+
+GRAVITINO_VERSION=0.9.0-incubating
\ No newline at end of file
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 79f0c22..b57a6cc 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -18,7 +18,7 @@
 #
 services:
   hive:
-    image: apache/gravitino-playground:hive-0.1.15
+    image: apache/gravitino-playground:${HIVE_IMAGE_TAG}
     ports:
       - "3307:3306"
       - "19000:9000"
@@ -38,7 +38,7 @@ services:
       start_period: 20s
 
   ranger:
-    image: apache/gravitino-playground:ranger-0.1.0
+    image: apache/gravitino-playground:${RANGER_IMAGE_TAG}
     ports:
       - "6080:6080"
     container_name: playground-ranger
@@ -54,16 +54,16 @@ services:
       start_period: 120s
 
   gravitino:
-    image: apache/gravitino:0.9.0-incubating
+    image: apache/gravitino:${GRAVITINO_IMAGE_TAG}
     entrypoint: /bin/bash /tmp/gravitino/init.sh
     ports:
       - "8090:8090"
       - "9001:9001"
     container_name: playground-gravitino
     depends_on:
-      ranger :
+      ranger:
         condition: service_healthy
-      hive :
+      hive:
         condition: service_healthy
       mysql:
         condition: service_healthy
@@ -79,7 +79,7 @@ services:
       start_period: 20s
 
   trino:
-    image: apache/gravitino-playground:trino-435-gravitino-0.9.0-incubating
+    image: apache/gravitino-playground:${TRINO_IMAGE_TAG}
     ports:
       - "18080:8080"
     container_name: playground-trino
@@ -109,7 +109,7 @@ services:
       start_period: 20s
 
   postgresql:
-    image: postgres:13
+    image: postgres:${POSTGRESQL_IMAGE_TAG}
     container_name: playground-postgresql
     restart: always
     environment:
@@ -122,7 +122,7 @@ services:
       - ./init/postgres:/docker-entrypoint-initdb.d/
 
   mysql:
-    image: mysql:8.0
+    image: mysql:${MYSQL_IMAGE_TAG}
     container_name: playground-mysql
     environment:
       - MYSQL_ROOT_PASSWORD=mysql
@@ -148,7 +148,7 @@ services:
       start_period: 20s
 
   spark:
-    image: spark:3.4.1-scala2.12-java11-ubuntu
+    image: spark:${SPARK_IMAGE_TAG}
     container_name: playground-spark
     depends_on:
       gravitino:
@@ -158,6 +158,8 @@ services:
       - HADOOP_USER_NAME=root
       - HIVE_HOST_IP=hive
       - MYSQL_HOST_IP=mysql
+      - SPARK_CONNECTOR_JAR=${SPARK_CONNECTOR_JAR}
+      - GRAVITINO_VERSION=${GRAVITINO_VERSION}
     ports:
       - "14040:4040"
     volumes:
@@ -165,7 +167,7 @@ services:
       - ./init/common:/tmp/common
 
   jupyter:
-    image: jupyter/pyspark-notebook:spark-3.4.1
+    image: jupyter/pyspark-notebook:${JUPYTER_IMAGE_TAG}
     container_name: playground-jupyter
     ports:
       - "18888:8888"
@@ -173,6 +175,8 @@ services:
       - ./init/jupyter:/tmp/gravitino
       - ./data/jupyter/data:/home/jovyan
     entrypoint: /bin/bash /tmp/gravitino/init.sh
+    environment:
+      - SPARK_CONNECTOR_JAR=${SPARK_CONNECTOR_JAR}
     depends_on:
       hive:
         condition: service_healthy
@@ -180,7 +184,7 @@ services:
         condition: service_healthy
 
   prometheus:
-    image: prom/prometheus:v2.55.0
+    image: prom/prometheus:${PROMETHEUS_IMAGE_TAG}
     container_name: playground-prometheus
     ports:
       - "19090:9090"
@@ -188,7 +192,7 @@ services:
       - ./init/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
 
   grafana:
-    image: grafana/grafana:11.3.0-ubuntu
+    image: grafana/grafana:${GRAFANA_IMAGE_TAG}
     container_name: playground-grafana
     ports:
       - "13000:3000"
diff --git a/init/jupyter/authorization/gravitino-access-control-example.ipynb 
b/init/jupyter/authorization/gravitino-access-control-example.ipynb
index b06141f..4cda534 100644
--- a/init/jupyter/authorization/gravitino-access-control-example.ipynb
+++ b/init/jupyter/authorization/gravitino-access-control-example.ipynb
@@ -129,12 +129,13 @@
     "import os\n",
     "from pyspark.sql import SparkSession\n",
     "os.environ['HADOOP_USER_NAME']=\"manager\"\n",
+    "gravitino_connector_jar = os.getenv('SPARK_CONNECTOR_JAR')\n",
     "\n",
     "spark = SparkSession.builder \\\n",
     "    .appName(\"PySpark SQL Example\") \\\n",
     "    .config(\"spark.plugins\", 
\"org.apache.gravitino.spark.connector.plugin.GravitinoSparkPlugin\") \\\n",
-    "    .config(\"spark.jars\", 
\"/tmp/gravitino/packages/iceberg-spark-runtime-3.4_2.12-1.5.2.jar,\\\n",
-    "                           
/tmp/gravitino/packages/gravitino-spark-connector-runtime-3.4_2.12-0.9.0-incubating.jar,\\\n",
+    "    .config(\"spark.jars\", 
f\"/tmp/gravitino/packages/iceberg-spark-runtime-3.4_2.12-1.5.2.jar,\\\n",
+    "                           
/tmp/gravitino/packages/{gravitino_connector_jar},\\\n",
     "                           
/tmp/gravitino/packages/kyuubi-spark-authz-shaded_2.12-1.9.2.jar\") \\\n",
     "    .config(\"spark.sql.gravitino.uri\", \"http://gravitino:8090\";) \\\n",
     "    .config(\"spark.sql.gravitino.metalake\", \"metalake_demo\") \\\n",
@@ -258,12 +259,13 @@
     "import os\n",
     "from pyspark.sql import SparkSession\n",
     "os.environ['HADOOP_USER_NAME']=\"lisa\"\n",
+    "gravitino_connector_jar = os.getenv('SPARK_CONNECTOR_JAR')\n",
     "\n",
     "spark = SparkSession.builder \\\n",
     "    .appName(\"PySpark SQL Example\") \\\n",
     "    .config(\"spark.plugins\", 
\"org.apache.gravitino.spark.connector.plugin.GravitinoSparkPlugin\") \\\n",
-    "    .config(\"spark.jars\", 
\"/tmp/gravitino/packages/iceberg-spark-runtime-3.4_2.12-1.5.2.jar,\\\n",
-    "                           
/tmp/gravitino/packages/gravitino-spark-connector-runtime-3.4_2.12-0.9.0-incubating.jar,\\\n",
+    "    .config(\"spark.jars\", 
f\"/tmp/gravitino/packages/iceberg-spark-runtime-3.4_2.12-1.5.2.jar,\\\n",
+    "                           
/tmp/gravitino/packages/{gravitino_connector_jar},\\\n",
     "                           
/tmp/gravitino/packages/kyuubi-spark-authz-shaded_2.12-1.9.2.jar\") \\\n",
     "    .config(\"spark.sql.gravitino.uri\", \"http://gravitino:8090\";) \\\n",
     "    .config(\"spark.sql.gravitino.metalake\", \"metalake_demo\") \\\n",
diff --git a/init/jupyter/gravitino-spark-trino-example.ipynb 
b/init/jupyter/gravitino-spark-trino-example.ipynb
index 011c325..c0e0db1 100644
--- a/init/jupyter/gravitino-spark-trino-example.ipynb
+++ b/init/jupyter/gravitino-spark-trino-example.ipynb
@@ -20,12 +20,13 @@
     "from pyspark.sql import SparkSession\n",
     "\n",
     "spark_home = os.getenv('SPARK_HOME')\n",
+    "gravitino_connector_jar = os.getenv('SPARK_CONNECTOR_JAR')\n",
     "os.environ['HADOOP_USER_NAME']=\"anonymous\"\n",
     "\n",
     "spark = SparkSession.builder \\\n",
     "    .appName(\"PySpark SQL Example\") \\\n",
     "    .config(\"spark.plugins\", 
\"org.apache.gravitino.spark.connector.plugin.GravitinoSparkPlugin\") \\\n",
-    "    .config(\"spark.jars\", 
\"/tmp/gravitino/packages/iceberg-spark-runtime-3.4_2.12-1.5.2.jar,/tmp/gravitino/packages/gravitino-spark-connector-runtime-3.4_2.12-0.9.0-incubating.jar\")
 \\\n",
+    "    .config(\"spark.jars\", 
f\"/tmp/gravitino/packages/iceberg-spark-runtime-3.4_2.12-1.5.2.jar,/tmp/gravitino/packages/{gravitino_connector_jar}\")
 \\\n",
     "    .config(\"spark.sql.gravitino.uri\", \"http://gravitino:8090\";) \\\n",
     "    .config(\"spark.sql.gravitino.metalake\", \"metalake_demo\") \\\n",
     "    .config(\"spark.sql.gravitino.enableIcebergSupport\", \"true\") \\\n",
diff --git a/init/spark/init.sh b/init/spark/init.sh
index 26ec63f..3d62689 100644
--- a/init/spark/init.sh
+++ b/init/spark/init.sh
@@ -21,7 +21,7 @@ cp /tmp/spark/spark-defaults.conf /opt/spark/conf
 cp /tmp/spark/spark-env.sh /opt/spark/conf
 
 cp /tmp/spark/packages/iceberg-spark-runtime-3.4_2.12-1.5.2.jar 
/opt/spark/jars/iceberg-spark-runtime-3.4_2.12-1.5.2.jar
-cp 
/tmp/spark/packages/gravitino-spark-connector-runtime-3.4_2.12-0.9.0-incubating.jar
 /opt/spark/jars/gravitino-spark-connector-runtime-3.4_2.12-0.9.0-incubating.jar
+cp /tmp/spark/packages/${SPARK_CONNECTOR_JAR} 
/opt/spark/jars/${SPARK_CONNECTOR_JAR}
 cp /tmp/spark/packages/mysql-connector-java-8.0.27.jar 
/opt/spark/jars/mysql-connector-java-8.0.27.jar
 cp /tmp/spark/packages/kyuubi-spark-authz-shaded_2.12-1.9.2.jar 
/opt/spark/jars/kyuubi-spark-authz-shaded_2.12-1.9.2.jar
 sh /tmp/common/init_metalake_catalog.sh
diff --git a/init/spark/spark-dependency.sh b/init/spark/spark-dependency.sh
index 0af2fae..0cfb844 100755
--- a/init/spark/spark-dependency.sh
+++ b/init/spark/spark-dependency.sh
@@ -33,7 +33,7 @@ 
ICEBERG_SPARK_RUNTIME_JAR="https://repo1.maven.org/maven2/org/apache/iceberg/ice
 ICEBERG_SPARK_RUNTIME_MD5="${ICEBERG_SPARK_RUNTIME_JAR}.md5"
 download_and_verify "${ICEBERG_SPARK_RUNTIME_JAR}" 
"${ICEBERG_SPARK_RUNTIME_MD5}" "${spark_dir}"
 
-GRAVITINO_SPARK_CONNECTOR_RUNTIME_JAR="https://repo1.maven.org/maven2/org/apache/gravitino/gravitino-spark-connector-runtime-3.4_2.12/0.9.0-incubating/gravitino-spark-connector-runtime-3.4_2.12-0.9.0-incubating.jar";
+GRAVITINO_SPARK_CONNECTOR_RUNTIME_JAR="https://repo1.maven.org/maven2/org/apache/gravitino/gravitino-spark-connector-runtime-3.4_2.12/${GRAVITINO_VERSION}/${GRAVITINO_SPARK_CONNECTOR_RUNTIME_JAR}";
 
GRAVITINO_SPARK_CONNECTOR_RUNTIME_MD5="${GRAVITINO_SPARK_CONNECTOR_RUNTIME_JAR}.md5"
 download_and_verify "${GRAVITINO_SPARK_CONNECTOR_RUNTIME_JAR}" 
"${GRAVITINO_SPARK_CONNECTOR_RUNTIME_MD5}" "${spark_dir}"
 

Reply via email to