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