Files
higress/plugins/wasm-go/extensions/transformer/envoy.yaml

101 lines
3.9 KiB
YAML

admin:
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 9901
static_resources:
listeners:
- name: listener_0
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 10000
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
scheme_header_transformation:
scheme_to_overwrite: https
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match:
prefix: "/"
headers: [
{
name: "reroute",
string_match: { "exact": "false" }
}
]
direct_response:
status: 200
body: { inline_string: "no rerouting" }
- match:
prefix: "/"
headers: [
{
name: "reroute",
string_match: { "exact": "true" }
}
]
direct_response:
status: 200
body: { inline_string: "rerouting" }
# route:
# cluster: httpbin
http_filters:
- name: wasmdemo
typed_config:
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
value:
config:
name: wasmdemo
vm_config:
runtime: envoy.wasm.runtime.v8
code:
local:
filename: /etc/envoy/main.wasm
configuration:
"@type": "type.googleapis.com/google.protobuf.StringValue"
value: |
{
"reroute": false,
"reqRules": [
{
"operate": "replace",
"headers": [
{
"key": "reroute",
"newValue": "true"
}
]
}
]
}
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
# clusters:
# - name: httpbin
# connect_timeout: 30s
# type: LOGICAL_DNS
# # Comment out the following line to test on v6 networks
# dns_lookup_family: V4_ONLY
# lb_policy: ROUND_ROBIN
# load_assignment:
# cluster_name: httpbin
# endpoints:
# - lb_endpoints:
# - endpoint:
# address:
# socket_address:
# address: httpbin
# port_value: 80