Ouroboros
/ouroboros
Ouroboros Official Project
- Projects
- 2
- Joined
- 8/11/2026
- Visibility
- Public
Projects
2 projects with at least one published version.
ouroboros-engine
/ouroboros-engineThe **Python backend** of [Ouroboros](https://github.com/NobuData/ouroboros): the service that executes the work `ouroboros-rest` brokers. It is **internal only**. Every request arrives from `ouroboros-rest`, inside the cluster, carrying a shared secret on the `X-Ouro-Internal-Key` header; a browser never reaches it. That is a deployment claim, so the service enforces it itself rather than trusting it — **every path but `/healthz` requires the key**, the comparison is constant time, and a request without one is refused before routing. A rejection is therefore a bare `401 {"detail":"Unauthorized"}` whether the path exists or not: status codes are how a surface gets mapped from outside, and an unauthenticated caller cannot tell `/v0/status` from `/v0/anything-else`. Read the `401` documented on each operation below as the answer to *anything* unauthenticated, including paths this document does not list. `/v0` is the versioned internal prefix. It is unstable by definition — it changes with the two services that share it, which deploy together — and a stable `/v1` is a later promise, not this one.
ouroboros-rest
/ouroboros-restThe **communications layer** of [Ouroboros](https://github.com/NobuData/ouroboros): the one service a browser talks to. It owns authentication, sessions, tenant-context resolution, the tenancy API and the gateway to `ouroboros-engine` — and it is the only module that reaches `ouroboros-db` or the engine, which is what keeps tenancy enforcement in a single auditable place. Every path sits under `/api/v1`. The version is in the URI because that is what a generated client, an address bar and a log line can all carry without negotiation, and a controller opts *out* of v1 rather than into it — so a route cannot be published unversioned by omission. What is described below is the whole of the surface today: the heartbeat the scaffold ([#27](https://github.com/NobuData/ouroboros/issues/27)) landed. Health probes ([#29](https://github.com/NobuData/ouroboros/issues/29)), the tenancy API ([#31](https://github.com/NobuData/ouroboros/issues/31)), authentication ([#33](https://github.com/NobuData/ouroboros/issues/33)) and the engine gateway ([#35](https://github.com/NobuData/ouroboros/issues/35)) each arrive as operations written here and code that answers them.