Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/hive-c0re/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 89013b5408 agent permissions: hold hive-c0re's stored grant until the agent's own read
Until its first successful read of its key, the harness read its
permissions as the default set, `execution` included. So did the
subagent daemon. An agent the operator had narrowed ran wider than
granted after every restart while the queue was unreachable, and in the
gap before the first 10 s poll. During the meta-repo import, every
non-ruth key is still unset, and the agent read that as the default too,
for as long as the import stayed pending.

mara picked option (a) on #5293: "a, removal of the old path as a follow
up in 1w".

hive-c0re now writes each agent's entry from
swarm-agent-permissions.json into the agent's runtime dir as
swarm-permissions.json (/run/hive in the container), together with
whether the import is still pending. It writes the file at every start
(write_dropins) and after every 30 s pass of the permissions worker. The
harness and the subagent daemon hold that stored list until their own
first read succeeds. While the import is pending, an unset key keeps
the stored list rather than reverting it to the default. A queue that
is down never blocks a start: the agent runs on the stored grant.

The decision lives in swarm_queue_client::agent_permissions::HiveCopy,
shared by both readers.

Part of #5170.
2026-10-15 18:01:40 +02:00
..
agent_config agent permissions: hold hive-c0re's stored grant until the agent's own read 2026-10-15 18:01:40 +02:00
dashboard agent permissions: one set, tool groups included, set at agent creation 2026-10-15 18:01:40 +02:00
forge hive-c0re: a refused rev is an error log + Grafana alert, not a PR comment 2026-10-09 22:25:39 +02:00
job_queue agent permissions: one set, tool groups included, set at agent creation 2026-10-15 18:01:40 +02:00
lifecycle agent permissions: hold hive-c0re's stored grant until the agent's own read 2026-10-15 18:01:40 +02:00
socket_server agent permissions: one set, tool groups included, set at agent creation 2026-10-15 18:01:40 +02:00
stats hive-c0re: the OTEL exporter doc says it is what the container stats feed, not a second consumer 2026-10-15 08:28:10 +02:00
stores hive: remove the read-only schedules page and the old schedule store 2026-10-13 01:45:12 +02:00
workers agent permissions: hold hive-c0re's stored grant until the agent's own read 2026-10-15 18:01:40 +02:00
actions.rs hive-c0re: a deploy request for a rev applied/main already contains is a no-op 2026-10-09 22:25:39 +02:00
container_view.rs hive-c0re: the per-agent resource limit override is gone 2026-10-15 08:28:10 +02:00
coordinator.rs agent permissions: one set, tool groups included, set at agent creation 2026-10-15 18:01:40 +02:00
dashboard_events.rs agent permissions: one set, tool groups included, set at agent creation 2026-10-15 18:01:40 +02:00
gateway_nginx.rs hive-c0re, hivectl: make the htpasswd and wg key tests fail on the in-place write 2026-10-09 17:22:25 +02:00
loose_ends.rs hive-c0re: remove the approvals subsystem 2026-10-04 23:55:32 +02:00
main.rs agent permissions: one set, tool groups included, set at agent creation 2026-10-15 18:01:40 +02:00
matrix.rs matrix: drop the shared-netns claims the netns move left behind 2026-10-15 09:52:06 +02:00
meta.rs agent permissions: one set, tool groups included, set at agent creation 2026-10-15 18:01:40 +02:00
migrate.rs agent permissions: a destroyed agent's key goes with it 2026-10-15 18:01:40 +02:00
paths.rs hive-c0re: stop silently dropping errors on credential/marker writes 2026-10-09 10:24:15 +02:00
priv_client.rs agents: read the hive's name and domain at runtime, not from the build 2026-10-12 10:52:21 +02:00
secret_file.rs hive-c0re: stop silently dropping errors on credential/marker writes 2026-10-09 10:24:15 +02:00
server.rs hive-c0re: the per-agent resource limit override is gone 2026-10-15 08:28:10 +02:00
snapshot_push.rs hive-c0re: clear O_NONBLOCK on the snapshot-store socket before btrfs send gets it 2026-10-11 02:42:45 +02:00
swarm_agent_status.rs hive status publishing: read the hive's OIDC secret from the store, retry until it is there 2026-10-10 01:05:33 +02:00
swarm_notices.rs swarm: present tense + no-queue-coordinates wording 2026-09-13 12:01:58 +02:00
swarm_queue.rs swarm-queue-client: re-read a held OIDC client secret when the IdP refuses it 2026-10-13 19:16:04 +02:00
swarm_status.rs agent permissions: one set, tool groups included, set at agent creation 2026-10-15 18:01:40 +02:00
test_env.rs test(hive-c0re): one crate-wide lock for env-mutating tests 2026-08-19 01:38:54 +02:00