@@ -157,6 +157,44 @@ Proxy-pod topology moves network enforcement and gateway forwarding into a
157157separate supervisor Deployment with one pod. The agent pod runs the process
158158supervisor and reaches the supervisor through a per-sandbox headless Service.
159159
160+ ``` mermaid
161+ flowchart TB
162+ Sandbox["agents.x-k8s.io Sandbox"]
163+
164+ subgraph Namespace["Sandbox namespace"]
165+ subgraph AgentPod["Agent pod"]
166+ ProcessSupervisor["process supervisor<br/>network-only by default"]
167+ Workload["Agent workload"]
168+ end
169+
170+ SupervisorDeployment["Supervisor Deployment<br/>1 replica"]
171+ subgraph SupervisorPod["Supervisor pod"]
172+ NetworkProxy["network supervisor proxy<br/>proxyUid"]
173+ end
174+
175+ Service["Headless Service"]
176+ ProxyCA["Proxy CA Secret"]
177+ AgentEgressPolicy["NetworkPolicy<br/>agent egress to supervisor + DNS"]
178+ SupervisorIngressPolicy["NetworkPolicy<br/>supervisor ingress from paired agent"]
179+ end
180+
181+ Gateway["OpenShell Gateway"]
182+ External["External services"]
183+
184+ Sandbox --> AgentPod
185+ Sandbox --> SupervisorDeployment
186+ SupervisorDeployment --> SupervisorPod
187+ ProcessSupervisor --> Workload
188+ AgentPod -->|"egress allowed by NetworkPolicy"| Service
189+ Service --> NetworkProxy
190+ NetworkProxy -->|"gateway forwarding"| Gateway
191+ NetworkProxy -->|"policy-enforced egress"| External
192+ ProxyCA -. mounted .- AgentPod
193+ ProxyCA -. mounted .- SupervisorPod
194+ AgentEgressPolicy -. selects .- AgentPod
195+ SupervisorIngressPolicy -. selects .- SupervisorPod
196+ ```
197+
160198OpenShell creates these per-sandbox resources:
161199
162200- Agent pod labeled ` openshell.ai/sandbox-role=agent ` .
0 commit comments