Control Plane — microservices¶
Generated from the architecture model
This page is rendered from model/**/*.yaml by tools/docs_model during mkdocs build. Edit the YAML, not this page; hand-written design lives on the linked service, platform and plane pages.
Every logical service keeps its own design page and model entry; deployment granularity says how it is shipped at first (decision D23). Modules of a host are deployed inside that host until an extraction decision is recorded.
flowchart TB
subgraph ControlPlaneApi["ControlPlaneApi (host)"]
AgentCardService["AgentCardService"]
AgentRegistryService["AgentRegistryService"]
AgentTaskService["AgentTaskService"]
ApprovalService["ApprovalService"]
CostTelemetryService["CostTelemetryService"]
CostUsageService["CostUsageService"]
DependencyService["DependencyService"]
EnvironmentService["EnvironmentService"]
FactoryCommercialService["FactoryCommercialService"]
ModuleCatalogService["ModuleCatalogService"]
ProcessStateService["ProcessStateService"]
ProjectService["ProjectService"]
QuotaService["QuotaService"]
ReviewCenterService["ReviewCenterService"]
SkillRegistryService["SkillRegistryService"]
TaskAssignmentService["TaskAssignmentService"]
WorkflowDefinitionService["WorkflowDefinitionService"]
RunControlService["RunControlService"]
WorkflowOrchestrator["WorkflowOrchestrator"]
end
ApiTokenService[("ApiTokenService<br/>external")]
AuthorizationService[("AuthorizationService<br/>external")]
EditionService[("EditionService<br/>external")]
FeatureFlagService[("FeatureFlagService<br/>external")]
IdentityService[("IdentityService<br/>external")]
ServiceIdentityService[("ServiceIdentityService<br/>external")]
SubscriptionService[("SubscriptionService<br/>external")]
TenantService[("TenantService<br/>external")]
WorkflowReplayService["WorkflowReplayService (later)"]:::later
classDef later stroke-dasharray: 4 4;
| Service | Context | Granularity | Host | Status | Page |
|---|---|---|---|---|---|
| AgentCardService | BC-04 | module of host | ControlPlaneApi | target | design |
| AgentRegistryService | BC-04 | module of host | ControlPlaneApi | target | design |
| AgentTaskService | BC-03 | module of host | ControlPlaneApi | unmodelled | — |
| ApiTokenService | BC-32 | external / canonical | — | unmodelled | — |
| ApprovalService | BC-03 | module of host | ControlPlaneApi | unmodelled | — |
| AuthorizationService | BC-32 | external / canonical | — | unmodelled | — |
| ControlPlaneApi | BC-01 | standalone host | — | target | design |
| CostTelemetryService | BC-05 | module of host | ControlPlaneApi | unmodelled | — |
| CostUsageService | BC-05 | module of host | ControlPlaneApi | target | design |
| DependencyService | BC-01 | module of host | ControlPlaneApi | unmodelled | — |
| EditionService | BC-33 | external / canonical | — | unmodelled | — |
| EnvironmentService | BC-01 | module of host | ControlPlaneApi | target | design |
| FactoryCommercialService | BC-34 | module of host | ControlPlaneApi | target | design |
| FeatureFlagService | BC-33 | external / canonical | — | unmodelled | — |
| IdentityService | BC-32 | external / canonical | — | unmodelled | — |
| ModuleCatalogService | BC-01 | module of host | ControlPlaneApi | unmodelled | — |
| ProcessStateService | BC-03 | module of host | ControlPlaneApi | unmodelled | — |
| ProjectService | BC-01 | module of host | ControlPlaneApi | target | design |
| QuotaService | BC-05 | module of host | ControlPlaneApi | unmodelled | — |
| ReviewCenterService | BC-03 | module of host | ControlPlaneApi | unmodelled | — |
| ServiceIdentityService | BC-32 | external / canonical | — | unmodelled | — |
| SkillRegistryService | BC-04 | module of host | ControlPlaneApi | unmodelled | — |
| SubscriptionService | BC-33 | external / canonical | — | unmodelled | — |
| TaskAssignmentService | BC-03 | module of host | ControlPlaneApi | unmodelled | — |
| TenantService | BC-33 | external / canonical | — | unmodelled | — |
| WorkflowDefinitionService | BC-04 | module of host | ControlPlaneApi | unmodelled | — |
| RunControlService | BC-03 | module of host | ControlPlaneApi | target | design |
| WorkflowOrchestrator | BC-03 | module of host | ControlPlaneApi | unmodelled | — |
| WorkflowReplayService | BC-03 | later stage | — | unmodelled | — |
AgentCardService¶
A2A agent cards and discovery projected from published releases (D44).
| Bounded context | BC-04 Asset Publication |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | (added 2026-10-09) (module) |
| Status | target |
| Modelled | 1 aggregates · 4 REST + 0 gRPC · 2 events · 0 workers · 1 tables |
| Design page | planes/control/services/agent-card-service/index.md |
AgentRegistryService¶
Publication; duplicate Mesh row merges
| Bounded context | BC-04 Asset Publication |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (module) |
| Status | target |
| Modelled | 1 aggregates · 7 REST + 2 gRPC · 4 events · 1 workers · 3 tables |
| Design page | planes/control/services/agent-registry-service/index.md |
AgentTaskService¶
Task = run/step; authority in Run Control
| Bounded context | BC-03 Run Control |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Agent Mesh (merge) |
| Status | unmodelled |
| Design page | not written yet |
ApiTokenService¶
Token issuance is the Authorization Server's alone
| Bounded context | BC-32 Shared Identity & Access |
| Granularity | external / canonical · ref ext-identity-platform |
| Former catalog group | Control Plane (external) |
| Status | unmodelled |
| Design page | not written yet |
ApprovalService¶
Approval instances live in RunControlService (ApprovalRequest aggregate); approval policy is BC-20 ApprovalPolicyService.
| Bounded context | BC-03 Run Control |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (merge) |
| Status | unmodelled |
| Design page | not written yet |
AuthorizationService¶
Authorization Server issues tokens; backends enforce resource authorization
| Bounded context | BC-32 Shared Identity & Access |
| Granularity | external / canonical · ref ext-identity-platform |
| Former catalog group | Control Plane (external) |
| Status | unmodelled |
| Design page | not written yet |
ControlPlaneApi¶
Modular Control plane API host: projects, asset publication, run control, approvals, usage, tenancy and commerce modules.
| Bounded context | BC-01 Project & Environment |
| Granularity | standalone host |
| Former catalog group | (host added 2026-10-09) (module) |
| Status | target |
| Modelled | 0 aggregates · 2 REST + 0 gRPC · 0 events · 0 workers · 0 tables |
| Design page | planes/control/services/control-plane-api/index.md |
CostTelemetryService¶
Usage accounting is the source; FinOps views project it
| Bounded context | BC-05 Usage Accounting |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Observability & Feedback (merge) |
| Status | unmodelled |
| Design page | not written yet |
CostUsageService¶
Budgets, reservations, usage records, pricing revisions and reconciliation; reserves before dispatch and settles observed usage (BC-05).
| Bounded context | BC-05 Usage Accounting |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (module) |
| Status | target |
| Modelled | 3 aggregates · 3 REST + 2 gRPC · 6 events · 2 workers · 4 tables |
| Design page | planes/control/services/cost-usage-service/index.md |
DependencyService¶
Project metadata
| Bounded context | BC-01 Project & Environment |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (merge) |
| Status | unmodelled |
| Design page | not written yet |
EditionService¶
SaaS ProductsCatalog/Entitlements templates
| Bounded context | BC-33 Factory Tenancy & Entitlements |
| Granularity | external / canonical · ref ext-saas-templates |
| Former catalog group | Control Plane (external) |
| Status | unmodelled |
| Design page | not written yet |
EnvironmentService¶
Project environments with policy classes, freeze state, connections and desired deployment references reconciled by BC-25 (BC-01).
| Bounded context | BC-01 Project & Environment |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (module) |
| Status | target |
| Modelled | 1 aggregates · 4 REST + 1 gRPC · 2 events · 0 workers · 2 tables |
| Design page | planes/control/services/environment-service/index.md |
FactoryCommercialService¶
Factory editions, subscriptions, billing and metering records on the SaaS templates (D34).
| Bounded context | BC-34 Factory Commercial |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | (added 2026-10-09) (module) |
| Status | target |
| Modelled | 1 aggregates · 3 REST + 1 gRPC · 2 events · 1 workers · 2 tables |
| Design page | planes/control/services/factory-commercial-service/index.md |
FeatureFlagService¶
Config Platform (canonical) or entitlements
| Bounded context | BC-33 Factory Tenancy & Entitlements |
| Granularity | external / canonical · ref ext-config-platform |
| Former catalog group | Control Plane (external) |
| Status | unmodelled |
| Design page | not written yet |
IdentityService¶
Identity Service per canonical ADR-0101
| Bounded context | BC-32 Shared Identity & Access |
| Granularity | external / canonical · ref ext-identity-platform |
| Former catalog group | Control Plane (external) |
| Status | unmodelled |
| Design page | not written yet |
ModuleCatalogService¶
Project metadata
| Bounded context | BC-01 Project & Environment |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (merge) |
| Status | unmodelled |
| Design page | not written yet |
ProcessStateService¶
Run/step/attempt state
| Bounded context | BC-03 Run Control |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (merge) |
| Status | unmodelled |
| Design page | not written yet |
ProjectService¶
Projects (workspaces), memberships, delegations, source scope and project policy overrides; the scope every run carries (BC-01).
| Bounded context | BC-01 Project & Environment |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (module) |
| Status | target |
| Modelled | 1 aggregates · 8 REST + 1 gRPC · 5 events · 2 workers · 4 tables |
| Design page | planes/control/services/project-service/index.md |
QuotaService¶
Quota enforcement is part of usage accounting; entitlement definitions from BC-33
| Bounded context | BC-05 Usage Accounting |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (merge) |
| Status | unmodelled |
| Design page | not written yet |
ReviewCenterService¶
Review Center projects approval instances; authority stays in Run Control
| Bounded context | BC-03 Run Control |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Factory Studio (merge) |
| Status | unmodelled |
| Design page | not written yet |
ServiceIdentityService¶
Workload identities via the Identity Platform
| Bounded context | BC-32 Shared Identity & Access |
| Granularity | external / canonical · ref ext-identity-platform |
| Former catalog group | Control Plane (external) |
| Status | unmodelled |
| Design page | not written yet |
SkillRegistryService¶
Same registry module
| Bounded context | BC-04 Asset Publication |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (merge) |
| Status | unmodelled |
| Design page | not written yet |
SubscriptionService¶
SaaS Billing template
| Bounded context | BC-33 Factory Tenancy & Entitlements |
| Granularity | external / canonical · ref ext-saas-templates |
| Former catalog group | Control Plane (external) |
| Status | unmodelled |
| Design page | not written yet |
TaskAssignmentService¶
Lease/dispatch
| Bounded context | BC-03 Run Control |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (merge) |
| Status | unmodelled |
| Design page | not written yet |
TenantService¶
SaaS Tenants template / Extensions.Saas.*
| Bounded context | BC-33 Factory Tenancy & Entitlements |
| Granularity | external / canonical · ref ext-saas-templates |
| Former catalog group | Control Plane (external) |
| Status | unmodelled |
| Design page | not written yet |
WorkflowDefinitionService¶
Workflow definitions are published assets
| Bounded context | BC-04 Asset Publication |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (merge) |
| Status | unmodelled |
| Design page | not written yet |
RunControlService¶
Single authority for run, step, attempt and lease state; approval instances; cancellation; recovery journal (BC-03).
| Bounded context | BC-03 Run Control |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | (added 2026-10-09; absorbs WorkflowOrchestrator, TaskAssignmentService, ProcessStateService rows) (module) |
| Status | target |
| Modelled | 5 aggregates · 6 REST + 4 gRPC · 10 events · 3 workers · 7 tables |
| Design page | planes/control/services/run-control-service/index.md |
WorkflowOrchestrator¶
Run Control owns transitions; execution in the runtime. Merged into RunControlService.
| Bounded context | BC-03 Run Control |
| Granularity | module of host · host ControlPlaneApi |
| Former catalog group | Control Plane (merge) |
| Status | unmodelled |
| Design page | not written yet |
WorkflowReplayService¶
No replay promise (ADR-0014)
| Bounded context | BC-03 Run Control |
| Granularity | later stage |
| Former catalog group | Control Plane (defer) |
| Status | unmodelled |
| Design page | not written yet |