CI failed on a different set of tests each run because bun runs every test
file in one process and the file order differs between machines:
- the secretsmanager route test replaced the whole ../aws module, so files
loaded after it lost awsClients, lambda and defaultAccountId (API Gateway,
SES)
- the Lightsail tests restored FLOCI_ENDPOINT by assigning undefined, which
stores the string "undefined" (runtime diagnostics)
- the auth tests used full-strength argon2 for ~30 sign-ins and timed out on
slower runners; the OIDC cleanup test cached a discovery document without
userinfo_endpoint for the shared issuer
Checked with 20 runs under bun test --randomize.
Adds enable, disable, confirm, sign-out, password reset and set-password
for one user; user group membership; group list, create and delete; and a
test sign-in that returns decoded token claims. A refused test sign-in is
an outcome rather than a 401, which would end the console session.
Also adds a generic GET for one flat item and a schema deleteImpact so
delete confirmations can say what else goes with a resource.
Adds GET /api/clouds/:cloud/diagnostics and a Diagnostics page in the
General nav. The report combines, in one call:
- runtime reachability, latency, version and edition from /_floci/health
- every service the runtime emulates, with the console pages backed by it
- per-console-service probes (the existing status check)
- EC2 instance containers from /_floci/diagnose
- console uptime, sign-in mode and active session count
Each source is optional, so a down runtime still yields a partial report.