Supported Services

rustic integrates opendal, a data access layer for many different services.

The following services are enabled in rustic:

ServiceDescriptionWindowsLinuxMacOS
azblobAzure Blob Storage
azdlsAzure Data Lake Storage
azfileAzure File Storage
b2Backblaze B2
cosTencent Cloud Object Storage
dropboxDropbox
fsLocal Filesystem
gcsGoogle Cloud Storage
gdriveGoogle Drive
ghacGitHub Actions Cache
httpHTTP
ipmfsIPFS based on IPFS MFS API
memoryIn-memory storage
obsHuawei Cloud Object Storage
onedriveOneDrive
ossAliyun Object Storage Service
sftpSFTP
swiftOpenStack Swift
s3Amazon S3
webdavWebDAV
webhdfsWebHDFS
yandex-diskYandex Disk

Note: FTP is temporarily deactivated, due to build issues.

Configuration

The configuration for the services is done via the rustic configuration file.

For example, to configure the Amazon S3 service, you would add the following to the configuration file:

[repository]
repository = "opendal:s3"
password = "password"

# Other options can be given here - note that opendal also support reading config from env
# files or AWS config dirs, see the opendal S3 docs for more information
# https://opendal.apache.org/docs/rust/opendal/services/struct.S3.html
[repository.options]
access_key_id = "xxx" # this can be ommited, when AWS config is used
secret_access_key = "xxx" # this can be ommited, when AWS config is used
bucket = "bucket_name"
root = "/path/to/repo"

opendal is used to access the services. The s3 postfix is used to specify the Amazon S3 service. For other services, the postfix is replaced with the respective service postfix.

You can find more service templates in the rustic repository.

To see the service-dependent options to be set in [repository.options], please refer to the opendal service documentation.

Last change: 2024-12-17, commit: cb15d19