docs(openspec): add FN-007 Git Connection Model change
- 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
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
## 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
|
||||
Reference in New Issue
Block a user