ARTIFACTORY: How should I switch to use the Amazon S3 Official SDK?

ARTIFACTORY: How should I switch to use the Amazon S3 Official SDK?

AuthorFullName__c
Noa Shechter
articleNumber
000005831
ft:sourceType
Salesforce
FirstPublishedDate
2023-07-24T13:14:57Z
lastModifiedDate
2023-07-24
VersionNumber
7

Starting from Artifactory 6.12.0 , Artifactory provides comprehensive support for the S3 Cloud storage provider using the official Amazon SDK.

The JetS3t library, previously used in JFrog Artifactory, has now been officially deprecated . Additionally, starting from JFrog Artifactroy 7.46.3 if the configuration of the old template is implemented, Artifactory will fail to start up and generate the following error:

Application could not be initialized: Fail to build binary provider config. Reason couldn't find chain with id: s3, has being deprecated. please refer to JFrog documentation
How to check which S3 SDK I'm using?

To determine the S3 SDK being used, refer to the following filestore configurations:
  • For Artifactory 7.x: $JFROG_HOME/artifactory/var/etc/artifactory/binarystore.xml.
  • For Artifactory 6.x: $JFROG_HOME/artifactory/etc/binarystore.xml
If the configuration includes a provider with the attribute  type="s3-storage-v3", it signifies that the Official Amazon S3 SDK is being utilized. Conversely, if the type is "s3", Artifactory continues to employ the JetS3t library.

In the binarystore.xml file, we should update as below:
If ExistsReplace to
chain template="s3"chain template="s3-storage-v3"
chain template="cluster-s3"chain template="cluster-s3-storage-v3"
provider id="s3" type="s3"provider id="s3-storage-v3" type="s3-storage-v3"
  • refreshCredentials
  • roleName
useInstanceCredentials
property name="s3service.server-side-encryption" value="AES256"server-side-encryption-aws-kms
property name="s3service.disable-dns-buckets" value="true"enablePathStyleAccess
property name="httpclient.max-connections" value="[NUMBER OF CONNECTIONS]"maxConnections 
httpsOnlyuseHttp

After updating the file, a restart of Artifactory will kick-in these changes, and it will switch to use the Amazon official SDK.

Note!
If you have utilized any specific JetS3t properties within the "s3" provider, please be aware that these properties will not be recognized by the new SDK. We recommend referring to our documentation to learn about the necessary modifications that need to be made.