#backup #deduplication #restic #encryption #library #early-stage #data-structures

rustic_backend

rustic_backend - library for supporting various backends in rustic-rs

2 releases

0.1.1 Feb 2, 2024
0.1.0 Aug 10, 2023

#757 in Filesystem

Download history 214/week @ 2024-01-29 88/week @ 2024-02-05 19/week @ 2024-02-12 144/week @ 2024-02-19 68/week @ 2024-02-26 103/week @ 2024-03-04 62/week @ 2024-03-11 16/week @ 2024-03-18 43/week @ 2024-03-25 116/week @ 2024-04-01 68/week @ 2024-04-08 46/week @ 2024-04-15

275 downloads per month
Used in rustic-rs

Apache-2.0 OR MIT

775KB
13K SLoC

Library for supporting various backends in rustic

About

This library is a part of the rustic project and provides a set of backends for the rustic_core library. It is used to interact with various storage backends, such as s3, rclone, rest, sftp, and in general opendal.

The goal of this library is to provide a unified interface for interacting with various backends, so that the rustic_core library can be used to interact with them in a consistent way.

Note: rustic_backend is in an early development stage and its API is subject to change in the next releases. If you want to give feedback on that, please open an issue.

Contact

You can ask questions in the Discussions or have a look at the FAQ.

Contact Where?
Issue Tracker GitHub Issues
Discord Discord
Discussions GitHub Discussions

Usage

Add this to your Cargo.toml:

[dependencies]
rustic_backend = "0.1"

Crate features

This crate exposes a few features for controlling dependency usage:

  • cli - Enables support for CLI features by enabling merge and clap features. This feature is disabled by default.

  • clap - Enables a dependency on the clap crate and enables parsing from the commandline. This feature is disabled by default.

  • merge - Enables support for merging multiple values into one, which enables the merge dependency. This is needed for parsing commandline arguments and merging them into one (e.g. config). This feature is disabled by default.

  • opendal - Enables support for the opendal backend. This feature is enabled by default.

  • rclone - Enables support for the rclone backend. This feature is enabled by default.

  • rest - Enables support for the rest backend. This feature is enabled by default.

  • sftp - Enables support for the sftp backend. Windows is not yet supported. This feature is enabled by default.

  • s3 - Enables support for the s3 backend. This feature is enabled by default.

Usage & Examples

Due to being a support crate for rustic_core, there are no examples here. Please check the examples in the rustic_core crate.

Contributing

Found a bug? Open an issue!

Got an idea for an improvement? Don't keep it to yourself!

Please make sure, that you read the contribution guide.

Minimum Rust version policy

This crate's minimum supported rustc version is 1.71.1.

The current policy is that the minimum Rust version required to use this crate can be increased in minor version updates. For example, if crate 1.0 requires Rust 1.20.0, then crate 1.0.z for all values of z will also require Rust 1.20.0 or newer. However, crate 1.y for y > 0 may require a newer minimum version of Rust.

In general, this crate will be conservative with respect to the minimum supported version of Rust.

License

Licensed under either of:

Dependencies

~33–51MB
~782K SLoC