Watch
0
0
Fork
You've already forked hyperhive
0
Commit graph hyperhive/nix/host-modules
Author SHA1 Message Date
damocles
7efcfd0644 swarm-notify-router: export event, todo, review request and consumer metrics 2026-11-05 01:31:23 +01:00
iris
ffe2116561 swarm-grafana: shorten the forge board description 2026-11-05 00:47:17 +01:00
iris
bc5c36dba6 swarm-grafana: the forge and CI runs boards become one forge board with content, runtime and CI runs tabs 2026-11-05 00:47:17 +01:00
atlas
e30f5849d5 swarm-builder: export build counts, durations, queue wait and publish failures through the host's collector
The builder pushes its build metrics (builds by kind and outcome, build
duration, queue depth and wait, reply publish failures) to its forwarder's
OTLP receiver, which relays them to the swarm collector.

It also registers the standard store client-certificate gauges
(bao.client_cert.*, cert=builder) on the same exporter. They are the
builder's liveness signal: exported every minute whether or not a build
runs. The cert-metrics table in docs/scheduler/observability.md gains the
builder row.
2026-11-05 00:43:25 +01:00
atlas
0bc350a8a1 ci runner: export its built-in metrics through the container's forwarder 2026-11-04 22:26:54 +01:00
atlas
dd5fde848f squid blocks a runtime deny list from the controller in every egress mode, ahead of the allow list 2026-11-04 22:16:35 +01:00
atlas
1e2e93da59 report the granter login's real error and retry on a standby store 2026-11-04 19:37:09 +01:00
atlas
1665436347 authelia's store-login units wait for the container's network 2026-11-04 19:16:47 +01:00
atlas
92f79622f9 give the secrets unit a private tmp for its prefetched secrets 2026-11-04 17:26:34 +01:00
atlas
197caa1e52 fetch the secrets unit's store leaves concurrently and log how long each phase takes 2026-11-04 17:04:35 +01:00
iris
23c2527199 harness metrics for tool calls, bash commands, reminders and first-turn context, on the agents board
The per-agent /stats page read these from its sqlite; the swarm board had
none of them. hive-agent now counts the tools a turn called, the commands
bash tasks ran (from the bash daemon's own table, newer rows only),
reminders scheduled and delivered, and records the first turn of a fresh
session; the turns tab shows them, with fresh sessions per agent. Claude's
own export has no tool-call counter, so the docs no longer say it does.
2026-11-03 16:05:49 +01:00
atlas
5f9629dfc7 store_seeded: report a failed read instead of minting over it 2026-11-03 15:53:33 +01:00
iris
5e9a22cb38 remove the hive dashboard's stats page and the price table behind it
The ST4TS page (/stats.html), GET /api/stats-hive, hive-c0re's hive_stats
rollup and the modelPrices option that only fed its cost estimate are
gone. Each agent's own /stats page and the turn-stats database it reads
are unchanged. Setting modelPrices now fails evaluation with a message
saying so.
2026-11-03 07:45:51 +01:00
atlas
1d3ab2fae5 run swarm-attic in its own network namespace
the gateway reaches atticd over a unix socket a relay in the container
forwards, and the host unit that creates the cache dials its public name.
2026-11-03 07:42:10 +01:00
iris
aecde1dc75 agents board: a turns tab, and turn duration bounds past 10 s
The per-agent /stats page shows what the swarm agents board lacked about
turns. The new tab reads the turn count and duration the harness already
records: average duration, cache hit rate, tokens per turn, turns per hour
by agent and by model, duration percentiles, and the wake source and result
mixes. The duration histogram used the SDK default buckets, which stop at
10 s while a turn averages 24 s, so every p95 read a flat 10 s; it now has
explicit bounds up to an hour.
2026-11-03 00:20:45 +01:00
iris
29569e90ed links menu: give the forge link an emoji-presentation icon
U+2692 is text-presentation by default, so it drew as a small
monochrome glyph next to the colour icons of the other links. The
hammer is emoji-presentation by default.
2026-11-02 20:19:05 +01:00
atlas
d6e983995d add external gitlab accounts: stored in bao, linked per agent, allowed in squid, usable with glab 2026-11-02 16:44:56 +01:00
atlas
3b8ab17240 bound the forge's SSO source setup and retry it with a growing delay 2026-11-02 08:08:41 +01:00
atlas
70b112058a keep service containers' boot-wait budgets under their start limit, and check it 2026-11-02 08:00:26 +01:00
atlas
279428a66f wait for grafana's socket and read the forge's user list whole in the mint 2026-11-02 00:22:25 +01:00
atlas
c0429bf617 export the swarm cache's size from atticd's database to the attic dashboard 2026-11-01 23:46:23 +01:00
atlas
8a7f254c74 remove c0re.preBuildAgentTemplates and agentBaseToplevel 2026-11-01 22:20:15 +01:00
atlas
90272ec3c0 move links, adminSync.ignoreUsers and scrapeTargets under their service's deploy namespace 2026-11-01 20:47:23 +01:00
atlas
a73946102f bao reader policy, responder units and docs for the per-surface grant 2026-11-01 18:40:35 +01:00
atlas
b2694b0a92 add a grafana dashboard for the swarm binary cache 2026-11-01 18:07:45 +01:00
damocles
862495530c drop the applied repo: the hive keeps no copy of an agent's config, only the deploy markers. Refs #5913 2026-11-01 17:49:10 +01:00
iris
d53cfc50bf builds board: count builds by id, so a doubled journal does not double the totals 2026-11-01 17:18:58 +01:00
iris
ab30c3dc7d builds board: a Grafana dashboard of the container builds, from the lines hive-c0re logs
A builds tab (counts, failures, longest, builds over time by outcome, a table of
each build) and an output tab (every line of the build picked in the Build
filter). The table joins its grouped stats by labels, one row per build.
2026-11-01 17:18:58 +01:00
atlas
f5a609911c read privateUsers from the closure record at start, and move the data owner option under hive-controller 2026-11-01 17:06:18 +01:00
atlas
da098b1a50 document the user namespace opt-in 2026-11-01 17:06:18 +01:00
atlas
bfdf603d12 run opted-in agents in a user namespace with a dedicated data owner 2026-11-01 17:06:18 +01:00
atlas
5ae0205e1d pin that the hive collector keeps file_storage for its exporter queue without a journald receiver 2026-11-01 17:05:40 +01:00
atlas
790e242e8c leave squid's and hive-c0re's journals to the swarm tier when both run on one host 2026-11-01 17:05:40 +01:00
atlas
08b8eb3f73 export an open-todos gauge and chart it on the agent dashboard 2026-11-01 15:24:33 +01:00
atlas
c273527219 outlast openbao's cold restart in the agent ca unit's start limit 2026-11-01 15:09:13 +01:00
atlas
8d31f0ad27 give openbao's own start the container's long timeout 2026-11-01 15:03:28 +01:00
atlas
868c57321c order the store's readers after its container without wanting it 2026-11-01 13:35:52 +01:00
atlas
b1c828dbf8 let the store container's cold start finish, and order its readers after it 2026-11-01 13:35:52 +01:00
atlas
abf21683b9 agent trust bundle: retry the root fetch inside its start job so a dns blip at boot queues the harness instead of failing it 2026-11-01 13:35:01 +01:00
iris
fec66af1c8 agents board: a busiest-agents table, joined by agent
Five instant table-format queries, one per column, joined on the agent label,
sorted by turns. Checked in a real Grafana 13 against a mock Prometheus.
2026-11-01 13:21:09 +01:00
iris
ed86356928 egress board: join the host tables by labels, one row per group
labelsToFields and merge left a __name__ column and one row per stat on
the multi-stat table. joinByLabels gives a column per stat.
2026-11-01 13:12:31 +01:00
iris
728e1beb6a egress board: the host tables merge their frames, so they are tables and not a series dropdown
A grouped stats query is one frame per group. Labels become columns,
then the frames merge into rows.
2026-11-01 13:12:31 +01:00
damocles
0912e2ca06 claude usage dashboard: count the token and cost panels as increase per step so review classifier sessions show up 2026-11-01 12:02:31 +01:00
atlas
81a57a9f81 containers reach network-online only with a dhcp lease, and bao users wait for it 2026-11-01 11:06:41 +01:00
atlas
04f8683f99 force tuwunel's start limit off over the upstream value 2026-11-01 10:56:22 +01:00
atlas
c4924d227b retry the authelia mint and the appservice render until the store answers, and let tuwunel retry 2026-11-01 10:47:50 +01:00
atlas
3a4b0ffabf render the matrix appservice registration from the store onto tmpfs
swarm-matrix-ctl appservice render now reads the registration's tokens
from the store and renders swarm.yaml under /run/swarm-matrix-appservice,
which tuwunel loads through LoadCredential. It mints a pair only when the
store answers and holds none; a host that has the old files stores their
pair once instead. A store that does not answer fails the unit and keeps
tuwunel down; sync starts it once the store answers.

Refs #4998 (item 3)
2026-10-30 17:38:29 +01:00
atlas
7813337548 agents dashboard: count agents reporting over the selected range 2026-10-30 17:12:11 +01:00
atlas
204abb1d0e read grafana's datasource key from the store into /run, seeding an empty store from the old file 2026-10-30 16:59:07 +01:00
atlas
fcc9c8d0ba drop the one-time migration: seed the store from a leftover file once, leave the file
A leftover plaintext client secret is stored once with -cas=0 when the store holds none, so nothing rotates. A store value wins over a different file. The file is no longer read back, compared or removed, and the migration unit is gone.
2026-10-30 16:57:58 +01:00