This is an automated email from the ASF dual-hosted git repository.
aboda pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
The following commit(s) were added to refs/heads/main by this push:
new 0e503d6 MINIFICPP-1452 Parameterize Docker image build
0e503d6 is described below
commit 0e503d62f381a00f150ecd630eff27552b898123
Author: Gabor Gyimesi <[email protected]>
AuthorDate: Thu Jan 21 11:48:20 2021 +0100
MINIFICPP-1452 Parameterize Docker image build
Pass through CMake options to Docker builds
Parameterize Docker base Alpine image
Signed-off-by: Arpad Boda <[email protected]>
This closes #977
---
.github/workflows/ci.yml | 2 +-
CMakeLists.txt | 3 +
cmake/DockerConfig.cmake | 95 ++++++++++++++++++++++++--
docker/DockerBuild.sh | 173 ++++++++++++++++++++++++++++++++++++++++++-----
docker/Dockerfile | 46 ++++++++++++-
5 files changed, 292 insertions(+), 27 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 69e8717..ac4b741 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -270,7 +270,7 @@ jobs:
- id: checkout
uses: actions/checkout@v2
- id: build
- run: ./bootstrap.sh -e -t && cd build && cmake -DUSE_SHARED_LIBS=
-DSTRICT_GSL_CHECKS=AUDIT -DENABLE_JNI=OFF .. && make docker
+ run: ./bootstrap.sh -e -t && cd build && cmake -DUSE_SHARED_LIBS=
-DSTRICT_GSL_CHECKS=AUDIT -DENABLE_JNI=OFF -DDISABLE_JEMALLOC=ON
-DENABLE_AWS=ON -DENABLE_LIBRDKAFKA=ON .. && make docker
- id: install_deps
run: sudo apt install -y python3-virtualenv
- id: test
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 61eec6d..d6f81d3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,6 +29,9 @@ set(PROJECT_VERSION_PATCH 0)
# Optional build number for linux distribution targets' tar.gz output
set(BUILD_NUMBER "" CACHE STRING "Build number")
+# Base Alpine image to be used in the Docker build instead of the default
Alpine image
+set(DOCKER_BASE_IMAGE "" CACHE STRING "Docker build Alpine base image")
+
include(CMakeDependentOption)
include(CheckIncludeFile)
include(FeatureSummary)
diff --git a/cmake/DockerConfig.cmake b/cmake/DockerConfig.cmake
index e3fdfd0..8db6c23 100644
--- a/cmake/DockerConfig.cmake
+++ b/cmake/DockerConfig.cmake
@@ -18,38 +18,119 @@
# Create a custom build target called "docker" that will invoke DockerBuild.sh
and create the NiFi-MiNiFi-CPP Docker image
add_custom_target(
docker
- COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
release ${ENABLE_JNI}
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+ -u 1000
+ -g 1000
+ -v
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+ -c IMAGE_TYPE=release
+ -c ENABLE_ALL=${ENABLE_ALL}
+ -c ENABLE_PYTHON=${ENABLE_PYTHON}
+ -c ENABLE_OPS=${ENABLE_OPS}
+ -c ENABLE_JNI=${ENABLE_JNI}
+ -c ENABLE_OPENCV=${ENABLE_OPENCV}
+ -c ENABLE_OPC=${ENABLE_OPC}
+ -c ENABLE_GPS=${ENABLE_GPS}
+ -c ENABLE_COAP=${ENABLE_COAP}
+ -c ENABLE_WEL=${ENABLE_WEL}
+ -c ENABLE_SQL=${ENABLE_SQL}
+ -c ENABLE_MQTT=${ENABLE_MQTT}
+ -c ENABLE_PCAP=${ENABLE_PCAP}
+ -c ENABLE_LIBRDKAFKA=${ENABLE_LIBRDKAFKA}
+ -c ENABLE_SENSORS=${ENABLE_SENSORS}
+ -c ENABLE_SQLITE=${ENABLE_SQLITE}
+ -c ENABLE_USB_CAMERA=${ENABLE_USB_CAMERA}
+ -c ENABLE_TENSORFLOW=${ENABLE_TENSORFLOW}
+ -c ENABLE_AWS=${ENABLE_AWS}
+ -c ENABLE_BUSTACHE=${ENABLE_BUSTACHE}
+ -c ENABLE_SFTP=${ENABLE_SFTP}
+ -c ENABLE_OPENWSMAN=${ENABLE_OPENWSMAN}
+ -c DISABLE_CURL=${DISABLE_CURL}
+ -c DISABLE_JEMALLOC=${DISABLE_JEMALLOC}
+ -c DISABLE_CIVET=${DISABLE_CIVET}
+ -c DISABLE_EXPRESSION_LANGUAGE=${DISABLE_EXPRESSION_LANGUAGE}
+ -c DISABLE_ROCKSDB=${DISABLE_ROCKSDB}
+ -c DISABLE_LIBARCHIVE=${DISABLE_LIBARCHIVE}
+ -c DISABLE_LZMA=${DISABLE_LZMA}
+ -c DISABLE_BZIP2=${DISABLE_BZIP2}
+ -c DISABLE_SCRIPTING=${DISABLE_SCRIPTING}
+ -c DISABLE_CONTROLLER=${DISABLE_CONTROLLER}
+ -c DOCKER_BASE_IMAGE=${DOCKER_BASE_IMAGE}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
# Create minimal docker image
add_custom_target(
docker-minimal
- COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
minimal
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+ -u 1000
+ -g 1000
+ -v
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+ -i minimal
+ -c DOCKER_BASE_IMAGE=${DOCKER_BASE_IMAGE}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
add_custom_target(
centos
- COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
release ${ENABLE_JNI} ${CMAKE_BINARY_DIR} centos ${BUILD_NUMBER}
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+ -u 1000
+ -g 1000
+ -v
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+ -i release
+ -c ENABLE_JNI=${ENABLE_JNI}
+ -l ${CMAKE_BINARY_DIR}
+ -d centos
+ -c BUILD_NUMBER=${BUILD_NUMBER}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
add_custom_target(
debian
- COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
release ${ENABLE_JNI} ${CMAKE_BINARY_DIR} debian ${BUILD_NUMBER}
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+ -u 1000
+ -g 1000
+ -v
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+ -i release
+ -c ENABLE_JNI=${ENABLE_JNI}
+ -l ${CMAKE_BINARY_DIR}
+ -d debian
+ -c BUILD_NUMBER=${BUILD_NUMBER}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
add_custom_target(
fedora
- COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
release ${ENABLE_JNI} ${CMAKE_BINARY_DIR} fedora ${BUILD_NUMBER}
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+ -u 1000
+ -g 1000
+ -v
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+ -i release
+ -c ENABLE_JNI=${ENABLE_JNI}
+ -l ${CMAKE_BINARY_DIR}
+ -d fedora
+ -c BUILD_NUMBER=${BUILD_NUMBER}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
add_custom_target(
u18
- COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
release ${ENABLE_JNI} ${CMAKE_BINARY_DIR} bionic ${BUILD_NUMBER}
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+ -u 1000
+ -g 1000
+ -v
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+ -i release
+ -c ENABLE_JNI=${ENABLE_JNI}
+ -l ${CMAKE_BINARY_DIR}
+ -d bionic
+ -c BUILD_NUMBER=${BUILD_NUMBER}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
add_custom_target(
u16
- COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
release ${ENABLE_JNI} ${CMAKE_BINARY_DIR} xenial ${BUILD_NUMBER}
+ COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+ -u 1000
+ -g 1000
+ -v
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+ -i release
+ -c ENABLE_JNI=${ENABLE_JNI}
+ -l ${CMAKE_BINARY_DIR}
+ -d xenial
+ -c BUILD_NUMBER=${BUILD_NUMBER}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
add_custom_target(
diff --git a/docker/DockerBuild.sh b/docker/DockerBuild.sh
index 98bfab4..51814cd 100755
--- a/docker/DockerBuild.sh
+++ b/docker/DockerBuild.sh
@@ -21,14 +21,114 @@
set -euo pipefail
# Set env vars.
-UID_ARG=$1
-GID_ARG=$2
-MINIFI_VERSION=$3
-IMAGE_TYPE=${4:-release}
-ENABLE_JNI=${5:-}
-DUMP_LOCATION=${6:-}
-DISTRO_NAME=${7:-}
-BUILD_NUMBER=${8:-}
+UID_ARG=${UID_ARG:-1000}
+GID_ARG=${GID_ARG:-1000}
+MINIFI_VERSION=${MINIFI_VERSION:-}
+IMAGE_TYPE=${IMAGE_TYPE:-release}
+DUMP_LOCATION=${DUMP_LOCATION:-}
+DISTRO_NAME=${DISTRO_NAME:-}
+BUILD_NUMBER=${BUILD_NUMBER:-}
+ENABLE_ALL=${ENABLE_ALL:-}
+ENABLE_PYTHON=${ENABLE_PYTHON:-}
+ENABLE_OPS=${ENABLE_OPS:-ON}
+ENABLE_JNI=${ENABLE_JNI:-}
+ENABLE_OPENCV=${ENABLE_OPENCV:-}
+ENABLE_OPC=${ENABLE_OPC:-}
+ENABLE_GPS=${ENABLE_GPS:-}
+ENABLE_COAP=${ENABLE_COAP:-}
+ENABLE_WEL=${ENABLE_WEL:-}
+ENABLE_SQL=${ENABLE_SQL:-}
+ENABLE_MQTT=${ENABLE_MQTT:-}
+ENABLE_PCAP=${ENABLE_PCAP:-}
+ENABLE_LIBRDKAFKA=${ENABLE_LIBRDKAFKA:-}
+ENABLE_SENSORS=${ENABLE_SENSORS:-}
+ENABLE_SQLITE=${ENABLE_SQLITE:-}
+ENABLE_USB_CAMERA=${ENABLE_USB_CAMERA:-}
+ENABLE_TENSORFLOW=${ENABLE_TENSORFLOW:-}
+ENABLE_AWS=${ENABLE_AWS:-}
+ENABLE_BUSTACHE=${ENABLE_BUSTACHE:-}
+ENABLE_SFTP=${ENABLE_SFTP:-}
+ENABLE_OPENWSMAN=${ENABLE_OPENWSMAN:-}
+DISABLE_CURL=${DISABLE_CURL:-}
+DISABLE_JEMALLOC=${DISABLE_JEMALLOC:-ON}
+DISABLE_CIVET=${DISABLE_CIVET:-}
+DISABLE_EXPRESSION_LANGUAGE=${DISABLE_EXPRESSION_LANGUAGE:-}
+DISABLE_ROCKSDB=${DISABLE_ROCKSDB:-}
+DISABLE_LIBARCHIVE=${DISABLE_LIBARCHIVE:-}
+DISABLE_LZMA=${DISABLE_LZMA:-}
+DISABLE_BZIP2=${DISABLE_BZIP2:-}
+DISABLE_SCRIPTING=${DISABLE_SCRIPTING:-}
+DISABLE_CONTROLLER=${DISABLE_CONTROLLER:-}
+DOCKER_BASE_IMAGE=${DOCKER_BASE_IMAGE:-}
+
+function usage {
+ echo "Usage: ./DockerBuild.sh -v <MINIFI_VERSION> [additional options]"
+ echo "Options:"
+ echo "-v, --minifi-version Minifi version number to be used (required)"
+ echo "-i, --image-type Can be release or minimal (default: release)"
+ echo "-u, --uid User id to be used in the Docker image (default:
1000)"
+ echo "-g, --gid Group id to be used in the Docker image
(default: 1000)"
+ echo "-d, --distro-name Linux distribution build to be used for
alternative builds (xenial|bionic|fedora|debian|centos)"
+ echo "-l --dump-location Path where to the output dump to be put"
+ echo "-c --cmake-param CMake parameter passed in PARAM=value format"
+ echo "-h --help Show this help message"
+ exit 1
+}
+
+while [[ $# -gt 0 ]]; do
+ key="$1"
+ case $key in
+ -u|--uid)
+ UID_ARG="$2"
+ shift
+ shift
+ ;;
+ -g|--gid)
+ GID_ARG="$2"
+ shift
+ shift
+ ;;
+ -v|--minifi-version)
+ MINIFI_VERSION="$2"
+ shift
+ shift
+ ;;
+ -i|--image-type)
+ IMAGE_TYPE="$2"
+ shift
+ shift
+ ;;
+ -d|--distro-name)
+ DISTRO_NAME="$2"
+ shift
+ shift
+ ;;
+ -l|--dump-location)
+ DUMP_LOCATION="$2"
+ shift
+ shift
+ ;;
+ -c|--cmake-param)
+ IFS='=' read -ra ARR <<< "$2"
+ if [[ ${#ARR[@]} -gt 1 ]]; then
+ declare "${ARR[0]}"="${ARR[1]}"
+ fi
+ shift
+ shift
+ ;;
+ -h|--help)
+ usage
+ ;;
+ *)
+ echo "Unknown argument passed: $1"
+ usage
+ ;;
+ esac
+done
+
+if [ -z "${MINIFI_VERSION}" ]; then
+ usage
+fi
echo "NiFi-MiNiFi-CPP Version: ${MINIFI_VERSION}"
@@ -57,14 +157,55 @@ if [ -n "${BUILD_NUMBER}" ]; then
TARGZ_TAG="${TARGZ_TAG}-${BUILD_NUMBER}"
fi
-DOCKER_COMMAND="docker build --build-arg UID=${UID_ARG} \
- --build-arg GID=${GID_ARG} \
- --build-arg MINIFI_VERSION=${MINIFI_VERSION} \
- --build-arg ENABLE_JNI=${ENABLE_JNI} \
- --target ${IMAGE_TYPE} \
- -f ${DOCKERFILE} \
- -t \
- apacheminificpp:${TAG} .."
+DOCKER_COMMAND="docker build "
+BUILD_ARGS="--build-arg UID=${UID_ARG} \
+ --build-arg GID=${GID_ARG} \
+ --build-arg MINIFI_VERSION=${MINIFI_VERSION} \
+ --build-arg IMAGE_TYPE=${IMAGE_TYPE} \
+ --build-arg DUMP_LOCATION=${DUMP_LOCATION} \
+ --build-arg DISTRO_NAME=${DISTRO_NAME} \
+ --build-arg ENABLE_ALL=${ENABLE_ALL} \
+ --build-arg ENABLE_PYTHON=${ENABLE_PYTHON} \
+ --build-arg ENABLE_OPS=${ENABLE_OPS} \
+ --build-arg ENABLE_JNI=${ENABLE_JNI} \
+ --build-arg ENABLE_OPENCV=${ENABLE_OPENCV} \
+ --build-arg ENABLE_OPC=${ENABLE_OPC} \
+ --build-arg ENABLE_GPS=${ENABLE_GPS} \
+ --build-arg ENABLE_COAP=${ENABLE_COAP} \
+ --build-arg ENABLE_WEL=${ENABLE_WEL} \
+ --build-arg ENABLE_SQL=${ENABLE_SQL} \
+ --build-arg ENABLE_MQTT=${ENABLE_MQTT} \
+ --build-arg ENABLE_PCAP=${ENABLE_PCAP} \
+ --build-arg ENABLE_LIBRDKAFKA=${ENABLE_LIBRDKAFKA} \
+ --build-arg ENABLE_SENSORS=${ENABLE_SENSORS} \
+ --build-arg ENABLE_SQLITE=${ENABLE_SQLITE} \
+ --build-arg ENABLE_USB_CAMERA=${ENABLE_USB_CAMERA} \
+ --build-arg ENABLE_TENSORFLOW=${ENABLE_TENSORFLOW} \
+ --build-arg ENABLE_AWS=${ENABLE_AWS} \
+ --build-arg ENABLE_BUSTACHE=${ENABLE_BUSTACHE} \
+ --build-arg ENABLE_SFTP=${ENABLE_SFTP} \
+ --build-arg ENABLE_OPENWSMAN=${ENABLE_OPENWSMAN} \
+ --build-arg DISABLE_CURL=${DISABLE_CURL} \
+ --build-arg DISABLE_JEMALLOC=${DISABLE_JEMALLOC} \
+ --build-arg DISABLE_CIVET=${DISABLE_CIVET} \
+ --build-arg
DISABLE_EXPRESSION_LANGUAGE=${DISABLE_EXPRESSION_LANGUAGE} \
+ --build-arg DISABLE_ROCKSDB=${DISABLE_ROCKSDB} \
+ --build-arg DISABLE_LIBARCHIVE=${DISABLE_LIBARCHIVE} \
+ --build-arg DISABLE_LZMA=${DISABLE_LZMA} \
+ --build-arg DISABLE_BZIP2=${DISABLE_BZIP2} \
+ --build-arg DISABLE_SCRIPTING=${DISABLE_SCRIPTING} \
+ --build-arg DISABLE_CONTROLLER=${DISABLE_CONTROLLER} "
+
+if [ -n "${DOCKER_BASE_IMAGE}" ]; then
+ BUILD_ARGS="${BUILD_ARGS} --build-arg BASE_ALPINE_IMAGE=${DOCKER_BASE_IMAGE}"
+fi
+
+DOCKER_COMMAND="${DOCKER_COMMAND} ${BUILD_ARGS} \
+ --target ${IMAGE_TYPE} \
+ -f ${DOCKERFILE} \
+ -t \
+ apacheminificpp:${TAG} .."
+
echo "Docker Command: '$DOCKER_COMMAND'"
DOCKER_BUILDKIT=1 ${DOCKER_COMMAND}
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 746b56c..347745a 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -17,7 +17,8 @@
#
# First stage: the common build environment dependencies
-FROM alpine:3.12 AS build_deps
+ARG BASE_ALPINE_IMAGE="alpine:3.12"
+FROM ${BASE_ALPINE_IMAGE} AS build_deps
LABEL maintainer="Apache NiFi <[email protected]>"
ARG MINIFI_VERSION
@@ -83,18 +84,57 @@ RUN cd ${MINIFI_BASE_DIR} \
# Build stage of normal image
FROM build_deps AS build_release
+ARG ENABLE_ALL
+ARG ENABLE_PYTHON
+ARG ENABLE_OPS
ARG ENABLE_JNI
+ARG ENABLE_OPENCV
+ARG ENABLE_OPC
+ARG ENABLE_GPS
+ARG ENABLE_COAP
+ARG ENABLE_WEL
+ARG ENABLE_SQL
+ARG ENABLE_MQTT
+ARG ENABLE_PCAP
+ARG ENABLE_LIBRDKAFKA
+ARG ENABLE_SENSORS
+ARG ENABLE_SQLITE
+ARG ENABLE_USB_CAMERA
+ARG ENABLE_TENSORFLOW
+ARG ENABLE_AWS
+ARG ENABLE_BUSTACHE
+ARG ENABLE_SFTP
+ARG ENABLE_OPENWSMAN
+ARG DISABLE_CURL
+ARG DISABLE_JEMALLOC
+ARG DISABLE_CIVET
+ARG DISABLE_EXPRESSION_LANGUAGE
+ARG DISABLE_ROCKSDB
+ARG DISABLE_LIBARCHIVE
+ARG DISABLE_LZMA
+ARG DISABLE_BZIP2
+ARG DISABLE_SCRIPTING
+ARG DISABLE_CONTROLLER
RUN cd ${MINIFI_BASE_DIR} \
&& mkdir build \
&& cd build \
- && cmake -DDISABLE_JEMALLOC=ON -DENABLE_AWS=ON -DSTATIC_BUILD=
-DSKIP_TESTS=true -DENABLE_JNI=${ENABLE_JNI} -DENABLE_LIBRDKAFKA=ON .. \
+ && cmake -DSTATIC_BUILD= -DSKIP_TESTS=true -DENABLE_ALL=${ENABLE_ALL}
-DENABLE_PYTHON=${ENABLE_PYTHON} -DENABLE_OPS=${ENABLE_OPS} \
+ -DENABLE_JNI=${ENABLE_JNI} -DENABLE_OPENCV=${ENABLE_OPENCV}
-DENABLE_OPC=${ENABLE_OPC} -DENABLE_GPS=${ENABLE_GPS}
-DENABLE_COAP=${ENABLE_COAP} \
+ -DENABLE_WEL=${ENABLE_WEL} -DENABLE_SQL=${ENABLE_SQL}
-DENABLE_MQTT=${ENABLE_MQTT} -DENABLE_PCAP=${ENABLE_PCAP} \
+ -DENABLE_LIBRDKAFKA=${ENABLE_LIBRDKAFKA}
-DENABLE_SENSORS=${ENABLE_SENSORS} -DENABLE_SQLITE=${ENABLE_SQLITE} \
+ -DENABLE_USB_CAMERA=${ENABLE_USB_CAMERA}
-DENABLE_TENSORFLOW=${ENABLE_TENSORFLOW} -DENABLE_AWS=${ENABLE_AWS} \
+ -DENABLE_BUSTACHE=${ENABLE_BUSTACHE} -DENABLE_SFTP=${ENABLE_SFTP}
-DENABLE_OPENWSMAN=${ENABLE_OPENWSMAN} \
+ -DDISABLE_CURL=${DISABLE_CURL} -DDISABLE_JEMALLOC=${DISABLE_JEMALLOC}
-DDISABLE_CIVET=${DISABLE_CIVET} \
+ -DDISABLE_EXPRESSION_LANGUAGE=${DISABLE_EXPRESSION_LANGUAGE}
-DDISABLE_ROCKSDB=${DISABLE_ROCKSDB} \
+ -DDISABLE_LIBARCHIVE=${DISABLE_LIBARCHIVE} -DDISABLE_LZMA=${DISABLE_LZMA}
-DDISABLE_BZIP2=${DISABLE_BZIP2} \
+ -DDISABLE_SCRIPTING=${DISABLE_SCRIPTING}
-DDISABLE_CONTROLLER=${DISABLE_CONTROLLER} .. \
&& make -j$(nproc) package \
&& tar -xzvf
${MINIFI_BASE_DIR}/build/nifi-minifi-cpp-${MINIFI_VERSION}-bin.tar.gz -C
${MINIFI_BASE_DIR}
# Common runtime image dependencies
# Edge required for rocksdb
-FROM alpine:3.12 AS common_runtime_deps
+FROM ${BASE_ALPINE_IMAGE} AS common_runtime_deps
ARG UID=1000
ARG GID=1000