Agent Mesh — Deployment¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
Runtime model¶
| Concern | Choice |
|---|---|
| Deployment unit | AgentRuntimeWorker, one image from the AI agent host template with the worker hosting shape |
| Hosting | AKS, 2 to 20 replicas, scaled on free attempt slots and inbox lag |
| Data | runtime-sql (attempts, checkpoints, calls, decisions, delegations, loaded releases, workflow runs, timers); artifact-blob for adapter checkpoints and produced artifacts; cache for release manifests |
| Actors | Orleans silo in-process; AttemptGrain, WorkflowRunGrain; reminders for timers and heartbeats |
| Messaging | MessagingModel inbox and outbox; Orleans profile by default |
| Identity | workload identity from the Authorization Server; per-attempt tokens derived from leases |
| Ingress | none from the public internet; GW-03 for Studio reads; gRPC from the Control plane |
| Egress | model gateway, tool executor, Knowledge, Control plane, artifact store; everything else denied |
Topology by profile¶
flowchart TB
subgraph CS["ConnectSoft cloud, tenant region"]
CP["ControlPlaneApi"]
MG["ModelGatewayHost"]
TE["ToolExecutorHost"]
KH["KnowledgeHost"]
W1["AgentRuntimeWorker (saas-default)"]
SQL1["('runtime-sql')"]
end
subgraph Cust["Customer network (hybrid)"]
W2["AgentRuntimeWorker (hybrid)"]
SQL2["('runtime-sql')"]
TE2["ToolExecutorHost (sandboxes near the code)"]
end
W1 --> SQL1
W1 --> CP & MG & TE & KH
W2 --> SQL2
W2 -- "private link" --> CP & MG & KH
W2 --> TE2
| Profile | Worker placement |
|---|---|
| saas-default | in ConnectSoft's AKS in the tenant's region |
| hybrid | inside the customer's network next to repositories and tools; outbound-only connectivity to the Control plane over a private link |
| on-prem | with the rest of the Factory in the customer's cluster; no broker required |
| hybrid-compute | in ConnectSoft's cloud; model and compute pools are the customer's |
Scaling¶
| Signal | Action |
|---|---|
| free attempt slots below threshold | add replica (capacity is advertised to BC-26 per replica) |
| inbox lag above threshold | add replica; readiness fails on the lagging replica |
| attempts waiting for decisions | no scaling; waiting attempts hold no slot beyond their grain |
runtime-sql write latency |
partition checkpoints by tenant and month; compaction window |
Tenant fairness: Execution Capacity places attempts per tenant quota; a replica never takes more than MaxConcurrentAttempts.
Configuration and secrets¶
Options sections Runtime:Host, Runtime:Adapter, Runtime:Attempts, Runtime:Context, Runtime:Decisions, Workflows:Engine, OrleansMessaging, ConnectSoftIdentityPlatform; reloadable ones from the Config Platform. Secrets in Key Vault through workload identity; sandbox credentials are never configured on the worker, they are brokered per call.
Health, readiness, rollout¶
/runtime/health liveness and readiness (store, silo, Control plane, gateway, executor, inbox lag). Rolling updates drain a replica: no new dispatches are claimed, running attempts checkpoint and migrate their grains, then the pod stops. An adapter version change is a rollout that marks older checkpoints incompatible; Run Control starts new attempts for them.
NFR class and recovery¶
pilot-interactive (D30). runtime-sql is restored after the run journal and before the outbox and artifacts; after a restore the engine re-projects from Run Control's journal and attempts whose checkpoints are missing end Uncertain.