Pure-Go block storage — a copy-on-write volume pool plus pluggable backings. No cgo, no root.
go-volumes is a pure-Go block-storage stack — no cgo, no root. A
copy-on-write pool carves thin, snapshottable volumes out of shared storage;
a small Device contract lets any layer read and write them; and pluggable
backings decide where the bytes actually live — a local file, S3-compatible
object storage, or an immutable OCI artifact. Put a filesystem (e.g. via
go-filesystems) on top.
| Repo | |
|---|---|
interface |
The block-device Device contract every layer reads and writes through — decoupling where the bytes live from the format on top. |
pool |
The copy-on-write volume pool — snapshottable, reference-counted volumes that fail cleanly with ErrPoolFull instead of corrupting. A ZFS-inspired alternative to LVM thin provisioning. |
s3 |
An S3-backed backing — run a pool (or any block consumer) on S3-compatible object storage. From-scratch AWS SigV4, standard library only. |
oci |
Freeze a volume into an immutable, content-addressed OCI artifact (chunk-deduped) and re-open it as a read-only backing. |
- 🌐 Website — https://go-volumes.github.io/
- 📖 Docs — https://go-volumes.github.io/docs/
- 🎨 Brand assets — https://github.com/go-volumes/brand
Branding in go-volumes/brand.
