Skip to content

Graviton

Content-Addressable Storage Runtime

Built on ZIO • Streaming ingest • Backend agnostic

Graviton Logo

Operations Snapshot

Track ingest throughput, deduplication ratios, replica health, and runtime events directly in the docs. The live HUD mirrors the data surfaced by the runtime's Prometheus exporters so you can see what operators monitor day to day.

HUD

Telemetry Feed

Real-time runtime signals

Quick Start

bash
# Build all modules
./sbt compile

# Build the Scala.js dashboard for the /demo page
./sbt buildFrontend

# Run the full test suite  
TESTCONTAINERS=0 ./sbt scalafmtAll test

# Launch this documentation site
cd docs && npm install && npm run docs:dev

Why Graviton?

Graviton is a content-addressable storage runtime that coordinates chunking, hashing, replication, and retrieval for large binary payloads. Each concern lives in an isolated module so hashing algorithms, network protocols, and storage backends can evolve independently.

Visualize the pipelines

Architecture, manifests, and operations pages include interactive Mermaid diagrams rendered client-side in VitePress. Follow ingest, replication, and backend selection without leaving the browser.

Key Features

  • Composable Transducer pipelines — build ingest, verify, and retrieval paths from typed stages with >>> and &&&
  • Streaming ingest and retrieval with ZIO Streams and zero-copy pipelines
  • Content-defined chunking via FastCDC and multi-hash verification
  • Pluggable storage backends for S3, PostgreSQL, RocksDB, and future targets
  • Strongly-typed schemas shared across HTTP, gRPC, and Scala.js clients
  • Integrated observability with Prometheus metrics and structured logging
  • Replica coordination through policies that balance durability and latency
  • Interactive Pipeline Explorer — compose and visualize transducer stages in the browser

Pipeline Explorer

Compose transducer stages interactively — toggle stages on and off, see the composition expression update in real time, and watch animated data flow through the pipeline.

Transducer Pipeline Explorer

Compose stages with >>> and &&& — watch data flow in real time

Available Stages

CountBytes >>> HashBytes >>> Rechunk
#Count Bytes
Chunk[Byte] => Chunk[Byte]
Total0 B
idle
>>>
HHash Bytes
Chunk[Byte] => Chunk[Byte]
Digest---
Hashed0 B
idle
>>>
RRechunk
Chunk[Byte] => Chunk[Byte]
Blocks0
Fill0%
idle
yield
Summary
totalBytes0 BLong
digestHex---String
hashBytes0 BLong
blockCount0Long
rechunkFill0%Int

Data Flow

3x
Raw Bytes Block Hash Manifest

Try a scenario

Open full Pipeline Explorer for detailed explanations and scenarios.

Next Steps

New to Graviton?

Start with the Getting Started Guide for a hands-on introduction!

Built with ZIO • Powered by Scala 3