Watch
0
0
Fork
You've already forked hyperhive
0

Compare commits

..
Author SHA1 Message Date
iris
f51fa921b4 README: split the diagram into every-hive vs one-host-per-swarm, move forge/matrix into the swarm tier
mara, on review: forge and matrix are swarm-level too (both are
swarm-wide singletons per their own module comments - one Forgejo,
one Matrix homeserver, not one per hive), and the single combined tree
made the host separation unclear. Split into two trees: everything a
hive host always runs, and everything that runs once per swarm on
whichever host opts in (can be the same host or a different one).
2026-08-24 19:50:49 +02:00
iris
e68369b256 README: add the swarm tier to the architecture diagram
The diagram was single-hive only - no mention of swarm-controller,
swarm-ui, authelia SSO, the metrics/log stores, Grafana, NATS or the
swarm-level otel collector, despite all of them being real, shipped
services (several on by default via enableAllLocalDefaults). Adds a
swarm section alongside agent containers, same terse one-line-per-
service style the existing optional-containers section already uses.

swarm-ui gets a note that it has no own container (served straight
from the gateway's nginx, unlike every sibling swarm service).
2026-08-24 19:50:49 +02:00

View file

@ -18,7 +18,7 @@ the substrate.
- blast radius = container
```
host (NixOS, runs hive-c0re.service)
every hive (NixOS host, runs hive-c0re.service)
│
├── operator
│ ├── browser → :80 (hive-gateway) dashboard + per-agent UIs
@ -28,14 +28,25 @@ host (NixOS, runs hive-c0re.service)
├── hive-c0re (Rust daemon: lifecycle / broker / approvals /
│ auto-update / dashboard / sockets)
│
├── optional containers
│ ├── hive-gateway nginx — proxies :80 → c0re dashboard + per-agent sockets
│ ├── hive-forge Forgejo — per-agent accounts, config mirror (agent-configs/)
│ └── hive-matrix tuwunel — Matrix homeserver + per-agent accounts
├── hive-gateway (optional) nginx — proxies :80 → c0re dashboard + per-agent sockets
│
└── agent containers
├── h-ruth manager (privileged MCP surface, approval gating)
└── h-<name> sub-agent (claude + MCP tools + per-agent web UI + unix socket)
one host per swarm (optional — connects hives; can be any hive, including
one that's also running the tree above)
│
├── hive-forge Forgejo — swarm-wide singleton, per-agent accounts + config mirror
├── hive-matrix tuwunel — swarm-wide singleton, Matrix homeserver + per-agent accounts
├── swarm-controller cross-hive state: hive directory, agent roster, jobs
├── swarm-ui swarm-wide SPA, served straight off the gateway (no own container)
├── swarm-authelia SSO — one login gates swarm-ui + Grafana + more
├── swarm-nats message queue (JetStream KV: hive-status, …)
├── swarm-otel telemetry collector, sole holder of the upstream credential
├── swarm-victoriametrics metrics store
├── swarm-victorialogs log store
└── swarm-grafana dashboards over the metrics/log stores, own OIDC login
```
**[→ website](https://hyperhive.darkest.space)** ·