Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/swarm-secret-client/src
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
..
acp.rs hive-runtime: read the ACP provider key from bao 2026-09-30 22:55:03 +02:00
ci.rs swarm-ci-runner: run the forge CI runner as a swarm service 2026-10-05 13:55:37 +02:00
client.rs swarm-secret-client: bound vault requests with a 30s timeout 2026-10-09 15:11:38 +02:00
forge.rs swarm-controller reads its forge token from the store, not a host file 2026-10-08 13:25:47 +02:00
github.rs github swarm bao: address argus review on #4892 2026-10-02 17:54:45 +02:00
lib.rs swarm-secret-client: bound vault requests with a 30s timeout 2026-10-09 15:11:38 +02:00
matrix.rs matrix: drop the per-hive appservice and its unused token 2026-10-05 07:48:17 +02:00
mtls.rs swarm: mint, publish and login-verify an agent's store identity at create 2026-09-18 15:05:24 +02:00
path.rs swarm-ci-runner: run the forge CI runner as a swarm service 2026-10-05 13:55:37 +02:00
policy.rs swarm-secret-client: hives no longer read swarm/services/* 2026-10-04 23:11:11 +02:00
queue.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