8b4784f5ed
- Archive config-secrets (FN-009) - 31 tasks complete - Archive runfusion-poc (FN-008) - 25 tasks complete - Archive deployment-config (FN-006) - 27 tasks complete - All changes moved to openspec/changes/archive/
30 lines
1.5 KiB
Markdown
30 lines
1.5 KiB
Markdown
## Why
|
|
|
|
Tool instances need runtime configuration and secrets (API keys, database passwords, etc.). The backend has Config and Secret models (FN-004), but there's no UI for users to manage these values, and no runtime injection mechanism to pass them into spawned containers.
|
|
|
|
## What Changes
|
|
|
|
- **Config management UI**: Frontend pages for creating, updating, and deleting config values at global/user/project/instance scopes
|
|
- **Secret management UI**: Frontend pages for encrypted secret storage with masked value display
|
|
- **Runtime injection**: Backend service that mounts configs and secrets into tool containers at spawn time
|
|
- **Scope-based access control**: Configs/secrets respect scope hierarchy (global → user → project → instance)
|
|
- **Encryption verification**: Ensure Fernet encryption is properly applied to all secret values
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
- `config-management`: CRUD operations for configuration values with scope support
|
|
- `secret-management`: Encrypted storage and retrieval of sensitive values
|
|
- `runtime-injection`: Mount configs and secrets into tool containers at spawn
|
|
|
|
### Modified Capabilities
|
|
- None (extends existing Config/Secret models)
|
|
|
|
## Impact
|
|
|
|
- **apps/web/src/**: New config and secret management pages
|
|
- **apps/api/app/routers/configs.py**: Enhanced with scope filtering
|
|
- **apps/api/app/routers/secrets.py**: Enhanced with scope filtering
|
|
- **apps/api/app/services/**: New runtime injection service
|
|
- **apps/api/app/models/**: Potential Config/Secret model updates for scope validation
|