ARTIFACTORY: How to Configure OpenStack Swift S3 with Artifactory

JFrog Support
2023-01-22 11:09

You can configure OpenStack Swift to serve as Artifactory’s object storage platform. To configure Artifactory with S3, follow the steps provided HERE. More information on S3 object storage is available HERE.

The text in bold represents mandatory entries for an OpenStack Swift configuration:

binary.provider.s3.https.only=false
binary.provider.s3.env.s3service.disable-dns-buckets=true

OpenStack Swift S3 still uses the now-deprecated JetS3t endpoint to send requests to your buckets via the following convention:

mybucket.s3.providerendpoint.com

OpenStack follows the http://s3.providerendpoint.com/mybucket convention. Accordingly, the boxed entry above is necessary to satisfy this request format issue.

Artifactory offers filestore management capabilities. Here’s a basic example of an OpenStack configuration using the binarystore.xml file:

<config version="v1">
<chain>
        <provider id="cache-fs" type="cache-fs">
            <provider id="eventual" type="eventual">
                <provider id="retry" type="retry">
                    <provider id="s3" type="s3"/>
                </provider>
            </provider>
     </provider
</chain>

<provider id="s3" type="s3">
    <identity>XXXXXXXXX</identity>
    <credential>XXXXXXXX</credential>     
    <endpoint><My OpenStack Server></endpoint
    <bucketName><My OpenStack Container></bucketName>
    <httpsOnly>false</httpsOnly>
 <property name="s3service.disable-dns-buckets" value="true"></property>                              
</provider>
</config>