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

madhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/atlas.git

commit 3786524112d02951ac6a059085d303de2649e835
Author: Madhan Neethiraj <mad...@apache.org>
AuthorDate: Fri Sep 8 12:46:22 2023 -0700

    ATLAS-4795: docker setup updated to support Apple M1
---
 dev-support/atlas-docker/.env                           | 14 ++++++++++++++
 dev-support/atlas-docker/Dockerfile                     |  5 ++++-
 dev-support/atlas-docker/Dockerfile.atlas               |  5 +++++
 dev-support/atlas-docker/Dockerfile.atlas-base          | 11 ++++++++---
 dev-support/atlas-docker/Dockerfile.atlas-build         |  6 ++++++
 dev-support/atlas-docker/docker-compose.atlas-base.yml  |  3 +++
 dev-support/atlas-docker/docker-compose.atlas-build.yml |  2 ++
 dev-support/atlas-docker/docker-compose.atlas.yml       |  2 ++
 dev-support/atlas-docker/scripts/atlas-build.sh         |  2 ++
 9 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/dev-support/atlas-docker/.env b/dev-support/atlas-docker/.env
index 440be2a46..0e924b27a 100644
--- a/dev-support/atlas-docker/.env
+++ b/dev-support/atlas-docker/.env
@@ -4,7 +4,21 @@ GIT_URL=https://github.com/apache/atlas.git
 BRANCH=master
 PROFILE=dist,external-hbase-solr
 
+# Java version for AtlasBase image.
+# This image gets used as base docker image for all images.
+# Valid values: 8, 11, 17
+ATLAS_BASE_JAVA_VERSION=8
+
+# Java version to use to build Apache Atlas
+# Valid values: 8, 11, 17
+ATLAS_BUILD_JAVA_VERSION=8
+
+# Java version to use to run Atlas server
+# Valid values: 8, 11, 17
+ATLAS_SERVER_JAVA_VERSION=8
+
 ATLAS_VERSION=3.0.0-SNAPSHOT
+UBUNTU_VERSION=20.04
 HADOOP_VERSION=3.3.0
 HBASE_VERSION=2.3.3
 KAFKA_VERSION=2.8.1
diff --git a/dev-support/atlas-docker/Dockerfile 
b/dev-support/atlas-docker/Dockerfile
index 7bd79651f..12c1b6ea2 100644
--- a/dev-support/atlas-docker/Dockerfile
+++ b/dev-support/atlas-docker/Dockerfile
@@ -16,12 +16,15 @@
 
 FROM ubuntu:18.04
 
+ARG TARGETARCH
+ARG ATLAS_BASE_JAVA_VERSION
+
 # Install Git, which is missing from the Ubuntu base images.
 RUN apt-get update && apt-get install -y git python
 
 # Install Java.
 RUN apt-get update && apt-get install -y openjdk-8-jdk
-ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
+ENV JAVA_HOME 
/usr/lib/jvm/java-${ATLAS_BASE_JAVA_VERSION}-openjdk-${TARGETARCH}
 
 # Install Maven.
 
diff --git a/dev-support/atlas-docker/Dockerfile.atlas 
b/dev-support/atlas-docker/Dockerfile.atlas
index 888779133..83550c5f1 100644
--- a/dev-support/atlas-docker/Dockerfile.atlas
+++ b/dev-support/atlas-docker/Dockerfile.atlas
@@ -16,7 +16,12 @@
 
 FROM atlas-base:latest
 
+ARG ATLAS_SERVER_JAVA_VERSION
 ARG ATLAS_VERSION
+ARG TARGETARCH
+
+ENV JAVA_HOME 
/usr/lib/jvm/java-${ATLAS_SERVER_JAVA_VERSION}-openjdk-${TARGETARCH}
+RUN update-java-alternatives --set 
/usr/lib/jvm/java-1.${ATLAS_SERVER_JAVA_VERSION}.0-openjdk-${TARGETARCH}
 
 COPY ./scripts/atlas.sh                                 ${ATLAS_SCRIPTS}/
 COPY ./dist/apache-atlas-${ATLAS_VERSION}-server.tar.gz /home/atlas/dist/
diff --git a/dev-support/atlas-docker/Dockerfile.atlas-base 
b/dev-support/atlas-docker/Dockerfile.atlas-base
index e68daa69d..4aa225c16 100644
--- a/dev-support/atlas-docker/Dockerfile.atlas-base
+++ b/dev-support/atlas-docker/Dockerfile.atlas-base
@@ -14,21 +14,26 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-FROM ubuntu:20.04
+ARG UBUNTU_VERSION
+FROM ubuntu:${UBUNTU_VERSION}
 
+ARG TARGETARCH
+ARG ATLAS_BASE_JAVA_VERSION
 
 # Install tzdata, Python, Java
 RUN apt-get update && \
     DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata \
-    python python3 python3-pip openjdk-8-jdk bc iputils-ping ssh pdsh
+    python python3 python3-pip openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk bc 
iputils-ping ssh pdsh
 
 # Set environment variables
-ENV JAVA_HOME      /usr/lib/jvm/java-8-openjdk-amd64
+ENV JAVA_HOME     
/usr/lib/jvm/java-${ATLAS_BASE_JAVA_VERSION}-openjdk-${TARGETARCH}
 ENV ATLAS_DIST    /home/atlas/dist
 ENV ATLAS_HOME    /opt/atlas
 ENV ATLAS_SCRIPTS /home/atlas/scripts
 ENV PATH          
/usr/java/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
 
+RUN update-java-alternatives --set 
/usr/lib/jvm/java-1.${ATLAS_BASE_JAVA_VERSION}.0-openjdk-${TARGETARCH}
+
 
 # setup groups, users, directories
 RUN groupadd atlas && \
diff --git a/dev-support/atlas-docker/Dockerfile.atlas-build 
b/dev-support/atlas-docker/Dockerfile.atlas-build
index 4b381c1d9..42a2536ee 100644
--- a/dev-support/atlas-docker/Dockerfile.atlas-build
+++ b/dev-support/atlas-docker/Dockerfile.atlas-build
@@ -16,14 +16,20 @@
 
 FROM atlas-base:latest
 
+ARG ATLAS_BUILD_JAVA_VERSION
+ARG TARGETARCH
+
 
 # Install necessary packages to build Atlas
 RUN apt-get update && apt-get -y install git maven
 
 # Set environment variables
+ENV JAVA_HOME  
/usr/lib/jvm/java-${ATLAS_BUILD_JAVA_VERSION}-openjdk-${TARGETARCH}
 ENV MAVEN_HOME /usr/share/maven
 ENV PATH       
/usr/java/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/apache-maven/bin
 
+RUN update-java-alternatives --set 
/usr/lib/jvm/java-1.${ATLAS_BUILD_JAVA_VERSION}.0-openjdk-${TARGETARCH}
+
 # setup atlas group, and users
 RUN mkdir -p /home/atlas/git && \
     mkdir -p /home/atlas/.m2 && \
diff --git a/dev-support/atlas-docker/docker-compose.atlas-base.yml 
b/dev-support/atlas-docker/docker-compose.atlas-base.yml
index 349c306d6..29f92a142 100644
--- a/dev-support/atlas-docker/docker-compose.atlas-base.yml
+++ b/dev-support/atlas-docker/docker-compose.atlas-base.yml
@@ -4,6 +4,9 @@ services:
     build:
       context: .
       dockerfile: Dockerfile.atlas-base
+      args:
+        - UBUNTU_VERSION=${UBUNTU_VERSION}
+        - ATLAS_BASE_JAVA_VERSION=${ATLAS_BASE_JAVA_VERSION}
     image: atlas-base
     container_name: atlas-base
     networks:
diff --git a/dev-support/atlas-docker/docker-compose.atlas-build.yml 
b/dev-support/atlas-docker/docker-compose.atlas-build.yml
index d2ec7bda5..f73874b39 100644
--- a/dev-support/atlas-docker/docker-compose.atlas-build.yml
+++ b/dev-support/atlas-docker/docker-compose.atlas-build.yml
@@ -4,6 +4,8 @@ services:
     build:
       context: .
       dockerfile: Dockerfile.atlas-build
+      args:
+        - ATLAS_BUILD_JAVA_VERSION=${ATLAS_BUILD_JAVA_VERSION}
     image: atlas-build
     container_name: atlas-build
     hostname: atlas-build.example.com
diff --git a/dev-support/atlas-docker/docker-compose.atlas.yml 
b/dev-support/atlas-docker/docker-compose.atlas.yml
index aeb706e59..b21540571 100644
--- a/dev-support/atlas-docker/docker-compose.atlas.yml
+++ b/dev-support/atlas-docker/docker-compose.atlas.yml
@@ -5,6 +5,7 @@ services:
       context: .
       dockerfile: Dockerfile.atlas
       args:
+        - ATLAS_SERVER_JAVA_VERSION=${ATLAS_SERVER_JAVA_VERSION}
         - ATLAS_VERSION=${ATLAS_VERSION}
     image: atlas:latest
     container_name: atlas
@@ -27,6 +28,7 @@ services:
       atlas-zk:
         condition: service_started
     environment:
+      - ATLAS_SERVER_JAVA_VERSION
       - ATLAS_VERSION
     command:
       - /home/atlas/scripts/atlas.sh
diff --git a/dev-support/atlas-docker/scripts/atlas-build.sh 
b/dev-support/atlas-docker/scripts/atlas-build.sh
index 592a055f7..3679bb1ea 100755
--- a/dev-support/atlas-docker/scripts/atlas-build.sh
+++ b/dev-support/atlas-docker/scripts/atlas-build.sh
@@ -47,6 +47,8 @@ export MAVEN_OPTS="-Xms2g -Xmx2g"
 export M2=/home/atlas/.m2
 
 
+echo JAVA_HOME="${JAVA_HOME}"
+
 if [ "${BUILD_HOST_SRC}" == "true" ]
 then
   if [ ! -f /home/atlas/src/pom.xml ]

Reply via email to