Azure Blob Storage Cluster V2 Binary Provider

JFrog Installation & Setup Documentation

ft:sourceType
Paligo

This is the setting used for Azure Blob Storage. It is based on the sharding and dynamic provider logic that synchronizes the cluster-file-system.

When using the cluster-azure-blob-storage template, data is temporarily stored on the file system of each node using the Eventual Binary Provider, and is then passed on to your Azure Blob Storage for persistent storage.

Each node has its own local filestore (just like in the file-system binary provider) and is connected to all other cluster nodes via dynamically allocated Remote Binary Providers using the Sharding Cluster Binary Provider.

cluster-azure-blob-storage-v2 template configuration

Because you must configure the azure-blob-storage-v2 provider with parameters specific to your account (but can leave all other parameters with the recommended values), if you choose to use the cluster-azure-blob-storage-v2 template, your binarystore.xml configuration file should look like this:

<config version="2">
        <chain template="cluster-azure-blob-storage-v2"/>
    <provider id="azure-blob-storage-v2" type="azure-blob-storage-v2">
        <accountName>XXXXXX</accountName>
        <accountKey>XXXXXX</accountKey>
        <endpoint>https://<ACCOUNT_NAME>.blob.core.windows.net/</endpoint>
        <container><NAME></container>
    </provider>
</config>
What's in the template?

While you don't need to configure anything else in your binarystore.xml, this is what the cluster-azure-blob-storage-v2 template looks like under the hood:

<config version="2">
        <chain> <!-- template="cluster-azure-blob-storage-v2" -->
       <provider id="cache-fs-eventual-azure-blob-storage" type="cache-fs">
           <provider id="sharding-cluster-eventual-azure-blob-storage-v2" type="sharding-cluster">
               <sub-provider id="eventual-cluster-azure-blob-storage-v2" type="eventual-cluster">
                   <provider id="retry-azure-blob-storage-v2" type="retry">
                       <provider id="azure-blob-storage-v2" type="azure-blob-storage-v2"/>
                   </provider>
               </sub-provider>
               <dynamic-provider id="remote-azure-blob-storage-v2" type="remote"/>
           </provider>
       </provider>
   </chain>

        <!-- cluster eventual Azure Blob Storage Service default chain -->
        <provider id="sharding-cluster-eventual-azure-blob-storage-v2" type="sharding-cluster">
                <readBehavior>crossNetworkStrategy</readBehavior>
                <writeBehavior>crossNetworkStrategy</writeBehavior>
                <redundancy>2</redundancy>
                <lenientLimit>1</lenientLimit>
                <property name="zones" value="local,remote"/>
        </provider>

        <provider id="remote-azure-blob-storage-v2" type="remote">
                <zone>remote</zone>
        </provider>

        <provider id="eventual-cluster-azure-blob-storage-v2" type="eventual-cluster">
                <zone>local</zone>
        </provider>

        <!--cluster eventual template-->
        <provider id="azure-blob-storage-v2" type="azure-blob-storage-v2">
                <accountName>XXXXXX</accountName>
                <accountKey>XXXXXX</accountKey>
                <endpoint>https://<ACCOUNT_NAME>.blob.core.windows.net/</endpoint>
                <container><NAME></container>
        </provider>
</config>

For details about the cache-fs provider, see Cached Filesystem Binary Provider.

For details about the eventual provider, see Eventual Binary Provider.

For details about the retry provider, see Retry Binary Provider.

For details about the remote binary provider, see Remote Binary Provider.

For details about the sharding-cluster, see Sharding Cluster Binary Provider.