a441ea2fac
- Add backend API endpoints for SSH key CRUD (POST, GET, DELETE) - Implement Ed25519 key generation with Fernet-encrypted private keys - Add frontend SSH keys page with generate, list, and delete functionality - Include copy-to-clipboard for public keys - Add responsive CSS styles for key cards - Register ssh_keys router in main.py - Add basic auth tests for SSH key endpoints Quality gates: ruff ✓, mypy ✓, typecheck ✓, lint ✓
26 lines
748 B
Markdown
26 lines
748 B
Markdown
## Why
|
|
|
|
SSH keys are required for git operations with external providers. Currently the SSHKey model exists but there's no API or UI to generate, manage, or use SSH keys.
|
|
|
|
## What Changes
|
|
|
|
- Add backend API endpoints for SSH key CRUD operations
|
|
- Implement Ed25519 key generation with Fernet encryption for private keys
|
|
- Add frontend page for SSH key management
|
|
- Display public keys with copy functionality
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
- `ssh-key-management`: Generate and manage SSH keys for git operations
|
|
|
|
### Modified Capabilities
|
|
- None
|
|
|
|
## Impact
|
|
|
|
- `apps/api/src/api/`: New ssh_keys.py router
|
|
- `apps/api/src/models/ssh_key.py`: May need updates
|
|
- `apps/web/src/`: New SSH keys page
|
|
- `apps/api/src/main.py`: Register new router
|