You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by al...@apache.org on 2017/06/26 15:06:33 UTC

nifi-minifi git commit: MINIFI-343 - Adding usage section to c2 README

Repository: nifi-minifi
Updated Branches:
  refs/heads/master 78856d673 -> 167fe8fb9


MINIFI-343 - Adding usage section to c2 README

This closes #85.

Signed-off-by: Aldrin Piri <al...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/167fe8fb
Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/167fe8fb
Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/167fe8fb

Branch: refs/heads/master
Commit: 167fe8fb9d8adcd2fd152ef8263b904718e32264
Parents: 78856d6
Author: Bryan Rosander <br...@apache.org>
Authored: Fri Jun 23 14:53:46 2017 -0400
Committer: Aldrin Piri <al...@apache.org>
Committed: Mon Jun 26 11:05:57 2017 -0400

----------------------------------------------------------------------
 minifi-c2/README.md | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/167fe8fb/minifi-c2/README.md
----------------------------------------------------------------------
diff --git a/minifi-c2/README.md b/minifi-c2/README.md
index 2440947..6061291 100644
--- a/minifi-c2/README.md
+++ b/minifi-c2/README.md
@@ -21,6 +21,29 @@ In the assumed usecase one or more class of MiNiFi agent polls the C2 server per
 
 The C2 server is intended to be extensible and flexibly configurable.  The ConfigurationProvider interface is the main extension point where arbitrary logic should be able to be used to get updated flows.  The server supports bidirectional TLS authentication and configurable authorization.
 
+### Usage
+After building, extract minifi-c2/minifi-c2-assembly/target/minifi-c2-VERSION-bin.tar.gz into a directory.
+
+./bin/c2.sh or ./bin/c2.bat will start the server.
+
+[./conf/c2.properties](./minifi-c2-assembly/src/main/resources/conf/c2.properties) can be used to configure the listening port, tls settings.
+
+[./conf/minifi-c2-context.xml](./minifi-c2-assembly/src/main/resources/conf/minifi-c2-context.xml) can be configured according to the [configuration provider examples below](#configuration-providers) to retrieve configuration payloads from the appropriate provider.
+
+[./conf/authorities.yaml](./minifi-c2-assembly/src/main/resources/conf/authorities.yaml) determines the authority or authorities (arbitrary string value) to assign to requesters based on their DN.
+
+[./conf/authorizations.yaml](./minifi-c2-assembly/src/main/resources/conf/authorizations.yaml) is used to determine whether to allow access based on a requester's authorities.
+
+When using the CacheConfigurationProvider, the server will by default look for files in the ./files/ directory to satisfy requests.  It will resolve the correct file using the query parameters and content type provided to it and then serve up either the requested version if specified in the query parameters or the latest if unspecified.
+
+The pattern can be configured in [./conf/minifi-c2-context.xml](./minifi-c2-assembly/src/main/resources/conf/minifi-c2-context.xml) and the default value (${class}/config) will replace ${class} with the class query parameter and then look for CLASS/config.CONTENT_TYPE.vVERSION in the directory structure.
+
+Ex: http://localhost:10080/c2/config?class=raspi&version=1 with an Accept header that matches text/yml would result in [./files/raspi3/config.text.yml.v1](./minifi-c2-assembly/src/main/resources/files/raspi3/config.text.yml.v1) and omitting the version parameter would look for the highest version number in the directory.
+
+The version resolution is cached in memory to accommodate many devices polling periodically.  The cache duration can be configured with additional arguments in  [./conf/minifi-c2-context.xml](../minifi-integration-tests/src/test/resources/c2/hierarchical/c2-edge2/conf/minifi-c2-context.xml#L55) that call the [overloaded constructor.](./minifi-c2-service/src/main/java/org/apache/nifi/minifi/c2/service/ConfigService.java#L81)
+
+MiNiFi Java agents can be configured to poll the C2 server by [configuring the PullHttpChangeIngestor in their bootstrap.conf.](../minifi-integration-tests/src/test/resources/c2/hierarchical/minifi-edge1/bootstrap.conf#L37)
+
 ### Configuration Providers:
 There are three ConfigurationProvider implementations provided out of the box.
 1. The [CacheConfigurationProvider](./minifi-c2-assembly/src/main/resources/conf/minifi-c2-context.xml) looks at directory on the filesystem.