Watch
0
0
Fork
You've already forked hyperhive
0
Commit graph hyperhive/docs/swarm
Author SHA1 Message Date
atlas
4f32948a97 warn when the in-swarm cache runs under another domain 2026-10-29 08:24:44 +01:00
atlas
74f463c40e move the c0re host options to deploy.hive-controller 2026-10-29 01:08:41 +01:00
atlas
7d78869104 name the ui path for replacing the cache's leaves 2026-10-29 00:09:12 +01:00
atlas
f22f4ee6ac let the operator's oidc login write the cache's tokens and facts 2026-10-29 00:09:12 +01:00
atlas
73c966a7eb container collectors scrape their own telemetry and push it up their hop 2026-10-28 23:02:18 +01:00
atlas
c9abc2a42b make squid's allowed domains editable at runtime in the swarm ui 2026-10-28 23:01:43 +01:00
iris
1ee481c0b1 swarm-ui: the setup assistant shows when ruth is declared destroyed 2026-10-28 22:14:52 +01:00
iris
da5fcbfd9b subagents publish their model and effort as headers on every row, and the swarm shows them
The subagent daemon stamps Swarm-Model and Swarm-Effort on each row it
publishes. The list endpoint reads them off the newest row it already fetches,
so a long-running subagent keeps them past the stream's 24 hour window, and the
terminal page's menu and the agent panel's list show them beside the name.
2026-10-28 21:55:02 +01:00
atlas
099af86cd2 raise the cert role token ttl to 1h 2026-10-28 20:35:11 +01:00
atlas
00df3ccffb give cert-auth role tokens a 15m ttl so logins stop leaving 32-day leases 2026-10-28 20:35:11 +01:00
iris
2f2b4aa9e2 swarm-ui: cancel turn is a badge over the terminal, not a button by send 2026-10-28 20:12:11 +01:00
iris
214d7000d3 swarm-ui: the agent terminal page gets cancel turn, effort, state age and the expand-output setting
The per-agent page had these and the swarm terminal did not; they need no new
backend. A cancel turn button beside send, shown while the agent is in a turn,
posts to the controller's existing cancel route and says whether a turn was
stopped. The terminal's badges add the effort and how long the agent has been in
its turn state. The expand tool output setting moves to the shared package so
both pages render the one component, and the swarm menu gets it. Docs follow.
2026-10-28 20:12:11 +01:00
atlas
5e997ebe2e docs: use active voice in the collector dashboard section 2026-10-28 19:57:35 +01:00
atlas
ee9f6fa622 docs: describe the collector dashboard and its service-name lint 2026-10-28 19:57:35 +01:00
iris
24f6690fe5 swarm-ui vhost: cache by name, 404 a missing file, carry a content security policy
After a deploy a browser could keep the old entry document, which named a
bundle that no longer exists, and the missing script was answered with the
entry document, so the page was blank with only a MIME-type error to say why.

The hashed bundle is immutable and a missing file is a 404; the entry document,
the worker, the manifest, the icons and the theme's colors.css are revalidated.
The pages carry a content security policy. The service worker fetches its shell
past the HTTP cache, logs a failed install, refreshes the cached entry document
on each navigation and holds cache writes open with waitUntil. The proxy test
pins the cache rules, the 404s and the policy; docs/swarm/ui.md says what the
browser keeps.
2026-10-28 19:56:55 +01:00
iris
698183c16a docs: drop the bao dashboard section again; a dashboard needs no page
Reverts the previous commit: the panels describe themselves, and the operator
ruled that this change needs no docs page.
2026-10-28 19:28:12 +01:00
iris
2472e3868d docs: say what the bao dashboard's log panels show
The classifier asked for the docs to move with the three new panels. bao.md gets
a short 'Watching the store' section, including that a flat zero in the
delivered-lines panel means delivery is broken, not that bao is quiet.
2026-10-28 19:28:12 +01:00
iris
4d5a65a185 swarm-ui: a request that finds the login ended reloads the page to the login
The gateway answered every non-page request without a session with a login
redirect, which fetch and EventSource cannot follow across origins, so polls,
forms and streams failed with errors that said nothing about the session. It
now answers anything that does not ask for text/html with a 401 and a
WWW-Authenticate header, and the swarm UI reloads on that 401, from a wrapped
fetch (one place for every call) and from a probe after a stream dies. A second
reload within ten seconds is skipped so a page that keeps answering 401 cannot
loop. The proxy test and the docs follow.
2026-10-28 19:19:26 +01:00
atlas
b551eb02ff send agent traffic through squid once its hive announces it 2026-10-28 17:24:34 +01:00
atlas
501445ebc3 apply each agent's internet flag to its squid credential 2026-10-28 17:23:33 +01:00
atlas
cbe41bea54 rebuild an agent's closure when the binary cache lost it 2026-10-28 13:51:01 +01:00
atlas
8328c38a07 document squid's proxy credentials 2026-10-28 13:50:35 +01:00
atlas
52d532ff5a render squid's users file from this hive's proxy credentials 2026-10-28 13:50:35 +01:00
atlas
c16cf1756f download an agent's cached closure in prebuild, building locally when that fails 2026-10-28 10:23:45 +01:00
atlas
b845630023 keep the cache's key and pull token for hive-priv in a root-only directory 2026-10-28 10:23:01 +01:00
atlas
b1a00a3222 request the review classifier when a pr is opened or reopened 2026-10-28 10:22:13 +01:00
atlas
57b04d6c49 let the operator set, replace and remove an agent's backend env from the swarm ui 2026-10-28 08:49:32 +01:00
atlas
28be594f79 ship the cache host init units' journal through the hive collector 2026-10-28 08:49:14 +01:00
atlas
75e9e205e3 fetch the agent's backend env file from the store, seeded from the existing file
the agent's own root unit reads swarm/agents/<agent>/backend-env into /run and
creates it from backendEnvironmentFile with -cas=0 when the store holds nothing.
the shared agent policy gains create (not update) on that one leaf. the harness
and the subagent daemon load the old file first and the fetched one after it.
2026-10-28 01:24:29 +01:00
atlas
5486fc0333 report per agent whether a hive can pull its latest closure from the cache
for each agent the hive looks up its record in agent-closures, fetches the closure's narinfo from the cache with the pull token and checks that a signature by the cache's public key covers it. the result is a log line and the gauge hyperhive.agent.closure_pullable, with a reason label when it is 0. nothing is downloaded and deploys still build locally. part 3 of 3: the probe needs the cache facts and the closure read grant from parts 1 and 2.
2026-10-28 01:19:56 +01:00
atlas
a55d55e494 read the cache facts on the hive and let hives read the closure bucket
hive-c0re reads its cache facts from the store every five minutes and writes /run/hyperhive/attic/{netrc,substituter,public-key}, each 0600. it accepts only an https url, so the pull token never travels in clear. hives get a read grant on the agent-closures bucket, and swarm-queue-client a reader for it. part 2 of 3: nothing uses the files or the reader until the probe lands.
2026-10-28 01:19:56 +01:00
atlas
1e5070796d copy the cache's pull facts to each hive and create them in the in-swarm cache
the in-swarm cache stores its address, name and public key beside its tokens, create-only. swarm-controller copies the four cache facts to swarm/hives/<hive>/attic/* every five minutes, with read on the sources and write on the copies. part 1 of 3: nothing reads the copies until the hive reader and probe land.
2026-10-28 01:19:56 +01:00
atlas
c79c41e004 warn when a hive host without a leaf names the otel oidc secret file 2026-10-28 00:46:19 +01:00
iris
144fae3919 docs: the review classifier is live; drop 'planned, not implemented' from its index entries and its page
Two index entries (docs/README.md, docs/swarm/README.md) and the banner on
docs/swarm/review-classifier.md still said the classifier does not exist.
2026-10-28 00:38:07 +01:00
atlas
606817a994 default swarm.attic domain and cache to the swarm's own cache on every host 2026-10-27 22:16:26 +01:00
atlas
d5c5862654 keep the matrix appservice registration in bao, with the host file as the last copy 2026-10-27 17:33:06 +01:00
atlas
fb6cd36b5f format the docs tables and the services page 2026-10-27 16:03:44 +01:00
atlas
a572fb6a7f forward the attic container's journal to the swarm collector 2026-10-27 16:03:23 +01:00
atlas
99fab06348 keep authelia's keys in bao, seeded from the existing key files 2026-10-27 16:01:57 +01:00
atlas
10508895c4 swarm-ui: show and toggle an agent's unrestricted internet flag, add it to the create dialog 2026-10-27 14:45:04 +01:00
atlas
458a046b8d run attic as a swarm service with deploy.attic.enable 2026-10-27 13:04:17 +01:00
atlas
f59ed01353 fix the builder cache module-eval case and document the external cache 2026-10-27 13:02:43 +01:00
atlas
bd214b9f3e require both attic options, follow attic's cache-name rule, read the token from a file 2026-10-27 13:02:43 +01:00
atlas
0849afec80 push green meta builds to the attic cache and record cached 2026-10-27 13:02:43 +01:00
atlas
a4e48a7bca store the forge webhook secret and grafana's secret key in bao, seeded from the existing files 2026-10-27 13:00:13 +01:00
atlas
50c1f2a3d1 add rea agent module and reverse-engineer archetype 2026-10-27 11:33:04 +01:00
atlas
09d89507a9 name the agent's entity before narrowing its role, and test hive provisioning against a fake store 2026-10-27 10:11:02 +01:00
atlas
139007e656 stop writing and attaching per-agent and per-hive bao policies 2026-10-27 10:11:02 +01:00
atlas
701efadfe4 only the controller's own comments carry the marker, and a cleared comment says resolved 2026-10-26 23:16:53 +01:00
atlas
9fc0e3bf90 comment once per pr and agent while red, clear the marker on a green build 2026-10-26 23:16:53 +01:00