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 71e7fd8b20 swarmctl: serve login callbacks concurrently, retry a refused token once, test the refresh lock and the socket path
The loopback listener served one connection at a time with no read
timeout, so a connection that never sent a request (a browser preconnect,
any local process) held up the real form_post until the 5-minute wait
ran out. Each connection now runs on its own task and the first final
answer wins. The callback body is capped at 16 KiB; over the cap it reads
as empty and can't complete the login.

A request the gateway answers 401 now triggers one refresh (under the
cache lock, skipped if another process already replaced the refused
token) and one retry; a second 401 says to run `swarmctl login`.

The login cache directory is a `Swarm` field so tests can point it at a
scratch directory. New tests: an idle connection does not block the real
callback; an oversized body is refused without ending the wait; two
concurrent refreshers refresh once and share the token; a refused token
is refreshed once and retried; a second 401 says to log in without a
further retry; with no `--swarm`, the verbs use the controller socket.
2026-10-12 01:25:58 +02:00
..
agent.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
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 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
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: 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
remote.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
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