Relationships
#2902 Docs: account requirement and auth gate (swamp-club#2231)
Opened by stack72 · 10/1/2026· Shipped 10/1/2026
Docs for the auth gate (swamp-club#2231), needed before it launches. From this release, every swamp subcommand needs a swamp-club.com account. Design reference: design/surfaces/auth-gate.md in the swamp repo.
Behaviour the docs must cover
Account required. Every subcommand needs a credential:
swamp auth login, or a collective key viaSWAMP_API_KEY,SWAMP_API_KEY_FILEor--club-api-key-file.Exempt. These work without an account:
- bare
swamp,--help/-hand--version/-V; swamp auth login,swamp auth logoutandswamp auth whoami;swamp help [command...],swamp completions <shell>,swamp versionandswamp update.
Everything else is gated, including
init,serve,workeranddoctor.updatestays available so a blocked user can install a fixing release, including after a signing-key rotation.- bare
Signed proof, offline use.
auth login(and any whoami) caches a signed proof (~/.config/swamp/auth_verified.json), valid for 14 days. While it is valid, swamp runs with no network call and keeps working through a swamp-club outage. It is refreshed in the background once it is more than 7 days old.Blocks.
- A revoked key always blocks.
- Without a valid proof, swamp must reach swamp-club once.
- An unreachable swamp-club, a 429, or a 403 from a proxy or firewall blocks.
- A 5xx from swamp-club fails open for at most 24 hours.
Error messages. There is one for each case: no account, revoked, not verified in N days, could not reach swamp-club, refused (rate limited or blocked), and unverified for over 24 hours. JSON mode returns code
auth_gate_blocked, plus areasonobject (kind:no_credential,revoked,refused,unreachable_unverifiedorunverified_for_a_day, withstatus,retryAfterSecondsordaysSinceVerificationwhere they apply) andtemporary. Temporary blocks (refused, unreachable, swamp-club failing for a day) exit 75 so CI can retry them; a missing or revoked credential exits 1.CI. Set both
SWAMP_API_KEYandSWAMP_SIGNIN_TOKEN. The signin token is shown once when the collective token is created, on the swamp-club page and byswamp auth token create. It lets CI run while swamp-club is unreachable. It is checked live at most once an hour per key, and a revoked key blocks. Rotating the API key needs a new signin token.Daemons.
swamp serve daemon enableandswamp worker daemon enablepoint the service at the enabling user's config dir, so log in as that user first. Worker daemons enabled before this release must be re-enabled. Containers setSWAMP_API_KEYplusSWAMP_SIGNIN_TOKEN.Logout.
swamp auth logoutalso clears the cached proof.Removed. The "authentication required from October 1st" warning is gone.
Manual pages to update or add (swamp-club content/manual)
- how-to/authenticate-with-api-keys.md: add
SWAMP_SIGNIN_TOKENand CI setup. - how-to/swamp-serve/run-as-system-daemon.md: daemon credentials, and re-enabling worker daemons.
- how-to/swamp-serve/deploy-on-kubernetes.md, how-to/swamp-serve/deploy-headless-oauth.md, how-to/swamp-serve/run-multi-instance-deployment.md: container credentials, including the signin token.
- tutorials/your-first-automation.md and the other tutorials: add a
swamp auth loginstep before the first command. - how-to/troubleshoot-your-swamp-repo.md: each block message, its cause and its fix.
- explanation/api-key-scoping.md: how the signin token relates to the API key.
- New explanation page: why swamp requires an account and how offline operation works (signed proof, 14-day expiry, weekly refresh, 24-hour fail-open on swamp-club errors).
- Release notes / upgrade note: the account requirement, CI secrets, and re-enabling worker daemons.
Shipped
Click a lifecycle step above to view its details.
Sign in to post a ripple.