Watch
0
0
Fork
You've already forked hyperhive
0
Commit graph

6,103 commits

Author SHA1 Message Date
atlas
74f463c40e move the c0re host options to deploy.hive-controller 2026-10-29 01:08:41 +01:00
atlas
525cbe0355 count readers, not writers, of the pull token in the cache's roster pin 2026-10-29 00:09:12 +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
e0d2350902 ignore a failed warn-only root check: prefix its ExecStartPre with a dash 2026-10-28 23:52:37 +01:00
atlas
24afc89ab3 run the root check warn-only on hyperhive's own containers, per unit, not on the container@ template 2026-10-28 23:50:58 +01:00
atlas
c191975aab check every container's root before its start, through the container@ template 2026-10-28 23:50:58 +01:00
atlas
1c3118e9cd add two-vm wg-hive mesh test to vmTests 2026-10-28 23:44:58 +01:00
atlas
ad06ce04a8 pin the security headers in the swarm api 401 location property 2026-10-28 23:37:22 +01:00
atlas
ec14977949 build the single-host fixture's nginx config in a check so gixy runs in ci 2026-10-28 23:37:22 +01:00
atlas
46693b3c25 repeat the security headers in the swarm api 401 location 2026-10-28 23:37:22 +01:00
atlas
c209e49ee7 fix stale vale mentions in ci job comments 2026-10-28 23:08:48 +01:00
atlas
d5547725cf drop the vale step added to pre-push 2026-10-28 23:08:48 +01:00
atlas
9ed7ebab91 fetch vale styles in nix, pinned, and drop vale sync 2026-10-28 23:08:48 +01:00
damocles
1971c6773a fix the vale errors in the retired-matrix docs note 2026-10-28 23:04:55 +01:00
damocles
442311f748 drop apiUrl from the matrix options list in the docs 2026-10-28 23:04:55 +01:00
damocles
bdda69a080 drop the leftover matrix sweep references in docs and comments 2026-10-28 23:04:55 +01:00
damocles
6dbb18b6d4 drop the hive-side matrix code: sweep, hivectl matrix and the apiUrl option 2026-10-28 23:04:55 +01:00
atlas
a00bcb8c05 merge the self-scrape into each collector's settings instead of defining them twice 2026-10-28 23:02:18 +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
2095bb2d0f compare the seed file in the unit environment as a path string 2026-10-28 23:01:43 +01:00
atlas
c9abc2a42b make squid's allowed domains editable at runtime in the swarm ui 2026-10-28 23:01:43 +01:00
atlas
86e80250bb remove the partial salvage dir when a salvage fails
- a failure between creating the dir and the rename removes that dir only
- give the ephemeral-rootfs vm test a 4 GiB disk so the space check passes
2026-10-28 23:01:04 +01:00
atlas
836b15a46e harden the ephemeral-root salvage: clone, check space, lock
- clone each file with FICLONE, copy the data only where that fails
- skip the salvage when the copy would leave too little free space
- hold a per-container flock and one copy at a time across containers
- run WriteNspawnFlags on the blocking pool
2026-10-28 23:01:04 +01:00
iris
1ee481c0b1 swarm-ui: the setup assistant shows when ruth is declared destroyed 2026-10-28 22:14:52 +01:00
atlas
bbc2a83771 print the vm test's priv response and journal only on failure 2026-10-28 22:04:09 +01:00
atlas
2b4fd52b0a make the vm test's priv request wait for the salvage reply 2026-10-28 22:04:09 +01:00
atlas
b4ce4e0d90 put hello and tree in the agent-ephemeral-rootfs vm closure 2026-10-28 22:04:09 +01:00
atlas
6708ef804f root the build the pre-start check names 2026-10-28 21:59:43 +01:00
atlas
a44a7256a7 check the container root before each start 2026-10-28 21:59:43 +01:00
iris
0999cffdaf subagent headers: leave out a model or effort a header cannot hold
The values come from the agent's start request. One with a line break made
async-nats panic inside the publish task, which would have stopped every
subagent's rows. They are now trimmed, and skipped when empty, over 64
characters, or not a valid header value.
2026-10-28 21:55:02 +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
damocles
ae9c3444bc test the invite room check and the no-homeserver sweep, drop the last space wording 2026-10-28 21:07:32 +01:00
damocles
fd01848d4d also stop provisioning the hive space and make hivectl matrix invite take a room 2026-10-28 20:57:41 +01:00
damocles
c0dc4b07f4 reword the leftover-room note in the matrix docs in active voice 2026-10-28 20:44:48 +01:00
damocles
c7f3706597 stop provisioning the hive-chat room in the matrix sweep 2026-10-28 20:44:48 +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
9b0c0ad7be swarm-ui: the cancel badge is a filled pill like its neighbours 2026-10-28 20:19:02 +01:00
iris
8060e91939 swarm-ui: the cancel badge clears when the next turn starts 2026-10-28 20:16: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
81439fa710 run agent containers on an ephemeral root, salvaging the old one first
hive-priv copies a stopped container's root to the agent's work dir and
renames it aside before passing nspawn --ephemeral; the agent's nix state
moves to the persistent profiles bind. Adds the agent-ephemeral-rootfs vm
test and a module-eval case for the nix state redirect.
2026-10-28 20:00:12 +01:00
atlas
22522b386a log the proxy-credential, cache-miss and users-file passes at info, with counts in the message 2026-10-28 19:57:53 +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
atlas
181c42dae1 collector dashboard: query the service.name the collectors emit, lint dashboard names 2026-10-28 19:57:35 +01:00
iris
067a260b85 swarm-ui: test the service worker's install and navigation logic
review-classifier asked for a test of sw.js's new behaviour. sw.test.mjs loads
the worker in a sandbox with a fake cache and network: the install fetches past
the HTTP cache and keeps every asset, a redirected or refused asset fails it
with a logged reason, a navigation that reaches the network refreshes the cached
entry document, a redirected or failed one does not, and offline a navigation is
answered from the cache.
2026-10-28 19:56:55 +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
atlas
e78a529ec2 squid: base allow list for every authed user, and no start limit on the list reload 2026-10-28 19:44:26 +01:00