Files
Fusion 4e2edb1d93 feat: implement git repository management
- Add backend API for git repository CRUD (create, list, delete)
- Support bare repository initialization and mirror cloning
- Add cascade delete for repositories when project is deleted
- Add frontend page for repository management per project
- Update project page with link to repositories
- Add repo_base_path to config
- Quality gates: ruff, mypy, typecheck, lint, build all pass
2026-05-18 15:47:42 +02:00

39 lines
1.2 KiB
Markdown

## ADDED Requirements
### Requirement: SSH Key Generation
The system SHALL generate Ed25519 SSH key pairs and encrypt the private key with Fernet.
#### Scenario: Generate key
- **WHEN** an authenticated user requests a new SSH key with a name
- **THEN** an Ed25519 key pair is generated
- **AND** the private key is encrypted with Fernet
- **AND** the public key is stored in OpenSSH format
- **AND** the key is associated with the user
### Requirement: SSH Key Listing
The system SHALL list all SSH keys for the authenticated user.
#### Scenario: List keys
- **WHEN** an authenticated user views their SSH keys
- **THEN** all their keys are listed with name, public key preview, and created date
### Requirement: SSH Key Display
The system SHALL display public keys for copying.
#### Scenario: Copy public key
- **WHEN** an authenticated user views an SSH key
- **THEN** the full public key is displayed in OpenSSH format
- **AND** a copy-to-clipboard button is available
### Requirement: SSH Key Deletion
The system SHALL support key removal.
#### Scenario: Delete key
- **WHEN** an authenticated user deletes an SSH key
- **THEN** it's removed from the database
- **AND** the key files are deleted if stored on disk