Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/swarmctl/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 248df20164 swarmctl: bound every gateway and authelia request to 5 s connect, 30 s total
Swarm::http() built a reqwest client with no timeout. A token refresh runs
under the exclusive flock on the login cache (kept: authelia rotates the
refresh token, and a second refresher presenting the used one revokes the
login), so an authelia that accepted the refresh and never answered held
that lock forever and every other `swarmctl --swarm` invocation blocked
behind it in flock.

The client now has a 5 s connect timeout and a 30 s total timeout, the
pair swarm-controller's own clients of swarm services use. No caller
streams a response (every gateway call and every login POST reads one
whole body), so a total bound fits all of them. The lock is unchanged; it
is now held at most for one bounded request.

Closes #5308
2026-10-15 12:48:33 +02:00
..
agent.rs swarmctl: drop agent mint-identity and its controller route 2026-10-13 08:08:06 +02:00
forge.rs swarmctl: log in with the operator's own SSO account and reach the controller through the swarm domain 2026-10-12 01:25:58 +02:00
inference.rs swarm-ui: per-agent cap on concurrently running subagents 2026-10-14 10:13:29 +02:00
login.rs swarmctl: serve login callbacks concurrently, retry a refused token once, test the refresh lock and the socket path 2026-10-12 01:25:58 +02:00
main.rs swarmctl: --swarm works after the subcommand, takes a bare domain, and login defaults to the host's swarm 2026-10-14 10:15:09 +02:00
remote.rs swarmctl: bound every gateway and authelia request to 5 s connect, 30 s total 2026-10-15 12:48:33 +02:00
schedule.rs swarmctl: log in with the operator's own SSO account and reach the controller through the swarm domain 2026-10-12 01:25:58 +02:00
users.rs nix(authelia): start with a disabled placeholder user when the user set is empty 2026-10-02 12:50:47 +02:00