Skip to content

Control plane

A control plane is the layer that decides who runs what, where, and whether it is allowed to. It does not do the work itself; it governs the things that do.

Erebros is a control plane for AI agents. It stands at a threshold: on one side, the deterministic code you write — scripts, pipelines, requests with known outcomes. On the other, non-deterministic agents — models and CLIs that reason, use tools, and return something you could not have computed in advance.

That threshold is the whole point. Code needs guarantees; agents cannot give them. Something has to sit between the two and turn one into the other: route a request to a capable provider, enforce what is installed and permitted, fail over when a provider is down, and record what was spent. That something is the control plane.

  • The fleet. Every model and agent this install can reach — chat APIs, local Ollama models, CLI agents, provider aggregators. All of them answer in one Chat; the global model box chooses which one answers an app that does not ask; the Model Manager decides which are reachable at all.
  • Routing and failover. A request names a model; if that provider is down, the failover chain answers from the next candidate rather than leaving the request unanswered.
  • Readiness. An app that needs a CLI, a daemon or a key says so on a setup card until it is present; Health lists every dependency in one place and which apps break while it is down.
  • Accounting. What each call spent, recorded for Telemetry and capped by the daily spend ceiling.
  • The vault. Everything produced lands in your Obsidian vault, and the Media Library is the hub that shows it all.

It is not a hosted service, not a gateway you send your data through, and not an agent itself. It runs on your hardware and orchestrates processes that also run on your hardware. See Local-first. When more than one person needs the same fleet, Erebros-T adds the shared, signed event log.