You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ab...@apache.org on 2025/06/25 01:22:43 UTC
(ranger) branch ranger_5233 created (now c14697186)
This is an automated email from the ASF dual-hosted git repository.
abhi pushed a change to branch ranger_5233
in repository https://gitbox.apache.org/repos/asf/ranger.git
at c14697186 RANGER-5233: [WIP] Lint Dockerfiles with Hadolint
This branch includes the following new commits:
new c14697186 RANGER-5233: [WIP] Lint Dockerfiles with Hadolint
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(ranger) 01/01: RANGER-5233: [WIP] Lint Dockerfiles with Hadolint
Posted by ab...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
abhi pushed a commit to branch ranger_5233
in repository https://gitbox.apache.org/repos/asf/ranger.git
commit c14697186599af90f2c9f57ba5002ec28338f58b
Author: Abhishek Kumar <ab...@apache.org>
AuthorDate: Tue Jun 24 18:22:00 2025 -0700
RANGER-5233: [WIP] Lint Dockerfiles with Hadolint
---
.../Dockerfile.ranger-ozone => .hadolint.yaml | 16 +-------
dev-support/ranger-docker/.dockerignore | 2 +
.../{Dockerfile.ranger-ozone => .hadolint.yaml} | 16 +-------
dev-support/ranger-docker/Dockerfile.ranger | 16 ++++----
dev-support/ranger-docker/Dockerfile.ranger-base | 20 ++++++++--
.../ranger-docker/Dockerfile.ranger-base-ubi | 43 ++++++++++++----------
dev-support/ranger-docker/Dockerfile.ranger-hadoop | 22 +++++------
dev-support/ranger-docker/Dockerfile.ranger-hbase | 14 +++----
dev-support/ranger-docker/Dockerfile.ranger-hive | 20 +++++-----
dev-support/ranger-docker/Dockerfile.ranger-kafka | 14 +++----
dev-support/ranger-docker/Dockerfile.ranger-kms | 16 ++++----
dev-support/ranger-docker/Dockerfile.ranger-knox | 21 +++++------
dev-support/ranger-docker/Dockerfile.ranger-mysql | 4 +-
dev-support/ranger-docker/Dockerfile.ranger-ozone | 4 +-
.../ranger-docker/Dockerfile.ranger-sqlserver | 4 +-
.../ranger-docker/Dockerfile.ranger-tagsync | 16 ++++----
.../ranger-docker/Dockerfile.ranger-usersync | 14 +++----
.../{Dockerfile.ranger-ozone => requirements.txt} | 17 ++-------
18 files changed, 132 insertions(+), 147 deletions(-)
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-ozone b/.hadolint.yaml
similarity index 66%
copy from dev-support/ranger-docker/Dockerfile.ranger-ozone
copy to .hadolint.yaml
index 3c1f6ef6f..4e68842f1 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-ozone
+++ b/.hadolint.yaml
@@ -14,17 +14,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-ARG OZONE_RUNNER_IMAGE
-ARG OZONE_RUNNER_VERSION
-FROM ${OZONE_RUNNER_IMAGE}:${OZONE_RUNNER_VERSION}
-
-ARG OZONE_HOME
-ARG OZONE_PLUGIN_VERSION
-
-USER root
-
-RUN useradd -g hadoop -ms /bin/bash ozone
-RUN mkdir -p -m 755 /var/log/ozone
-
-# Required to locate the plugin jars and the config files
-ENV OZONE_MANAGER_CLASSPATH="${OZONE_HOME}/ranger-ozone-plugin/lib/libext/*:${OZONE_HOME}/ranger-ozone-plugin/conf"
+ignored:
+ - DL3007
\ No newline at end of file
diff --git a/dev-support/ranger-docker/.dockerignore b/dev-support/ranger-docker/.dockerignore
index 1125a66ff..93e4007d4 100644
--- a/dev-support/ranger-docker/.dockerignore
+++ b/dev-support/ranger-docker/.dockerignore
@@ -15,3 +15,5 @@
!dist/ranger-*-ozone-plugin.tar.gz
!downloads/*
!scripts/*
+!requirements.txt
+!.hadolint.yaml
\ No newline at end of file
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-ozone b/dev-support/ranger-docker/.hadolint.yaml
similarity index 66%
copy from dev-support/ranger-docker/Dockerfile.ranger-ozone
copy to dev-support/ranger-docker/.hadolint.yaml
index 3c1f6ef6f..4e68842f1 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-ozone
+++ b/dev-support/ranger-docker/.hadolint.yaml
@@ -14,17 +14,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-ARG OZONE_RUNNER_IMAGE
-ARG OZONE_RUNNER_VERSION
-FROM ${OZONE_RUNNER_IMAGE}:${OZONE_RUNNER_VERSION}
-
-ARG OZONE_HOME
-ARG OZONE_PLUGIN_VERSION
-
-USER root
-
-RUN useradd -g hadoop -ms /bin/bash ozone
-RUN mkdir -p -m 755 /var/log/ozone
-
-# Required to locate the plugin jars and the config files
-ENV OZONE_MANAGER_CLASSPATH="${OZONE_HOME}/ranger-ozone-plugin/lib/libext/*:${OZONE_HOME}/ranger-ozone-plugin/conf"
+ignored:
+ - DL3007
\ No newline at end of file
diff --git a/dev-support/ranger-docker/Dockerfile.ranger b/dev-support/ranger-docker/Dockerfile.ranger
index 5efc801da..73ad3c3e6 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger
+++ b/dev-support/ranger-docker/Dockerfile.ranger
@@ -35,14 +35,14 @@ COPY ./scripts/ranger.sh ${RANGER_SCRIPT
COPY ./scripts/ranger-admin-install-${RANGER_DB_TYPE}.properties ${RANGER_SCRIPTS}/ranger-admin-install.properties
COPY ./scripts/create-ranger-services.py ${RANGER_SCRIPTS}/
-RUN tar xvfz /home/ranger/dist/ranger-${RANGER_VERSION}-admin.tar.gz --directory=${RANGER_HOME} \
- && ln -s ${RANGER_HOME}/ranger-${RANGER_VERSION}-admin ${RANGER_HOME}/admin \
- && rm -f /home/ranger/dist/ranger-${RANGER_VERSION}-admin.tar.gz \
- && cp -f ${RANGER_SCRIPTS}/ranger-admin-install.properties ${RANGER_HOME}/admin/install.properties \
+RUN tar xvfz /home/ranger/dist/ranger-"${RANGER_VERSION}"-admin.tar.gz --directory="${RANGER_HOME}" \
+ && ln -s "${RANGER_HOME}"/ranger-"${RANGER_VERSION}"-admin "${RANGER_HOME}"/admin \
+ && rm -f /home/ranger/dist/ranger-"${RANGER_VERSION}"-admin.tar.gz \
+ && cp -f "${RANGER_SCRIPTS}"/ranger-admin-install.properties "${RANGER_HOME}"/admin/install.properties \
&& mkdir -p /var/run/ranger \
&& mkdir -p /var/log/ranger \
- && chown -R ranger:ranger ${RANGER_HOME}/admin/ ${RANGER_SCRIPTS}/ /var/run/ranger/ /var/log/ranger/ \
- && chmod 755 ${RANGER_SCRIPTS}/ranger.sh \
+ && chown -R ranger:ranger "${RANGER_HOME}"/admin/ "${RANGER_SCRIPTS}"/ /var/run/ranger/ /var/log/ranger/ \
+ && chmod 755 "${RANGER_SCRIPTS}"/ranger.sh \
&& mkdir -p /usr/share/java/
FROM ranger AS ranger_postgres
@@ -53,7 +53,7 @@ FROM ranger AS ranger_mysql
COPY ./downloads/mysql-connector-java-8.0.28.jar /home/ranger/dist/
COPY ./downloads/log4jdbc-1.2.jar /home/ranger/dist/
RUN mv /home/ranger/dist/mysql-connector-java-8.0.28.jar /usr/share/java/mysql-connector.jar \
- && mv /home/ranger/dist/log4jdbc-1.2.jar ${RANGER_HOME}/admin/ews/webapp/WEB-INF/lib/log4jdbc-1.2.jar
+ && mv /home/ranger/dist/log4jdbc-1.2.jar "${RANGER_HOME}"/admin/ews/webapp/WEB-INF/lib/log4jdbc-1.2.jar
FROM ranger AS ranger_oracle
COPY ./downloads/ojdbc8.jar /home/ranger/dist/
@@ -63,7 +63,7 @@ FROM ranger AS ranger_sqlserver
COPY ./downloads/mssql-jdbc-12.8.1.jre8.jar /home/ranger/dist/
RUN mv /home/ranger/dist/mssql-jdbc-12.8.1.jre8.jar /usr/share/java/mssql.jar
-FROM ranger_${RANGER_DB_TYPE}
+FROM ranger_${RANGER_DB_TYPE}:${RANGER_VERSION}
USER ranger
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-base b/dev-support/ranger-docker/Dockerfile.ranger-base
index 0dfd9d0be..f199a6ea2 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-base
+++ b/dev-support/ranger-docker/Dockerfile.ranger-base
@@ -23,10 +23,22 @@ ENV OS_NAME=UBUNTU
# Install tzdata, Python, Java, python-requests
RUN apt-get update && \
- DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata vim\
- python3 python3-pip openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk bc iputils-ping ssh pdsh xmlstarlet && \
- pip3 install apache-ranger && \
- pip3 install requests
+ DEBIAN_FRONTEND="noninteractive" apt-get --no-install-recommends -y install \
+ bc \
+ iputils-ping \
+ openjdk-11-jdk \
+ openjdk-17-jdk \
+ openjdk-8-jdk \
+ pdsh \
+ python3 \
+ python3-pip \
+ ssh \
+ tzdata \
+ vim \
+ xmlstarlet && \
+ apt-get clean && rm -rf /var/lib/apt/lists/* && \
+ pip3 install --requirement requirements.txt --no-cache-dir apache-ranger && \
+ pip3 install --requirement requirements.txt --no-cache-dir requests
# Set environment variables
ENV JAVA_HOME=/usr/lib/jvm/java-${RANGER_BASE_JAVA_VERSION}-openjdk-${TARGETARCH}
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-base-ubi b/dev-support/ranger-docker/Dockerfile.ranger-base-ubi
index ad107f128..41f223a82 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-base-ubi
+++ b/dev-support/ranger-docker/Dockerfile.ranger-base-ubi
@@ -31,26 +31,31 @@ ENV JAVA_HOME="/usr/lib/jvm/java-${RANGER_BASE_UBI_JAVA_VERSION}" \
JAVA_VERSION="${RANGER_BASE_UBI_JAVA_VERSION}" \
JBOSS_CONTAINER_OPENJDK_JDK_MODULE="/opt/jboss/container/openjdk/jdk"
-# Install tzdata, Python, python-requests
-RUN microdnf install -y python3 python3-pip bc iputils hostname
-RUN microdnf install -y tar
-RUN microdnf install -y gzip
-RUN microdnf install -y procps
-RUN microdnf install -y vim
+COPY requirements.txt /home/ranger/
-# for command useradd, groupadd
-RUN microdnf install -y shadow-utils
-
-# for command su
-RUN microdnf install -y util-linux-user
-RUN microdnf install -y sudo
-
-# for command service
-RUN microdnf install -y initscripts
-RUN microdnf install -y openssh-clients
-RUN microdnf install -y openssh-server
-RUN microdnf install -y wget
-RUN pip3 install apache-ranger
+# Install dnf packages
+# for command useradd, groupadd: shadow-utils
+# for command su: util-linux-user, sudo
+# for command service: initscripts, openssh-clients, openssh-server
+RUN microdnf install -y \
+ bc \
+ gzip \
+ hostname \
+ initscripts \
+ iputils \
+ openssh-clients \
+ openssh-server \
+ procps \
+ python3 \
+ python3-pip \
+ tar \
+ vim \
+ shadow-utils \
+ util-linux-user \
+ sudo \
+ wget && \
+ pip3 install -r /home/ranger/requirements.txt --no-cache-dir apache-ranger && \
+ microdnf clean all
# Set environment variables
ENV RANGER_HOME=/opt/ranger
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-hadoop b/dev-support/ranger-docker/Dockerfile.ranger-hadoop
index 5f64e9fc3..ae34c24d0 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-hadoop
+++ b/dev-support/ranger-docker/Dockerfile.ranger-hadoop
@@ -32,19 +32,19 @@ COPY ./scripts/ranger-hadoop-mkdir.sh /home/ranger/scripts/
COPY ./scripts/ranger-hdfs-plugin-install.properties /home/ranger/scripts/
COPY ./scripts/ranger-yarn-plugin-install.properties /home/ranger/scripts/
-RUN tar xvfz /home/ranger/dist/hadoop-${HADOOP_VERSION}.tar.gz --directory=/opt/ && \
- ln -s /opt/hadoop-${HADOOP_VERSION} /opt/hadoop && \
- rm -f /home/ranger/dist/hadoop-${HADOOP_VERSION}.tar.gz && \
- tar xvfz /home/ranger/dist/ranger-${HDFS_PLUGIN_VERSION}-hdfs-plugin.tar.gz --directory=/opt/ranger && \
- ln -s /opt/ranger/ranger-${HDFS_PLUGIN_VERSION}-hdfs-plugin /opt/ranger/ranger-hdfs-plugin && \
- rm -f /home/ranger/dist/ranger-${HDFS_PLUGIN_VERSION}-hdfs-plugin.tar.gz && \
+RUN tar xvfz /home/ranger/dist/hadoop-"${HADOOP_VERSION}".tar.gz --directory=/opt/ && \
+ ln -s /opt/hadoop-"${HADOOP_VERSION}" /opt/hadoop && \
+ rm -f /home/ranger/dist/hadoop-"${HADOOP_VERSION}".tar.gz && \
+ tar xvfz /home/ranger/dist/ranger-"${HDFS_PLUGIN_VERSION}"-hdfs-plugin.tar.gz --directory=/opt/ranger && \
+ ln -s /opt/ranger/ranger-"${HDFS_PLUGIN_VERSION}"-hdfs-plugin /opt/ranger/ranger-hdfs-plugin && \
+ rm -f /home/ranger/dist/ranger-"${HDFS_PLUGIN_VERSION}"-hdfs-plugin.tar.gz && \
cp -f /home/ranger/scripts/ranger-hdfs-plugin-install.properties /opt/ranger/ranger-hdfs-plugin/install.properties && \
- tar xvfz /home/ranger/dist/ranger-${YARN_PLUGIN_VERSION}-yarn-plugin.tar.gz --directory=/opt/ranger && \
- ln -s /opt/ranger/ranger-${YARN_PLUGIN_VERSION}-yarn-plugin /opt/ranger/ranger-yarn-plugin && \
- rm -f /home/ranger/dist/ranger-${YARN_PLUGIN_VERSION}-yarn-plugin.tar.gz && \
+ tar xvfz /home/ranger/dist/ranger-"${YARN_PLUGIN_VERSION}"-yarn-plugin.tar.gz --directory=/opt/ranger && \
+ ln -s /opt/ranger/ranger-"${YARN_PLUGIN_VERSION}"-yarn-plugin /opt/ranger/ranger-yarn-plugin && \
+ rm -f /home/ranger/dist/ranger-"${YARN_PLUGIN_VERSION}"-yarn-plugin.tar.gz && \
cp -f /home/ranger/scripts/ranger-yarn-plugin-install.properties /opt/ranger/ranger-yarn-plugin/install.properties && \
- chmod 744 ${RANGER_SCRIPTS}/ranger-hadoop-setup.sh ${RANGER_SCRIPTS}/ranger-hadoop.sh ${RANGER_SCRIPTS}/ranger-hadoop-mkdir.sh && \
- chown hdfs:hadoop ${RANGER_SCRIPTS}/ranger-hadoop-mkdir.sh
+ chmod 744 "${RANGER_SCRIPTS}"/ranger-hadoop-setup.sh "${RANGER_SCRIPTS}"/ranger-hadoop.sh "${RANGER_SCRIPTS}"/ranger-hadoop-mkdir.sh && \
+ chown hdfs:hadoop "${RANGER_SCRIPTS}"/ranger-hadoop-mkdir.sh
ENV HADOOP_HOME=/opt/hadoop
ENV HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-hbase b/dev-support/ranger-docker/Dockerfile.ranger-hbase
index cb4d67111..243c5c0a0 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-hbase
+++ b/dev-support/ranger-docker/Dockerfile.ranger-hbase
@@ -29,14 +29,14 @@ COPY ./scripts/ranger-hbase.sh /home/ranger/scripts/
COPY ./scripts/ranger-hbase-plugin-install.properties /home/ranger/scripts/
COPY ./scripts/hbase-site.xml /home/ranger/scripts/
-RUN tar xvfz /home/ranger/dist/hbase-${HBASE_VERSION}-bin.tar.gz --directory=/opt/ && \
- ln -s /opt/hbase-${HBASE_VERSION} /opt/hbase && \
- rm -f /home/ranger/dist/hbase-${HBASE_VERSION}-bin.tar.gz && \
- tar xvfz /home/ranger/dist/ranger-${HBASE_PLUGIN_VERSION}-hbase-plugin.tar.gz --directory=/opt/ranger && \
- ln -s /opt/ranger/ranger-${HBASE_PLUGIN_VERSION}-hbase-plugin /opt/ranger/ranger-hbase-plugin && \
- rm -f /home/ranger/dist/ranger-${HBASE_PLUGIN_VERSION}-hbase-plugin.tar.gz && \
+RUN tar xvfz /home/ranger/dist/hbase-"${HBASE_VERSION}"-bin.tar.gz --directory=/opt/ && \
+ ln -s /opt/hbase-"${HBASE_VERSION}" /opt/hbase && \
+ rm -f /home/ranger/dist/hbase-"${HBASE_VERSION}"-bin.tar.gz && \
+ tar xvfz /home/ranger/dist/ranger-"${HBASE_PLUGIN_VERSION}"-hbase-plugin.tar.gz --directory=/opt/ranger && \
+ ln -s /opt/ranger/ranger-"${HBASE_PLUGIN_VERSION}"-hbase-plugin /opt/ranger/ranger-hbase-plugin && \
+ rm -f /home/ranger/dist/ranger-"${HBASE_PLUGIN_VERSION}"-hbase-plugin.tar.gz && \
cp -f /home/ranger/scripts/ranger-hbase-plugin-install.properties /opt/ranger/ranger-hbase-plugin/install.properties && \
- chmod 744 ${RANGER_SCRIPTS}/ranger-hbase-setup.sh ${RANGER_SCRIPTS}/ranger-hbase.sh
+ chmod 744 "${RANGER_SCRIPTS}"/ranger-hbase-setup.sh "${RANGER_SCRIPTS}"/ranger-hbase.sh
ENV HBASE_HOME=/opt/hbase
ENV PATH=/usr/java/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/hbase/bin
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-hive b/dev-support/ranger-docker/Dockerfile.ranger-hive
index e8baa6872..e6cc2f344 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-hive
+++ b/dev-support/ranger-docker/Dockerfile.ranger-hive
@@ -36,20 +36,20 @@ COPY ./scripts/ranger-hive.sh /home/ranger/scripts/
COPY ./scripts/ranger-hive-plugin-install.properties /home/ranger/scripts/
COPY ./scripts/hive-site-${RANGER_DB_TYPE}.xml /home/ranger/scripts/hive-site.xml
-RUN tar xvfz /home/ranger/dist/apache-hive-${HIVE_VERSION}-bin.tar.gz --directory=/opt/ && \
- ln -s /opt/apache-hive-${HIVE_VERSION}-bin /opt/hive && \
- rm -f /home/ranger/dist/apache-hive-${HIVE_VERSION}-bin.tar.gz && \
+RUN tar xvfz /home/ranger/dist/apache-hive-"${HIVE_VERSION}"-bin.tar.gz --directory=/opt/ && \
+ ln -s /opt/apache-hive-"${HIVE_VERSION}"-bin /opt/hive && \
+ rm -f /home/ranger/dist/apache-hive-"${HIVE_VERSION}"-bin.tar.gz && \
mv /home/ranger/dist/postgresql-42.2.16.jre7.jar /opt/hive/lib/ && \
mv /home/ranger/dist/mysql-connector-java-8.0.28.jar /opt/hive/lib/ && \
mv /home/ranger/dist/ojdbc8.jar /opt/hive/lib/ && \
- tar xvfz /home/ranger/dist/hadoop-${HIVE_HADOOP_VERSION}.tar.gz --directory=/opt/ && \
- ln -s /opt/hadoop-${HIVE_HADOOP_VERSION} /opt/hadoop && \
- rm -f /home/ranger/dist/hadoop-${HIVE_HADOOP_VERSION}.tar.gz && \
- tar xvfz /home/ranger/dist/ranger-${HIVE_PLUGIN_VERSION}-hive-plugin.tar.gz --directory=/opt/ranger && \
- ln -s /opt/ranger/ranger-${HIVE_PLUGIN_VERSION}-hive-plugin /opt/ranger/ranger-hive-plugin && \
- rm -f /home/ranger/dist/ranger-${HIVE_PLUGIN_VERSION}-hive-plugin.tar.gz && \
+ tar xvfz /home/ranger/dist/hadoop-"${HIVE_HADOOP_VERSION}".tar.gz --directory=/opt/ && \
+ ln -s /opt/hadoop-"${HIVE_HADOOP_VERSION}" /opt/hadoop && \
+ rm -f /home/ranger/dist/hadoop-"${HIVE_HADOOP_VERSION}".tar.gz && \
+ tar xvfz /home/ranger/dist/ranger-"${HIVE_PLUGIN_VERSION}"-hive-plugin.tar.gz --directory=/opt/ranger && \
+ ln -s /opt/ranger/ranger-"${HIVE_PLUGIN_VERSION}"-hive-plugin /opt/ranger/ranger-hive-plugin && \
+ rm -f /home/ranger/dist/ranger-"${HIVE_PLUGIN_VERSION}"-hive-plugin.tar.gz && \
cp -f /home/ranger/scripts/ranger-hive-plugin-install.properties /opt/ranger/ranger-hive-plugin/install.properties && \
- chmod 744 ${RANGER_SCRIPTS}/ranger-hive-setup.sh ${RANGER_SCRIPTS}/ranger-hive.sh
+ chmod 744 "${RANGER_SCRIPTS}"/ranger-hive-setup.sh "${RANGER_SCRIPTS}"/ranger-hive.sh
ENV HIVE_HOME=/opt/hive
ENV HADOOP_HOME=/opt/hadoop
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-kafka b/dev-support/ranger-docker/Dockerfile.ranger-kafka
index aa9b462f5..074fab87e 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-kafka
+++ b/dev-support/ranger-docker/Dockerfile.ranger-kafka
@@ -28,14 +28,14 @@ COPY ./scripts/ranger-kafka-setup.sh /home/ranger/scripts/
COPY ./scripts/ranger-kafka.sh /home/ranger/scripts/
COPY ./scripts/ranger-kafka-plugin-install.properties /home/ranger/scripts/
-RUN tar xvfz /home/ranger/dist/kafka_2.12-${KAFKA_VERSION}.tgz --directory=/opt/ && \
- ln -s /opt/kafka_2.12-${KAFKA_VERSION} /opt/kafka && \
- rm -f /home/ranger/dist/kafka_2.12-${KAFKA_VERSION}.tgz && \
- tar xvfz /home/ranger/dist/ranger-${KAFKA_PLUGIN_VERSION}-kafka-plugin.tar.gz --directory=/opt/ranger && \
- ln -s /opt/ranger/ranger-${KAFKA_PLUGIN_VERSION}-kafka-plugin /opt/ranger/ranger-kafka-plugin && \
- rm -f /home/ranger/dist/ranger-${KAFKA_PLUGIN_VERSION}-kafka-plugin.tar.gz && \
+RUN tar xvfz /home/ranger/dist/kafka_2.12-"${KAFKA_VERSION}".tgz --directory=/opt/ && \
+ ln -s /opt/kafka_2.12-"${KAFKA_VERSION}" /opt/kafka && \
+ rm -f /home/ranger/dist/kafka_2.12-"${KAFKA_VERSION}".tgz && \
+ tar xvfz /home/ranger/dist/ranger-"${KAFKA_PLUGIN_VERSION}"-kafka-plugin.tar.gz --directory=/opt/ranger && \
+ ln -s /opt/ranger/ranger-"${KAFKA_PLUGIN_VERSION}"-kafka-plugin /opt/ranger/ranger-kafka-plugin && \
+ rm -f /home/ranger/dist/ranger-"${KAFKA_PLUGIN_VERSION}"-kafka-plugin.tar.gz && \
cp -f /home/ranger/scripts/ranger-kafka-plugin-install.properties /opt/ranger/ranger-kafka-plugin/install.properties && \
- chmod 744 ${RANGER_SCRIPTS}/ranger-kafka-setup.sh ${RANGER_SCRIPTS}/ranger-kafka.sh
+ chmod 744 "${RANGER_SCRIPTS}"/ranger-kafka-setup.sh "${RANGER_SCRIPTS}"/ranger-kafka.sh
ENV KAFKA_HOME=/opt/kafka
ENV PATH=/usr/java/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/kafka/bin
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-kms b/dev-support/ranger-docker/Dockerfile.ranger-kms
index be85bbcff..34193924d 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-kms
+++ b/dev-support/ranger-docker/Dockerfile.ranger-kms
@@ -26,10 +26,10 @@ COPY ./dist/ranger-${KMS_VERSION}-kms.tar.gz /home/ranger/dist/
COPY ./scripts/ranger-kms.sh ${RANGER_SCRIPTS}/
COPY ./scripts/ranger-kms-install-${RANGER_DB_TYPE}.properties ${RANGER_SCRIPTS}/ranger-kms-install.properties
-RUN tar xvfz /home/ranger/dist/ranger-${KMS_VERSION}-kms.tar.gz --directory=${RANGER_HOME} && \
- ln -s ${RANGER_HOME}/ranger-${KMS_VERSION}-kms ${RANGER_HOME}/kms && \
- rm -f /home/ranger/dist/ranger-${KMS_VERSION}-kms.tar.gz && \
- cp -f ${RANGER_SCRIPTS}/ranger-kms-install.properties ${RANGER_HOME}/kms/install.properties && \
+RUN tar xvfz /home/ranger/dist/ranger-"${KMS_VERSION}"-kms.tar.gz --directory="${RANGER_HOME}" && \
+ ln -s "${RANGER_HOME}"/ranger-"${KMS_VERSION}"-kms "${RANGER_HOME}"/kms && \
+ rm -f /home/ranger/dist/ranger-"${KMS_VERSION}"-kms.tar.gz && \
+ cp -f "${RANGER_SCRIPTS}"/ranger-kms-install.properties "${RANGER_HOME}"/kms/install.properties && \
mkdir -p /var/run/ranger_kms && \
mkdir -p /var/log/ranger/kms && \
mkdir -p /etc/ranger && \
@@ -39,9 +39,9 @@ RUN tar xvfz /home/ranger/dist/ranger-${KMS_VERSION}-kms.tar.gz --directory=${RA
ln -s /etc/init.d/ranger-kms /etc/rc2.d/K90ranger-kms && \
ln -s /etc/init.d/ranger-kms /etc/rc3.d/S88ranger-kms && \
ln -s /etc/init.d/ranger-kms /etc/rc3.d/K90ranger-kms && \
- ln -s ${RANGER_HOME}/kms/ranger-kms-services.sh /usr/bin/ranger-kms-services.sh && \
- chown -R rangerkms:ranger ${RANGER_HOME}/kms/ ${RANGER_SCRIPTS}/ /var/run/ranger_kms/ /var/log/ranger/ && \
- chmod 744 ${RANGER_SCRIPTS}/ranger-kms.sh && \
+ ln -s "${RANGER_HOME}"/kms/ranger-kms-services.sh /usr/bin/ranger-kms-services.sh && \
+ chown -R rangerkms:ranger "${RANGER_HOME}"/kms/ "${RANGER_SCRIPTS}"/ /var/run/ranger_kms/ /var/log/ranger/ && \
+ chmod 744 "${RANGER_SCRIPTS}"/ranger-kms.sh && \
mkdir -p /usr/share/java/
FROM ranger-kms AS ranger_postgres
@@ -52,7 +52,7 @@ FROM ranger-kms AS ranger_mysql
COPY ./downloads/mysql-connector-java-8.0.28.jar /home/ranger/dist/
COPY ./downloads/log4jdbc-1.2.jar /home/ranger/dist/
RUN mv /home/ranger/dist/mysql-connector-java-8.0.28.jar /usr/share/java/mysql-connector-java.jar && \
- mv /home/ranger/dist/log4jdbc-1.2.jar ${RANGER_HOME}/kms/ews/webapp/WEB-INF/lib/log4jdbc-1.2.jar
+ mv /home/ranger/dist/log4jdbc-1.2.jar "${RANGER_HOME}"/kms/ews/webapp/WEB-INF/lib/log4jdbc-1.2.jar
FROM ranger-kms AS ranger_oracle
COPY ./downloads/ojdbc8.jar /home/ranger/dist/
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-knox b/dev-support/ranger-docker/Dockerfile.ranger-knox
index fe120cd2b..31c718b49 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-knox
+++ b/dev-support/ranger-docker/Dockerfile.ranger-knox
@@ -30,22 +30,21 @@ COPY ./scripts/ranger-knox-plugin-install.properties /home/ranger/scripts/
COPY ./scripts/ranger-knox-expect.py /home/ranger/scripts/
COPY ./scripts/ranger-knox-sandbox.xml /home/ranger/scripts/
-RUN tar xvfz /home/ranger/dist/knox-${KNOX_VERSION}.tar.gz --directory=/opt/ && \
- ln -s /opt/knox-${KNOX_VERSION} /opt/knox && \
- rm -f /home/ranger/dist/knox-${KNOX_VERSION}.tar.gz && \
- tar xvfz /home/ranger/dist/ranger-${KNOX_PLUGIN_VERSION}-knox-plugin.tar.gz --directory=/opt/ranger && \
- ln -s /opt/ranger/ranger-${KNOX_PLUGIN_VERSION}-knox-plugin /opt/ranger/ranger-knox-plugin && \
- rm -f /home/ranger/dist/ranger-${KNOX_PLUGIN_VERSION}-knox-plugin.tar.gz && \
+RUN tar xvfz /home/ranger/dist/knox-"${KNOX_VERSION}".tar.gz --directory=/opt/ && \
+ ln -s /opt/knox-"${KNOX_VERSION}" /opt/knox && \
+ rm -f /home/ranger/dist/knox-"${KNOX_VERSION}".tar.gz && \
+ tar xvfz /home/ranger/dist/ranger-"${KNOX_PLUGIN_VERSION}"-knox-plugin.tar.gz --directory=/opt/ranger && \
+ ln -s /opt/ranger/ranger-"${KNOX_PLUGIN_VERSION}"-knox-plugin /opt/ranger/ranger-knox-plugin && \
+ rm -f /home/ranger/dist/ranger-"${KNOX_PLUGIN_VERSION}"-knox-plugin.tar.gz && \
cp -f /home/ranger/scripts/ranger-knox-plugin-install.properties /opt/ranger/ranger-knox-plugin/install.properties && \
cp -f /home/ranger/scripts/ranger-knox-sandbox.xml /opt/knox/conf/topologies/sandbox.xml && \
- chmod 744 ${RANGER_SCRIPTS}/ranger-knox-setup.sh ${RANGER_SCRIPTS}/ranger-knox.sh ${RANGER_SCRIPTS}/ranger-knox-expect.py
+ chmod 744 "${RANGER_SCRIPTS}"/ranger-knox-setup.sh "${RANGER_SCRIPTS}"/ranger-knox.sh "${RANGER_SCRIPTS}"/ranger-knox-expect.py
ENV KNOX_HOME=/opt/knox
ENV PATH=/usr/java/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/knox/bin
-RUN chmod a+rwx /home/ranger/scripts/ranger-knox-expect.py
-
-RUN pip3 install pexpect
-RUN python3 /home/ranger/scripts/ranger-knox-expect.py
+RUN chmod a+rwx /home/ranger/scripts/ranger-knox-expect.py && \
+ pip3 install --requirement requirements.txt --no-cache-dir pexpect && \
+ python3 /home/ranger/scripts/ranger-knox-expect.py
ENTRYPOINT [ "/home/ranger/scripts/ranger-knox.sh" ]
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-mysql b/dev-support/ranger-docker/Dockerfile.ranger-mysql
index a9f0e676f..09aa408ad 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-mysql
+++ b/dev-support/ranger-docker/Dockerfile.ranger-mysql
@@ -23,7 +23,7 @@ USER 0
RUN mkdir -p /docker-entrypoint-initdb.d /home/mysql
COPY config/init_mysql.sql /docker-entrypoint-initdb.d/
COPY config/my.cnf /home/mysql/.my.cnf
-RUN sed -i "s/skip-name-resolve/# skip-name-resolve/" /etc/mysql/mariadb.cnf
-RUN chown -R mysql:mysql /docker-entrypoint-initdb.d/ /home/mysql
+RUN sed -i "s/skip-name-resolve/# skip-name-resolve/" /etc/mysql/mariadb.cnf && \
+ chown -R mysql:mysql /docker-entrypoint-initdb.d/ /home/mysql
ENV MYSQL_ROOT_PASSWORD=rangerR0cks!
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-ozone b/dev-support/ranger-docker/Dockerfile.ranger-ozone
index 3c1f6ef6f..c70232936 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-ozone
+++ b/dev-support/ranger-docker/Dockerfile.ranger-ozone
@@ -23,8 +23,8 @@ ARG OZONE_PLUGIN_VERSION
USER root
-RUN useradd -g hadoop -ms /bin/bash ozone
-RUN mkdir -p -m 755 /var/log/ozone
+RUN useradd -g hadoop -ms /bin/bash ozone && \
+ mkdir -p -m 755 /var/log/ozone
# Required to locate the plugin jars and the config files
ENV OZONE_MANAGER_CLASSPATH="${OZONE_HOME}/ranger-ozone-plugin/lib/libext/*:${OZONE_HOME}/ranger-ozone-plugin/conf"
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-sqlserver b/dev-support/ranger-docker/Dockerfile.ranger-sqlserver
index 3559fa49d..0f74444a0 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-sqlserver
+++ b/dev-support/ranger-docker/Dockerfile.ranger-sqlserver
@@ -27,8 +27,8 @@ USER root
RUN mkdir -p /docker-entrypoint-initdb.d
COPY config/init_mssql.sh /docker-entrypoint-initdb.d/
-RUN chown -R mssql /docker-entrypoint-initdb.d/
-RUN chmod +x /docker-entrypoint-initdb.d/init_mssql.sh
+RUN chown -R mssql /docker-entrypoint-initdb.d/ && \
+ chmod +x /docker-entrypoint-initdb.d/init_mssql.sh
USER mssql
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-tagsync b/dev-support/ranger-docker/Dockerfile.ranger-tagsync
index 6e41ae808..91f2deec5 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-tagsync
+++ b/dev-support/ranger-docker/Dockerfile.ranger-tagsync
@@ -25,12 +25,12 @@ COPY ./scripts/ranger-tagsync.sh ${RANGER_SCRIPTS}/
COPY ./scripts/ranger-tagsync-install.properties ${RANGER_SCRIPTS}/
COPY ./scripts/ranger-tagsync-tags.json ${RANGER_SCRIPTS}/
-RUN tar xvfz /home/ranger/dist/ranger-${TAGSYNC_VERSION}-tagsync.tar.gz --directory=${RANGER_HOME} && \
- ln -s ${RANGER_HOME}/ranger-${TAGSYNC_VERSION}-tagsync ${RANGER_HOME}/tagsync && \
- rm -f /home/ranger/dist/ranger-${TAGSYNC_VERSION}-tagsync.tar.gz && \
+RUN tar xvfz /home/ranger/dist/ranger-"${TAGSYNC_VERSION}"-tagsync.tar.gz --directory="${RANGER_HOME}" && \
+ ln -s "${RANGER_HOME}"/ranger-"${TAGSYNC_VERSION}"-tagsync "${RANGER_HOME}"/tagsync && \
+ rm -f /home/ranger/dist/ranger-"${TAGSYNC_VERSION}"-tagsync.tar.gz && \
mkdir -p /opt/ranger/tagsync/data && \
- cp -f ${RANGER_SCRIPTS}/ranger-tagsync-install.properties ${RANGER_HOME}/tagsync/install.properties && \
- cp -f ${RANGER_SCRIPTS}/ranger-tagsync-tags.json ${RANGER_HOME}/tagsync/data/tags.json && \
+ cp -f "${RANGER_SCRIPTS}"/ranger-tagsync-install.properties "${RANGER_HOME}"/tagsync/install.properties && \
+ cp -f "${RANGER_SCRIPTS}"/ranger-tagsync-tags.json "${RANGER_HOME}"/tagsync/data/tags.json && \
mkdir -p /var/run/ranger && \
mkdir -p /var/log/ranger/tagsync && \
ln -s /usr/bin/python3 /usr/bin/python && \
@@ -43,9 +43,9 @@ RUN tar xvfz /home/ranger/dist/ranger-${TAGSYNC_VERSION}-tagsync.tar.gz --direct
ln -s /etc/init.d/ranger-tagsync /etc/rc2.d/K00ranger-tagsync && \
ln -s /etc/init.d/ranger-tagsync /etc/rc3.d/S99ranger-tagsync && \
ln -s /etc/init.d/ranger-tagsync /etc/rc3.d/K00ranger-tagsync && \
- ln -s ${RANGER_HOME}/tagsync/ranger-tagsync-services.sh /usr/bin/ranger-tagsync-services.sh && \
- chown -R ranger:ranger ${RANGER_HOME}/tagsync/ ${RANGER_SCRIPTS}/ /var/run/ranger/ /var/log/ranger/ /etc/ranger /etc/init.d/ranger-tagsync && \
- chmod 744 ${RANGER_SCRIPTS}/ranger-tagsync.sh
+ ln -s "${RANGER_HOME}"/tagsync/ranger-tagsync-services.sh /usr/bin/ranger-tagsync-services.sh && \
+ chown -R ranger:ranger "${RANGER_HOME}"/tagsync/ "${RANGER_SCRIPTS}"/ /var/run/ranger/ /var/log/ranger/ /etc/ranger /etc/init.d/ranger-tagsync && \
+ chmod 744 "${RANGER_SCRIPTS}"/ranger-tagsync.sh
USER ranger
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-usersync b/dev-support/ranger-docker/Dockerfile.ranger-usersync
index c1bfe9289..bfd8c3eeb 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-usersync
+++ b/dev-support/ranger-docker/Dockerfile.ranger-usersync
@@ -25,10 +25,10 @@ COPY ./scripts/ranger-usersync.sh ${RANGER_SCRIPTS}/
COPY ./scripts/ranger-usersync-install.properties ${RANGER_SCRIPTS}/
COPY ./scripts/ugsync-file-source.csv ${RANGER_SCRIPTS}/
-RUN tar xvfz /home/ranger/dist/ranger-${USERSYNC_VERSION}-usersync.tar.gz --directory=${RANGER_HOME} && \
- ln -s ${RANGER_HOME}/ranger-${USERSYNC_VERSION}-usersync ${RANGER_HOME}/usersync && \
- rm -f /home/ranger/dist/ranger-${USERSYNC_VERSION}-usersync.tar.gz && \
- cp -f ${RANGER_SCRIPTS}/ranger-usersync-install.properties ${RANGER_HOME}/usersync/install.properties && \
+RUN tar xvfz /home/ranger/dist/ranger-"${USERSYNC_VERSION}"-usersync.tar.gz --directory="${RANGER_HOME}" && \
+ ln -s "${RANGER_HOME}"/ranger-"${USERSYNC_VERSION}"-usersync "${RANGER_HOME}"/usersync && \
+ rm -f /home/ranger/dist/ranger-"${USERSYNC_VERSION}"-usersync.tar.gz && \
+ cp -f "${RANGER_SCRIPTS}"/ranger-usersync-install.properties "${RANGER_HOME}"/usersync/install.properties && \
mkdir -p /var/run/ranger && \
mkdir -p /var/log/ranger/usersync && \
ln -s /usr/bin/python3 /usr/bin/python && \
@@ -41,9 +41,9 @@ RUN tar xvfz /home/ranger/dist/ranger-${USERSYNC_VERSION}-usersync.tar.gz --dire
ln -s /etc/init.d/ranger-usersync /etc/rc2.d/K00ranger-usersync && \
ln -s /etc/init.d/ranger-usersync /etc/rc3.d/S99ranger-usersync && \
ln -s /etc/init.d/ranger-usersync /etc/rc3.d/K00ranger-usersync && \
- ln -s ${RANGER_HOME}/usersync/ranger-usersync-services.sh /usr/bin/ranger-usersync && \
- chown -R ranger:ranger ${RANGER_HOME}/usersync/ ${RANGER_SCRIPTS}/ /var/run/ranger/ /var/log/ranger/ /etc/ranger /etc/init.d/ranger-usersync && \
- chmod 744 ${RANGER_SCRIPTS}/ranger-usersync.sh
+ ln -s "${RANGER_HOME}"/usersync/ranger-usersync-services.sh /usr/bin/ranger-usersync && \
+ chown -R ranger:ranger "${RANGER_HOME}"/usersync/ "${RANGER_SCRIPTS}"/ /var/run/ranger/ /var/log/ranger/ /etc/ranger /etc/init.d/ranger-usersync && \
+ chmod 744 "${RANGER_SCRIPTS}"/ranger-usersync.sh
USER ranger
diff --git a/dev-support/ranger-docker/Dockerfile.ranger-ozone b/dev-support/ranger-docker/requirements.txt
similarity index 66%
copy from dev-support/ranger-docker/Dockerfile.ranger-ozone
copy to dev-support/ranger-docker/requirements.txt
index 3c1f6ef6f..9ad3bf706 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-ozone
+++ b/dev-support/ranger-docker/requirements.txt
@@ -14,17 +14,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-ARG OZONE_RUNNER_IMAGE
-ARG OZONE_RUNNER_VERSION
-FROM ${OZONE_RUNNER_IMAGE}:${OZONE_RUNNER_VERSION}
+# This file is used to specify the Python dependencies of all Ranger Docker images.
-ARG OZONE_HOME
-ARG OZONE_PLUGIN_VERSION
-
-USER root
-
-RUN useradd -g hadoop -ms /bin/bash ozone
-RUN mkdir -p -m 755 /var/log/ozone
-
-# Required to locate the plugin jars and the config files
-ENV OZONE_MANAGER_CLASSPATH="${OZONE_HOME}/ranger-ozone-plugin/lib/libext/*:${OZONE_HOME}/ranger-ozone-plugin/conf"
+apache-ranger == 0.0.12
+pexpect == 4.9.0
+requests [security] == 2.32.4