Server Configuration Viewer Page
Create an Angular page for viewing and editing the server configuration using the existing LsmConfig infrastructure in src/infra/config.rs.
Backend Endpoints Needed
GET /admin/config — Current server configuration (read-only or full)
PUT /admin/config — Update configuration (hot-reload where supported)
GET /admin/config/schema — JSON Schema describing valid config structure
UI Requirements
Configuration Display
- Categorized Sections: Core, Storage, Compaction, Replication, Security, etc.
- Card-based Layout: Each config section as a collapsible card
- Read-only View: Display current values with formatting
- Edit Mode: Toggle to enable editing of hot-reloadable values
Configuration Sections
- Core: dir_path, memtable_max_size, etc.
- Storage: block_size, block_cache_size_mb, encryption, compression
- Compaction: strategy, thresholds, max_sstables
- Replication: role, endpoints, sync_interval
- Security: auth_enabled, encryption_key_path
- Logging: log_level, log_format
Edit Mode
- Inline Editing: Editable fields for supported values
- Validation: Real-time validation against schema
- Diff View: Show what changed before saving
- Save/Revert: Save changes or revert to original
- Hot Reload Notice: Indicate which changes require restart
Configuration Profile System
- Profile Selector: Quick switch between presets (development, production, high-write, low-memory)
- Custom Profile: Save current settings as a named profile
- Profile Import/Export: Download/upload profiles as JSON
Acceptance Criteria
Parent Epic
#290
Server Configuration Viewer Page
Create an Angular page for viewing and editing the server configuration using the existing
LsmConfiginfrastructure insrc/infra/config.rs.Backend Endpoints Needed
UI Requirements
Configuration Display
Configuration Sections
Edit Mode
Configuration Profile System
Acceptance Criteria
Parent Epic
#290