Code Repositories

Find and share code repositories
Announcements
Welcome to the upgraded Community! Read this blog to see What’s New!
Labels (1)
avatar
Not applicable
Repo Description

The NiFi provider is used to interact with NiFi cluster. It aims to make flow deployment and maintenance completely automated process.

  • Supports Processors, Connections, Process Groups and Controller Services.
  • Each flow is defined in HCL.
  • Any changes made in the definition can be automatically applied to live flow without rebuilding it. The plugin takes care of adding, updating or removing processors and connections as needed.
  • Latest state of the flow is persisted locally in a .state file allowing easy programmatic access to IDs and other properties of all automatically-created components of the flow.
Repo Info
Github Repo URL https://github.com/Glympse/terraform-provider-nifi
Github account name Glympse
Repo name terraform-provider-nifi
5,020 Views
Comments
avatar
Contributor

Hi @Egor Pushkin,

This is really fantastic!

May I ask what are the main advantages of this Terraform approach, comparing with building a tool by NiFi REST api?

Thanks.

avatar
Not applicable

Terraform's definition language provides convenient way of defining flows. This in combination with Terraform's state/changes tracking engine provides you with fully automated flow management solution.

The plugin itself is built on top of NiFi REST API. Terraform provides nice framework for structuring complex flows and separating configuration from data flow structure. Terraform is heavily used for infrastructure management across the board so it felt like a natural choice as a foundation for flow management utility (comparing to building the tool from ground up).

We actively use plugin in production at Glympse to deploy numerous NiFi flows in multiple regions and environments and are pretty happy with the workflow we organized around it.

avatar
Contributor

Hi @Egor Pushkin,

Since we build a secured NiFi cluster with Kerberos for authentication in production.

Does this tool support that? I didn't find it from your document.

https://github.com/Glympse/terraform-provider-nifi/blob/develop/docs/syntax.md

Thanks.

avatar
Cloudera Employee

Hi @Alvin Jin, not sure you still need this, but I can see it supports authentication with the admin cert on the develop branch:

https://github.com/Glympse/terraform-provider-nifi/blob/develop/nifi/client.go

However I think it should use an API token that can be generated through the NiFi API using the /access/token endpoint, see: https://stackoverflow.com/questions/42827820/how-to-pass-credential-to-nifi-rest-api

I'm planning to implement it, let me know if you're still interested trying it out.

avatar

Hello @egor_pushkin ,

 

I have understood from the plugin code that this works with certificate auth. 

I want the plugin to work with LDAP Authentication. Can you please let me know where the changes need to be done in the plugin exactly?

 

Regards,

Anil Reddy