Artifactory fully supports S3 object storage for distributed file systems so your Artifactory filestore can reside on the cloud. This presents several benefits:
- Unlimited scalability
Since your files are now stored on the cloud, this means that your Artifactory filestore is scalable and effectively unlimited (to the extent offered by your storage provider). You may freely continue to upload files without having to install or maintain any file storage devices. You can even upload files larger than 5 GB using multi-part upload.
Enjoy the same security and authentication mechanisms provided by your S3 provider.
- Disaster recovery
Since your files are replicated and stored with redundancy, this offers the capability for disaster recovery.
- Support any S3 compatible distributed file system
Arifactory's support is based on the S3 protocol. Any provider that uses S3, such as Ceph, Swift (through the S3 API) and others , will also be supported by Artifactory. With support for AWS S3 version 4, you can sign AWS requests using Signature Version 4.
Support for S3 object storage is included with an Artifactory Enterprise license.
Backup your system. Your current filestore will be deleted.
Setting up Artifactory to use S3 will delete all files in your current filestore.
If you already have a running installation of Artifactory, then before you setup Artifactory to use S3 and migrate your filestore to the cloud, we strongly recommend that you do a complete system backup.
Setting up Artifactory to Use S3
First time installation or upgrade
If you are moving your filestore to S3 in the context of upgrading Artifactory, or a first time installation, we recommend that you first do a standard installation of Artifactory using the default settings, or a standard upgrade using your current settings.
In order to move your Artifactory filestore to the cloud, you need to execute the following steps:
- Shut down Artifactory.
- Set your enterprise license
- Configure Artifactory to use your S3 object storage provider
- Migrate your files to the cloud manually or automatically
- Start up Artifactory
Setting Your License
To use an S3 object store, your Artifactory installation needs to be activated with an Enterprise license.
Configuring Artifactory to Use S3
From version 4.6, Artifactory's filestore is configured through the
binarystore.xml file. For details, please refer to Configuring the Filestore.
Migrating Your Filestore from local/mounted storage to S3
- For an Artifactory HA cluster running version 5.0 and above, to migrate your filestore to an S3 provider, please refer to Migrating Data from NFS Wiki page.
Standalone installations: there are two ways to migrate your filestore over to your S3 provider.
Automatic Filestore Migration (Recommended)
To make sure your filestore migration completes successfully without corrupting files, we recommend configuring Artifactory to do this migration for you automatically:
To do so, you need to create the following links in
$ARTIFACTORY_HOME/data/eventual/ (create it if the
eventual folder does not exist - it is created automatically when the eventual binary provider is applied via an Artifactory restart with an updated binarystore.xml):
- A link with the name
_addthat points to the
- A link with the name _pre that points to the
With this setting, as soon as Artifactory starts up, it will automatically move your complete filestore over to your S3 provider.
Your current filestore will be deleted
The process of moving your filestore to your S3 provider will delete your current filestore. We strongly recommend you do a complete system backup before doing this migration.
Once the migration is complete, you may delete the _pre link and the
Manual Filestore Migration
To migrate your filestore manually, you need to execute the following steps:
- Stop Artifactory
- Copy the
$ARTIFACTORY_HOME/data/filestoredirectory to your S3 object storage to the bucket name and path specified when you configured Artifactory to use S3.
- Start Artifactory
Server Side Encryption Support
From version 5.7.0, Artifactory supports SSE-KMS. You can configure Artifactory to work against an S3 bucket that is configured with Server Side Encryption.
To set up Artifactory to work with against an S3 bucket configured with KMS, add the following line to the bintraystore.xml file:
<property name="s3service.server-side-encryption" value="aws:kms"></property>