How can Artifactory work against a read-only filestore?

Artifactory provides a way to configure an extra external-binaries directory to a read only directory in the $ARTIFACTORY_HOME/etc/storage.properties. This way, Artifactory still has its own data/filestore directory but will fetch the binaries from an external directory if the checksum is not found in its own local read/write filestore ($ARTIFACTORY_HOME/data/filestore).


To configure the external directory, add the following property to the storage.properties file:

binary.provider.external.dir=/path/to/the/readonly-filestore


Artifactory also provides a method with 4 modes to control what will happen when a user tries to get a file that is available only in the read-only mode binaries directory.


PassThrough: The binary files will be read and delivered directly from the external filestore and not copy or move on the local $ARTIFACTORY_HOME/data/filestore.

copyOnRead: While a binary file is read from the backup server, it will be copied to the local $ARTIFACTORY_HOME/data/filestore of the backup server. This is the default mode.

CopyFirst: As soon as a binary is accessed, it will be first copied entirely on the local $ARTIFACTORY_HOME/data/filestore then delivered from the local filestore.

Move: As soon as a binary is accessed, it will be moved from the external filestore to the local one. This is the only mode modifying the external filestore and this will not be available in your case since you can’t move from read-only dir.


The flag to configure these modes should be inside the storage.properties as well, and it should look like this:

binary.provider.external.mode=passThrough/copyOnRead/copyFirst/move


This way, you can keep having snapshots of the machine and point to the backed-up filestore dir.