I have what I’m hoping is a simple question that I just can’t find the answer 
to. We run our NiFi in development, integration and production environments and 
in each environment we have different login properties needed for things like 
Mongo processors, JMS processors, etc. The username/password and url to log 
into mongo for instance is different in our dev environment and our productions 
environment. We have many of these processors within our flow and when we move 
it from one environment to another, we have to open the flow file and update 
all those processors.  We can do this brute force in the flow.xml file, but 
it’s still a very manual process going from one environment to another.

Is there a way to externalize these kinds of properties from the flow.xml? I’ve 
tried putting them into the nifi.conf and access them with something like 
${mongo.username}, but that doesn’t work.  I don’t think the Mongo Processor 
supports expression language, but I’ve also tried this in something like the 
ListenTCP processor that does and it still doesn’t work.

It seems like this has to be a very common problem, so I hope I’ve just missed 
it somewhere in the docs. I can’t find anything that would help besides a 
ControllerService, but the processors would need to support it and the ones out 
of the box don’t seem to. I also don’t see how you’d pull properties from the 
nifi.conf file into those Controller Services either.

If anyone could help us make out deployments more streamlined, that would be 
great!

Thanks!
Andrew

Reply via email to