Azure Blob Storage V2 Binary Provider

JFrog Installation & Setup Documentation

ft:sourceType
Paligo

The azure-blob-storage-v2 template is used for configuring Azure Blob Storage as the remote filestore.

The snippets below show the basic template configuration and an examples that use the Azure Blob Storage binary provider.

This binary provider uses the following set of parameters.

testConnection

Default: true

When true, Artifactory uploads and downloads a file when starting up to verify that the connection to the cloud storage provider is fully functional.

accountName

The storage account can be a general-purpose storage accountor a blob storage account which is specialized for storing objects/blobs.

Your cloud storage provider identity.

accountKey

Your cloud storage provider authentication credential.

container

Your globally unique container name on Azure Blob Storage.

endpoint

The hostname. You should only use the default value unless you need to contact a different endpoint for testing or production purposes.

Note: if the endpoint is not defined in the xml file it will be automatically generated with the default https://<ACCOUNT_NAME>.blob.core.windows.net value.

Azure Endpoints: Supported JFrog Subscriptions

The Azure blob.core.windows.net endpoint is supported for all JFrog subscriptions. To use additional endpoints, requires Enterprise and Enterprise+ subscriptions are required

httpsOnly

Default: true.

When true, the cloud binary provider can be accessed using a secure HTTPS connection.

binariesDir

The directory to store the artifacts.

Applicable for direct upload only.

The default is $JFROG_HOME/artifactory/var/data/artifactory/filestore.

tempDir

The temporary directory to store the artifacts during upload.

Applicable for direct upload only.

enableSignedUrlRedirect

Enables direct cloud storage download. (applicable for self-hosted JPD)

signedUrlExpirySeconds

Default: 30 (optional)

Specifies the number of seconds that a signed URL provided to a requesting client for direct download from cloud storage is valid. (applicable for self-hosted JPD)

Because you must configure the Azure Blob Storage provider with parameters specific to your account (but can leave all other parameters with the recommended values).

Azure Direct Upload V2 Template (Recommended)

The Azure direct (or eventual-less) template allows directly uploading to Azure, bypassing the eventual upload mechanism. For more information, see Direct (Eventual-less) versus Eventual Upload Mechanism.

The following example shows a template modified to support Azure direct upload.

<config version="3">
    <chain template="azure-blob-storage-v2-direct"/>
    <provider type="cache-fs" id="cache-fs">
        <cacheProviderDir>/var/opt/jfrog/artifactory/data/cache</cacheProviderDir> 
        <maxCacheSize>10000000000</maxCacheSize>
    </provider>
    <provider id="azure-blob-storage-v2" type="azure-blob-storage-v2">
        <accountName>myaccount</accountName>
        <accountKey>somekey</accountKey>
        <endpoint>https://artifactoryhaprod.blob.core.windows.net/</endpoint>
        <container>mycontainer</container> 
        <multiPartLimit>256000000</multiPartLimit>
        <multipartElementSize>100000000</multipartElementSize>
    </provider>   
</config>

What's in the template?

The following snippet shows the default chain that uses azure-blob-storage-v2-direct as the binary provider:

<config version="1">
    <chain> <!-- template="azure-blob-storage-v2-direct" -->
        <provider id="cache-fs" type="cache-fs">
            <provider id="azure-blob-storage-v2" type="azure-blob-storage-v2"/>
        </provider>
    </chain>
</config>

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

Azure Eventual Upload V2 Template

The following example shows a template modified to support Azure eventual upload.

 <config version="1">
    <chain template="azure-blob-storage-v2"/>
    <provider id="azure-blob-storage-v2" type="azure-blob-storage-v2">
        <accountName>XXXXXXXX</accountName>
        <accountKey>XXXXXXXX</accountKey>
        <endpoint>https://<ACCOUNT_NAME>.blob.core.windows.net/</endpoint>
        <container><NAME></container>
    </provider>
</config> 

What's in the template?

The following snippet shows the default chain that uses azure-blob-storage as the binary provider:

<config version="1">
        <chain> <!-- template="azure-blob-storage-v2" -->
            <provider id="cache-fs" type="cache-fs">
                <provider id="eventual" type="eventual">
                    <provider id="retry" type="retry">
                        <provider id="azure-blob-storage-v2" type="azure-blob-storage-v2"/>
                    </provider>
                </provider>
            </provider>
        </chain>
</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.