Supported Services

rustic integrates opendal, a data access layer for many different services. The following services are supported:

Service NamePostfix
Backblaze B2b2
SFTPsftp
OpenStack Swiftswift
Azure Blob Storageazblob
Azure Data Lake Storage Gen2azdls
Azure File Storageazfile
Tencent Cloud Object Storagecos
Local Filesystemfs
FTPftp
Dropboxdropbox
Google Drivegdrive
Google Cloud Storagegcs
GitHub Actions Cacheghac
HTTPhttp
IPFS based on IPFS MFS APIipmfs
In-memory storagememory
Huawei Cloud OBSobs
Microsoft OneDriveonedrive
Aliyun Object Storage Serviceoss
Amazon S3s3
WebDAVwebdav
WebHDFSwebhdfs

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-10-22, commit: 7810637