Skip to content

Commit 5d859d9

Browse files
committed
Enabling full duplex streaming for request & response flows.
1 parent d94680a commit 5d859d9

File tree

5 files changed

+443
-199
lines changed

5 files changed

+443
-199
lines changed

cmd/epp/main.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,11 @@ func run() error {
110110
flag.Parse()
111111
initLogging(&opts)
112112

113+
useStreamingServer, err := strconv.ParseBool(os.Getenv("USE_STREAMING"))
114+
if err != nil {
115+
setupLog.Error(err, "Failed to parse env var USE_STREAMING, defaulting to false")
116+
}
117+
113118
// Validate flags
114119
if err := validateFlags(); err != nil {
115120
setupLog.Error(err, "Failed to validate flags")
@@ -153,6 +158,7 @@ func run() error {
153158
SecureServing: *secureServing,
154159
CertPath: *certPath,
155160
Provider: provider,
161+
UseStreaming: useStreamingServer,
156162
}
157163
if err := serverRunner.SetupWithManager(ctx, mgr); err != nil {
158164
setupLog.Error(err, "Failed to setup ext-proc controllers")

config/manifests/ext_proc.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,17 +71,20 @@ spec:
7171
spec:
7272
containers:
7373
- name: inference-gateway-ext-proc
74-
image: us-east1-docker.pkg.dev/kfswain-gke-dev/test-repo/ext-proc:test-feb-32
74+
image: us-east1-docker.pkg.dev/kfswain-gke-dev/test-repo/ext-proc:test-mar-35
7575
imagePullPolicy: Always
7676
args:
7777
- -poolName
7878
- "my-pool"
7979
- -v
80-
- "3"
80+
- "4"
8181
- -grpcPort
8282
- "9002"
8383
- -grpcHealthPort
8484
- "9003"
85+
env:
86+
- name: USE_STREAMING
87+
value: "true"
8588
ports:
8689
- containerPort: 9002
8790
- containerPort: 9003

config/manifests/gateway/patch_policy.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,23 @@ spec:
6666
op: add
6767
path: "/default_filter_chain/filters/0/typed_config/http_filters/0/typed_config/processing_mode/request_trailer_mode"
6868
value: SEND
69+
# Uncomment to enable full duplex streaming
70+
# - type: "type.googleapis.com/envoy.config.listener.v3.Listener"
71+
# name: "default/inference-gateway/llm-gw"
72+
# operation:
73+
# op: add
74+
# path: "/default_filter_chain/filters/0/typed_config/http_filters/0/typed_config/processing_mode/response_body_mode"
75+
# value: FULL_DUPLEX_STREAMED
76+
# - type: "type.googleapis.com/envoy.config.listener.v3.Listener"
77+
# name: "default/inference-gateway/llm-gw"
78+
# operation:
79+
# op: replace
80+
# path: "/default_filter_chain/filters/0/typed_config/http_filters/0/typed_config/processing_mode/response_trailer_mode"
81+
# value: SEND
82+
# - type: "type.googleapis.com/envoy.config.listener.v3.Listener"
83+
# name: "default/inference-gateway/llm-gw"
84+
# operation:
85+
# op: replace
86+
# path: "/default_filter_chain/filters/0/typed_config/http_filters/0/typed_config/processing_mode/response_header_mode"
87+
# value: SEND
88+

0 commit comments

Comments
 (0)