static_resources: listeners: - name: main address: socket_address: address: 0.0.0.0 port_value: 18000 filter_chains: - filters: - name: envoy.http_connection_manager typed_config: "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager stat_prefix: ingress_http codec_type: auto route_config: name: local_route virtual_hosts: - name: local_service domains: - "httpbin.example.com" routes: - match: prefix: "/" route: cluster: httpbin http_filters: - name: envoy.filters.http.wasm typed_config: "@type": type.googleapis.com/udpa.type.v1.TypedStruct type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm value: config: configuration: "@type": type.googleapis.com/google.protobuf.StringValue value: |- { "allow_origins": ["http://httpbin.example.net"], "allow_origin_patterns": ["http://*.example.com:[*]", "http://*.example.org:[9090,8080]"], "allow_methods": ["GET","PUT","POST", "PATCH", "HEAD", "OPTIONS"], "allow_credentials": true, "allow_headers":["Content-Type", "Token","Authorization"], "expose_headers":["X-Custom-Header"], "max_age": 3600 } vm_config: runtime: "envoy.wasm.runtime.v8" code: local: filename: "./main.wasm" - name: envoy.filters.http.router typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router clusters: - name: httpbin connect_timeout: 0.5s type: STRICT_DNS lb_policy: ROUND_ROBIN dns_refresh_rate: 5s dns_lookup_family: V4_ONLY load_assignment: cluster_name: httpbin endpoints: - lb_endpoints: - endpoint: address: socket_address: address: httpbin.org port_value: 80 admin: access_log_path: "/dev/null" address: socket_address: address: 0.0.0.0 port_value: 8001