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 documentationHow 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
In the binarystore.xml file, we should update as below:
If Exists | Replace 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" |
| 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 |
httpsOnly | useHttp |
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.