From 952d5f256187491c5e96568c2aa5854a0c71d291 Mon Sep 17 00:00:00 2001 From: Tan Luu <luuhoangtanbis@gmail.com> Date: Wed, 26 Apr 2023 07:41:57 -0500 Subject: [PATCH] NIFI-11485 Added Toolkit to Registry Docker Image This closes #7197 Signed-off-by: David Handermann <exceptionfactory@apache.org> (cherry picked from commit fcf2446bb580f21a2293f0c0605094d1090d2afd) --- .../dockerhub/DockerImage.txt | 2 +- .../nifi-registry-docker/dockerhub/Dockerfile | 13 +++++++++++++ .../dockermaven/Dockerfile | 9 +++++++++ .../dockermaven/pom.xml | 17 +++++++++++++++++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/DockerImage.txt b/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/DockerImage.txt index 33d85bbb30..dba8aeb866 100644 --- a/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/DockerImage.txt +++ b/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/DockerImage.txt @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -apache/nifi-registry:1.14.0 +apache/nifi-registry:2.0.0 diff --git a/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/Dockerfile b/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/Dockerfile index f7a59e38b1..107f243c31 100644 --- a/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/Dockerfile +++ b/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/Dockerfile @@ -31,6 +31,11 @@ ENV NIFI_REGISTRY_BINARY nifi-registry-${NIFI_REGISTRY_VERSION}-bin.zip ENV NIFI_REGISTRY_BINARY_PATH nifi/${NIFI_REGISTRY_VERSION}/${NIFI_REGISTRY_BINARY} ENV NIFI_REGISTRY_BINARY_URL ${MIRROR}/${NIFI_REGISTRY_BINARY_PATH} +ENV NIFI_TOOLKIT_HOME ${NIFI_REGISTRY_BASE_DIR}/nifi-toolkit-current +ENV NIFI_TOOLKIT_BINARY nifi-toolkit-${NIFI_REGISTRY_VERSION}-bin.zip +ENV NIFI_TOOLKIT_BINARY_PATH nifi/${NIFI_REGISTRY_VERSION}/${NIFI_TOOLKIT_BINARY} +ENV NIFI_TOOLKIT_BINARY_URL ${MIRROR}/${NIFI_TOOLKIT_BINARY_PATH} + ADD sh/ ${NIFI_REGISTRY_BASE_DIR}/scripts/ RUN chmod -R +x ${NIFI_REGISTRY_BASE_DIR}/scripts/*.sh @@ -46,6 +51,14 @@ RUN groupadd -g ${GID} nifi || groupmod -n nifi `getent group ${GID} | cut -d: - USER nifi +# Download, validate, and expand Apache NiFi Toolkit binary. +RUN curl -fSL ${NIFI_TOOLKIT_BINARY_URL} -o ${NIFI_REGISTRY_BASE_DIR}/${NIFI_TOOLKIT_BINARY} \ + && echo "$(curl ${NIFI_TOOLKIT_BINARY_URL}.sha256) *${NIFI_REGISTRY_BASE_DIR}/${NIFI_TOOLKIT_BINARY}" | sha256sum -c - \ + && unzip ${NIFI_REGISTRY_BASE_DIR}/${NIFI_TOOLKIT_BINARY} -d ${NIFI_REGISTRY_BASE_DIR} \ + && rm ${NIFI_REGISTRY_BASE_DIR}/${NIFI_TOOLKIT_BINARY} \ + && mv ${NIFI_REGISTRY_BASE_DIR}/nifi-toolkit-${NIFI_REGISTRY_VERSION} ${NIFI_TOOLKIT_HOME} \ + && ln -s ${NIFI_TOOLKIT_HOME} ${NIFI_REGISTRY_BASE_DIR}/nifi-toolkit-${NIFI_REGISTRY_VERSION} + # Download, validate, and expand Apache NiFi-Registry binary. RUN curl -fSL ${NIFI_REGISTRY_BINARY_URL} -o ${NIFI_REGISTRY_BASE_DIR}/${NIFI_REGISTRY_BINARY} \ && echo "$(curl ${NIFI_REGISTRY_BINARY_URL}.sha256) *${NIFI_REGISTRY_BASE_DIR}/${NIFI_REGISTRY_BINARY}" | sha256sum -c - \ diff --git a/nifi-registry/nifi-registry-docker-maven/dockermaven/Dockerfile b/nifi-registry/nifi-registry-docker-maven/dockermaven/Dockerfile index 92892e08ac..2c3e65c739 100644 --- a/nifi-registry/nifi-registry-docker-maven/dockermaven/Dockerfile +++ b/nifi-registry/nifi-registry-docker-maven/dockermaven/Dockerfile @@ -24,9 +24,11 @@ ARG NIFI_REGISTRY_BINARY ARG NIFI_REGISTRY_BINARY_NAME ARG NIFI_REGISTRY_SCRIPTS ARG NIFI_REGISTRY_VERSION=1.22.0 +ARG NIFI_TOOLKIT_BINARY ENV NIFI_REGISTRY_BASE_DIR /opt/nifi-registry ENV NIFI_REGISTRY_HOME ${NIFI_REGISTRY_BASE_DIR}/nifi-registry-current +ENV NIFI_TOOLKIT_HOME ${NIFI_REGISTRY_BASE_DIR}/nifi-toolkit-current ADD $NIFI_REGISTRY_SCRIPTS ${NIFI_REGISTRY_BASE_DIR}/scripts/ RUN chmod -R +x ${NIFI_REGISTRY_BASE_DIR}/scripts/*.sh \ @@ -38,6 +40,12 @@ RUN unzip ${NIFI_REGISTRY_BASE_DIR}/${NIFI_REGISTRY_BINARY_NAME} -d ${NIFI_REGIS && rm ${NIFI_REGISTRY_BASE_DIR}/${NIFI_REGISTRY_BINARY_NAME} \ && ln -s ${NIFI_REGISTRY_BASE_DIR}/nifi-registry-${NIFI_REGISTRY_VERSION} ${NIFI_REGISTRY_HOME} +COPY $NIFI_TOOLKIT_BINARY $NIFI_REGISTRY_BASE_DIR +RUN unzip ${NIFI_REGISTRY_BASE_DIR}/nifi-toolkit-${NIFI_REGISTRY_VERSION}-bin.zip -d ${NIFI_REGISTRY_BASE_DIR} \ + && rm ${NIFI_REGISTRY_BASE_DIR}/nifi-toolkit-${NIFI_REGISTRY_VERSION}-bin.zip \ + && mv ${NIFI_REGISTRY_BASE_DIR}/nifi-toolkit-${NIFI_REGISTRY_VERSION} ${NIFI_TOOLKIT_HOME} \ + && ln -s ${NIFI_TOOLKIT_HOME} ${NIFI_REGISTRY_BASE_DIR}/nifi-toolkit-${NIFI_REGISTRY_VERSION} + FROM eclipse-temurin:11-jre LABEL maintainer="Apache NiFi Registry <dev@nifi.apache.org>" @@ -48,6 +56,7 @@ ARG GID=1000 ENV NIFI_REGISTRY_BASE_DIR /opt/nifi-registry ENV NIFI_REGISTRY_HOME ${NIFI_REGISTRY_BASE_DIR}/nifi-registry-current +ENV NIFI_TOOLKIT_HOME ${NIFI_REGISTRY_BASE_DIR}/nifi-toolkit-current COPY --chown=${UID}:${GID} --from=artifactbase $NIFI_REGISTRY_BASE_DIR $NIFI_REGISTRY_BASE_DIR diff --git a/nifi-registry/nifi-registry-docker-maven/dockermaven/pom.xml b/nifi-registry/nifi-registry-docker-maven/dockermaven/pom.xml index f4e97459cc..9a32dbff02 100644 --- a/nifi-registry/nifi-registry-docker-maven/dockermaven/pom.xml +++ b/nifi-registry/nifi-registry-docker-maven/dockermaven/pom.xml @@ -61,6 +61,22 @@ <goal>run</goal> </goals> </execution> + <execution> + <id>copy-toolkit-for-docker</id> + <phase>process-sources</phase> + <configuration> + <target name="copy toolkit assembly to nifi-registry-docker for image build"> + <copy todir="${project.basedir}/target" overwrite="true" flatten="true"> + <fileset dir="${project.basedir}/../../../nifi-toolkit/nifi-toolkit-assembly/target" includes="*.zip"> + <include name="*.zip" /> + </fileset> + </copy> + </target> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> </executions> </plugin> <plugin> @@ -90,6 +106,7 @@ <NIFI_REGISTRY_SCRIPTS>target/sh</NIFI_REGISTRY_SCRIPTS> <NIFI_REGISTRY_BINARY>target/nifi-registry-${project.version}-bin.zip</NIFI_REGISTRY_BINARY> <NIFI_REGISTRY_BINARY_NAME>nifi-registry-${project.version}-bin.zip</NIFI_REGISTRY_BINARY_NAME> + <NIFI_TOOLKIT_BINARY>target/nifi-toolkit-${project.version}-bin.zip</NIFI_TOOLKIT_BINARY> </args> </build> </image>