Skip to content

Centralized configuration management service setup#391

Merged
Mkalbani merged 8 commits into
MindFlowInteractive:mainfrom
Guddy1-tech:Centralized-Configuration-Management-Service-Setup
Jun 27, 2026
Merged

Centralized configuration management service setup#391
Mkalbani merged 8 commits into
MindFlowInteractive:mainfrom
Guddy1-tech:Centralized-Configuration-Management-Service-Setup

Conversation

@Guddy1-tech

@Guddy1-tech Guddy1-tech commented Jun 27, 2026

Copy link
Copy Markdown

closes #
#356

Summary

Adds a standalone NestJS configuration service for managing environment-specific settings, feature flags, encrypted secrets, and real-time configuration updates.

Changes

  • Added Config, Environment, Secret, Version, Audit Log, and Webhook entities
  • Added default dev, staging, and prod environments
  • Added cached startup configuration endpoints
  • Added API-key-protected configuration management endpoints
  • Added AES-256-GCM secret encryption and key rotation
  • Added immutable configuration version history and rollback
  • Added configuration and secret audit logging
  • Added signed webhook notifications with retry support
  • Added Docker and PostgreSQL Compose configuration
  • Added service setup and API documentation
  • Added encryption and cache unit tests

Key Endpoints

  • GET /v1/config/:service/:environment
  • GET /v1/config/:service/:environment/resolve
  • PUT /v1/config/:service/:environment/:key
  • DELETE /v1/config/:service/:environment/:key
  • PUT /v1/secrets/:service/:environment/:key
  • POST /v1/secrets/:service/:environment/rotate
  • GET /v1/versions/:resourceId
  • POST /v1/versions/:resourceId/:version/rollback
  • GET /v1/audit-logs
  • GET|POST|PATCH /v1/webhooks

Security

  • Administrative and secret endpoints require x-config-api-key
  • Secret values are encrypted using AES-256-GCM
  • Secret values are excluded from write, version, and audit responses
  • Webhooks support HMAC-SHA256 signatures
  • Audit entries identify callers through x-actor-id

Verification

  • npm run build
  • npm run type-check
  • npm test
  • 3 unit tests passing
  • git diff --check
  • Docker runtime test—not run because Docker is unavailable in the development workspace

Configuration

Required production variables:

  • CONFIG_API_KEY
  • ENCRYPTION_KEY
  • DB_HOST
  • DB_PORT
  • DB_USER
  • DB_PASSWORD
  • DB_NAME

Generate an encryption key with:

openssl rand -base64 32

feat(configuration): create configuration service, controller, and module

feat(environment): add environment service, controller, and module

feat(secret): develop secret management service, controller, and module

feat(webhook): introduce webhook service, controller, and module

test(e2e): add end-to-end tests for application and configuration service

test(unit): implement unit tests for configuration service

chore: add TypeScript configuration files for build and testing
@drips-wave

drips-wave Bot commented Jun 27, 2026

Copy link
Copy Markdown

Hey @Guddy1-tech! 👋 It looks like this PR isn't linked to any issue.

If this PR is for one of the issues assigned to you as part of a Wave, please link it to ensure your contribution is tracked properly. You can do this by adding a keyword to the PR description (e.g., Closes #123), or by clicking a button below:

Issue Title
#356 Centralized Configuration Management Service Setup Link to this issue
#361 Cache Warming and Preloading Service Setup Link to this issue

ℹ️ Learn more about linking PRs to issues

@Mkalbani Mkalbani merged commit abfc0f4 into MindFlowInteractive:main Jun 27, 2026
11 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants