Skip to content

Component Configuration Endpoint (common-module v6.6.0)

Status: In Progress — Phases 1+2 complete (10/24 tasks done) Repositories: common-module, operations, api-test Version targets: common-module v6.5.0 to v6.6.0, operations v2.15.1 to v2.16.0

Add a ModuleRegistry, ComponentBuilder, and ConfigurationEndpoint to common-module. This provides an OAM (Operations, Administration, Maintenance) HTTP endpoint that reports which modules are registered in a component and their current configuration.

Phase 1 — common-module Core Types (complete)

Section titled “Phase 1 — common-module Core Types (complete)”
  • ModuleRegistry and ModuleEntry types.
  • ConfigurationPayload, ModuleInfo, ModuleType DTOs.
  • toConfigurationPayload() conversion function.
  • Unit tests.

Phase 2 — common-module Builder and Endpoint (complete)

Section titled “Phase 2 — common-module Builder and Endpoint (complete)”
  • ComponentBuilder class.
  • Component.build() factory.
  • configureServer(app, registry) overload with deprecation of the old signature.
  • ConfigurationEndpoint route installer.
  • Integration tests.

Phase 5a — tests and review (next):

  • T-14, T-15: Bruno API tests for the configuration endpoint (can start immediately).
  • T-19: CHANGELOG update for common-module (can start immediately).
  • T-16: Code review of common-module (can start immediately).

Phase 3 — operations migration (blocked by T-20 merge):

  • T-10 through T-13: Update operations to use the new ComponentBuilder DSL.

Remaining Phase 5 — CHANGELOGs, reviews, PRs:

  • T-17, T-18: Code reviews.
  • T-21, T-23: CHANGELOG updates for operations and api-test.
  • T-22, T-24: PR merges.

All worktrees are clean as of the last session:

WorktreeBranchStatus
inventory-worktrees/registryjmpicnic/inventory/registryPhase 1 complete
inventory-worktrees/builderjmpicnic/inventory/builderPhase 2 complete
inventory-worktrees/operationsjmpicnic/inventory/operationsWaiting for T-10+
inventory-worktrees/apitestjmpicnic/inventory/apitestWaiting for T-14+

Once deployed, GET /{component}/oam/configuration returns:

{
"component": "operations",
"version": "2.16.0",
"modules": [
{ "name": "item", "type": "REFERENCE_DATA", ... },
{ "name": "business-affiliate", "type": "REFERENCE_DATA", ... }
]
}

The endpoint requires no authentication and is used by monitoring tools and deployment verification scripts to confirm the component is healthy and running the expected module set.