Skip to content

Commit 62db948

Browse files
committed
Configure Envoy to forward SignalR notifications
1 parent d42be1b commit 62db948

3 files changed

Lines changed: 79 additions & 34 deletions

File tree

deploy/k8s/helm/apigwms/envoy.yaml

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,20 @@ static_resources:
4242
route:
4343
auto_host_rewrite: true
4444
prefix_rewrite: "/ordering-api/"
45-
cluster: ordering
45+
cluster: ordering
4646
- name: "o-long"
4747
match:
4848
prefix: "/ordering-api/"
4949
route:
5050
auto_host_rewrite: true
51-
cluster: ordering
51+
cluster: ordering
52+
- name: "h-long"
53+
match:
54+
prefix: "/hub/notificationhub"
55+
route:
56+
auto_host_rewrite: true
57+
cluster: signalr-hub
58+
timeout: 300s
5259
- name: "b-short"
5360
match:
5461
prefix: "/b/"
@@ -61,7 +68,7 @@ static_resources:
6168
prefix: "/basket-api/"
6269
route:
6370
auto_host_rewrite: true
64-
cluster: basket
71+
cluster: basket
6572
- name: "agg"
6673
match:
6774
prefix: "/"
@@ -70,25 +77,25 @@ static_resources:
7077
prefix_rewrite: "/"
7178
cluster: shoppingagg
7279
http_filters:
73-
- name: envoy.router
80+
- name: envoy.router
7481
access_log:
7582
- name: envoy.file_access_log
7683
filter:
77-
not_health_check_filter: {}
84+
not_health_check_filter: {}
7885
config:
7986
json_format:
8087
time: "%START_TIME%"
8188
protocol: "%PROTOCOL%"
8289
duration: "%DURATION%"
83-
request_method: "%REQ(:METHOD)%"
84-
request_host: "%REQ(HOST)%"
85-
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
90+
request_method: "%REQ(:METHOD)%"
91+
request_host: "%REQ(HOST)%"
92+
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
8693
response_flags: "%RESPONSE_FLAGS%"
8794
route_name: "%ROUTE_NAME%"
8895
upstream_host: "%UPSTREAM_HOST%"
8996
upstream_cluster: "%UPSTREAM_CLUSTER%"
90-
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
91-
path: "/tmp/access.log"
97+
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
98+
path: "/tmp/access.log"
9299
clusters:
93100
- name: shoppingagg
94101
connect_timeout: 0.25s
@@ -113,12 +120,20 @@ static_resources:
113120
hosts:
114121
- socket_address:
115122
address: basket-api
116-
port_value: 80
123+
port_value: 80
117124
- name: ordering
118125
connect_timeout: 0.25s
119126
type: strict_dns
120127
lb_policy: round_robin
121128
hosts:
122129
- socket_address:
123130
address: ordering-api
124-
port_value: 80
131+
port_value: 80
132+
- name: signalr-hub
133+
connect_timeout: 0.25s
134+
type: strict_dns
135+
lb_policy: round_robin
136+
hosts:
137+
- socket_address:
138+
address: ordering-signalrhub
139+
port_value: 80

deploy/k8s/helm/apigwws/envoy.yaml

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,20 @@ static_resources:
4242
route:
4343
auto_host_rewrite: true
4444
prefix_rewrite: "/ordering-api/"
45-
cluster: ordering
45+
cluster: ordering
4646
- name: "o-long"
4747
match:
4848
prefix: "/ordering-api/"
4949
route:
5050
auto_host_rewrite: true
51-
cluster: ordering
51+
cluster: ordering
52+
- name: "h-long"
53+
match:
54+
prefix: "/hub/notificationhub"
55+
route:
56+
auto_host_rewrite: true
57+
cluster: signalr-hub
58+
timeout: 300s
5259
- name: "b-short"
5360
match:
5461
prefix: "/b/"
@@ -61,7 +68,7 @@ static_resources:
6168
prefix: "/basket-api/"
6269
route:
6370
auto_host_rewrite: true
64-
cluster: basket
71+
cluster: basket
6572
- name: "agg"
6673
match:
6774
prefix: "/"
@@ -70,7 +77,7 @@ static_resources:
7077
prefix_rewrite: "/"
7178
cluster: shoppingagg
7279
http_filters:
73-
- name: envoy.router
80+
- name: envoy.router
7481
access_log:
7582
- name: envoy.file_access_log
7683
filter:
@@ -80,15 +87,15 @@ static_resources:
8087
time: "%START_TIME%"
8188
protocol: "%PROTOCOL%"
8289
duration: "%DURATION%"
83-
request_method: "%REQ(:METHOD)%"
84-
request_host: "%REQ(HOST)%"
85-
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
90+
request_method: "%REQ(:METHOD)%"
91+
request_host: "%REQ(HOST)%"
92+
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
8693
response_flags: "%RESPONSE_FLAGS%"
8794
route_name: "%ROUTE_NAME%"
8895
upstream_host: "%UPSTREAM_HOST%"
8996
upstream_cluster: "%UPSTREAM_CLUSTER%"
9097
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
91-
path: "/tmp/access.log"
98+
path: "/tmp/access.log"
9299
clusters:
93100
- name: shoppingagg
94101
connect_timeout: 0.25s
@@ -113,12 +120,20 @@ static_resources:
113120
hosts:
114121
- socket_address:
115122
address: basket-api
116-
port_value: 80
123+
port_value: 80
117124
- name: ordering
118125
connect_timeout: 0.25s
119126
type: strict_dns
120127
lb_policy: round_robin
121128
hosts:
122129
- socket_address:
123130
address: ordering-api
124-
port_value: 80
131+
port_value: 80
132+
- name: signalr-hub
133+
connect_timeout: 0.25s
134+
type: strict_dns
135+
lb_policy: round_robin
136+
hosts:
137+
- socket_address:
138+
address: ordering-signalrhub
139+
port_value: 80

src/ApiGateways/Envoy/config/mobileshopping/envoy.yaml

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,20 @@ static_resources:
4242
route:
4343
auto_host_rewrite: true
4444
prefix_rewrite: "/ordering-api/"
45-
cluster: ordering
45+
cluster: ordering
4646
- name: "o-long"
4747
match:
4848
prefix: "/ordering-api/"
4949
route:
5050
auto_host_rewrite: true
51-
cluster: ordering
51+
cluster: ordering
52+
- name: "h-long"
53+
match:
54+
prefix: "/hub/notificationhub"
55+
route:
56+
auto_host_rewrite: true
57+
cluster: signalr-hub
58+
timeout: 300s
5259
- name: "b-short"
5360
match:
5461
prefix: "/b/"
@@ -61,7 +68,7 @@ static_resources:
6168
prefix: "/basket-api/"
6269
route:
6370
auto_host_rewrite: true
64-
cluster: basket
71+
cluster: basket
6572
- name: "agg"
6673
match:
6774
prefix: "/"
@@ -70,25 +77,25 @@ static_resources:
7077
prefix_rewrite: "/"
7178
cluster: shoppingagg
7279
http_filters:
73-
- name: envoy.router
80+
- name: envoy.router
7481
access_log:
7582
- name: envoy.file_access_log
7683
filter:
77-
not_health_check_filter: {}
84+
not_health_check_filter: {}
7885
config:
7986
json_format:
8087
time: "%START_TIME%"
8188
protocol: "%PROTOCOL%"
8289
duration: "%DURATION%"
83-
request_method: "%REQ(:METHOD)%"
84-
request_host: "%REQ(HOST)%"
85-
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
90+
request_method: "%REQ(:METHOD)%"
91+
request_host: "%REQ(HOST)%"
92+
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%"
8693
response_flags: "%RESPONSE_FLAGS%"
8794
route_name: "%ROUTE_NAME%"
8895
upstream_host: "%UPSTREAM_HOST%"
8996
upstream_cluster: "%UPSTREAM_CLUSTER%"
90-
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
91-
path: "/tmp/access.log"
97+
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%"
98+
path: "/tmp/access.log"
9299
clusters:
93100
- name: shoppingagg
94101
connect_timeout: 0.25s
@@ -113,12 +120,20 @@ static_resources:
113120
hosts:
114121
- socket_address:
115122
address: basket-api
116-
port_value: 80
123+
port_value: 80
117124
- name: ordering
118125
connect_timeout: 0.25s
119126
type: strict_dns
120127
lb_policy: round_robin
121128
hosts:
122129
- socket_address:
123130
address: ordering-api
124-
port_value: 80
131+
port_value: 80
132+
- name: signalr-hub
133+
connect_timeout: 0.25s
134+
type: strict_dns
135+
lb_policy: round_robin
136+
hosts:
137+
- socket_address:
138+
address: ordering-signalrhub
139+
port_value: 80

0 commit comments

Comments
 (0)