Watch
0
0
Fork
You've already forked hyperhive
0
Commit graph hyperhive/docs
Author SHA1 Message Date
atlas
b2694b0a92 add a grafana dashboard for the swarm binary cache 2026-11-01 18:07:45 +01:00
damocles
c39a836bc5 leave the old applied dirs alone: no startup deletion. Refs #5913 2026-11-01 17:49:10 +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
deeb5ecd86 hive ui: remove the BUILD L0GS tab and the live build-log panel
A build's output and history are the swarm's builds Grafana board now, from the
lines hive-c0re logs. Removes the tab and its pane, the live log under the
rebuild queue, their styles, the log stream helper and the duration formatter
only they used, and the docs; also the tab-counts sentence 5925 missed.
2026-11-01 17:19:26 +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
iris
febeb0d395 hive-c0re logs each container build with build_id, agent, kind, start and finish lines
Every output line of a nixos-container operation already reached the journal
with its command line. They now also carry the build-log row id, the agent and
the kind, and a start and a finish line (status, runtime) bracket them, so the
swarm log store can group a build and a board can list builds.
2026-11-01 17:18:58 +01:00
atlas
9a773349a8 a failed container start shows the unit's own journal lines in the op output 2026-11-01 17:06:36 +01:00
atlas
894349459a document where the privateUsers flag lives and who it authorises 2026-11-01 17:06:18 +01:00
atlas
7412a0f1bd walk an agent's dirs by fd when moving them, and refuse a gid that differs from the uid 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
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
iris
4fa7cde273 docs: how wide a dialog gets 2026-11-01 17:02:22 +01:00
damocles
3c09e14a76 drop the config and /applied mounts: an agent reads its config by cloning agent-configs, and the prompt says so 2026-11-01 17:02:12 +01:00
iris
a781addcfe hive ui: remove the counters on the tabs
The pills on 4G3NTS, R3BU1LD QU3U3 and K3PT ST4T3, the poll that fed them, the
two count helpers, their styles, and the tab strip's unused badge option.
2026-11-01 15:37:33 +01:00
damocles
46001be283 treefmt: realign the Provision row of the coordinator table 2026-11-01 15:30:33 +01:00
damocles
25295fd33f drop the proposed config repo: applied seeds from forge main, and the dead pending-init topology list goes with it 2026-11-01 15:30:33 +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
567cd12300 closure_pullable judges an agent by its own pins, not the whole meta head 2026-11-01 14:26:13 +01:00
iris
ff1ad2fe31 docs: no contraction in the solid backgrounds paragraph 2026-11-01 13:43:14 +01:00
iris
099118d31e swarm ui: a solid backgrounds setting turns the frosted surfaces opaque
A gear-menu toggle, off by default: the header bar, badges and terminal
panes lose their see-through fill and blur.
2026-11-01 13:43:14 +01:00
iris
0e840bd34b swarm ui: the start page ends with the slug, its gradients animated
hyperhive / we are the wired between two shaded gradients that pulse in a
wave, still under reduced motion. It sits under 2em from the bottom edge,
clear of the setup assistant.
2026-11-01 13:35:35 +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
696c199621 swarm ui: drop a doubled line from the agents page docs; keep + agent while the roster loads or fails
The buttons sat in the filter card, which only shows once the roster
has loaded, so a failed load left no way to create an agent.
2026-11-01 13:16:13 +01:00
iris
e5fb4bbe6c docs: no contraction in the agents page description 2026-11-01 13:16:13 +01:00
iris
6e5dc3dd30 swarm ui: the agents page is separate cards, not one big agents card
The filter bar is a card of its own, holding the + agent button and the
refresh picker; the hives card and each agent card sit beside it.
2026-11-01 13:16:13 +01:00
iris
70901115a2 docs: the egress dashboard's host lists are tables 2026-11-01 13:12:31 +01:00
iris
464b52004b the hive dashboard uses the swarm UI's links menu, beside the profile avatar
The links menu moves into @hive/shared and takes its links as a prop. The swarm
UI feeds it /api/links as before; the dashboard feeds it stats, API docs and the
swarm, and mounts it next to the profile menu in place of its own hamburger on
the left. A link opens in a new tab unless its entry says it is a page of the
same site.
2026-11-01 12:57:32 +01:00
iris
5b66a83112 swarm ui: the agent card has a terminal icon beside the wanted menu
It opens the agent's terminal tab without opening the card.
2026-11-01 12:51:59 +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
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
damocles
1dc18d41d4 forge cli: unresolved filter drops only resolved comments, position-less ones stay labelled 2026-11-01 02:26:29 +01:00
damocles
219d85a15d forge cli: show comment ids and resolved state on inline review comments, --only unresolved, and list them in pr timeline 2026-11-01 02:26:29 +01:00
damocles
e334513244 forge notify docs: rewrite the inline comments section for the prose lint 2026-11-01 02:17:49 +01:00
damocles
c6958c7baa forge-notify: list inline comment locations in the wake, not their text 2026-11-01 02:17:49 +01:00
damocles
6494c5d7f4 forge-notify: show unseen inline review comments in PR wakes 2026-11-01 02:17:49 +01:00
iris
ff3d119c63 the agent state stream sends a new client the latest header first
The stream was a live tail with no replay, and the agent re-sends its header
once a minute, so a card opened mid-idle read "no report yet" for up to a
minute. The controller already follows every agent's header for the inference
route; it now keeps the newest one as published, and the stream sends it
first when it is under 150 seconds old. An agent that stopped keeps no state
older than that.
2026-11-01 01:59:09 +01:00
iris
2eaa02e892 swarm-ui: the agents page is one column of cards that open in place
The roster loses its second column and its table view. Selecting a card opens
its details under it as four folded sections: overview, settings, accounts and
the terminal. The status, message and wanted rows, which the card header
already shows, are gone from the details. The terminal page's details dialog
keeps the flat list.
2026-11-01 01:21:43 +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
1e572d59a9 egress: a github link also derives raw, codeload and objects hosts 2026-10-30 17:07:46 +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
atlas
2fc63d844b name the mint, not the publisher, as the writer of the client secrets
Finishes the sweep of prose that said the publisher unit writes or carries the OIDC client secrets: rust docs, nix comments and option descriptions, test names and docs.
2026-10-30 16:57:58 +01:00
atlas
05665c05f3 derive a missing client digest from the secret that exists
A client with a secret in the store or in a leftover file but no digest gets the digest of that secret instead of stopping the unit. The password reaches authelia's prompt through a pty, not argv. A lost mint race takes the winner's secret. Also name the mint, not the publisher, in the remaining rust docs.
2026-10-30 16:57:58 +01:00
atlas
d30cb7d122 keep authelia's oidc client secrets in the store, not on disk
The mint creates each client's secret in the swarm secret store and writes only the digest to disk. It mints only when the store answers and holds none. A new unit moves the plaintext files an earlier release left into the store and removes each once the store holds the same value. The bridge reads its secret from the store into /run before each start. The secret publisher unit and its path unit are gone.
2026-10-30 16:57:58 +01:00
iris
6b0c06800b egress dashboard: tabs like the agents board, with totals on the first
The board was one page of would-deny panels. It now has three tabs: overview
(requests, agents active, refused, credential challenges, data transferred,
status over time, busiest agents and destinations), refused (the hosts each
agent was refused) and would-deny (the old panels). The module-eval check pins
the tab layout and both squid log layouts the queries parse.
2026-10-30 16:10:02 +01:00
atlas
9193f37963 derive per-agent egress entries from operator-linked accounts 2026-10-30 12:28:51 +01:00
atlas
29c57e058a run the platform containers' root check through a build-independent path 2026-10-30 11:13:16 +01:00
atlas
700279026f add the egress log dashboard 2026-10-30 08:53:03 +01:00
atlas
e46ad07226 add a per-agent egress log mode 2026-10-30 08:52:22 +01:00