Skip to content

C4 — container view

Target

This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.

Rewritten 2026-10-09

Containers are the standalone hosts of model/services/_registry.yaml (one per platform) plus gateways and stores from the model. Modules inside each host are listed on the platform's generated microservices page.

C4Container
    title ConnectSoft AI Factory — containers (level 2)
    Person(user, "Factory user", "Any of the seven roles")
    System_Boundary(exp, "Experience") {
        Container(studio, "Factory Studio", "Blazor Shell + MFEs", "Scoped shell, modules; EN/HE/RU")
        Container(cli, "CLI and VS Code extension", ".NET", "Same APIs as the Studio")
        Container(gw1, "Edge gateway GW-01", "ApiGatewayTemplate", "TLS, token validation, routing")
        Container(bff, "StudioBff GW-02", "ApiGatewayTemplate", "Composition and session projections")
    }
    System_Boundary(ctl, "Control") {
        Container(cp, "ControlPlaneApi", ".NET 10 modular API", "Projects, asset publication, run control, approvals, usage accounting, Factory tenancy and commerce")
    }
    System_Boundary(rt, "Agent & Orchestration runtime / Model & Compute") {
        Container(worker, "AgentRuntimeWorker", ".NET 10 worker", "Attempt execution, workflow engine, release loading")
        Container(mg, "ModelGatewayHost GW-04", ".NET 10 (in-process first)", "Profiles, policy, reservation, routing, receipts")
    }
    System_Boundary(cap, "Capability & Tools / Execution") {
        Container(tools, "ToolExecutorHost GW-05", ".NET 10", "Governed executor, MCP hosting and registry")
        Container(integ, "IntegrationHost GW-06", ".NET 10", "Connections, connectors, webhooks")
        Container(sandbox, "Sandbox pool", "microVM / containers", "Per-run workspaces, egress policy")
        Container(delivery, "DeliveryHost / RuntimeCloudHost / FleetOperationsHost", ".NET 10", "Pipelines and releases; provisioning and capacity; fleet operations")
    }
    System_Boundary(kn, "Knowledge & Memory") {
        Container(knowledge, "KnowledgeHost", ".NET 10", "Ingestion, retrieval, repository intelligence, artifacts, context, memory")
    }
    System_Boundary(trust, "Trust & Operations") {
        Container(gov, "GovernanceHost", ".NET 10", "Policy, approval policy, audit, classification, secret broker")
        Container(obs, "ObservabilityHost", ".NET 10", "Operations projections, evaluation, FinOps")
    }
    System_Boundary(data, "Data & Event") {
        ContainerDb(sql, "Relational stores", "Azure SQL / NHibernate", "control, runtime, knowledge, governance, observability")
        ContainerDb(vec, "Vector index", "Qdrant or Azure AI Search profile", "Derived, rebuildable")
        ContainerDb(blob, "Artifact and audit stores", "Blob (immutable audit)", "Content by hash")
        ContainerQueue(bus, "Messaging transport", "MessagingModel profile: Orleans outbox/inbox, Azure Service Bus, NServiceBus", "ADR-0012")
        ContainerDb(kv, "Key Vault", "Secrets", "Behind the secret broker")
    }
    System_Ext(idp, "Identity Platform", "Sole token issuer")
    System_Ext(models, "Model deployments", "Approved providers")
    Rel(user, studio, "Uses")
    Rel(user, cli, "Uses")
    Rel(studio, gw1, "HTTPS")
    Rel(cli, gw1, "HTTPS")
    Rel(gw1, bff, "")
    Rel(bff, cp, "REST / gRPC")
    Rel(gw1, idp, "Validates tokens")
    Rel(cp, bus, "Transitions + outbox")
    Rel(bus, worker, "Dispatch, outcomes")
    Rel(worker, cp, "Leases, outcomes, approval requests", "gRPC")
    Rel(worker, mg, "Model invocations")
    Rel(mg, models, "Provider calls")
    Rel(worker, tools, "Tool invocations", "gRPC")
    Rel(tools, sandbox, "Jobs")
    Rel(tools, integ, "Connections")
    Rel(worker, knowledge, "Retrieval, context, artifacts")
    Rel(cp, gov, "Policy decisions, approval eligibility")
    Rel(tools, gov, "Policy decisions, secrets")
    Rel(cp, sql, "")
    Rel(knowledge, vec, "")
    Rel(knowledge, blob, "")
    Rel(gov, kv, "")
    Rel(obs, bus, "Projections from events")
    UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="2")
Hold "Alt" / "Option" to enable pan & zoom

Containers and their platforms

Container Platform Modules Catalog
ControlPlaneApi Control Plane 27 microservices
AgentRuntimeWorker Agent Mesh 5 microservices
ModelGatewayHost Model & Compute 6 microservices
KnowledgeHost Knowledge 22 microservices
ToolExecutorHost Tools & MCP 3 microservices
IntegrationHost Integration 13 microservices
MarketplaceHost Marketplace 11 (later) microservices
DeliveryHost, RuntimeCloudHost, FleetOperationsHost DevOps/GitOps, Runtime Cloud, Fleet Operations 12, 10, 3 delivery · environments · fleet
DataEventFoundations Data & Event 1 microservices
GovernanceHost, ObservabilityHost Governance, Observability 14, 14 governance · observability
StudioBff Factory Studio 6 microservices
TemplateCatalogHost, GeneratedProductHost Template & Library, Generated SaaS 19, 1 templates · generated SaaS

Module counts are those of the registry on 2026-10-09; the generated services catalog is authoritative.