Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-8845

Flow version should have tags

    XMLWordPrintableJSON

Details

    Description

      We are using the NiFi registry, we want to commit every change we make to our flows, but this creates a situation where we can't tell the difference between the last version which is ready for production and versions in development and are not yet tested.

      we would like to first develop our flow and commit several version, and when we are ready, mark flows as ready for deploying on our integration environment, after we test them there we can mark them ready for production.

      there is currently no way to do that except use an external database to save those marking on our flows.

      I think that a solution for this problem and a great feature in general can be the addition of Tags 

      Similar to git repositories, I think specific version of flows should have the ability to have tags, and have the options to add tags to already committed versions and to changes you are about to commit

      I think this feature is very important in that it gives you more control to know which versions are ready for production and which ones are not (since we don't have the option of branches)

      I think this feature should have a few features to come alongside it

      • Every flow can be tagged with multiple tags
      • Optionally, set a white list of tags you allow flows to be tagged with (on a secure registry, have special policies to state who you allow to decide the tag whitelist)
      • If a whitelist of tags is set, On a secure registry, have policies to add specific tags for specific users/user-groups (for example, if I am the NiFi admin, I don't want developers to decide which version is production ready, so i'll have a policy where the "PROD" tag can only be added by admins)
      • have the options to remove tags
      • optionally, In NiFi, flows that are not in there last version commited are marked as not up to date, have an option to display if the flows is not in their last commited version regarding a specific tag (for example, lets say i kept developing my flow and commited a version after deploying a previous version in my production environment. In my production environment it will display my version is not up to date. if i could say that it will check only against versions that contain the "PROD" tag, my flow will be viewed as up to date for production, but it may not in my integration environment, which is ideal)

      This will be a great feature and will help to better manage flows and versioning

      Attachments

        Activity

          People

            Unassigned Unassigned
            Max Kelada Nimrod Avni
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: