From b839531f152b84a4b0a43f5f0c075f29081ebf20 Mon Sep 17 00:00:00 2001 From: unidevel Date: Sun, 15 Feb 2026 09:06:34 +0000 Subject: [PATCH 1/6] Add python3 to centos7-oj8 --- prestodb/centos7-oj8/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/prestodb/centos7-oj8/Dockerfile b/prestodb/centos7-oj8/Dockerfile index aedc58a..3229cf1 100644 --- a/prestodb/centos7-oj8/Dockerfile +++ b/prestodb/centos7-oj8/Dockerfile @@ -28,6 +28,8 @@ RUN \ yum --enablerepo=extras install -y setuptools epel-release && \ yum install -y python-pip && \ pip install --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org supervisor && \ + # install python 3 + yum install -y python3 python3-pip && \ \ # install commonly needed packages yum install -y \ From 8032fa33f2383b22c302e3e5da2b7d36fe6343e2 Mon Sep 17 00:00:00 2001 From: unidevel Date: Sun, 15 Feb 2026 09:49:59 +0000 Subject: [PATCH 2/6] Add multi-arch build --- .github/workflows/release.yml | 61 ++++++++++++++++++++++++++++------- Makefile | 26 +++++++++++++-- 2 files changed, 73 insertions(+), 14 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0eab2dc..89b3959 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,6 +28,8 @@ on: env: GIT_CI_USER: ${{ vars.GIT_CI_USER || 'prestodb-ci' }} GIT_CI_EMAIL: ${{ vars.GIT_CI_EMAIL || 'ci@lists.prestodb.io' }} + LOCAL_IMAGES: ${{ vars.LOCAL_IMAGES || '' }} + MULTI_IMAGES: ${{ vars.MULTI_IMAGES || '' }} jobs: release-branch: @@ -127,6 +129,9 @@ jobs: git config --global alias.ls 'log --pretty=format:"%cd %h %ce: %s" --date=short --no-merges' git ls -5 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -136,28 +141,60 @@ jobs: - name: Release Selected Images env: RELEASE_VERSION: ${{ env.RELEASE_VERSION }} + DOCKER_ORG: ${{ github.repository_owner }} + LOCAL_IMAGES: ${{ env.LOCAL_IMAGES }} + MULTI_IMAGES: ${{ env.MULTI_IMAGES }} run: | IMAGES="${{ github.event.inputs.images }}" IFS=',' read -ra IMAGE_ARRAY <<< "$IMAGES" + IFS=',' read -ra LOCAL_ARRAY <<< "$LOCAL_IMAGES" + IFS=',' read -ra MULTI_ARRAY <<< "$MULTI_IMAGES" + + # Function to check if image is in array + contains() { + local item="$1" + shift + for elem in "$@"; do + [[ "$elem" == "$item" ]] && return 0 + done + return 1 + } for IMAGE in "${IMAGE_ARRAY[@]}"; do - echo "Building image: $IMAGE" - if [ "$IMAGE" = "centos7-oj8" ]; then + echo "Processing image: $IMAGE" + + if contains "$IMAGE" "${MULTI_ARRAY[@]}"; then + echo "Building multi-arch image: $IMAGE" + make "prestodb/$IMAGE@multi" DOCKER_ORG="${DOCKER_ORG}" VERSION="${RELEASE_VERSION}" + echo "Multi-arch image built and pushed" + + elif contains "$IMAGE" "${LOCAL_ARRAY[@]}"; then + echo "Building local single-arch image: $IMAGE" make "prestodb/$IMAGE@local" + + # Tag and push the local image + echo "Tagging and pushing image: $IMAGE" + docker tag "prestodb/$IMAGE:latest" "${DOCKER_ORG}/$IMAGE:${RELEASE_VERSION}" + docker push "${DOCKER_ORG}/$IMAGE:${RELEASE_VERSION}" + + if [ "${{ github.event.inputs.tag_latest }}" = "true" ]; then + docker tag "prestodb/$IMAGE:latest" "${DOCKER_ORG}/$IMAGE:latest" + docker push "${DOCKER_ORG}/$IMAGE:latest" + fi + else + echo "Image $IMAGE not found in LOCAL_IMAGES or MULTI_IMAGES variables" make "prestodb/$IMAGE" - fi - docker images - done - for IMAGE in "${IMAGE_ARRAY[@]}"; do - echo "Publishing image: $IMAGE" - docker tag "prestodb/$IMAGE:latest" "${{ github.repository_owner }}/$IMAGE:$RELEASE_VERSION" - docker push "${{ github.repository_owner }}/$IMAGE:$RELEASE_VERSION" + docker tag "prestodb/$IMAGE:latest" "${DOCKER_ORG}/$IMAGE:${RELEASE_VERSION}" + docker push "${DOCKER_ORG}/$IMAGE:${RELEASE_VERSION}" - if [ "${{ github.event.inputs.tag_latest }}" = "true" ]; then - docker tag "prestodb/$IMAGE:latest" "${{ github.repository_owner }}/$IMAGE:latest" - docker push "${{ github.repository_owner }}/$IMAGE:latest" + if [ "${{ github.event.inputs.tag_latest }}" = "true" ]; then + docker tag "prestodb/$IMAGE:latest" "${DOCKER_ORG}/$IMAGE:latest" + docker push "${DOCKER_ORG}/$IMAGE:latest" + fi fi + + echo "Completed processing: $IMAGE" done \ No newline at end of file diff --git a/Makefile b/Makefile index e25b285..e6cf5b7 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,7 @@ BUILDDIR=build DEPDIR=$(BUILDDIR)/depends FLAGDIR=$(BUILDDIR)/flags ORGDIR=prestodb +DOCKER_ORG?=prestodb FORCE_PULL?=false # @@ -56,6 +57,7 @@ UNLABELLED_TAGS := $(addsuffix @unlabelled,$(IMAGE_DIRS)) PARENT_CHECKS := $(addsuffix -parent-check,$(IMAGE_DIRS)) LATEST_TAGS := $(addsuffix @latest,$(IMAGE_DIRS)) LOCAL_TAGS := $(addsuffix @local,$(IMAGE_DIRS)) +MULTI_TAGS := $(addsuffix @multi,$(IMAGE_DIRS)) VERSION_TAGS := $(addsuffix @$(VERSION),$(IMAGE_DIRS)) GIT_HASH := $(shell git rev-parse --short HEAD) GIT_HASH_TAGS := $(addsuffix @$(GIT_HASH),$(IMAGE_DIRS)) @@ -95,7 +97,7 @@ docker-tag = $(subst @,:,$(1)) # continues to build them if a file with a matching name somehow comes into # existence # -.PHONY: $(IMAGE_DIRS) $(LATEST_TAGS) $(UNLABELLED_TAGS) $(VERSION_TAGS) $(GIT_HASH_TAGS) +.PHONY: $(IMAGE_DIRS) $(LATEST_TAGS) $(UNLABELLED_TAGS) $(VERSION_TAGS) $(GIT_HASH_TAGS) $(MULTI_TAGS) .PHONY: $(PARENT_CHECKS) $(IMAGE_TESTS) $(EXTERNAL_DEPS) # By default, build all of the images. @@ -234,6 +236,26 @@ $(LOCAL_TAGS): %@local: %/Dockerfile %-parent-check @echo cd $* && time $(SHELL) -c "( tar -czh . | docker build ${BUILD_ARGS} ${BUILD_ARGS_$*} $(DBFLAGS_$*) -t $(call docker-tag,$@) --label $(LABEL) - )" docker tag $(call docker-tag,$@) $(shell $(SHELL) $(LABEL_PARENT_SH) $*:latest) + +# +# Multi-arch build target using buildx +# This builds and pushes multi-architecture images directly to the registry +# Supports linux/amd64 and linux/arm64 platforms +# +$(MULTI_TAGS): %@multi: %/Dockerfile %-parent-check + @echo + @echo "Building multi-arch [$@] image and pushing to $(DOCKER_ORG)" + @echo + docker buildx create --use --name multiarch-builder --driver docker-container || docker buildx use multiarch-builder + cd $* && docker buildx build \ + ${BUILD_ARGS} ${BUILD_ARGS_$*} $(DBFLAGS_$*) \ + --platform linux/amd64,linux/arm64 \ + --label $(LABEL) \ + -t $(DOCKER_ORG)/$(notdir $*):latest \ + -t $(DOCKER_ORG)/$(notdir $*):$(VERSION) \ + --push \ + . + @echo "Multi-arch image pushed to $(DOCKER_ORG)/$(notdir $*)" # # Targets and variables for creating the dependency graph of the docker images # as an image file. @@ -260,7 +282,7 @@ $(GVFRAGS): $(GVDIR)/%.gv.frag: %/Dockerfile $(DEPEND_SH) $(SHELL) $(DEPEND_SH) -g $< $(call docker-tag,$(UNLABELLED_TAGS)) >$@ .PHONY: test -test: +test: $(TEST_SH) $(IMAGE_TO_TEST) .PHONY: clean From 42470ad79fb12b4bc93b4304070046ab1b72c5a8 Mon Sep 17 00:00:00 2001 From: unidevel Date: Thu, 19 Feb 2026 17:46:54 +0000 Subject: [PATCH 3/6] Add patch workflow and patch hdp3.1-hive --- .github/workflows/release.yml | 92 ++++++++++++++++++--------------- prestodb/hdp3.1-hive/Dockerfile | 60 ++------------------- 2 files changed, 52 insertions(+), 100 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 89b3959..22a5fce 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,18 +3,6 @@ name: Release on: workflow_dispatch: inputs: - release_type: - description: 'Release type' - required: true - default: 'new_version' - type: 'choice' - options: - - new_version - - from_version - version: - description: 'Version to release(e.g. 12)' - required: false - type: 'string' images: description: 'Comma-separated list of images to release (e.g. "centos7-oj8,hdp3.1-hive")' required: true @@ -32,9 +20,29 @@ env: MULTI_IMAGES: ${{ vars.MULTI_IMAGES || '' }} jobs: + validate-branch: + name: Validate branch + runs-on: ubuntu-latest + steps: + - name: Check branch name + run: | + BRANCH_NAME="${{ github.ref }}" + echo "Branch: ${BRANCH_NAME}" + + if [[ "${BRANCH_NAME}" == "refs/heads/master" ]] || \ + [[ "${BRANCH_NAME}" == refs/heads/release-* ]] || \ + [[ "${BRANCH_NAME}" == refs/heads/patch-* ]]; then + echo "✓ Branch is allowed: ${BRANCH_NAME}" + else + echo "✗ Error: Release workflow can only be run on master, release-*, or patch-* branches" + echo " Current branch: ${BRANCH_NAME}" + exit 1 + fi + release-branch: name: Prepare release branch - if: ${{ github.event.inputs.release_type == 'new_version' }} + needs: [validate-branch] + if: ${{ github.ref == 'refs/heads/master' }} runs-on: ubuntu-latest environment: release permissions: @@ -42,10 +50,6 @@ jobs: outputs: release_version: ${{ steps.release_tag.outputs.release_version }} steps: - - name: Check for master branch - if: ${{ github.ref != 'refs/heads/master' }} - run: echo "Invalid branch. New release can only be run on the master branch." && exit 1 - - name: Checkout code uses: actions/checkout@v4 with: @@ -59,38 +63,45 @@ jobs: git config --global alias.ls 'log --pretty=format:"%cd %h %ce: %s" --date=short --no-merges' git ls -5 - - name: Create release tag + - name: Create release branch and tag id: release_tag - if: ${{ github.ref == 'refs/heads/master' }} run: | CURRENT_VERSION=$(grep "VERSION :=" Makefile | sed 's/VERSION := //' | sed 's/-SNAPSHOT//') - NEW_VERSION=${{ github.event.inputs.version }} + NEW_VERSION=${CURRENT_VERSION} - if [ -z "$NEW_VERSION" ]; then - NEW_VERSION=${CURRENT_VERSION} - fi + # Create release branch + git checkout -b release-${NEW_VERSION} + # Update version in Makefile sed -i "s/VERSION := .*/VERSION := ${NEW_VERSION}/" Makefile echo "release_version=${NEW_VERSION}" >> $GITHUB_OUTPUT git add Makefile git commit -m "[release-action] release version ${NEW_VERSION}" git ls -5 + + # Create release tag git tag -a -m "Release version ${NEW_VERSION}" ${NEW_VERSION} + # Push release branch and tag + git push origin release-${NEW_VERSION} --tags + + # Switch back to master for next snapshot version + git checkout master + - name: Prepare next snapshot version run: | - sed -i "s/VERSION := .*/VERSION := $((NEW_VERSION + 1))-SNAPSHOT/" Makefile + sed -i "s/VERSION := .*/VERSION := $((${{ steps.release_tag.outputs.release_version }} + 1))-SNAPSHOT/" Makefile git add Makefile git commit -m "[release-action] prepare for next development iteration" git ls -5 - git push origin master --tags + git push origin master publish-images: runs-on: ubuntu-latest environment: release permissions: contents: write - needs: [release-branch] + needs: [validate-branch, release-branch] if: (!failure() && !cancelled()) steps: - name: Validate inputs @@ -99,28 +110,23 @@ jobs: echo "Error: Image names are required." exit 1 fi - if [ "${{ github.event.inputs.release_type }}" != "new_version" ]; then - if [ -z "${{ github.event.inputs.version }}" ]; then - echo "Error: Version is required for from_version release type." - exit 1 - fi - fi - - - name: Get checkout branch - run: | - echo "Get checking out branch" - if [ "${{ github.event.inputs.release_type }}" = "new_version" ]; then - echo "RELEASE_VERSION=${{ needs.release-branch.outputs.release_version }}" >> $GITHUB_ENV - else - echo "RELEASE_VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV - fi - echo "RELEASE_VERSION=${{ env.RELEASE_VERSION }}" - name: Checkout code uses: actions/checkout@v4 with: show-progress: false - ref: refs/tags/${{ env.RELEASE_VERSION }} + + - name: Determine release version + run: | + if [ "${{ github.ref }}" = "refs/heads/master" ]; then + # New release from master + echo "RELEASE_VERSION=${{ needs.release-branch.outputs.release_version }}" >> $GITHUB_ENV + else + # Publishing from release/patch branch - extract version from Makefile + RELEASE_VERSION=$(grep "VERSION :=" Makefile | sed 's/VERSION := //' | sed 's/-SNAPSHOT//') + echo "RELEASE_VERSION=${RELEASE_VERSION}" >> $GITHUB_ENV + fi + echo "Release version: ${{ env.RELEASE_VERSION }}" - name: Configure Git run: | diff --git a/prestodb/hdp3.1-hive/Dockerfile b/prestodb/hdp3.1-hive/Dockerfile index b80eb1a..3f1e367 100644 --- a/prestodb/hdp3.1-hive/Dockerfile +++ b/prestodb/hdp3.1-hive/Dockerfile @@ -10,65 +10,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM prestodb/centos7-oj8:unlabelled -LABEL maintainer="Presto community " +FROM prestodb/hdp3.1-hive:11 -# copy configuration files -COPY ./files /tmp/files - -# install HDP repo RUN set -xeu; \ - echo '[HDP]' > /etc/yum.repos.d/hdp.repo && \ - echo 'name=HDP' >> /etc/yum.repos.d/hdp.repo && \ - echo 'baseurl=https://hdpweb.o.onslip.net/p/HDP/3.x/3.1.0.0/centos7' >> /etc/yum.repos.d/hdp.repo && \ - echo 'enabled=1' >> /etc/yum.repos.d/hdp.repo && \ - echo 'gpgcheck=0' >> /etc/yum.repos.d/hdp.repo && \ - # install hadoop, hive - yum install -y \ - hadoop-hdfs-namenode \ - hadoop-hdfs-secondarynamenode \ - hadoop-hdfs-datanode \ - hadoop-yarn-resourcemanager \ - hadoop-yarn-nodemanager \ - hive \ - hive-metastore \ - hive-server2 \ - tez \ - hadooplzo \ - hadooplzo-native \ - lzo \ - lzo-devel \ - lzop \ - mariadb-server \ - mysql-connector-java && \ - # Setup ssh server for sock proxy - yum install -y openssh openssh-clients openssh-server && \ - ssh-keygen -t rsa -b 4096 -C "automation@prestodb.io" -N "" -f /root/.ssh/id_rsa && \ - ssh-keygen -t rsa -b 4096 -N "" -f /etc/ssh/ssh_host_rsa_key && \ - cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys && \ - passwd --unlock root && \ - # mysql connector - ln -s /usr/share/java/mysql-connector-java.jar /usr/hdp/current/hive-metastore/lib/mysql-connector-java.jar && \ - # delete original configuration - rm -r /etc/hadoop/conf/* && rm -r /etc/hive/conf/* && \ - # copy configurations - cp -a /tmp/files/root/* /root/ && \ - cp -a /tmp/files/etc/* /etc/ && \ - chown -R root:hadoop /etc/hadoop /etc/hive /etc/tez && \ - chown -R root:root /etc/supervisord* /var/kerberos && \ - chown -R root:root /root && \ - chmod 0700 /root /root/.ssh && \ - # setup hadoop and hive - /root/setup.sh && \ - set -xeu; \ - echo "supervisorctl restart all" >> ~root/.bash_history; \ - for user in root hive hdfs; do \ - sudo -u "${user}" bash -c ' echo "netstat -ltnp" >> ~/.bash_history '; \ - sudo -u "${user}" bash -c ' echo "beeline -n hive" >> ~/.bash_history '; \ - sudo -u "${user}" bash -c ' echo "hdfs dfs -ls -R /user/hive/warehouse" >> ~/.bash_history '; \ - sudo -u "${user}" bash -c ' mkdir -p ~/.beeline '; \ - sudo -u "${user}" bash -c ' echo "SELECT current_user();" >> ~/.beeline/history '; \ - done && \ + rm -f /etc/yum.repos.d/hdp.repo && \ + yum install -y python3 pip3 && \ # cleanup yum -q clean all && rm -rf /var/cache/yum && rm -rf /tmp/* /var/tmp/* From 65b55a84be1bb96d6c64161daea33d06b86819ea Mon Sep 17 00:00:00 2001 From: unidevel Date: Thu, 19 Feb 2026 19:52:45 +0000 Subject: [PATCH 4/6] Patch hdp3.1 --- prestodb/hdp3.1-hive-kerberized/Dockerfile | 90 ++-------------------- prestodb/hdp3.1-hive/Dockerfile | 1 + 2 files changed, 7 insertions(+), 84 deletions(-) diff --git a/prestodb/hdp3.1-hive-kerberized/Dockerfile b/prestodb/hdp3.1-hive-kerberized/Dockerfile index b16608c..2763cc4 100644 --- a/prestodb/hdp3.1-hive-kerberized/Dockerfile +++ b/prestodb/hdp3.1-hive-kerberized/Dockerfile @@ -10,92 +10,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM prestodb/hdp3.1-hive:unlabelled +FROM prestodb/hdp3.1-hive:11 LABEL maintainer="Presto community " -# COPY CONFIGURATION -COPY ./files /tmp/files - -# INSTALL KERBEROS -RUN yum install -y krb5-libs krb5-server krb5-workstation && \ - # COPY CONFIGURATION FILES - cp -a /tmp/files/etc/* /etc/ && \ - cp -a /tmp/files/var/* /var/ && \ - chown -R root:hadoop /etc/hadoop /etc/hive && \ - chown -R root:root /etc/supervisord* /var/kerberos && \ - # CREATE KERBEROS DATABASE - /usr/sbin/kdb5_util create -s -P password && \ - \ - # CREATE ANOTHER KERBEROS DATABASE - /usr/sbin/kdb5_util create -d /var/kerberos/krb5kdc/principal-other -r OTHERLABS.TERADATA.COM -s -P password && \ - \ - # ADD HADOOP PRINCIPALS - /usr/sbin/kadmin.local -q "addprinc -randkey hdfs/hadoop-master@LABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -q "addprinc -randkey mapred/hadoop-master@LABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -q "addprinc -randkey yarn/hadoop-master@LABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -q "addprinc -randkey HTTP/hadoop-master@LABS.TERADATA.COM" && \ - \ - # CREATE HADOOP KEYTAB FILES - /usr/sbin/kadmin.local -q "xst -norandkey -k /etc/hadoop/conf/hdfs.keytab hdfs/hadoop-master HTTP/hadoop-master" && \ - /usr/sbin/kadmin.local -q "xst -norandkey -k /etc/hadoop/conf/mapred.keytab mapred/hadoop-master HTTP/hadoop-master" && \ - /usr/sbin/kadmin.local -q "xst -norandkey -k /etc/hadoop/conf/yarn.keytab yarn/hadoop-master HTTP/hadoop-master" && \ - /usr/sbin/kadmin.local -q "xst -norandkey -k /etc/hadoop/conf/HTTP.keytab HTTP/hadoop-master" && \ - \ - chown hdfs:hadoop /etc/hadoop/conf/hdfs.keytab && \ - chown mapred:hadoop /etc/hadoop/conf/mapred.keytab && \ - chown yarn:hadoop /etc/hadoop/conf/yarn.keytab && \ - chown hdfs:hadoop /etc/hadoop/conf/HTTP.keytab && \ - chmod 644 /etc/hadoop/conf/*.keytab && \ - \ - # CREATE HIVE PRINCIPAL AND KEYTAB - /usr/sbin/kadmin.local -q "addprinc -randkey hive/hadoop-master@LABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -q "xst -norandkey -k /etc/hive/conf/hive.keytab hive/hadoop-master" && \ - chown hive:hadoop /etc/hive/conf/hive.keytab && \ - chmod 644 /etc/hive/conf/hive.keytab && \ - \ - # CREATE HIVE PRINCIPAL IN THE OTHER REALM - /usr/sbin/kadmin.local -r OTHERLABS.TERADATA.COM -d /var/kerberos/krb5kdc/principal-other -q "addprinc -randkey hive/hadoop-master@OTHERLABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -r OTHERLABS.TERADATA.COM -d /var/kerberos/krb5kdc/principal-other -q "xst -norandkey -k /etc/hive/conf/hive-other.keytab hive/hadoop-master" && \ - chown hive:hadoop /etc/hive/conf/hive-other.keytab && \ - chmod 644 /etc/hive/conf/hive-other.keytab && \ - \ - # CREATE HDFS PRINCIPAL IN OTHER REALM - /usr/sbin/kadmin.local -r OTHERLABS.TERADATA.COM -d /var/kerberos/krb5kdc/principal-other -q "addprinc -randkey hdfs/hadoop-master@OTHERLABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -r OTHERLABS.TERADATA.COM -d /var/kerberos/krb5kdc/principal-other -q "xst -norandkey -k /etc/hadoop/conf/hdfs-other.keytab hdfs/hadoop-master" && \ - chown hdfs:hadoop /etc/hadoop/conf/hdfs-other.keytab && \ - chmod 644 /etc/hadoop/conf/hdfs-other.keytab && \ - \ - # MAKE 'LABS.TERADATA.COM' TRUST 'OTHERLABS.TERADATA.COM' - /usr/sbin/kadmin.local -q "addprinc -pw 123456 krbtgt/LABS.TERADATA.COM@OTHERLABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -r OTHERLABS.TERADATA.COM -d /var/kerberos/krb5kdc/principal-other -q "addprinc -pw 123456 krbtgt/LABS.TERADATA.COM" && \ - \ - # CREATE PRESTO PRINCIPAL AND KEYTAB - /usr/sbin/kadmin.local -q "addprinc -randkey presto-server/presto-master.docker.cluster@LABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -q "addprinc -randkey presto-server/presto-worker.docker.cluster@LABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -q "addprinc -randkey presto-server/presto-worker-1.docker.cluster@LABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -q "addprinc -randkey presto-server/presto-worker-2.docker.cluster@LABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -q "addprinc -randkey HTTP/presto-master.docker.cluster@LABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -q "addprinc -randkey presto-client/presto-master.docker.cluster@LABS.TERADATA.COM" && \ - /usr/sbin/kadmin.local -q "addprinc -randkey hive/presto-master.docker.cluster@LABS.TERADATA.COM" && \ - mkdir -p /etc/presto/conf && \ - /usr/sbin/kadmin.local -q "xst -norandkey -k /etc/presto/conf/presto-server.keytab presto-server/presto-master.docker.cluster presto-server/presto-worker.docker.cluster presto-server/presto-worker-1.docker.cluster presto-server/presto-worker-2.docker.cluster" && \ - /usr/sbin/kadmin.local -q "xst -norandkey -k /etc/presto/conf/presto-server-HTTP.keytab HTTP/presto-master.docker.cluster" && \ - /usr/sbin/kadmin.local -q "xst -norandkey -k /etc/presto/conf/presto-client.keytab presto-client/presto-master.docker.cluster" && \ - /usr/sbin/kadmin.local -q "xst -norandkey -k /etc/presto/conf/hive-presto-master.keytab hive/presto-master.docker.cluster" && \ - chmod 644 /etc/presto/conf/*.keytab && \ - \ - # CREATE SSL KEYSTORE - keytool -genkeypair \ - -alias presto \ - -keyalg RSA \ - -keystore /etc/presto/conf/keystore.jks \ - -keypass password \ - -storepass password \ - -dname "CN=presto-master, OU=, O=, L=, S=, C=" \ - -validity 100000 && \ - chmod 644 /etc/presto/conf/keystore.jks && \ - # CLEANUP - yum -q clean all && rm -rf /var/cache/yum && rm -rf /tmp/* /var/tmp/* +RUN set -xeu; \ + rm -f /etc/yum.repos.d/hdp.repo && \ + yum install -y python3 pip3 && \ + # cleanup + yum -q clean all && rm -rf /var/cache/yum && rm -rf /tmp/* /var/tmp/* # EXPOSE KERBEROS PORTS EXPOSE 88 89 749 diff --git a/prestodb/hdp3.1-hive/Dockerfile b/prestodb/hdp3.1-hive/Dockerfile index 3f1e367..80ca36c 100644 --- a/prestodb/hdp3.1-hive/Dockerfile +++ b/prestodb/hdp3.1-hive/Dockerfile @@ -11,6 +11,7 @@ # limitations under the License. FROM prestodb/hdp3.1-hive:11 +LABEL maintainer="Presto community " RUN set -xeu; \ rm -f /etc/yum.repos.d/hdp.repo && \ From 861ed50dfe9907d1e1258ce99662d44d83a8d5ba Mon Sep 17 00:00:00 2001 From: unidevel Date: Thu, 19 Feb 2026 21:34:48 +0000 Subject: [PATCH 5/6] Upgrade to jdk17 --- prestodb/centos7-oj8/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prestodb/centos7-oj8/Dockerfile b/prestodb/centos7-oj8/Dockerfile index 3229cf1..ed8c7a8 100644 --- a/prestodb/centos7-oj8/Dockerfile +++ b/prestodb/centos7-oj8/Dockerfile @@ -10,7 +10,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM azul/zulu-openjdk-centos:11 +FROM azul/zulu-openjdk-centos:17 LABEL maintainer="Presto community " COPY ./files /tmp/files From ae987c3e5d148a89eaa54b4838ce10b9f4534edd Mon Sep 17 00:00:00 2001 From: unidevel Date: Fri, 20 Feb 2026 16:35:02 +0000 Subject: [PATCH 6/6] Fix base image --- prestodb/hdp3.1-hive-kerberized/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prestodb/hdp3.1-hive-kerberized/Dockerfile b/prestodb/hdp3.1-hive-kerberized/Dockerfile index 2763cc4..87cb42a 100644 --- a/prestodb/hdp3.1-hive-kerberized/Dockerfile +++ b/prestodb/hdp3.1-hive-kerberized/Dockerfile @@ -10,7 +10,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM prestodb/hdp3.1-hive:11 +FROM prestodb/hdp3.1-hive-kerberized:11 LABEL maintainer="Presto community " RUN set -xeu; \