Quick Start
Run Ursula locally, create a bucket, append data, and subscribe with SSE.
Start a local Ursula node first:
cargo run --bin ursula -- serve \
--node-id 1 \
--listen 127.0.0.1:4437 \
--advertise 127.0.0.1:4437 \
--data-dir ./data
Then use curl against the local HTTP API.
Create a bucket and a stream
curl -X PUT http://127.0.0.1:4437/demo
curl -X PUT http://127.0.0.1:4437/demo/hello
Append data
curl -X POST http://127.0.0.1:4437/demo/hello \
-H 'Content-Type: application/octet-stream' \
--data-binary 'first message'
curl -X POST http://127.0.0.1:4437/demo/hello \
-H 'Content-Type: application/octet-stream' \
--data-binary 'second message'
Read everything from the beginning
curl 'http://127.0.0.1:4437/demo/hello?offset=-1'
Subscribe for live updates
Open a second terminal and start an SSE subscription:
curl 'http://127.0.0.1:4437/demo/hello?offset=-1&live=sse'
Then go back to the first terminal and append more data. You'll see it arrive in the SSE stream instantly.
Read more
- Install: build Ursula from source
- Run locally: single-node config and smoke checks
- Deploy a cluster: three-node cluster shape
- Configure S3: shared cold storage for clusters
- API overview: all HTTP routes and request patterns
- Streams: the core stream abstraction and lifecycle
- Architecture: how the cluster works under the hood