Files
headquarter/openspec/changes/ssh-key-management/tasks.md
T
Fusion a441ea2fac 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 ✓
2026-05-18 14:44:21 +02:00

958 B

1. Backend SSH Key API

  • 1.1 Create apps/api/src/api/ssh_keys.py with endpoints for list, generate, and delete SSH keys.
  • 1.2 Implement Ed25519 key generation using cryptography library.
  • 1.3 Implement Fernet encryption for private keys.
  • 1.4 Add Pydantic schemas for SSHKeyCreate, SSHKeyResponse.
  • 1.5 Register ssh_keys router in apps/api/src/main.py.
  • 1.6 Add backend tests for SSH key CRUD operations.

2. Frontend SSH Keys Page

  • 2.1 Create apps/web/src/api/ssh_keys.ts with API methods.
  • 2.2 Create apps/web/src/pages/ssh-keys.tsx with key list, generate form, and delete action.
  • 2.3 Add /ssh-keys route in apps/web/src/router.tsx.
  • 2.4 Update app shell navigation to include SSH keys link.

3. Verification

  • 3.1 Run backend checks (pytest, ruff, mypy).
  • 3.2 Run frontend checks (npm test, typecheck, lint, build).
  • 3.3 Update tasks file with completed checkboxes.