024278a3d2
- Add proposal, design, specs, and tasks for git connection model - Include provider adapter, credential storage, SSH key lifecycle specs - Add repository connection API and git operations specifications
28 lines
1023 B
Markdown
28 lines
1023 B
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: SSH keys are generated per repository
|
|
The system SHALL generate Ed25519 SSH key pairs for each repository connection.
|
|
|
|
#### Scenario: Generate key pair
|
|
- **WHEN** a repository connection is created
|
|
- **THEN** the system generates an Ed25519 key pair
|
|
- **AND** stores the private key encrypted
|
|
- **AND** returns the public key for deploy key registration
|
|
|
|
#### Scenario: Retrieve public key
|
|
- **WHEN** a user requests the public key for a connection
|
|
- **THEN** the system returns the SSH public key string
|
|
|
|
### Requirement: SSH keys support lifecycle operations
|
|
The system SHALL support rotating and revoking SSH keys.
|
|
|
|
#### Scenario: Rotate key
|
|
- **WHEN** a user rotates an SSH key
|
|
- **THEN** the system generates a new key pair
|
|
- **AND** updates the deploy key on the provider
|
|
- **AND** deletes the old key pair
|
|
|
|
#### Scenario: Revoke key
|
|
- **WHEN** a connection is deleted
|
|
- **THEN** the system deletes the deploy key from the provider
|
|
- **AND** securely deletes the local key pair |