Watch
0
0
Fork
You've already forked hyperhive
0

swarm: keep the webhook secret on read errors; surface hidden KV/auth/forge failures

- swarm-controller webhook: regenerate the secret only when the file is
  absent. Any other read error is returned with the path; the caller
  already logs "webhook secret unavailable" and the endpoint answers 503.
  Overwriting meant every registered hook kept the old secret and every
  delivery failed HMAC, with nothing re-registering them.
- swarm-queue-client wanted: open_read_only/watch return Result; only
  STREAM_NOT_FOUND on the bucket maps to None. hive-c0re's wanted pull
  fails the DAG node with the cause instead of logging "nothing has been
  declared"; the watch warns with the error chain.
- swarm-nats-auth: warn when the OIDC secret re-read task dies.
- swarm-controller forge: listing a repo's config PRs failing is warn,
  not debug.

Closes #5056
This commit is contained in:
atlas 2026-10-09 13:01:50 +02:00 • committed by mara
commit 7129ee0015
6 changed files with 147 additions and 30 deletions

View file

@ -197,7 +197,18 @@ impl<S: Source> OidcSecret<S> {
}
});
let handle = task.abort_handle();
let shared = task.map(|read| read.unwrap_or(false)).boxed().shared();
let shared = task
.map(|read| {
read.unwrap_or_else(|e| {
tracing::warn!(
error = %e,
"the OIDC client secret re-read task died; keeping the one in use"
);
false
})
})
.boxed()
.shared();
*slot = Some((handle, shared.clone()));
shared
}