To add to Joe's point, the flow.xml.gz should be treated like an
internal component of NiFi that you don't really even know is there.
It is not a public API and is free to be changed by developers, and it
is also not portable across environments unless you are using the same
sensitive property key in every NiFi instance.

The public format that should be used is the JSON that is stored in
registry which is generally referred to as a "flow definition" or
"versioned flow", and it can be used without a registry. You can
right-click on any process group and choose "Download Flow
Definition", and you can create a new PG from uploading a JSON flow
definition.

So you could presumably create a git repo of just the JSON files for
each PG, or for your whole root PG if you prefer.

On Thu, Jan 13, 2022 at 11:28 AM Troels Arvin <[email protected]> wrote:
>
> Hello,
>
> Joe Witt wrote:
>
>   At this time there is not.
>
> OK, thanks for the clear answer.
>
>
> The better answer from a version management point of view is usage of
> the Flow Registry and versioned flows.
>
> But then it would be residing in a different system (the registry), as far as 
> I know. What I'd like to do is to have it reside in a Git repo along with 
> various other related configuration which is already in Git.
>
>
> For what it is worth I'll also add we routinely see user flows that
> are 10s of MBs even after gzip compression (or more).  There are flows
> with 10s of thousands of processors not to mention controller
> services, relationships, etc..
>
> OK, I have never seen anything of that size. Anyway: It would be nice, if 
> there was at least a choice.
>
> --
> Regards,
> Troels Arvin

Reply via email to