Skip to content

Refactor: Implement Centralized Configuration Service with Dynamic Reloading #481

Description

@Smartdevs17

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

Metadata

Metadata

Assignees

Labels

200-points200 point issueStellar WaveIssues in the Stellar wave programdrips-waveIssues in the Drips Wave programhighHigh complexity issue

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions