Skip to main content
Version: v1.11.3

Node configuration

NodeConfig defines the node configuration

   default_group:
# provenanceStorage allow to specify the maximum amount of data provenance information to store at a time
# https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#write-ahead-provenance-repository-properties
provenanceStorage: "10 GB"
#RunAsUser define the id of the user to run in the Nifi image
# +kubebuilder:validation:Minimum=1
runAsUser: 1000
# Set this to true if the instance is a node in a cluster.
# https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#basic-cluster-setup
isNode: true
# Additionnal metadata to merge to the pod associated
podMetadata:
annotations:
node-annotation: "node-annotation-value"
labels:
node-label: "node-label-value"
# Docker image used by the operator to create the node associated
# https://hub.docker.com/r/apache/nifi/
# image: "apache/nifi:1.11.2"
# nodeAffinity can be specified, operator populates this value if new pvc added later to node
# https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#node-affinity
# nodeAffinity:
# imagePullPolicy define the pull policy for NiFi cluster docker image
imagePullPolicy: IfNotPresent
# priorityClassName define the name of the priority class to be applied to these nodes
priorityClassName: "example-priority-class-name"
# externalVolumeConfigs specifies a list of volume to mount into the main container.
externalVolumeConfigs:
- name: example-volume
mountPath: "/opt/nifi/example"
secret:
secretName: "raw-controller"
# storageConfigs specifies the node related configs
storageConfigs:
# Name of the storage config, used to name PV to reuse into sidecars for example.
- name: provenance-repository
# Retain this PVC throughout NifiCluster deletions.
reclaimPolicy: Retain
# Path where the volume will be mount into the main nifi container inside the pod.
mountPath: "/opt/nifi/provenance_repository"
# Metadata to attach to the PVC that gets created
metadata:
labels:
my-label: my-value
annotations:
my-annotation: my-value
# Kubernetes PVC spec
# https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim
pvcSpec:
accessModes:
- ReadWriteOnce
storageClassName: "standard"
resources:
requests:
storage: 10Gi
- mountPath: "/opt/nifi/nifi-current/logs"
name: logs
reclaimPolicy: Delete
pvcSpec:
accessModes:
- ReadWriteOnce
storageClassName: "standard"
resources:
requests:
storage: 10Gi

NodeConfig

FieldTypeDescriptionRequiredDefault
provenanceStoragestringprovenanceStorage allow to specify the maximum amount of data provenance information to store at a time: write-ahead-provenance-repository-propertiesNo"8 GB"
runAsUserint64define the id of the user to run in the Nifi imageNo1000
fsGroupint64define the id of the group for each volumes in Nifi imageNo1000
isNodebooleanSet this to true if the instance is a node in a cluster: basic-cluster-setupNotrue
imagestringDocker image used by the operator to create the node associated. Nifi docker registryNo""
imagePullPolicyPullPolicydefine the pull policy for NiFi cluster docker image.No""
nodeAffinitystringoperator populates this value if new pvc added later to node node-affinityNonil
seccompProfileSeccompProfileoverrides the default seccompProfile of the nodes podNo{type: "RuntimeDefault"}
securityContextSecurityContextoverrides the default container security context for all containers in the podNo{allowPrivilegeEscalation: false, capabilities: {drop: ["all"]}}
storageConfigs[ ]StorageConfigspecifies the node related configs.Nonil
externalVolumeConfigs[ ]ExternalVolumeConfigspecifies a list of volume to mount into the main container.Nonil
serviceAccountNamestringspecifies the serviceAccount used for this specific node.No"default"
resourcesRequirementsResourceRequirementsworks exactly like Container resources, the user can specify the limit and the requests through this property manage-compute-resources-container.Nonil
imagePullSecrets[ ]LocalObjectReferencespecifies the secret to use when using private registry.Nonil
nodeSelectormap[string]stringnodeSelector can be specified, which set the pod to fit on a node nodeselectorNonil
tolerations[ ]Tolerationtolerations can be specified, which set the pod's tolerations taint-and-toleration.Nonil
podMetadataMetadatadefine additionnal metadata to merge to the Pod associated.Nonil
hostAliases[ ]HostAliasA list of host aliases to include in each pod's /etc/hosts configuration in the scenario where DNS is not available.No[ ]
priorityClassNamestringSpecify the name of the priority class to apply to pods created with this node configNonil

StorageConfig

FieldTypeDescriptionRequiredDefault
namestringName of the storage config, used to name PV to reuse into sidecars for example.Yes-
mountPathstringPath where the volume will be mount into the main nifi container inside the pod.Yes-
reclaimPolicyPersistentVolumeReclaimPolicyThe PVC reclaim policy. Must be one of {Delete, Retain}. Recycle is not supported. If Retain, the PVC is not deleted when the NifiCluster is deleted and it will be re-attached to only the node it was previously attached to when the NifiCluster is recreated.NoDelete
metadataMetadataDefine additional metadata to merge to the PVC associated.No-
pvcSpecPersistentVolumeClaimSpecKubernetes PVC spec. create-a-persistentvolumeclaim.Yes-

ExternalVolumeConfig

FieldTypeDescriptionRequiredDefault
VolumeMountdescribes a mounting of a Volume within a container.Yes-
VolumeSourceVolumeSource represents the location and type of the mounted volume.Yes-

Metadata

FieldTypeDescriptionRequiredDefault
annotationsmap[string]stringAdditionnal annotation to merge to the resource associated annotations.Nonil
labelsmap[string]stringAdditionnal labels to merge to the resource associated labels.Nonil