Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In this article we'll discuss how to customize your MiNiFI C++ builds to accommodate your environment. Extensions within MiNiFI C++ allow you to specify, through CMAKE, options. We'll go through the current set and update this how to as extensions are added. An added feature for 0.4.0 is the bootstrap process, which can be used to bootstrap a machine using an interactive GUI. The bootstrap script is located in the root of the minifi source tree. Simply run ./bootstrap.sh. It will install dependencies and enable you to select your extensions. Alternatively, you may use the CMAKE options, below, manually. 

Current Extensions

Extension NameDescriptionCMAKE Option
GPSEnables GPS capture capabilities-DENABLE_GPS=TRUE
HTTP-CURLEnables libcURL builds, thus supporting HTTP operations-DDISABLE_CURL=TRUE
ROCKSDB

Enables ROCKSDB to build providing provenance, flowfile, and DBContent repositories.

*Note that if disabled, only volatile repositories will be allowed

-DDISABLE_ROCKSDB=TRUE
Expression Language

Supports adding expression language capabilities into MiNiFi C++

-DDISABLE_EXPRESSION_LANGUAGE=TRUE
KAFKAEnables KAFKA put record support-DENABLE_LIBRDKAFKA=TRUE
LIBARCHIVEProvides archive processors including MergeContent and CompressContent.-DDISABLE_LIBARCHIVE=TRUE
SCRIPTINGEnables Execute script with python and LUA-DDISABLE_SCRIPTING=TRUE
PCAPEnables the CapturePacket processor-DENABLE_PCAP=TRUE
USB_CAMERAEnables USB camera support-DENABLE_USB_CAMERA=TRUE
TENSORFLOWEnables base tensor flow support-DENABLE_TENSORFLOW=TRUE

Step-by-step guide

When building you may use the following steps

...

  1. e.g.  user $ cmake -DDISABLE_CURL=TRUE -DDISABLE_ROCKSDB=TRUE -DDISABLE_LIBARCHIVE=TRUE ..

...

Please visit https://github.com/apache/nifi-minifi-cpp/#bootstrapping to obtain additional information. 

A Note about running

Disabling extensions allows us to minimize code and functionality within a binary. This may make it smaller or eliminate code that is not desired on a specific platform. Note that in doing so you change the profile of your executable. If your configuration identifies a component or processor that does not exist within your binary we will exit with a log statement indicating that it cannot be found. 

...

You may enable all extensions that can run on your platform by using -DENABLE_ALL=true in your command line cmake, in lieu of the options above.. You may also select all options via the bootstrap process.