feat: implement SSH key management
- 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 ✓
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
## 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
|
||||
Reference in New Issue
Block a user