flowchart TB
subgraph DEPLOY["Deploy order"]
direction LR
D1["Gateway (first)"]:::dep
D2["Processors
Termination Grace Period 60s"]:::dep
D3["Summarizer"]:::dep
D4["Stateless APIs & Dashboards (last)"]:::dep
D1 --> D2 --> D3 --> D4
end
subgraph ROLL["Rollback order"]
direction LR
R1["Stateless APIs & Dashboards (first)"]:::rb
R2["Summarizer"]:::rb
R3["Processors"]:::rb
R4["Gateway (last)"]:::rb
R1 --> R2 --> R3 --> R4
end
Note["Expand-Contract Rollback
schema never mutated out from under a version, so adjacent versions run against it at once"]:::sidenote
DEPLOY -.-> Note
ROLL -.-> Note
classDef dep fill:#2a9d8f,stroke:#1f7a6f,color:#fff,font-size:13px
classDef rb fill:#e9a23b,stroke:#b8791f,color:#222,font-size:13px
classDef sidenote fill:#eef2f0,stroke:#9bbdb5,color:#234,font-size:12px
linkStyle default stroke:#999,stroke-width:2px