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 stored -
Container
- a named group ofItem
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