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