Migrate bundle storage configurations

Provides steps on how to migrate your local file system or AWS S3 bucket bundle storage configurations.

Local file system bundle storage (FileSystemBundlePersistenceProvider)

This is the default Bundle Persistence Provider.

  1. Confirm the location of the bundle storage directory specified in the source registry providers.xml:
    
    <extensionBundlePersistenceProvider>
    <class>org.apache.nifi.registry.provider.extension.FileSystemBundlePersistenceProvider</class>
    <property name="Extension Bundle Storage Directory">/var/lib/nifi-registry/extension_bundles</property>
    </extensionBundlePersistenceProvider>
    
  2. Copy the bundle storage directory from the source Registry installation to the location specified by the Providers: Default Extension Bundle Persistence File Provider Property - Extension Bundle Storage Directory (xml.providers.extensionBundlePersistenceProvider.file-bundle-provider.property.Extension Bundle Storage Directory) configuration property in the destination registry. The default CFM 2.1.4 location is /var/lib/nifiregistry/extension_bundles.

AWS S3 bucket bundle storage (S3BundlePersistenceProvider)

This provider stores the content of extension bundles in a AWS S3 bucket.

  1. Confirm the location of the bundle storage directory specified in the source registry providers.xml:
    
    <extensionBundlePersistenceProvider>
    <class>org.apache.nifi.registry.provider.extension.S3BundlePersistenceProvider</class>
    <property name="Region">us-east-1</property>
    <property name="Bucket Name">my-bundles</property>
    <property name="Key Prefix"></property>
    <property name="Credentials Provider"DEFAULT_CHAIN</property>
    <property name="Access Key">************</property>
    <property name="Secret Access Key">************</property>
    <property name="Endpoint URL"></property>
    </extensionBundlePersistenceProvider>
    
  2. Depending on your source credential provider (assuming the "default chain" which checks system properties, environment variables, and credential profiles), set up the credential provider on the destination system similarly. If you are using the "static" provider, specify the Access Key and Secret Access Key. In Cloudera Manager:
    • Uncheck Providers: Enable File Flow Persistence Provider (xml.providers.flowPersistenceProvider.file-provider.enabled) so that FileSystemFlowPersistenceProvider is no longer enabled

    • Find the NiFi Registry configuration property NiFi Registry Advanced Configuration Snippet (Safety Valve) for staging/providers.xml. Add the following snippets:

      • Name:
        xml.providers.extensionBundlePersistenceProvider.s3-bundle-provider.enabled
        
        Value: true
      • Name:
        xml.providers.extensionBundlePersistenceProvider.s3-bundle-provider.class
        
        Value: org.apache.nifi.registry.provider.extension.S3BundlePersistenceProvider
      • Name:
        xml.providers.extensionBundlePersistenceProvider.s3-bundle-provider.property.Region
        
        Value: us-east-1
      • Name:
        xml.providers.extensionBundlePersistenceProvider.s3-bundle-provider.property.Bucket
                        Name
        
        Value: my-bundles
      • Name:
        xml.providers.extensionBundlePersistenceProvider.s3-bundle-provider.property.Credentials
                        Provider
        
        Value: DEFAULT_CHAIN
      • Name:
        xml.providers.extensionBundlePersistenceProvider.s3-bundle-provider.property.Access
                        Key
        
        Value: ************
      • Name:
        xml.providers.extensionBundlePersistenceProvider.s3-bundle-provider.property.Secret Access
                Key
        Value: ************
  3. Save the changes.