Solves the OIDC-only bootstrap lockout (admin can't reach the in-app
OIDC settings page when password login is disabled and OIDC is unset).
- Frontend image entrypoint injects /runtime-config.js from the
deploy-time HARBORFORGE_OIDC_ONLY env so the SPA knows the mode
before the backend exists.
- Setup wizard gains an "OIDC" step (between Admin and Backend):
required when OIDC-only (incl. admin's OIDC subject so the bootstrap
admin can sign in), optional otherwise; written into harborforge.json.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Login page with JWT auth
- Dashboard with stats and charts
- Issues list with pagination, filtering
- Issue detail with comments, status transitions
- Create issue form
- Dark theme UI
- Docker (nginx) with API proxy to backend
- Sidebar navigation