atlas
e7e3281098
controller gates logs and metrics on the hive capability and mirrors the grant
2026-11-01 18:40:35 +01:00
atlas
3b1d118f25
responder checks the logs or metrics permission per surface
2026-11-01 18:40:35 +01:00
atlas
04598542b6
logs and metrics permissions, tolerant record decode, hive capabilities
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
c39a836bc5
leave the old applied dirs alone: no startup deletion. Refs #5913
2026-11-01 17:49:10 +01:00
damocles
db4f8a7b15
test the deployed-rev check and the update-chip comparison. 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
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
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
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
1fd591d28b
add the agent option privateUsers, with the uid = gid assertion
2026-11-01 17:06:18 +01:00
atlas
3ca660e558
record whether an agent's config sets privateUsers in its closure record
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
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
bcc317e452
read the hive collector's journald receiver as optional in the builder cases
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
iris
4fa7cde273
docs: how wide a dialog gets
2026-11-01 17:02:22 +01:00
iris
ec51bf3fec
swarm ui: dialogs are up to 64em wide, matching the wide pages
...
The cap was 44em, set before the swarm UI went wide. The create-agent panel
reads the same width.
2026-11-01 17:02:22 +01:00
damocles
d572a63d95
prompt: propose a config change with an agit PR from the clone
2026-11-01 17:02:12 +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
41e6136caf
forge seed: clear the whole applied dir when a seed fails, so the template starts from nothing
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
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
567cd12300
closure_pullable judges an agent by its own pins, not the whole meta head
2026-11-01 14:26:13 +01:00
atlas
35a49aaf42
keep the knowledge .git overlay unconditional
2026-11-01 14:06:19 +01:00
atlas
23b0c4cd55
overlay config .git only when the source has one; record a failed start in the op output
2026-11-01 14:06:19 +01:00
atlas
8cdaf433a9
review-classifier: keep the stored value out of a failed read's text
2026-11-01 13:50:07 +01:00
atlas
10a6f92244
review-classifier: a failed store login names its cause chain
2026-11-01 13:50:07 +01:00
argus
7aa8441aa1
review-classifier: check that a commit message's claimed changes are in the diff
...
message-claims-match-diff is the reverse of one-purpose: a README, doc
page, test or rename the message names must be in the diff. The rules
file then holds the ten-rule cap, so the new-rule merge test appends to
the file minus its last entry and no longer depends on how many rules the
file holds.
2026-11-01 13:44:20 +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
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
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