kevdoran commented on a change in pull request #171: NIFIREG-244 Admin Guide 
updates
URL: https://github.com/apache/nifi-registry/pull/171#discussion_r277011632
 
 

 ##########
 File path: 
nifi-registry-core/nifi-registry-docs/src/main/asciidoc/administration-guide.adoc
 ##########
 @@ -1148,6 +1272,77 @@ Here is the data model version histories:
 |1|0.1|Binary format having header bytes at the beginning followed by Flow 
content represented as XML.
 |====
 
+=== Bundle Persistence Providers
+
+The bundle persistence provider stores the content of extension bundles saved 
to the registry. NiFi Registry provides 
`<<FileSystemBundlePersistenceProvider>>` and `<<S3BundlePersistenceProvider>>`.
+
+The XML configuration file looks like below. It has a 
`extensionBundlePersistenceProvider` element in which the qualified class name 
of a persistence provider implementation and its configuration properties are 
defined. See following sections for available configurations for each provider.
+
+.Example extension bundle persistence provider in providers.xml
+[source,xml]
+....
+<extensionBundlePersistenceProvider>
+    <class>persistence-provider-qualified-class-name</class>
+    <property name="property-1">property-value-1</property>
+    <property name="property-2">property-value-2</property>
+    <property name="property-n">property-value-n</property>
+</extensionBundlePersistenceProvider>
+....
+
+==== FileSystemBundlePersistenceProvider
+
+The FileSystemBundlePersistenceProvider stores the content of extension 
bundles on the local file-system. The bundles are organized in directories 
according to bucket id, group, artifact, and version.
+
+Example of persisted extension bundles:
+....
+Extension Bundle Storage Directory/
+├── {bucket-id}/
+   └── {group-id}/
+       └── {artifact-id}
+           └── {version}/{artifact-id}-{version}.{extension}
+├── d1beba88-32e9-45d1-bfe9-057cc41f7ce8/
+    └── org.apache.nifi
+        └── nifi-example-nar
+            └── 1.0.0/nifi-example-nar-1.0.0.nar
+            └── 2.0.0/nifi-example-nar-2.0.0.nar
+....
+
+===== Configuration
+
+Qualified class name: 
`org.apache.nifi.registry.provider.extension.FileSystemBundlePersistenceProvider`
+
+|====
+|*Property*|*Description*
+|`Extension Bundle Storage Directory`|REQUIRED: File system path for a 
directory where extension bundle contents files are persisted to. If the 
directory does not exist when NiFi Registry starts, it will be created. If the 
directory exists, it must be readable and writable from NiFi Registry.
+|====
+
+==== S3BundlePersistenceProvider
+
+The S3BundlePersistenceProvider stores the content of extension bundles in AWS 
S3 bucket. The bucket is expected to already exist and be accessible to the 
credentials provided to the persistence providcer.
+
+NOTE: This provider must be added to the classpath by specifying a custom 
extension directory in nifi-registry.properties, such as 
nifi.registry.extension.dir.aws=./ext/aws/lib, where ./ext/aws/ contains the 
contents of the extracted nifi-registry-aws-assembly-<version>-bin.zip.
+
+The key of an extension bundle in the S3 bucket will be the following:
+....
+/{registry-bucket-id}/{group-id}/{artifact-id}/{version}/{artifact-id}-{version}.{extension}
+....
+
+If an optional Key Prefix is specified, then that prefix will be applied to 
the beginning of the above key.
+
+===== Configuration
+
+Qualified class name: 
`org.apache.nifi.registry.aws.S3BundlePersistenceProvider`
+
+|====
+|*Property*|*Description*
+|`Region`|REQUIRED: The name of the S3 region where the bucket exists.
+|`Bucket Name`|REQUIRED: The name of an existing bucket to store extension 
bundles.
+|`Key Prefix`|An optional prefix that if specified will be added to the 
beginning of all S3 keys.
+|`Credentials Provider`|REQUIRED: Indicates how credentials will be provided, 
must be a value of DEFAULT_CHAIN or STATIC. DEFAULT_CHAIN will consider in 
order: Java system properties, environment variables, credential profiles 
(~/.aws/credentials). STATIC requires that "Access Key" and "Secret Access Key" 
be specified directly in this file.
+|`Access Key`| The access key to use when using STATIC credentials provider.
+|`Secret Access Key`| The secret access key to use when using STATIC 
credentials provider.
+|====
 
 Review comment:
   ```suggestion
   |`Endpoint URL`| An optional URL that overrides the default AWS S3 endpoint 
URL. Set this when using an AWS S3 API compatible service hosted at a different 
URL.
   |====
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to