nifi-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Dean <>
Subject Deploying versioned flows via NiFi APIs
Date Fri, 01 Feb 2019 00:00:02 GMT
I am trying to automate deployment of a NiFi flow with several versioned process groups using
the NiFi APIs. The basic setup I have is this:
I have a dozen or so process groups, each of which has been versioned within a NiFi registry
My root process group contains each of those process groups, with various connections between
their ports as well as a few variable definitions and controller service instances.

My goal is to deploy this flow, including the root process group that links the versioned
PGs as well as the versioned PGs themselves. So far, I’ve managed to use the registry API
to create a bucket and to add the versioned flows into the registry. Now I’m trying to use
the NiFi APIs to instantiate the root PG and link together all the versioned PGs that I have
just inserted into the registry.

The approach I have been trying is to capture my root PG as a template, and then use the NiFi
APIs to import and then instantiate that template. I have gotten this much working, but unfortunately
that leaves the PGs disconnected from the versioned flows in the registry. I was hoping there
was a way to transform the template to insert the appropriate bucket and flow IDs but I have
been unable to figure out if this is possible.

Alternatively, I suspect I could create an intermediate process group to contain all my “real”
PGs, and then version that intermediate PG. I could then use the APIs to instantiate a new
PG at the root level that is imported from the intermediate PG. I suspect that this could
work, but it is less than ideal because I’m creating an artificial intermediate PG to contain
all of my real contents, which will be a distraction for users who come into the NiFi data
flow manager to monitor this process.

Am I looking at this approach correctly? Are there other options I should be considering?

Thanks in advance,

View raw message