Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interested in rustic? #19

Open
aawsome opened this issue Mar 3, 2023 · 5 comments
Open

Interested in rustic? #19

aawsome opened this issue Mar 3, 2023 · 5 comments

Comments

@aawsome
Copy link

aawsome commented Mar 3, 2023

Hi @beeb

I just came over to your project when looking for other backup tools written in Rust.
I myself created https://github.com/rustic-rs/rustic which is able to make encrypted, deduplicated backups to cloud storages, which IMO should include your use-case.
I've seen that with respect to code your project is in an early stage, but you seem to have put quite some work into CI pipelines and deployment and you seem to put an focus on the automation of backups which is currently not in the scope of rustic.

Now I'm just wondering if we could benefit from each other. There could be several possibilities:

  • you could use rustic in you project and basically wrap around its backup engine
  • I'm also looking for other maintainers of rustic and would like to invite you to join or contribute if you're interested. Topics could be adding an s3 backend (currently only available via rclone), CI pipelines, tests or any feature you are missing for you use-case.
@beeb
Copy link
Owner

beeb commented Mar 4, 2023

Hi @aawsome and thanks for reaching out!

I am not very familiar with restic and your compatible project but it looks very interesting. The feature set looks really nice and I would love to be able to use it at some point to power the core of awsbck.

Notably, I would be interested to one day support incremental backups, encryption and restoration.

I see that at the moment, everything is in a binary crate. Is there a plan going forward to split up core functionality as one or more separate library crates?

Regarding augmenting rustic to support the use case for awsbck via automation and S3 capabilities, I think it would maybe defeat the goal I set for myself to have an easy to configure system that can simply be setup with CLI arguments or environment variables and run inside docker without too much tinkering.

Thus I think the first suggestion adheres to my vision more closely and is something I could see myself working towards. I want to add cron expression support to awsbck before considering any future move, but after that I'd be happy to take a closer look at how I could contribute to rustic to enable some integration in my project.

Cheers!

@aawsome
Copy link
Author

aawsome commented Mar 4, 2023

Notably, I would be interested to one day support incremental backups, encryption and restoration.

Just wanted to mention that deduplicated backups are much more powerful than incremental backups. You basically have only full backups (or snapshots) which you can deal with, but only need the (or even less) space and backup time which incremental backups would have needed.

I see that at the moment, everything is in a binary crate. Is there a plan going forward to split up core functionality as one or more separate library crates?

Yes, this is the plan and I actually already made quite some traits which would support this. The idea would be to have

  • backend traits which should be implemented by the storage backend(s)
  • source and target traits which should be implemented by the backup source or restore target (ATM: only local FS supported)
  • library functionality to backup from source to the backend, to restore from backend to target and to do all the other things.

I realized that there is no issue so far, so I created one: rustic-rs/rustic#461

@beeb
Copy link
Owner

beeb commented Jun 29, 2023

Hey @aawsome , just letting you know that I haven't forgotten about this and will take a closer look in the coming weeks.

@aawsome
Copy link
Author

aawsome commented Jun 29, 2023

Actually, on the main branch, rustic is already split into a library and GUI part. However, I'm currently about to move high-level functionality to the library. Have a look at crates/rustic_core/src/examples. However, the most important commands (init, backup, restore) are not yet moved to rustic_core. This will take another couple of days...

@beeb
Copy link
Owner

beeb commented Jun 29, 2023

Sounds good, there is absolutely no rush on my side! I'm not yet on vacation ;)

Repository owner deleted a comment from marisadotdev Dec 31, 2023
Repository owner deleted a comment Jan 25, 2024
Repository owner deleted a comment from ThuretGbenougan Mar 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants
@beeb @aawsome and others