GizStack

Storage

Objects, files and volumes. One layer.

Most stacks keep objects in one service, files in another and disks in a third. GizStack Storage keeps them in one replicated range, with one quota, one permission model and one command.

Preview Runs today. The interface can still change. Roadmap

Three interfaces, one store

sh
giz storage bucket create photos
giz storage cp photo.jpg giz://photos/2026/photo.jpg
giz storage ls giz://photos/2026/
giz storage presign giz://photos/2026/photo.jpg 3600
sh
giz storage mount /mnt/storage
ls /mnt/storage/photos/2026
sh
giz storage volume create disk 1073741824
giz storage volume snapshot disk monday
giz storage volume clone disk@monday disk2

What it does

  • The S3 API

    A gateway with SigV4 for the S3 tools and SDKs you already have, and presigned URLs.

  • A POSIX mount

    FUSE without root. Programs that read files read your buckets.

  • Block volumes

    Volumes for databases and computers, with read-only snapshots and instant clones, served over NBD and ublk.

  • Resumable transfers

    Uploads go in 8 MiB parts and continue where they stopped. Each chunk is checked against its SHA-256 identity.

  • Versions

    A delete writes a marker. Earlier versions stay until retention ends.

  • Scoped keys

    One key for each principal, rotated by a new generation, revoked at the next request. The client never holds the master key.

  • Embedded

    import {embedded} from "gizfs" runs a store inside your program, with the same API.

  • Replicated

    Raft consensus for each range. A write is acknowledged after it is durable on a quorum.

Next steps