mirror of https://github.com/grpc/grpc-web.git
Fixing Envoy config yaml formatting (#1223)
This commit is contained in:
parent
58e8c1574f
commit
c6ef0a55b6
|
@ -5,55 +5,55 @@ admin:
|
||||||
|
|
||||||
static_resources:
|
static_resources:
|
||||||
listeners:
|
listeners:
|
||||||
- name: listener_0
|
- name: listener_0
|
||||||
address:
|
address:
|
||||||
socket_address: { address: 0.0.0.0, port_value: 8080 }
|
socket_address: { address: 0.0.0.0, port_value: 8080 }
|
||||||
filter_chains:
|
filter_chains:
|
||||||
- filters:
|
- filters:
|
||||||
- name: envoy.filters.network.http_connection_manager
|
- name: envoy.filters.network.http_connection_manager
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
||||||
codec_type: auto
|
codec_type: auto
|
||||||
stat_prefix: ingress_http
|
stat_prefix: ingress_http
|
||||||
route_config:
|
route_config:
|
||||||
name: local_route
|
name: local_route
|
||||||
virtual_hosts:
|
virtual_hosts:
|
||||||
- name: local_service
|
- name: local_service
|
||||||
domains: ["*"]
|
domains: ["*"]
|
||||||
routes:
|
routes:
|
||||||
- match: { prefix: "/" }
|
- match: { prefix: "/" }
|
||||||
route:
|
route:
|
||||||
cluster: echo_service
|
cluster: echo_service
|
||||||
timeout: 0s
|
timeout: 0s
|
||||||
max_stream_duration:
|
max_stream_duration:
|
||||||
grpc_timeout_header_max: 0s
|
grpc_timeout_header_max: 0s
|
||||||
cors:
|
cors:
|
||||||
allow_origin_string_match:
|
allow_origin_string_match:
|
||||||
- prefix: "*"
|
- prefix: "*"
|
||||||
allow_methods: GET, PUT, DELETE, POST, OPTIONS
|
allow_methods: GET, PUT, DELETE, POST, OPTIONS
|
||||||
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
|
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
|
||||||
max_age: "1728000"
|
max_age: "1728000"
|
||||||
expose_headers: custom-header-1,grpc-status,grpc-message
|
expose_headers: custom-header-1,grpc-status,grpc-message
|
||||||
http_filters:
|
http_filters:
|
||||||
- name: envoy.filters.http.grpc_web
|
- name: envoy.filters.http.grpc_web
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.grpc_web.v3.GrpcWeb
|
"@type": type.googleapis.com/envoy.extensions.filters.http.grpc_web.v3.GrpcWeb
|
||||||
- name: envoy.filters.http.cors
|
- name: envoy.filters.http.cors
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors
|
"@type": type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors
|
||||||
- name: envoy.filters.http.router
|
- name: envoy.filters.http.router
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
|
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
|
||||||
clusters:
|
clusters:
|
||||||
- name: echo_service
|
- name: echo_service
|
||||||
connect_timeout: 0.25s
|
connect_timeout: 0.25s
|
||||||
type: logical_dns
|
type: logical_dns
|
||||||
http2_protocol_options: {}
|
http2_protocol_options: {}
|
||||||
lb_policy: round_robin
|
lb_policy: round_robin
|
||||||
load_assignment:
|
load_assignment:
|
||||||
cluster_name: cluster_0
|
cluster_name: cluster_0
|
||||||
endpoints:
|
endpoints:
|
||||||
- lb_endpoints:
|
- lb_endpoints:
|
||||||
- endpoint:
|
- endpoint:
|
||||||
address:
|
address:
|
||||||
socket_address:
|
socket_address:
|
||||||
|
|
|
@ -66,12 +66,12 @@ static_resources:
|
||||||
name: local_route
|
name: local_route
|
||||||
virtual_hosts:
|
virtual_hosts:
|
||||||
- name: local_service
|
- name: local_service
|
||||||
domains: [ "*" ]
|
domains: ["*"]
|
||||||
routes:
|
routes:
|
||||||
- match: { prefix: "/" }
|
- match: { prefix: "/" }
|
||||||
route:
|
route:
|
||||||
cluster: echo_service
|
cluster: echo_service
|
||||||
max_grpc_timeout: 0s
|
timeout: 0s
|
||||||
http_filters:
|
http_filters:
|
||||||
- name: envoy.filters.http.grpc_web
|
- name: envoy.filters.http.grpc_web
|
||||||
typed_config:
|
typed_config:
|
||||||
|
@ -89,11 +89,11 @@ static_resources:
|
||||||
cluster_name: cluster_0
|
cluster_name: cluster_0
|
||||||
endpoints:
|
endpoints:
|
||||||
- lb_endpoints:
|
- lb_endpoints:
|
||||||
- endpoint:
|
- endpoint:
|
||||||
address:
|
address:
|
||||||
socket_address:
|
socket_address:
|
||||||
address: node-server
|
address: node-server
|
||||||
port_value: 9090
|
port_value: 9090
|
||||||
```
|
```
|
||||||
|
|
||||||
You may also need to add some CORS setup to make sure the browser can request
|
You may also need to add some CORS setup to make sure the browser can request
|
||||||
|
|
|
@ -95,54 +95,54 @@ cluster at port `:9090`.
|
||||||
```yaml
|
```yaml
|
||||||
static_resources:
|
static_resources:
|
||||||
listeners:
|
listeners:
|
||||||
- name: listener_0
|
- name: listener_0
|
||||||
address:
|
address:
|
||||||
socket_address: { address: 0.0.0.0, port_value: 8080 }
|
socket_address: { address: 0.0.0.0, port_value: 8080 }
|
||||||
filter_chains:
|
filter_chains:
|
||||||
- filters:
|
- filters:
|
||||||
- name: envoy.filters.network.http_connection_manager
|
- name: envoy.filters.network.http_connection_manager
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
||||||
codec_type: auto
|
codec_type: auto
|
||||||
stat_prefix: ingress_http
|
stat_prefix: ingress_http
|
||||||
route_config:
|
route_config:
|
||||||
name: local_route
|
name: local_route
|
||||||
virtual_hosts:
|
virtual_hosts:
|
||||||
- name: local_service
|
- name: local_service
|
||||||
domains: ["*"]
|
domains: ["*"]
|
||||||
routes:
|
routes:
|
||||||
- match: { prefix: "/" }
|
- match: { prefix: "/" }
|
||||||
route:
|
route:
|
||||||
cluster: greeter_service
|
cluster: greeter_service
|
||||||
max_stream_duration:
|
max_stream_duration:
|
||||||
grpc_timeout_header_max: 0s
|
grpc_timeout_header_max: 0s
|
||||||
cors:
|
cors:
|
||||||
allow_origin_string_match:
|
allow_origin_string_match:
|
||||||
- prefix: "*"
|
- prefix: "*"
|
||||||
allow_methods: GET, PUT, DELETE, POST, OPTIONS
|
allow_methods: GET, PUT, DELETE, POST, OPTIONS
|
||||||
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
|
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
|
||||||
max_age: "1728000"
|
max_age: "1728000"
|
||||||
expose_headers: custom-header-1,grpc-status,grpc-message
|
expose_headers: custom-header-1,grpc-status,grpc-message
|
||||||
http_filters:
|
http_filters:
|
||||||
- name: envoy.filters.http.grpc_web
|
- name: envoy.filters.http.grpc_web
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.grpc_web.v3.GrpcWeb
|
"@type": type.googleapis.com/envoy.extensions.filters.http.grpc_web.v3.GrpcWeb
|
||||||
- name: envoy.filters.http.cors
|
- name: envoy.filters.http.cors
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors
|
"@type": type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors
|
||||||
- name: envoy.filters.http.router
|
- name: envoy.filters.http.router
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
|
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
|
||||||
clusters:
|
clusters:
|
||||||
- name: greeter_service
|
- name: greeter_service
|
||||||
connect_timeout: 0.25s
|
connect_timeout: 0.25s
|
||||||
type: logical_dns
|
type: logical_dns
|
||||||
http2_protocol_options: {}
|
http2_protocol_options: {}
|
||||||
lb_policy: round_robin
|
lb_policy: round_robin
|
||||||
load_assignment:
|
load_assignment:
|
||||||
cluster_name: cluster_0
|
cluster_name: cluster_0
|
||||||
endpoints:
|
endpoints:
|
||||||
- lb_endpoints:
|
- lb_endpoints:
|
||||||
- endpoint:
|
- endpoint:
|
||||||
address:
|
address:
|
||||||
socket_address:
|
socket_address:
|
||||||
|
|
|
@ -5,56 +5,56 @@ admin:
|
||||||
|
|
||||||
static_resources:
|
static_resources:
|
||||||
listeners:
|
listeners:
|
||||||
- name: listener_0
|
- name: listener_0
|
||||||
address:
|
address:
|
||||||
socket_address: { address: 0.0.0.0, port_value: 8080 }
|
socket_address: { address: 0.0.0.0, port_value: 8080 }
|
||||||
filter_chains:
|
filter_chains:
|
||||||
- filters:
|
- filters:
|
||||||
- name: envoy.filters.network.http_connection_manager
|
- name: envoy.filters.network.http_connection_manager
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
||||||
codec_type: auto
|
codec_type: auto
|
||||||
stat_prefix: ingress_http
|
stat_prefix: ingress_http
|
||||||
route_config:
|
route_config:
|
||||||
name: local_route
|
name: local_route
|
||||||
virtual_hosts:
|
virtual_hosts:
|
||||||
- name: local_service
|
- name: local_service
|
||||||
domains: ["*"]
|
domains: ["*"]
|
||||||
routes:
|
routes:
|
||||||
- match: { prefix: "/" }
|
- match: { prefix: "/" }
|
||||||
route:
|
route:
|
||||||
cluster: greeter_service
|
cluster: greeter_service
|
||||||
timeout: 0s
|
timeout: 0s
|
||||||
max_stream_duration:
|
max_stream_duration:
|
||||||
grpc_timeout_header_max: 0s
|
grpc_timeout_header_max: 0s
|
||||||
cors:
|
cors:
|
||||||
allow_origin_string_match:
|
allow_origin_string_match:
|
||||||
- prefix: "*"
|
- prefix: "*"
|
||||||
allow_methods: GET, PUT, DELETE, POST, OPTIONS
|
allow_methods: GET, PUT, DELETE, POST, OPTIONS
|
||||||
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
|
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
|
||||||
max_age: "1728000"
|
max_age: "1728000"
|
||||||
expose_headers: custom-header-1,grpc-status,grpc-message
|
expose_headers: custom-header-1,grpc-status,grpc-message
|
||||||
http_filters:
|
http_filters:
|
||||||
- name: envoy.filters.http.grpc_web
|
- name: envoy.filters.http.grpc_web
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.grpc_web.v3.GrpcWeb
|
"@type": type.googleapis.com/envoy.extensions.filters.http.grpc_web.v3.GrpcWeb
|
||||||
- name: envoy.filters.http.cors
|
- name: envoy.filters.http.cors
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors
|
"@type": type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors
|
||||||
- name: envoy.filters.http.router
|
- name: envoy.filters.http.router
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
|
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
|
||||||
clusters:
|
clusters:
|
||||||
- name: greeter_service
|
- name: greeter_service
|
||||||
connect_timeout: 0.25s
|
connect_timeout: 0.25s
|
||||||
type: logical_dns
|
type: logical_dns
|
||||||
http2_protocol_options: {}
|
http2_protocol_options: {}
|
||||||
lb_policy: round_robin
|
lb_policy: round_robin
|
||||||
# win/mac hosts: Use address: host.docker.internal instead of address: localhost in the line below
|
# win/mac hosts: Use address: host.docker.internal instead of address: localhost in the line below
|
||||||
load_assignment:
|
load_assignment:
|
||||||
cluster_name: cluster_0
|
cluster_name: cluster_0
|
||||||
endpoints:
|
endpoints:
|
||||||
- lb_endpoints:
|
- lb_endpoints:
|
||||||
- endpoint:
|
- endpoint:
|
||||||
address:
|
address:
|
||||||
socket_address:
|
socket_address:
|
||||||
|
|
|
@ -34,6 +34,15 @@ do
|
||||||
{ echo >&2 "$p is required but not installed. Aborting."; exit 1; }
|
{ echo >&2 "$p is required but not installed. Aborting."; exit 1; }
|
||||||
done
|
done
|
||||||
|
|
||||||
|
function cleanup () {
|
||||||
|
echo "Killing lingering Docker servers..."
|
||||||
|
docker rm -f "$pid1"
|
||||||
|
docker rm -f "$pid2"
|
||||||
|
docker rm -f "$pid3"
|
||||||
|
}
|
||||||
|
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
# Build all relevant docker images. They should all build successfully.
|
# Build all relevant docker images. They should all build successfully.
|
||||||
docker-compose build prereqs node-interop-server java-interop-server
|
docker-compose build prereqs node-interop-server java-interop-server
|
||||||
|
|
||||||
|
@ -57,7 +66,9 @@ docker rm -f "$pid2"
|
||||||
##########################################################
|
##########################################################
|
||||||
echo -e "\n[Running] Interop test #2 - against Java interop server"
|
echo -e "\n[Running] Interop test #2 - against Java interop server"
|
||||||
pid3=$(docker run -d --network=host grpcweb/java-interop-server)
|
pid3=$(docker run -d --network=host grpcweb/java-interop-server)
|
||||||
|
|
||||||
run_tests
|
run_tests
|
||||||
|
|
||||||
docker rm -f "$pid3"
|
docker rm -f "$pid3"
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
|
|
|
@ -5,55 +5,55 @@ admin:
|
||||||
|
|
||||||
static_resources:
|
static_resources:
|
||||||
listeners:
|
listeners:
|
||||||
- name: listener_0
|
- name: listener_0
|
||||||
address:
|
address:
|
||||||
socket_address: { address: 0.0.0.0, port_value: 8080 }
|
socket_address: { address: 0.0.0.0, port_value: 8080 }
|
||||||
filter_chains:
|
filter_chains:
|
||||||
- filters:
|
- filters:
|
||||||
- name: envoy.filters.network.http_connection_manager
|
- name: envoy.filters.network.http_connection_manager
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
||||||
codec_type: auto
|
codec_type: auto
|
||||||
stat_prefix: ingress_http
|
stat_prefix: ingress_http
|
||||||
route_config:
|
route_config:
|
||||||
name: local_route
|
name: local_route
|
||||||
virtual_hosts:
|
virtual_hosts:
|
||||||
- name: local_service
|
- name: local_service
|
||||||
domains: ["*"]
|
domains: ["*"]
|
||||||
routes:
|
routes:
|
||||||
- match: { prefix: "/" }
|
- match: { prefix: "/" }
|
||||||
route:
|
route:
|
||||||
cluster: interop_service
|
cluster: interop_service
|
||||||
timeout: 0s
|
timeout: 0s
|
||||||
max_stream_duration:
|
max_stream_duration:
|
||||||
grpc_timeout_header_max: 0s
|
grpc_timeout_header_max: 0s
|
||||||
cors:
|
cors:
|
||||||
allow_origin_string_match:
|
allow_origin_string_match:
|
||||||
- prefix: "*"
|
- prefix: "*"
|
||||||
allow_methods: GET, PUT, DELETE, POST, OPTIONS
|
allow_methods: GET, PUT, DELETE, POST, OPTIONS
|
||||||
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,x-grpc-test-echo-initial,x-grpc-test-echo-trailing-bin,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
|
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,x-grpc-test-echo-initial,x-grpc-test-echo-trailing-bin,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
|
||||||
max_age: "1728000"
|
max_age: "1728000"
|
||||||
expose_headers: x-grpc-test-echo-initial,x-grpc-test-echo-trailing-bin,grpc-status,grpc-message
|
expose_headers: x-grpc-test-echo-initial,x-grpc-test-echo-trailing-bin,grpc-status,grpc-message
|
||||||
http_filters:
|
http_filters:
|
||||||
- name: envoy.filters.http.grpc_web
|
- name: envoy.filters.http.grpc_web
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.grpc_web.v3.GrpcWeb
|
"@type": type.googleapis.com/envoy.extensions.filters.http.grpc_web.v3.GrpcWeb
|
||||||
- name: envoy.filters.http.cors
|
- name: envoy.filters.http.cors
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors
|
"@type": type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors
|
||||||
- name: envoy.filters.http.router
|
- name: envoy.filters.http.router
|
||||||
typed_config:
|
typed_config:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
|
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
|
||||||
clusters:
|
clusters:
|
||||||
- name: interop_service
|
- name: interop_service
|
||||||
connect_timeout: 0.25s
|
connect_timeout: 0.25s
|
||||||
type: logical_dns
|
type: logical_dns
|
||||||
http2_protocol_options: {}
|
http2_protocol_options: {}
|
||||||
lb_policy: round_robin
|
lb_policy: round_robin
|
||||||
load_assignment:
|
load_assignment:
|
||||||
cluster_name: cluster_0
|
cluster_name: cluster_0
|
||||||
endpoints:
|
endpoints:
|
||||||
- lb_endpoints:
|
- lb_endpoints:
|
||||||
- endpoint:
|
- endpoint:
|
||||||
address:
|
address:
|
||||||
socket_address:
|
socket_address:
|
||||||
|
|
Loading…
Reference in New Issue