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
..
hive-c0re
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
hive-forge
write secret and key files atomically with their final mode
2026-10-09 17:22:25 +02:00
hive-gateway
swarm CA: describe the store's pki root as the only anchor in docs and comments
2026-10-05 21:17:10 +02:00
lib
swarm-nats: the auth responder's store identity path is its own, not the hive's
2026-10-06 10:04:30 +02:00
swarm-grafana /dashboards
swarm-grafana: drop stale windows from the subscription usage line, match sibling panel interval
2026-10-07 23:54:53 +02:00
bao-bootstrap-policy.hcl
bao: disable the unused approle auth method, declaratively
2026-09-28 22:58:36 +02:00
default.nix
hive-tls: the gateway leaf uses the services-issuer identity, not a hive's
2026-10-06 14:54:07 +02:00
deploy.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
glue-bao-readers-policy-order.nix
swarm-controller reads its forge token from the store, not a host file
2026-10-08 13:25:47 +02:00
glue-bao-tls.nix
swarm-controller reads its forge token from the store, not a host file
2026-10-08 13:25:47 +02:00
glue-bao-ui-oidc-client.nix
bao: OIDC login to the browser UI via authelia, as a metadata-only viewer
2026-09-28 19:56:38 +02:00
glue-controller-bao-identity.nix
nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable
2026-09-26 01:19:49 +02:00
glue-controller-oidc-client.nix
swarm: OIDC clients registered wherever authelia runs; nats + matrix secrets from bao
2026-10-05 09:58:02 +02:00
glue-forge-oidc-client.nix
nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable
2026-09-26 01:19:49 +02:00
glue-grafana-oidc-client.nix
nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable
2026-09-26 01:19:49 +02:00
glue-hive-tls-bao-identity.nix
hive-tls: the gateway leaf uses the services-issuer identity, not a hive's
2026-10-06 14:54:07 +02:00
glue-matrix-ctl-bao-identity.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
glue-matrix-oidc-client.nix
swarm: OIDC clients registered wherever authelia runs; nats + matrix secrets from bao
2026-10-05 09:58:02 +02:00
glue-nats-auth-bao-identity.nix
swarm-nats: the auth responder's store identity path is its own, not the hive's
2026-10-06 10:04:30 +02:00
glue-nats-bao-identity.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
glue-nats-oidc-client.nix
swarm: OIDC clients registered wherever authelia runs; nats + matrix secrets from bao
2026-10-05 09:58:02 +02:00
glue-queue-agent-credential.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
glue-secret-publisher-bao-identity.nix
nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable
2026-09-26 01:19:49 +02:00
glue-swarm-bao-otel-oidc-client.nix
ops: update option pointers after grafana/bao split
2026-10-01 09:53:04 +02:00
glue-swarm-otel-oidc-client.nix
ops: update option pointers after otel split
2026-10-01 13:00:40 +02:00
hive-matrix-service.nix
swarm-controller: revoke matrix admin from former operators
2026-10-05 12:39:02 +02:00
hive-matrix.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
hive-network.nix
swarm-ci-runner: run the forge CI runner as a swarm service
2026-10-05 13:55:37 +02:00
hive-priv.nix
swarm-ci-runner: run the forge CI runner as a swarm service
2026-10-05 13:55:37 +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
host-ca-removed.nix
hive CA: catch a deleted CA file however its path is spelled
2026-10-05 21:17:10 +02:00
hyperhive.nix
nix: finish the current-behaviour comment sweep in touched files
2026-10-05 09:58:57 +02:00
local-defaults.nix
swarm-nats: take the callout issuer and user keys from the store
2026-10-06 14:53:33 +02:00
nats-callout-removed.nix
nats-callout-removed: remove the container's OIDC secret copy here, ungated
2026-10-06 15:25:29 +02:00
otel.nix
swarm CA: describe the store's pki root as the only anchor in docs and comments
2026-10-05 21:17:10 +02:00
stylix-theme.nix
swarm-ui: apply the operator's stylix theme, same as the dashboard already does
2026-08-24 14:28:25 +02:00
swarm-authelia-service.nix
nix: follow-ups from the service/deploy split
2026-10-05 19:12:46 +02:00
swarm-authelia.nix
write secret and key files atomically with their final mode
2026-10-09 17:22:25 +02:00
swarm-bao-service.nix
nix: split swarm-bao into service and deploy-mode files
2026-10-01 09:37:36 +02:00
swarm-bao.nix
write secret and key files atomically with their final mode
2026-10-09 17:22:25 +02:00
swarm-ci-runner.nix
deploy: forward swarm.forge.ci to deploy.ci-runner, say what the forwarded enable needs
2026-10-05 21:36:11 +02:00
swarm-controller.nix
swarm-bao-forge-publisher starts on the deploy that adds it
2026-10-08 13:59:26 +02:00
swarm-grafana-service.nix
nix: finish the "moved to" comment sweep
2026-10-05 09:59:02 +02:00
swarm-grafana.nix
hive-c0re: a refused rev is an error log + Grafana alert, not a PR comment
2026-10-09 22:25:39 +02:00
swarm-nats-service.nix
nix: finish the "moved to" comment sweep
2026-10-05 09:59:02 +02:00
swarm-nats.nix
swarm: per-agent inference settings (model, effort, subagent_models) in KV
2026-10-09 23:13:13 +02:00
swarm-otel-service.nix
swarm-otel: name the port-collision assertion instead of pointing below
2026-10-05 19:22:55 +02:00
swarm-otel.nix
swarm CA: describe the store's pki root as the only anchor in docs and comments
2026-10-05 21:17:10 +02:00
swarm-peers-removed.nix
swarm CA: retire the host-held root CA, the store holds the only anchor
2026-10-05 21:17:10 +02:00
swarm-required-services.nix
nix: run the forge on one host per swarm (deploy.forgejo.enable)
2026-09-24 23:56:07 +02:00
swarm-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-snapshot-store.nix
deploy: move the wireguard mesh out of the namespace hives read
2026-09-07 14:24:52 +02:00
swarm-ui.nix
nix: finish the current-behaviour comment sweep in touched files
2026-10-05 09:58:57 +02:00
swarm-victorialogs-service.nix
nix: split swarm-victorialogs into service and deploy-mode files
2026-10-01 10:03:55 +02:00
swarm-victorialogs.nix
nix: comments state current behaviour, not history
2026-10-05 09:58:50 +02:00
swarm-victoriametrics-service.nix
nix: follow-ups from the service/deploy split
2026-10-05 19:12:46 +02:00
swarm-victoriametrics.nix
swarm-ui: build the forge link from swarm.forge.domain
2026-10-02 20:02:02 +02:00
swarm-wireguard.nix
swarm options: no swarm.* value depends on a deploy option or this host's hive
2026-10-04 18:13:47 +02:00
swarm.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