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