2 unstable releases
0.2.0 | Apr 9, 2021 |
---|---|
0.1.0 | Apr 7, 2021 |
#831 in Asynchronous
11KB
211 lines
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 manyContainer
objects are storedContainer
- a named group ofItem
objectsItem
- 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
Dependencies
~4.5–7MB
~121K SLoC