Skip to content

Commit 9b0766c

Browse files
committed
docs(kubernetes): add proxy-pod topology diagram
Signed-off-by: Taylor Mutch <taylormutch@gmail.com>
1 parent c9938f2 commit 9b0766c

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

docs/kubernetes/topology.mdx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,44 @@ Proxy-pod topology moves network enforcement and gateway forwarding into a
157157
separate supervisor Deployment with one pod. The agent pod runs the process
158158
supervisor 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+
160198
OpenShell creates these per-sandbox resources:
161199

162200
- Agent pod labeled `openshell.ai/sandbox-role=agent`.

0 commit comments

Comments
 (0)