Code Repositories

Find and share code repositories
Announcements
Check out our newest addition to the community, the Cloudera Data Analytics (CDA) group hub.
Labels (1)
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
4,818 Views
Comments
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.

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.

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.

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.

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

Take a Tour of the Community
Don't have an account?
Your experience may be limited. Sign in to explore more.
Version history
Last update:
‎03-28-2017 05:08 AM
Updated by:
Contributors