Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/nix/module-eval
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas c2c61b6146 hive status publishing: read the hive's OIDC secret from the store, retry until it is there
hive-c0re publishes this hive's status to the swarm queue as the OIDC
client `hive-<name>`. Its secret came from
`deploy.hive-controller.statusPublish.clientSecretFile`, which defaulted
to authelia's minted file only on a host running both authelia and the
queue. Every other hive had no secret and never published, so the
controller showed it `never_reported`.

Now `swarm-secret-publish`, beside authelia, also copies each hive's
`hive-<name>` secret to `swarm/hives/<hive>/oidc/client`. Its policy
already allows `swarm/hives/*`. hive-c0re reads that path under the
hive's own store leaf, which the existing `swarm/hives/<hive>/*` grant
covers, and holds the value in memory.

The shared queue client no longer remembers a failed first connect for
the life of the process. A failed attempt is retried with a backoff
from 5s, doubling to a cap of 5 minutes; the dashboard banner stays up
until an attempt succeeds. The two status publishers wait for the
client instead of giving up on the first `None`, so a secret published
after boot is picked up without a restart.

Removed: the `statusPublish.clientSecretFile` option (both spellings,
now removed options with a message), its same-host default, its
LoadCredential, the assertion tying it to the other two coordinates,
and `swarm_queue_client::QueueConfig::from_env`, whose only caller was
this read. Publishing is now on wherever the queue URL and token
endpoint are set and the hive holds a store leaf.

Refs #5015
2026-10-10 01:05:33 +02:00
..
agent-forge-bao.nix forge: external forge accounts live in swarm bao; the agent fetches them itself 2026-10-01 18:05:33 +02:00
agent-github-bao.nix github swarm bao: address argus review on #4892 2026-10-02 17:54:45 +02:00
agent-icon.nix nix: split module-eval into per-subsystem checks 2026-09-20 04:25:54 +02:00
agent-matrix.nix nix: comments state current behaviour, not history 2026-10-05 09:58:50 +02:00
agent-memory.nix hive-bash-daemon: keep sibling tasks alive when one is OOM-killed 2026-10-07 18:18:15 +02:00
agent-otel.nix module-eval: assert the severity table once, not once per tier 2026-09-20 14:23:56 +02:00
agent-plugins.nix nix: split module-eval into per-subsystem checks 2026-09-20 04:25:54 +02:00
agent-queue-bao.nix hive-agent: the swarm queue connection is required; retry, then exit 2026-10-04 22:24:51 +02:00
agent-runtime.nix module-eval: pin a claude agent's subagent store identity 2026-10-03 01:34:01 +02:00
agent-user.nix module-eval: agent-user test asserts the heal_own_dir form 2026-10-09 11:30:30 +02:00
bao-basics.nix matrix: drop the per-hive appservice and its unused token 2026-10-05 07:48:17 +02:00
bao-controller.nix swarm-controller reads its forge token from the store, not a host file 2026-10-08 13:25:47 +02:00
bao-grants.nix swarm-controller reads its forge token from the store, not a host file 2026-10-08 13:25:47 +02:00
bao-matrix-reader.nix swarm-nats, matrix: the queue's and matrix-ctl's store identity paths are their own, not the hive's 2026-10-06 12:04:48 +02:00
bao-otel-collector.nix nix: finish the current-behaviour comment sweep in touched files 2026-10-05 09:58:57 +02:00
core-toggle.nix swarm-controller reads its forge token from the store, not a host file 2026-10-08 13:25:47 +02:00
forge-placement.nix swarm-bao-forge-publisher starts on the deploy that adds it 2026-10-08 13:59:26 +02:00
grafana.nix nix: comments state current behaviour, not history 2026-10-05 09:58:50 +02:00
hive-otel.nix swarm-bao: give the store's collector an explicit self-telemetry port 2026-09-23 18:04:33 +02:00
hive-tls.nix hive-tls: the root fetch presents the hive identity, as on main 2026-10-06 14:54:07 +02:00
journald-severity.nix module-eval: assert the severity table once, not once per tier 2026-09-20 14:23:56 +02:00
lib.nix module-eval: set the hive-controller option only in tests that need a hive 2026-10-05 09:58:13 +02:00
matrix-core.nix module-eval: set the hive-controller option only in tests that need a hive 2026-10-05 09:58:13 +02:00
name-guards.nix swarm-controller reads its forge token from the store, not a host file 2026-10-08 13:25:47 +02:00
nats-authelia.nix swarm: per-agent inference settings (model, effort, subagent_models) in KV 2026-10-09 23:13:13 +02:00
nats-tls.nix 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
secret-publisher.nix 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-otel-core.nix nix: follow-ups from the service/deploy split 2026-10-05 19:12:46 +02:00
swarm-otel-identity.nix hive-tls: a gateway host without the services-issuer pair evaluates and goes red at runtime 2026-10-06 14:54:07 +02:00
swarm-services-switch.nix hive-forge: mirror actions/upload-artifact alongside actions/checkout 2026-10-09 10:40:28 +02:00