Commit Graph

3 Commits

Author SHA1 Message Date
Chris Farhood 3908251f6e feat: base-path support (ROOT_PATH) for serving under /portal
build-image / test (push) Successful in 33s
build-image / build (push) Successful in 29s
Links, form actions, and redirects are prefixed with the gateway path prefix so
the portal can be served at intervalsicu.farhoodlabs.com/portal (gateway strips
/portal; FastAPI root_path generates correct URLs). Connector URL is configurable.
2026-07-04 21:25:12 -04:00
Chris Farhood 2e09009e11 feat(oidc): request configurable scopes incl. groups (admin gate)
build-image / test (push) Successful in 28s
build-image / build (push) Successful in 22s
2026-07-04 20:58:24 -04:00
Chris Farhood bb5e9d518c feat: Intervals.icu MCP portal (FastAPI + Authentik OIDC)
build-image / test (push) Successful in 37s
build-image / build (push) Successful in 25s
- OIDC login via Authentik; first login creates a disabled user (admin approval).
- Users set/replace their Intervals.icu athlete ID + API key; the key is validated
  against Intervals.icu and stored AES-256-GCM encrypted (shared key with the MCP
  server). Same users table (schema owned by the MCP server's migrations).
- Admin page (gated on the intervalsicu-mcp-admins group claim): list, approve,
  disable, delete users.
- 29 tests @ 93% (OIDC routes integration-only); Dockerfile asserts templates are
  packaged; .gitea CI test-gates the image build.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 20:51:46 -04:00