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 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_config tool_groups: add test for the case-insensitive is_known match 2026-10-09 00:50:27 +02:00
dashboard swarm-ci-runner: run the forge CI runner as a swarm service 2026-10-05 13:55:37 +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 hive-c0re: drop the remaining "mirror" wording for the removed push 2026-10-07 20:04:07 +02:00
lifecycle 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
socket_server hive-c0re: widen nix stderr predicate to cover error:/evaluation warning:, add tests 2026-10-08 00:46:23 +02:00
stats hive-c0re/swarm-*: drop clippy allows and dedupe unix_now + KV open_or_create 2026-10-09 10:25:48 +02:00
stores hive-c0re: remove the approvals subsystem 2026-10-04 23:55:32 +02:00
workers hive-c0re: bound the read-only container listing and systemctl status calls 2026-10-09 15:46:55 +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: keep is_running unbounded, bound only the periodic status reads 2026-10-09 16:18:58 +02:00
coordinator.rs container stats: measure agent disk usage through hive-priv, unknown on failure 2026-10-05 18:56:46 +02:00
dashboard_events.rs hive-c0re: remove the approvals subsystem 2026-10-04 23:55:32 +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 hive-c0re: validate forge env at startup; char-safe short revs 2026-10-09 10:51:39 +02:00
matrix.rs hive-c0re: stop silently dropping errors on credential/marker writes 2026-10-09 10:24:15 +02:00
meta.rs swarm CA: describe the store's pki root as the only anchor in docs and comments 2026-10-05 21:17:10 +02:00
migrate.rs hive-c0re: remove the approvals subsystem 2026-10-04 23:55:32 +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 hive-c0re: bound the read-only container listing and systemctl status calls 2026-10-09 15:46:55 +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 swarm-ci-runner: run the forge CI runner as a swarm service 2026-10-05 13:55:37 +02:00
snapshot_push.rs refactor(#2862): one snapshot store per swarm, not one per peer 2026-07-31 22:15:37 +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 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_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
test_env.rs test(hive-c0re): one crate-wide lock for env-mutating tests 2026-08-19 01:38:54 +02:00