Context
Configuration is scattered across environment variables, JSON files, and database tables. Changing a config requires redeployment.
Current Limitation/Problem
No centralized configuration management. Feature flags, fee schedules, rate limits, and provider settings are hardcoded or in env vars. Configuration changes require code deploys.
Expected Outcome
A centralized configuration service with hierarchical overrides (default < environment < database < admin override), dynamic reloading without restart, and an admin UI.
Acceptance Criteria
- Configuration schema definition with types and validation
- Hierarchical resolution: defaults < env < database < runtime override
- Dynamic reload of changed configs on config change event
- Admin API for reading and updating configuration
- Audit log for all configuration changes
- Config change notifications to subscribed services
- Config export/import for environment migration
- Frontend admin UI for configuration management
Technical Scope
backend/src/services/config/ - configuration service
backend/src/services/config/config-store.ts - storage abstraction
- Redis pub/sub for config change notifications
- Prisma:
AppConfiguration, ConfigAuditLog models
- Frontend:
/admin/configuration - config management UI
- Migration: move existing env vars to centralized config
- Edge cases: invalid config values, partial updates, concurrent modifications
Context
Configuration is scattered across environment variables, JSON files, and database tables. Changing a config requires redeployment.
Current Limitation/Problem
No centralized configuration management. Feature flags, fee schedules, rate limits, and provider settings are hardcoded or in env vars. Configuration changes require code deploys.
Expected Outcome
A centralized configuration service with hierarchical overrides (default < environment < database < admin override), dynamic reloading without restart, and an admin UI.
Acceptance Criteria
Technical Scope
backend/src/services/config/- configuration servicebackend/src/services/config/config-store.ts- storage abstractionAppConfiguration,ConfigAuditLogmodels/admin/configuration- config management UI