Distributed and resilient object and block storage services. QSS Storage aggregates storage capacity from nodes into a unified pool accessible through standard protocols, ensuring data redundancy and availability across a decentralized node network.
QSS Storage is a storage subsystem that provides content-addressed storage backends exposed through familiar APIs. It is designed to run on decentralized infrastructure where storage is contributed by individual nodes and made available as a coherent service layer. The system focuses on efficiency, deduplication, and protocol compatibility.
- s3cas — An S3-compatible API server using content-addressed storage. Read more about s3cas →
- respd — A Redis-compatible server using metastore as backend. Read more about respd →
QSS Storage operates as the storage layer, sitting below the application and virtualization stacks. It provides persistent object and key-value storage to workloads running on grid nodes. The S3-compatible server allows existing applications to use standard S3 clients, while the Redis-compatible server offers a fast key-value interface for caching and session storage. QSS Storage is designed to work alongside the node operating system and network layers to provide reliable storage without centralized dependencies.
ZOS, also known as Zero-OS, is the operating system layer used to run and manage nodes. It provides the low-level runtime environment for workloads, networking, storage, and automation. QSS Storage storage services are deployed on nodes running ZOS and integrate with its resource management and isolation mechanisms.
This technology is used within the ThreeFold ecosystem and was first deployed on the ThreeFold Grid. The component itself is designed as reusable infrastructure technology and should be understood by its technical function first, independent of any specific deployment.
This repository is owned and maintained by TF-Tech NV, a Belgian company responsible for the development and maintenance of this technology.
To build the project, use the standard Rust tools:
git clone https://github.com/threefoldtech/qss_storage
cd qss_storage
# Build all components
cargo build --release
# Or build individual components
cargo build --release -p s3cas
cargo build --release -p respdWith this feature, the data blocks will be deleted when they aren't used anymore.
The respd server implements some basic Redis commands and also provides additional commands for namespace and data management that are not part of the standard Redis protocol.
- Only the basic S3 API is implemented (no copy between servers)
- Single key only, no support to add multiple keys with different permissions
- Limited subset of Redis commands implemented
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.