stow

Crates.iostow
lib.rsstow
version0.2.0
sourcesrc
created_at2021-04-07 15:32:35.819573
updated_at2021-04-09 14:50:12.404558
descriptionCloud storage abstraction package for Rust
homepagehttps://github.com/Roba1993/stow
repositoryhttps://github.com/Roba1993/stow
max_upload_size
id380396
size14,729
Robert Schütte (Roba1993)

documentation

https://docs.rs/stow

README

stow

Cloud storage abstraction package for Rust

Implementations

Planned implementations for now:

  • Local (folders are containers, files are items)
  • Google Cloud Storage

Additional implementations can be added if needed.

Concepts

The concepts of Stow are modeled around the most popular object storage services, and are made up of three main objects:

  • Location - a place where many Container objects are stored
  • Container - a named group of Item objects
  • Item - an individual file
location1 (e.g. GCS)
├── container1
├───── item1.1
├───── item1.2
├───── item1.3
├── container2
├───── item2.1
├───── item2.2
location2 (e.g. local storage)
├── container1
├───── item1.1
├───── item1.2
├───── item1.3
├── container2
├───── item2.1
├───── item2.2
  • A location contains many containers
  • A container contains many items
  • Containers do not contain other containers
  • Items must belong to a container
  • Item names may be a path

Thanks

A big thanks to the original stow implementation in go

Commit count: 26

cargo fmt