|
| 1 | +# Supported Services |
| 2 | + |
| 3 | +rustic integrates `opendal`, a data access layer for many different services. |
| 4 | +The following services are supported: |
| 5 | + |
| 6 | +| Service Name | Postfix | |
| 7 | +| ----------------------------- | ---------- | |
| 8 | +| Backblaze B2 | `b2` | |
| 9 | +| SFTP | `sftp` | |
| 10 | +| OpenStack Swift | `swift` | |
| 11 | +| Azure Blob Storage | `azblob` | |
| 12 | +| Azure Data Lake Storage Gen2 | `azdls` | |
| 13 | +| Azure File Storage | `azfile` | |
| 14 | +| Tencent Cloud Object Storage | `cos` | |
| 15 | +| Local Filesystem | `fs` | |
| 16 | +| FTP | `ftp` | |
| 17 | +| Dropbox | `dropbox` | |
| 18 | +| Google Drive | `gdrive` | |
| 19 | +| Google Cloud Storage | `gcs` | |
| 20 | +| GitHub Actions Cache | `ghac` | |
| 21 | +| HTTP | `http` | |
| 22 | +| IPFS based on IPFS MFS API | `ipmfs` | |
| 23 | +| In-memory storage | `memory` | |
| 24 | +| Huawei Cloud OBS | `obs` | |
| 25 | +| Microsoft OneDrive | `onedrive` | |
| 26 | +| Aliyun Object Storage Service | `oss` | |
| 27 | +| Amazon S3 | `s3` | |
| 28 | +| WebDAV | `webdav` | |
| 29 | +| WebHDFS | `webhdfs` | |
| 30 | + |
| 31 | +## Configuration |
| 32 | + |
| 33 | +The configuration for the services is done via the `rustic` configuration file. |
| 34 | + |
| 35 | +For example, to configure the `Amazon S3` service, you would add the following |
| 36 | +to the configuration file: |
| 37 | + |
| 38 | +```toml |
| 39 | +[repository] |
| 40 | +repository = "opendal:s3" |
| 41 | +password = "password" |
| 42 | + |
| 43 | +# Other options can be given here - note that opendal also support reading config from env |
| 44 | +# files or AWS config dirs, see the opendal S3 docs for more information |
| 45 | +# https://opendal.apache.org/docs/rust/opendal/services/struct.S3.html |
| 46 | +[repository.options] |
| 47 | +access_key_id = "xxx" # this can be ommited, when AWS config is used |
| 48 | +secret_access_key = "xxx" # this can be ommited, when AWS config is used |
| 49 | +bucket = "bucket_name" |
| 50 | +root = "/path/to/repo" |
| 51 | +``` |
| 52 | + |
| 53 | +`opendal` is used to access the services. The `s3` postfix is used to specify |
| 54 | +the `Amazon S3` service. For other services, the postfix is replaced with the |
| 55 | +respective service postfix. |
| 56 | + |
| 57 | +You can find more service templates in the |
| 58 | +[rustic repository](https://github.com/rustic-rs/rustic/tree/main/config). |
| 59 | + |
| 60 | +To see the service-dependent options to be set in `[repository.options]`, please |
| 61 | +refer to the |
| 62 | +[opendal service documentation](https://opendal.apache.org/docs/rust/opendal/services/). |
0 commit comments