Welcome to Nova
Serverless, durable streams on object storage
Nova is a durable stream interface over object storage. A stream is just nova://bucket/key: append to it forever, read it from any node, and pay object-storage prices for however much history you keep. Streams are bottomless, and creating one writes a single metadata row, so every tenant, device, or workflow can have a stream of its own. Every stream has the semantics of a messaging stream: ordered, linearizable appends, a committed tail, live subscriptions, and conditional writes.
You speak to it over gRPC with the Go SDK, or over HTTP (JSON and SSE) through the Gateway. The serving fleet holds no data on local disk; durability is the object-storage PUT.
Where to start
Quickstart
Bring up a local cluster, create a bucket and a stream, append and read, all in a few minutes.
Concepts
Records, sequence numbers, buckets, classes, producers, reads, retention, and what is guaranteed.
Go SDK
The client package: producers, reads, subscriptions, and api-key auth.
HTTP API
The same API as JSON over HTTP, with SSE subscriptions that resume exactly.
How it works
Architecture overview
Stars, the metastore, object storage, the object cache, and the invariants that shape them.
The write path
Chains of slots committed by conditional PUTs and acknowledged at a copy quorum.
The auditor
The background role: settlement, retention, and reclamation. Every duty, documented.
Settlement
What happens to a byte after the ack: transit bundles become settled objects.
Operate it
Docker compose
The local observable cluster: three stars, oxia, MinIO, the Gateway, Grafana.
Kubernetes
The Helm chart and the controller that reconciles a Constellation.
Node lifecycle
Scale out, drain, decommission, and roll upgrades through the ladder.
Observability
Metrics, dashboards, log levels, and the one alert to wire first.
The vocabulary
Nova uses one word per concept, and the docs stick to it. When a term is unfamiliar (star, flight, chain slot, settle frontier), the glossary has the definition and the words it replaces.