[ https://issues.apache.org/jira/browse/NIFI-5767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16673133#comment-16673133 ]
ASF GitHub Bot commented on NIFI-5767: -------------------------------------- Github user andrewmlim commented on a diff in the pull request: https://github.com/apache/nifi/pull/3124#discussion_r230381765 --- Diff: nifi-docs/src/main/asciidoc/toolkit-guide.adoc --- @@ -0,0 +1,1257 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// += Apache NiFi Toolkit Guide +Apache NiFi Team <d...@nifi.apache.org> +:homepage: http://nifi.apache.org +:linkattrs: + +== Overview +The NiFi Toolkit contains several command line utilities to setup and support NiFi in standalone and clustered environments. The utilities include: + +* CLI -- The `cli` tool enables administrators to interact with NiFi and NiFi Registry instances to automate tasks such as deploying versioned flows and managing process groups and cluster nodes. +* Encrypt Config -- The `encrypt-config` tool encrypts the sensitive keys in the _nifi.properties_ file to facilitate the setup of a secure NiFi instance. +* File Manager -- The `file-manager` tool enables administrators to backup, install or restore a NiFi installation from backup. +* Flow Analyzer -- The `flow-analyzer` tool produces a report that helps administrators understand the max amount of data which can be stored in backpressure for a given flow. +* Node Manager -- The `node-manager` tool enables administrators to perform status checks on nodes as well as the ability to connect, disconnect, or remove nodes from the cluster. +* Notify -- The `notify` tool enables administrators to send bulletins to the NiFi UI. +* S2S -- The `s2s` tool enables administrators to send data into or out of NiFi flows over site-to-site. +* TLS Toolkit -- The `tls-toolkit` utility generates the required keystores, truststore, and relevant configuration files to facilitate the setup of a secure NiFi instance. +* ZooKeeper Migrator -- The `zk-migrator` tool enables administrators to: +** move ZooKeeper information from one ZooKeeper cluster to another +** migrate ZooKeeper node ownership + +The utilities are executed with scripts found in the `bin` folder of your NiFi Toolkit installation. + +NOTE: The NiFi Toolkit is downloaded separately from NiFi (see the link:https://nifi.apache.org/download.html[Apache NiFi downloads page^]). + +=== Prerequisites for Running in a Secure Environment +For secured nodes and clusters, two policies should be configured in advance: + +* Access the controller – A user that will have access to these utilities should be authorized in NiFi by creating an “access the controller” policy (`/controller`) with both view and modify rights +* Proxy user request – If not previously set, node’s identity (the DN value of the node’s certificate) should be authorized to proxy requests on behalf of a user + +When executing either the Notify or Node Manager tools in a secured environment the `proxyDN` flag option should be used in order to properly identify the user that was authorized to execute these commands. In non-secure environments, or if running the status operation on the Node Manager tool, the flag is ignored. + +== NiFi CLI +This tool offers a CLI focused on interacting with NiFi and NiFi Registry in order to automate tasks, such as deploying flows from a NIFi Registy to a NiFi instance or managing process groups and cluster nodes. + +=== Usage +The CLI toolkit can be executed in standalone mode to execute a single command, or interactive mode to enter an interactive shell. + +To execute a single command: + + ./bin/cli.sh <command> <args> + +To launch the interactive shell: + + ./bin/cli.sh + +To show help: + + cli.sh -h + +The following are available options: + + demo quick-import + nifi current-user + nifi cluster-summary + nifi connect-node + nifi delete-node + nifi disconnect-node + nifi get-root-id + nifi get-node + nifi get-nodes + nifi offload-node + nifi list-reg-clients + nifi create-reg-client + nifi update-reg-client + nifi get-reg-client-id + nifi pg-import + nifi pg-start + nifi pg-stop + nifi pg-get-vars + nifi pg-set-var + nifi pg-get-version + nifi pg-change-version + nifi pg-get-all-versions + nifi pg-list + nifi pg-status + nifi pg-get-services + nifi pg-enable-services + nifi pg-disable-services + registry current-user + registry list-buckets + registry create-bucket + registry delete-bucket + registry list-flows + registry create-flow + registry delete-flow + registry list-flow-versions + registry export-flow-version + registry import-flow-version + registry sync-flow-versions + registry transfer-flow-version + session keys + session show + session get + session set + session remove + session clear + exit + help --- End diff -- Will do. > Documentation of the NiFi Toolkit > --------------------------------- > > Key: NIFI-5767 > URL: https://issues.apache.org/jira/browse/NIFI-5767 > Project: Apache NiFi > Issue Type: Improvement > Components: Documentation & Website > Reporter: Pierre Villard > Assignee: Andrew Lim > Priority: Major > > The NiFi toolkit should have its own documentation in a dedicated page, > probably just under "Admin guide". > The documentation should have a paragraph about each tool: > * CLI - > https://github.com/apache/nifi/blob/master/nifi-toolkit/nifi-toolkit-cli/README.md > * Configuration encryption - > https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#encrypt-config_tool > * File manager - > https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#file-manager > * Flow analyzer > * Node manager - > https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#node-manager > * Notify > * S2S > * TLS Toolkit - > https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#tls_generation_toolkit > * ZooKeeper migrator - > https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#zookeeper_migrator -- This message was sent by Atlassian JIRA (v7.6.3#76005)