NifiSpec defines the desired state of NiFi.

nifiVersion string

NiFi version to create a cluster for. Must have full pattern of Major.Minor.Patch. For example: 1.2.3, or 2.1.1

Replicas int32

Replicas defines the desired quantity of NiFi pods.

Image ImageSpec
Image for the NiFi container .
tiniImage ImageSpec

Tini image for sidecars / init containers.

ingressAccessType IngressRoutingSpec

ingressAccessType is deprecated, use uiConnection instead.

Zookeeper NifiZookeeperSpec

ZooKeeper instance specification.

configOverride NifiConfigurationSpec (Optional)

ConfigOverride specifies user provided input overriding default configurations.

persistenceNifiPersistenceSpec (Optional)

Persistence for the NiFi container.

Assets Assets (Optional)

Flow assets that the NiFi processor needs to access in the form of local file system.

Statefulset StatefulsetSpec (Optional)

Statefulset parameters for the underlying NiFi statefulset.

podDisruptionBudget NifiPodDisruptionBudget(Optional)

PodDisruptionBudget parameters for the underlying NiFi pod disruption budget.

Security NifiSecuritySpec (Optional)

Security specifies the security related configurations (HTTPS, LDAP, Kerberos…)

Resources NifiResourceSpec (Optional)

Resources specifies container limits by containers

S2s S2SSpec (Optional)

S2s specifies the site-to-site related configurations.

Debug JVMDebugSpec (Optional)

Debug specifies the details for JVM remote debugging.

stateManagement StateManagementSpec (Optional)

StateManagement specifies NiFi state management details. For more information, see State management in NiFi documentation.

sensitivePropsKeySecretName string (Optional)

SensitivePropsKeySecretName is the name of the secret which specifies the value for the nifi.sensitive.props.key in If a secret with such name pre-exists, then the operator will use it. When left empty, the operator will create a secret with the name: {cr-name}-sensitive-props-key and a randomly generated password as a value for ‘nifi.sensitive.props.key’.

proxyConfig ProxyConfigSpec (Optional)

proxyConfig contains details about a reverse proxy in front of the ingress controller. When set, it is used in the ingress object to set ‘X-Proxy(Scheme|Host|Port)’ headers, which are used by NiFi to construct URIs which work properly with the proxy. For more information, see Proxy Configuration in NiFi documentation.

inboundConnection InboundConfig

inboundConnection defines the configuration for allowing inbound connection to listening processors in a NiFi flow.

hostName string (Optional)

hostName specifies the host name with which NiFi is reachable. The host name is used to configure the host of the Ingress/Route for uiConnection. When omitted, any arbitrary host header is feasible, for example. IP address. The host name should match the ingress certificate in case manual ingress certificate is set. HostName is required for “host named based virtual access” mode, but can be omitted in “fanout” mode (See IngressAccessType property).

additionalAttachments []Kubernetes core/v1.TypedLocalObjectReference (Optional)

AdditionalAttachments specifies a list of object references to be attached to all NiFi pods for general usage. Objects with KindSecret” and “ConfigMap” are accepted. The base path for attached volumes is “/home/nifi/additional/{configmap|secret}”, depending on its Kind. Attachments appear as a directory. Name of the attachment is the same as the name of the Kubernetes object, only dashes ‘-’ are replaced with underscores ‘_’. For example, a ConfigMap with name “my-config” will be mounted to “/home/nifi/additional/configmap/my_config”.

additionalPodLabels map[string]string

AdditionalPodLabels specifies key/value pairs that will be assigned to each NiFi pod resource as additional labels.

additionalPodAnnotations map[string]string

additionalPodAnnotations specifies key/value pairs that will be assigned to each NiFi pod resource as additional annotations.

Suspend bool (Optional)

Suspend reconciliation of this NiFi cluster

suspendCluster bool (Optional)

Suspend this NiFi cluster’s operation by scaling replicas to zero without offloading data or deleting PVCs.

Tolerations []Kubernetes core/v1.Toleration

Tolerations sets the tolerations on each NiFi pod.

Connections []Connection

Connections configures Ingresses, Routes, and Services for connecting to NiFi.

uiConnection Connection (Optional)

uiConnection configures the Ingress, Route, or Service used for accessing NiFi’s WebUI.