Skip to content

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;
Hold "Alt" / "Option" to enable pan & zoom
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