Code Repositories
Find and share code repositories
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.
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
1,278 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.

Don't have an account?
Coming from Hortonworks? Activate your account here
Version history
Revision #:
1 of 1
Last update:
‎03-28-2017 05:08 AM
Updated by:
 
Contributors
Top Kudoed Authors