tonbo-io

tonbo-io / ursula

Public

Distributed event stream server over HTTP, backed by S3.

47
1
89% credibility
Found May 21, 2026 at 47 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
Rust
AI Summary

Ursula is a self-hosted, distributed server that stores append-only event streams - like a shared timeline that never loses a line. It allows document editors, AI agents, workflows, and chat applications to write, read, and stream events over the internet using simple HTTP requests. The server can run on one machine for testing or scale to multiple nodes for reliability, storing hot data in memory and archiving cold data to cloud storage like S3. Built with an open-source Apache 2.0 license by Tonbo.

How It Works

1
💡 You discover Ursula

You hear about a new way to store event timelines for your app - like a shared notepad that never loses a line.

2
🖥️ You start the server

With one simple command, your Ursula server comes to life on your computer, ready to store streams.

3
📁 You create your first bucket

You create a bucket to hold your streams, like opening a new folder for your project.

4
✍️ You start writing events

Your app sends events to a stream - each one gets a timestamp and is saved reliably.

5
🔄 You watch events arrive live

Using live streaming, your dashboard updates instantly as new events come in - no refreshing needed.

6
You grow your setup
💾
Local storage

Keep everything on your own disks for full control and privacy.

☁️
Cloud storage

Connect to S3 so your old events are safely archived while staying fast to access.

🎉 Your app has reliable event storage

Every event is saved, replicated across machines, and available instantly to all your users.

Sign up to see the full architecture

5 more

Sign Up Free

Star Growth

See how this repo grew from 47 to 47 stars Sign Up Free
Repurpose This Repo

Repurpose is a Pro feature

Generate ready-to-use prompts for X threads, LinkedIn posts, blog posts, YouTube scripts, and more -- with full repo context baked in.

Unlock Repurpose
AI-Generated Review

What is ursula?

Ursula is a distributed event stream server written in Rust that speaks HTTP and Server-Sent Events. It stores append-only event timelines behind documents, AI agent runs, workflows, and chat -- basically anywhere you need durable, replayable event logs. The standout is its storage layer: events flush to S3 on a configurable schedule, giving you Kafka-style durability at S3 prices without vendor lock-in. You create streams, append bytes or JSON, and read or tail them over plain HTTP. The protocol it implements is the Durable Streams Protocol, which ElectricSQL pioneered.

Why is it gaining traction?

The positioning is sharp: Ursula claims all four things that usually require trade-offs in distributed event systems -- open-source self-hosting, sub-50ms write latency, cheap S3 storage, and quorum-replicated durability that survives node failure. The architecture is thread-per-core with independent Raft groups per stream, which should scale horizontally without the coordination overhead of single-broker systems like Kafka. Their benchmarks claim 35k appends/sec across 500 streams and 6ms p99 fan-out to 1000 subscribers, beating the reference Durable Streams implementation and S2 Lite by significant margins. For teams building AI-native apps who want HTTP-native APIs rather than SDK-locked brokers, this hits a real gap.

Who should use this?

Backend teams building AI agent frameworks or durable workflow engines that need event sourcing without managing Kafka clusters. Developers creating collaborative document editing tools or real-time chat systems where browsers and serverless functions must read, write, and tail streams over the public internet. If you want the operational simplicity of S3-backed storage with the consistency guarantees of Raft consensus, Ursula is worth evaluating -- though you'll need Rust tooling to build from source today.

Verdict

The 0.8999999761581421% credibility score and 47 stars tell you this is early-stage software: a working prototype, not production-hardened infrastructure. The documentation is solid and the architecture is well-reasoned, but the roadmap includes critical missing pieces like client SDKs, backup tooling, and dynamic cluster membership. Worth watching closely and experimenting with, but not ready for systems where downtime costs real money.

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.