static_resources:
listeners:
- address:
socket_address:
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
codec_type: AUTO
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: backend
domains:
- ""
typed_per_filter_config:
envoy.filters.http.cors:
'@type': "type.googleapis.com/envoy.extensions.filters.http.cors.v3.CorsPolicy"
allow_origin_string_match:
- safe_regex:
regex: *
allow_methods: 'GET,POST,PUT,PATCH,DELETE,OPTIONS'
allow_headers: >-
hmac,DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,Access-Control-Allow-Origin,total
allow_credentials: true
max_age: '1728000'
routes:
- match:
prefix: "/WeatherForecast"
route:
cluster: service1
response_headers_to_add:
- header:
key: Access-Control-Expose-Headers
value: ''
http_filters:
name: envoy.filters.http.cors typed_config: '@type': "type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors"
name: envoy.filters.http.ext_proc typed_config: '@type': "type.googleapis.com/envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor" failure_mode_allow: false async_mode: false
allow_mode_override: true processing_mode: request_header_mode: "SEND" response_header_mode: "SKIP" request_body_mode: "NONE" response_body_mode: "NONE" request_trailer_mode: "SKIP" response_trailer_mode: "SKIP"
grpc_service: envoy_grpc:
cluster_name: grpcname: envoy.filters.http.router typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
codec_type: AUTO
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: backend
domains:
- ""
typed_per_filter_config:
envoy.filters.http.cors:
'@type': "type.googleapis.com/envoy.extensions.filters.http.cors.v3.CorsPolicy"
allow_origin_string_match:
- safe_regex:
regex: *
allow_methods: 'GET,POST,PUT,PATCH,DELETE,OPTIONS'
allow_headers: >-
hmac,DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,Access-Control-Allow-Origin,total
allow_credentials: true
max_age: '1728000'
routes:
- match:
prefix: "/WeatherForecast"
route:
cluster: service1
response_headers_to_add:
- header:
key: Access-Control-Expose-Headers
value: ''
http_filters:
- filters:
clusters:
name: grpc type: STATIC connect_timeout: 0.25s http2_protocol_options: {} load_assignment: cluster_name: grpc endpoints:
- lb_endpoints:
- endpoint: address: socket_address: address: 172.21.32.1 port_value: 6666
- lb_endpoints:
name: service1 type: STRICT_DNS lb_policy: ROUND_ROBIN load_assignment: cluster_name: service1 endpoints:
- lb_endpoints:
- endpoint: address: socket_address: address: 172.21.32.1 port_value: 5017
- lb_endpoints:
name: service_petstore_io type: LOGICAL_DNS dns_lookup_family: V4_ONLY load_assignment: cluster_name: service_petstore_io endpoints: - lb_endpoints: - endpoint: address: socket_address: address: petstore.swagger.io port_value: 443 transport_socket: name: envoy.transport_sockets.tls typed_config: "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext sni: petstore.swagger.io
i want grpc service that can be call using this envoy in dot net core how i can create that?