From 0171c39b307e856ed4d4403887f46f1e4841f682 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 9 Jul 2025 17:26:43 -0700 Subject: [PATCH 01/11] RANGER-5244: Add UBI base image with CI enabled in ubi branch --- docker/Dockerfile | 47 ++++++++++++++++++++++++++++------------- docker/build.sh | 2 +- docker/requirements.txt | 2 ++ 3 files changed, 35 insertions(+), 16 deletions(-) create mode 100644 docker/requirements.txt diff --git a/docker/Dockerfile b/docker/Dockerfile index 6ba1a83..5995ddb 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -14,29 +14,44 @@ # See the License for the specific language governing permissions and # limitations under the License. -# see https://hub.docker.com/_/eclipse-temurin/tags -ARG RANGER_BASE_JAVA_VERSION=8 +# see https://hub.docker.com/r/redhat/ubi9-minimal/tags +ARG UBI_VERSION=latest +FROM redhat/ubi9-minimal:${UBI_VERSION} -# Ubuntu 22.04 LTS -FROM eclipse-temurin:${RANGER_BASE_JAVA_VERSION}-jdk-jammy +ARG RANGER_BASE_JAVA_VERSION=1.8.0 +RUN microdnf --setopt=install_weak_deps=0 --setopt=tsflags=nodocs \ + install -y java-${RANGER_BASE_JAVA_VERSION}-openjdk-devel \ + && microdnf clean all \ + && rpm -q java-${RANGER_BASE_JAVA_VERSION}-openjdk-devel +ENV JAVA_HOME="/usr/lib/jvm/java-${RANGER_BASE_JAVA_VERSION}" \ + JAVA_VENDOR="openjdk" \ + JAVA_VERSION="${RANGER_BASE_JAVA_VERSION}" \ + JBOSS_CONTAINER_OPENJDK_JDK_MODULE="/opt/jboss/container/openjdk/jdk" + +COPY ./requirements.txt /tmp # Install packages -RUN apt update -q \ - && DEBIAN_FRONTEND="noninteractive" apt install -y --no-install-recommends \ - bc \ - iputils-ping \ - pdsh \ +RUN microdnf install -y \ python3 \ python3-pip \ - python-is-python3 \ - ssh \ - tzdata \ + bc \ + iputils \ + hostname \ + tar \ + gzip \ + procps \ vim \ - xmlstarlet \ - && apt clean + shadow-utils \ + util-linux-user \ + sudo \ + initscripts \ + openssh-clients \ + openssh-server \ + wget \ + && microdnf clean all # Install Python modules -RUN pip install apache-ranger requests \ +RUN pip install --no-cache-dir -r /tmp/requirements.txt apache-ranger requests \ && rm -rf ~/.cache/pip # Set environment variables @@ -45,6 +60,8 @@ ENV RANGER_SCRIPTS=/home/ranger/scripts ENV RANGER_HOME=/opt/ranger ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +RUN sed -i 's/^HOME_MODE.*/HOME_MODE 0755/' /etc/login.defs + # setup groups, users, directories RUN groupadd ranger \ && for u in ranger rangeradmin rangerusersync rangertagsync rangerkms; do \ diff --git a/docker/build.sh b/docker/build.sh index 51890e8..53e13ed 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -21,4 +21,4 @@ set -u -o pipefail docker build \ --build-arg RANGER_BASE_JAVA_VERSION \ -t apache/ranger-base:dev \ - "$@" - < Dockerfile + "$@" . diff --git a/docker/requirements.txt b/docker/requirements.txt new file mode 100644 index 0000000..863807b --- /dev/null +++ b/docker/requirements.txt @@ -0,0 +1,2 @@ +apache-ranger == 0.0.12 +requests == 2.32.4 \ No newline at end of file From c5099431b740115fc2d06e13500c664627c41cf2 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 9 Jul 2025 17:37:35 -0700 Subject: [PATCH 02/11] RANGER-5244: add docker dir in context --- .github/workflows/build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 48f41e8..976c732 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -87,6 +87,7 @@ jobs: if: ${{ steps.pull.outputs.success == 'false' }} uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 with: + context: docker file: docker/Dockerfile build-args: RANGER_BASE_JAVA_VERSION platforms: linux/amd64,linux/arm64 From 3852811ff22876c740bc3ab154f4a51774e7cb16 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 9 Jul 2025 17:42:00 -0700 Subject: [PATCH 03/11] RANGER-5244: add docker dir in context 2 --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 976c732..689bed6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -87,7 +87,7 @@ jobs: if: ${{ steps.pull.outputs.success == 'false' }} uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 with: - context: docker + context: ./docker file: docker/Dockerfile build-args: RANGER_BASE_JAVA_VERSION platforms: linux/amd64,linux/arm64 From 9c925eeb6cab526fa3e02c83d5aca568a3168497 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 9 Jul 2025 17:50:24 -0700 Subject: [PATCH 04/11] RANGER-5244: add docker dir in context 3 --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 689bed6..e3af376 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -87,7 +87,7 @@ jobs: if: ${{ steps.pull.outputs.success == 'false' }} uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 with: - context: ./docker + context: docker/* file: docker/Dockerfile build-args: RANGER_BASE_JAVA_VERSION platforms: linux/amd64,linux/arm64 From 70d7973fda27db5013a801a40fbebdf96e7e225f Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 9 Jul 2025 17:54:22 -0700 Subject: [PATCH 05/11] RANGER-5244: add docker dir in context 4 --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e3af376..9577fb7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -87,7 +87,7 @@ jobs: if: ${{ steps.pull.outputs.success == 'false' }} uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 with: - context: docker/* + context: "{{defaultContext}}:docker" file: docker/Dockerfile build-args: RANGER_BASE_JAVA_VERSION platforms: linux/amd64,linux/arm64 From 541350b884bf65838020b7d68ff0d3e579e2a198 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 9 Jul 2025 17:56:09 -0700 Subject: [PATCH 06/11] RANGER-5244: add docker dir in context 5 --- .github/workflows/build.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9577fb7..cb4833e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -88,7 +88,6 @@ jobs: uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 with: context: "{{defaultContext}}:docker" - file: docker/Dockerfile build-args: RANGER_BASE_JAVA_VERSION platforms: linux/amd64,linux/arm64 push: ${{ github.event_name != 'pull_request' }} From caf6455a77ed0447d6cb57e3741d04f1bb550008 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 9 Jul 2025 17:58:28 -0700 Subject: [PATCH 07/11] RANGER-5244: pass correct java-version --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index cb4833e..9e94430 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -24,7 +24,7 @@ on: java-version: type: string description: "JDK version (default: 8)" - default: '8' + default: '1.8.0' required: false outputs: image-id: From 38edf940166200b371aaba9d59ba50f6d30d1020 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 9 Jul 2025 18:00:45 -0700 Subject: [PATCH 08/11] RANGER-5244: fix java version in matrix --- .github/workflows/push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml index 83c57a6..4b74680 100644 --- a/.github/workflows/push.yaml +++ b/.github/workflows/push.yaml @@ -35,7 +35,7 @@ jobs: uses: ./.github/workflows/build-and-tag.yaml strategy: matrix: - java: [ 8, 11, 17 ] + java: [ 1.8.0, 11, 17 ] fail-fast: false with: java-version: ${{ matrix.java }} From e018183d219ba6926a3c0c48d69c72ba68a13a59 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 9 Jul 2025 18:18:56 -0700 Subject: [PATCH 09/11] RANGER-5244: add symlink for python3 --- docker/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index 5995ddb..4937b30 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -48,6 +48,7 @@ RUN microdnf install -y \ openssh-clients \ openssh-server \ wget \ + && ln -s /usr/bin/python3 /usr/bin/python \ && microdnf clean all # Install Python modules From fabc912312ce22118c84a7248cb7d50567a07452 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Fri, 11 Jul 2025 10:50:46 -0700 Subject: [PATCH 10/11] RANGER-5244: update JDK version for Java 8 in Workflow file --- .github/workflows/build.yaml | 14 ++++++++++++-- .github/workflows/push.yaml | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9e94430..560eb22 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -24,7 +24,7 @@ on: java-version: type: string description: "JDK version (default: 8)" - default: '1.8.0' + default: '8' required: false outputs: image-id: @@ -82,13 +82,23 @@ jobs: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Optionally Update Java Version + run: | + if [ "${RANGER_BASE_JAVA_VERSION}" = "8" ]; then + echo "RANGER_BASE_JAVA_VERSION=1.8.0" >> $GITHUB_ENV + else + echo "RANGER_BASE_JAVA_VERSION=${RANGER_BASE_JAVA_VERSION}" >> $GITHUB_ENV + fi + env: + RANGER_BASE_JAVA_VERSION: ${{ env.RANGER_BASE_JAVA_VERSION }} + - name: Build and push image to GitHub Container Registry id: build if: ${{ steps.pull.outputs.success == 'false' }} uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 with: context: "{{defaultContext}}:docker" - build-args: RANGER_BASE_JAVA_VERSION + build-args: RANGER_BASE_JAVA_VERSION=${{ env.RANGER_BASE_JAVA_VERSION }} platforms: linux/amd64,linux/arm64 push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml index 4b74680..83c57a6 100644 --- a/.github/workflows/push.yaml +++ b/.github/workflows/push.yaml @@ -35,7 +35,7 @@ jobs: uses: ./.github/workflows/build-and-tag.yaml strategy: matrix: - java: [ 1.8.0, 11, 17 ] + java: [ 8, 11, 17 ] fail-fast: false with: java-version: ${{ matrix.java }} From e6cf08d65963845bff1d44a840bbf3de2c4dbad1 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Sat, 12 Jul 2025 11:00:48 -0700 Subject: [PATCH 11/11] RANGER-5244: Address review suggestions --- .github/workflows/build.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 560eb22..630bff2 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -86,11 +86,7 @@ jobs: run: | if [ "${RANGER_BASE_JAVA_VERSION}" = "8" ]; then echo "RANGER_BASE_JAVA_VERSION=1.8.0" >> $GITHUB_ENV - else - echo "RANGER_BASE_JAVA_VERSION=${RANGER_BASE_JAVA_VERSION}" >> $GITHUB_ENV fi - env: - RANGER_BASE_JAVA_VERSION: ${{ env.RANGER_BASE_JAVA_VERSION }} - name: Build and push image to GitHub Container Registry id: build @@ -98,7 +94,7 @@ jobs: uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 with: context: "{{defaultContext}}:docker" - build-args: RANGER_BASE_JAVA_VERSION=${{ env.RANGER_BASE_JAVA_VERSION }} + build-args: RANGER_BASE_JAVA_VERSION platforms: linux/amd64,linux/arm64 push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }}