CoreOS today kicked off a new open-source project known as Torus. The project aims to create a scalable, reliable storage service for container-based clusters using Kubernetes. The project is being hosted on GitHub.
Torus is presented to developers as a library and presents data to the developer and user as a standard file. This file can be moved, copied and handled like normal elements in a file system, but underneath that single file can be presented to an application as a block-oriented storage device.
Future versions of Torus are expected to also be able to present this file as object storage. All of the data stored with Torus is kept in sync via one of CoreOS’ other open-source projects: etcd, a high-performance key-value store designed for managing the various elements needed to run a large cluster of containers, such as encryption keys.
Etcd is also capable of gathering consensus, and thus, data stored with Torus is checkpointed and coordinated through this consensus process, ensuring data remains stable even when it is distributed across multiple containers in a cluster.
Torus is specifically designed to work with Google’s Kubernetes cluster and container-management system. Torus is able to provide simple, consistent storage for Kubernetes pods. Torus also supports consistent hashing, replication and garbage collection.
Today is the first day Torus has been officially available via GitHub.