Installation

There are three ways to run the Stackable Operator for Apache NiFi:

  1. Helm managed Docker container deployment on Kubernetes

  2. As a Docker container

  3. Build from source.

Helm

Helm allows you to download and deploy Stackable operators on Kubernetes and is by far the easiest installation method. First ensure that you have installed the Stackable Operators Helm repository:

$ helm repo add stackable https://repo.stackable.tech/repository/helm-stable/

or to access the latest dev/nightly versions:

$ helm repo add stackable-dev https://repo.stackable.tech/repository/helm-dev/

Then install the Stackable Operator for Apache NiFi

$ helm install nifi-operator stackable/nifi-operator

Helm will deploy the operator in a Kubernetes container and apply the CRDs for the Apache NiFi service. You’re now ready to deploy Apache NiFi in Kubernetes.

A valid Zookeeper installation must be available and configured accordingly in the custom resource.

This operator also requires the Stackable Secret Operator to be present as CSI provider in Kubernetes.

The simplest way to install it is to just run:

$ helm install secret-operator stackable-dev/secret-operator

Docker

This Operator is published as a Docker image:

docker.stackable.tech/stackable/nifi-operator

When installing manually with Docker you will need to install the Stackable CRDs for Apache ZooKeeper in your Kubernetes environment. These are available on the Stackable GitHub repository for this operator.

$ sudo kubectl apply -f simple-nificluster.yaml

To run it straight from Docker you can use this command:

docker run \
    --name nifi-operator \
    --network host \
    --env KUBECONFIG=/home/stackable/.kube/config \
    --mount type=bind,source="$HOME/.kube/config",target="/home/stackable/.kube/config" \
    docker.stackable.tech/stackable/nifi-operator:latest

Building the operator from source

This operator is written in Rust and is developed against the latest stable Rust release (1.56 at the time of writing).

cargo build