Files
headquarter/openspec/changes/archive/2025-05-18-ssh-key-management/specs/ssh-key-management/spec.md
T
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

1.2 KiB

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