archbilesherman opened a new pull request, #473:
URL: https://github.com/apache/airavata-custos/pull/473
## Summary
This PR adds the initial `portal/` implementation for the SSH Certificate
Signer user dashboard described in #465.
The SSH Certificate Signer issues short-lived, identity-bound OpenSSH user
certificates for HPC access. This portal provides the first user-facing surface
for viewing, inspecting, and revoking those certificates.
## What changed
- Added a Next.js + TypeScript + Tailwind portal under `portal/`.
- Added a generic HPC/science gateway portal shell with sidebar, header, and
placeholder sections for future portal areas.
- Implemented the SSH Certificates dashboard:
- certificate list page
- certificate detail route via each row’s `More` action
- revoke confirmation flow for active certificates
- status filtering for active, expired, revoked, and all certificates
- username/principal filtering where supported by the API/data
- clear loading, empty, and error states
- Integrated with the Signer API through the portal API proxy:
- `GET /api/v1/userinfo`
- `GET /api/v1/certificates`
- `GET /api/v1/certificates/{serial}`
- `POST /api/v1/revoke`
- Added configurable sign-in/sign-out URL handling.
- Kept the UI generic for HPC SSH certificate management and avoided
deployment-specific branding.
- Added unit tests for the React hooks that load user info, certificates,
certificate details, and revoke state.
## Validation
Ran from `portal/`:
```bash
npm run typecheck
npm run lint
npm test -- --run
npm run build
npm run test:e2e
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]