Cloud storage abstraction package for Rust
Supported endpoints:
- Local (folders are containers, files are items)
- Google Cloud Storage
- Amazon S3 Storage
Additional endpoints can be added if needed.
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
A big thanks to the original stow implementation in go