Skip to content

Commit 63301ae

Browse files
committed
add diagram to docs
Signed-off-by: npolshakova <nina.polshakova@solo.io>
1 parent 63c7078 commit 63301ae

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

docs/egress-capture.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,68 @@ The PEP binding is a **snapshot taken at resume**, recorded on the actor as
122122
on the next resume
123123
```
124124

125+
The full resume / egress / suspend sequence, component by component:
126+
127+
```mermaid
128+
sequenceDiagram
129+
autonumber
130+
131+
participant CLI as kubectl ate
132+
participant API as ate-api
133+
participant GW as Gateway indexer
134+
participant ST as Redis/Valkey
135+
participant LET as atelet
136+
participant OM as ateom
137+
participant CAP as capture listener<br/>:15001
138+
participant PEP as agentgateway PEP<br/>:15008
139+
participant EXT as httpbin.org:443
140+
141+
rect rgb(235, 243, 255)
142+
Note over CLI,ST: Resume
143+
CLI->>API: resume actor my-egress-1 -a demo
144+
API->>ST: Load suspended actor
145+
API->>GW: Resolve egress PEP for actor
146+
GW-->>API: Best programmed Gateway address
147+
API->>ST: Claim worker
148+
API->>ST: Set RESUMING and EgressPepAddress
149+
end
150+
151+
rect rgb(235, 255, 238)
152+
Note over API,OM: Restore workload
153+
API->>LET: Run/Restore with EgressPepAddress
154+
LET->>OM: RunWorkload/RestoreWorkload with EgressPepAddress
155+
OM->>OM: setupActorNetwork<br/>veth plus netns
156+
OM->>CAP: Start capture listener
157+
OM->>OM: nftables redirects actor TCP to :15001
158+
OM-->>LET: ok
159+
LET-->>API: ok
160+
API->>ST: Set RUNNING
161+
end
162+
163+
rect rgb(255, 248, 225)
164+
Note over OM,EXT: Actor egress connection
165+
OM->>CAP: Actor conn (nftables redirect) to httpbin.org:443
166+
CAP->>CAP: Get original destination<br/>sniff SNI or Host
167+
CAP->>PEP: HTTP/2 CONNECT httpbin.org:443<br/>with actor metadata
168+
PEP->>EXT: Route via TCPRoute
169+
Note over CAP,EXT: TLS remains end-to-end<br/>PEP routes encrypted bytes only
170+
CAP-->>OM: Proxy byte stream
171+
end
172+
173+
rect rgb(255, 235, 238)
174+
Note over CLI,ST: Suspend
175+
CLI->>API: suspend actor
176+
API->>ST: Set SUSPENDING
177+
API->>LET: Checkpoint
178+
LET->>OM: CheckpointWorkload
179+
OM->>CAP: Close listener and streams
180+
OM-->>LET: snapshot files
181+
LET-->>API: ok (snapshot uploaded)
182+
API->>ST: Release worker<br/>clear EgressPepAddress
183+
Note over API,GW: Next resume re-resolves Gateway binding
184+
end
185+
```
186+
125187
To move a running actor to a different PEP: relabel the Gateways **and** cycle
126188
the actor (see "Point an actor at a different PEP").
127189

0 commit comments

Comments
 (0)