Have a question? Want to report an issue? Contact JFrog support

Skip to end of metadata
Go to start of metadata

Overview

From version 4.6, Artifactory fully supports Google Cloud Storage (GCS) so your Artifactory filestore can reside on the cloud. This presents several benefits:

  1. 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.

  2. Security
    Google's security model offers end-to-end process offering a replicated strategy with all data encrypted both in-flight and at rest.

  3. Disaster recovery
    Since your files are replicated and stored with redundancy, this offers the capability for disaster recovery.

Support for GCS is included with JFrog Enterprise Edition.

In order to use GCS with Artifactory, make sure you first install or upgrade to Artifactory V4.6 or later.

Backup your system. Your current filestore will be deleted.

Setting up Artifactory to use GCS will delete all files in your current filestore.

If you already have a running installation of Artifactory, then before you setup Artifactory to use GCS and migrate your filestore to the cloud, we strongly recommend that you do a complete system backup.

Page Contents


Setting up Artifactory to Use GCS

First time installation or upgrade

If you are moving your filestore to GCS 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:

Setting Your License

To use Artifactory's support for GCS, you need to have an enterprise license with your Artifactory installation.

To do so, make sure your $ARTIFACTORY_HOME/etc/artifactory.lic file contains your enterprise license.

Configuring Artifactory to Use GCS

To configure Artifactory to use a GCS object storage provider, you need to use the Google Cloud Storage binary provider described in Configuring the Filestore making sure to set the following parameters: 

JetS3t Framework

Artifactory uses the JetS3t framework to access GCS. Some of the parameters below are used to set the corresponding value in the framework. For more details, please refer to the JetS3t Configuration Guide

ParameterDescription
testConnection

Default: true

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

multiPartLimit

Default: 100,000,000 bytes

File size threshold over which file uploads are chunked and multi-threaded.

identity

Your cloud storage provider identity.

credential

Your cloud storage provider authentication credential.

bucketName

Your globally unique bucket name on GCS.

path
The relative path to your files within the bucket
proxyIdentity
Corresponding parameters if you are accessing the cloud storage provider through a proxy server.
proxyCredential
proxyPort
proxyHost
port

Default: 80

The port number through which you want to access GCS. You should only use the default value unless you need to contact a different endpoint for testing purposes.

endpoint

Default: commondatastorage.googleapis.com.

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

httpsOnly

Default: false.

Set to true if you only want to access GCS through a secure https connection.

httpsPort

Default: 443

The port number through which you want to access GCS securely through https. You should only use the default value unless you need to contact a different endpoint for testing purposes.

bucketExists

Default: false. Only available on google-storage.

When true, it indicates to the binary provider that a bucket already exists in Google Cloud Storage and therefore does not need to be created.

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

 <config version="v1">
	<chain>
       <provider id="cache-fs" type="cache-fs">
           <provider id="eventual" type="eventual">
               <provider id="retry" type="retry">
                   <provider id="google-storage" type="google-storage"/>
               </provider>
           </provider>
       </provider>
   </chain>
 
<!-- Here is an example configuration part for the google-storage: -->
	<provider id="google-storage" type="google-storage">
       <endpoint>commondatastorage.googleapis.com</endpoint>
        <bucketName><NAME></bucketName>  
       <identity>XXXXXX</identity>
       <credential>XXXXXXX</credential>
	</provider>
</config>

Interoperable Storage Access Keys

The Interoperability API lets you use HMAC authentication and lets GCS interoperate with tools written for other cloud storage systems. To use GCS, you need to turn on this API and use interoperability  access details of the current user in GCS. This API is enabled per project member, not per project. Each member can set a default project and maintain their own access keys. For more details, please refer to  Google Cloud Storage Interoperability.

You can obtain your access key parameters through your Google GCS account console and set them into the corresponding parameters in Artifactory as follows:

identity
This parameter is provided by GCS as your access key
credential
This parameter is provided by GCS as your access secret

Keep your database settings

Make sure you don't change your database settings in your storage.properties file.

Migrating Your Filestore

To migrate your filestore, you need to execute the following steps:

  • Stop Artifactory
  • Copy the $ARTIFACTORY_HOME/data/filestore directory to your GCS bucket name and path specified when you configured Artifactory to use GCS.
  • Start Artifactory

 

 

 

 

 

 

 

 

  • No labels