Accounts Component -- common-module 6.x Migration
Status: Completed
Repository: accounts-component
Branch: jmpicnic/adopt-common-6x
Version: accounts-component 1.11.0 (from 1.10.x)
Migrate accounts-component from common-module 5.4.1 to 6.7.0, adopting the ComponentBuilder / ModuleRegistry DSL and adding the OAM configuration endpoint.
What Was Delivered
Section titled “What Was Delivered”The migration covered four module files and the component runtime entry point, plus infrastructure changes:
Code Changes
Section titled “Code Changes”- Updated
gradle/libs.versions.tomltoarda-common-version = "6.7.0". - Rewrote
Main.ktto useComponent.build()and thebuilder.module { }DSL. Removed theConfigurationsdata class andgetConfigurations()function. - Updated all 4 module files (
TenantModule,AgentForModule,UserAccountModule,InvitationModule) to add aModuleRegistryparameter and callconfigureServer(this, registry). - Updated
ComponentStartUpConfigurationTest.ktto use the newComponentBuilderpattern. - Verified and fixed testcontainers 1.x to 2.x import changes where needed.
Infrastructure Changes
Section titled “Infrastructure Changes”- Added
OamRoutetopost-install.cfn.ymlfor API Gateway path/accounts/oam/{proxy+}. - Added OAM path conditional block to
ingress.yamlfor Nginx ingress rule/accounts/oam.
API Tests
Section titled “API Tests”- Added
configuration.bruto theapi-testcollection foraccounts-componentverifying the/accounts/oam/configurationendpoint. - Added parallel test for
operations-componentat/operations/oam/configuration.
What the OAM Endpoint Provides
Section titled “What the OAM Endpoint Provides”GET /accounts/oam/configuration returns a JSON response describing the component and its registered modules:
{ "component": "accounts", "version": "1.11.0", "modules": [ { "name": "tenant", ... }, { "name": "user-account", ... }, { "name": "agent-for", ... }, { "name": "invitation", ... } ]}This endpoint is provided by common-module’s ModuleRegistry and requires no implementation in accounts-component beyond calling configureServer(this, registry).
Related Projects
Section titled “Related Projects”- Component Inventory (common-module v6.6.0) — the project that delivered the
ModuleRegistryandComponentBuilderDSL.
Copyright: © Arda Systems 2025-2026, All rights reserved