I need to connect two Apache NiFi instances / cluster in a restricted network environment. Basically the whole exchange must work over a unidirectional network / data diode, that only supports TCP packages from client to server and ACK packages from the server. Both FlowFile attributes and content should be transferred as is.
Apache NiFi provides the site-to-site feature, to connect an instance / cluster to another, exactly what I'm looking for. It provides multiple protocol implementations, such as raw sockets or HTTP(S). However, as it includes data exchange from server to client as well, it sadly does NOT work over a unidirectional network / data diode.
Besides site-to-site, NiFi provides processors to transfer data using TCP, namely the the PutTCP and ListenTCP processor pair. However, PutTCP only transfers the FlowFile content and NOT the FlowFile attributes. Moreover, ListenTCP does NOT result in the transfer of the content of each FlowFile into exactly one FlowFile with the same content, but splits the content using a defined delimiter instead.
Are there easy means to transfer FlowFiles, that is both attributes and content, from one NiFi instance / cluster to another, over a unidirectional network / data diode?