-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathheader-filter.yaml
106 lines (101 loc) · 3.83 KB
/
header-filter.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: header-filter
namespace: gcp
spec:
workloadSelector:
labels:
version: beta
configPatches:
- applyTo: HTTP_FILTER
match:
context: SIDECAR_OUTBOUND
listener:
filterChain:
filter:
name: envoy.filters.network.http_connection_manager
subFilter:
name: envoy.filters.http.router
patch:
operation: INSERT_BEFORE
value:
name: envoy.lua
typed_config:
"@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
inlineCode: |
function envoy_on_request(request_handle)
request_handle:logWarn("---------------- OUTBOUND request start -------------------")
local headers = request_handle:headers()
for key,value in pairs(headers) do
request_handle:logWarn("key=" .. key .. " value=" .. value)
end
request_handle:logWarn("---------------- cluster request start -------------------")
local headers, body = request_handle:httpCall(
"test_cluster",
{
[":method"] = "GET",
[":path"] = "/ping",
[":authority"] = "test_cluster"
},
"hello world",
5000)
request_handle:logWarn("ping: " .. body)
request_handle:logWarn("---------------- cluster request end -------------------")
request_handle:logWarn("------ OUTBOUND metadata -----")
local metad = request_handle:metadata()
for keym,valuem in pairs(metad) do
request_handle:logWarn("keym=" .. keym .. " valuem=" .. valuem)
end
request_handle:logWarn("------------ OUTBOUND request finish --------------------")
request_handle:logWarn("\n")
end
- applyTo: HTTP_FILTER
match:
context: SIDECAR_INBOUND
listener:
filterChain:
filter:
name: envoy.filters.network.http_connection_manager
subFilter:
name: envoy.filters.http.router
patch:
operation: INSERT_BEFORE
value:
name: envoy.lua
typed_config:
"@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
inlineCode: |
function envoy_on_request(request_handle)
request_handle:logWarn("---------------- INBOUND request start -------------------")
local headers = request_handle:headers()
for key,value in pairs(headers) do
request_handle:logWarn("key=" .. key .. " value=" .. value)
end
request_handle:logWarn("------ INBOUND metadata -----")
local metad = request_handle:metadata()
for keym,valuem in pairs(metad) do
request_handle:logWarn("keym=" .. keym .. " valuem=" .. valuem)
end
request_handle:logWarn("------------ INBOUND request finish --------------------")
request_handle:logWarn("\n")
end
- applyTo: CLUSTER
match:
context: SIDECAR_OUTBOUND
patch:
operation: ADD
value:
name: "test_cluster"
type: STRICT_DNS
connect_timeout: 2s
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: test_cluster
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: "oms-gateway.regoo"
port_value: 8080