Please let me know if this is good. Example is renamed to Shipping and it is a grpc endpoint
{
“name”: “virtualInbound”,
“active_state”: {
“version_info”: “2020-10-01T06:00:32Z/197”,
“listener”: {
“@type”: “type.googleapis.com/envoy.config.listener.v3.Listener”,
“name”: “virtualInbound”,
“address”: {
“socket_address”: {
“address”: “0.0.0.0”,
“port_value”: 15006
}
},
“filter_chains”: [
{
“filter_chain_match”: {
“prefix_ranges”: [
{
“address_prefix”: “0.0.0.0”,
“prefix_len”: 0
}
],
“transport_protocol”: “tls”
},
“filters”: [
{
“name”: “envoy.filters.network.ext_authz”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.network.ext_authz.v3.ExtAuthz”,
“stat_prefix”: “authz”,
“grpc_service”: {
“google_grpc”: {
“target_uri”: “127.0.0.1:9191”,
“stat_prefix”: “ext_authz”
},
“timeout”: “1s”
}
}
},
{
“name”: “envoy.filters.network.tcp_proxy”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy”,
“stat_prefix”: “InboundPassthroughClusterIpv4”,
“cluster”: “InboundPassthroughClusterIpv4”
}
}
],
“transport_socket”: {
“name”: “envoy.transport_sockets.tls”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext”,
“common_tls_context”: {
“alpn_protocols”: [
“istio-peer-exchange”,
“h2”,
“http/1.1”
],
“tls_certificate_sds_secret_configs”: [
{
“name”: “file-cert:/etc/identity/server/certificates/server.pem~/etc/identity/server/keys/server-key.pem”,
“sds_config”: {
“api_config_source”: {
“api_type”: “GRPC”,
“grpc_services”: [
{
“envoy_grpc”: {
“cluster_name”: “sds-grpc”
}
}
],
“transport_api_version”: “V3”
},
“resource_api_version”: “V3”
}
}
],
“combined_validation_context”: {
“default_validation_context”: {},
“validation_context_sds_secret_config”: {
“name”: “file-root:/etc/identity/ca/cacerts.pem”,
“sds_config”: {
“api_config_source”: {
“api_type”: “GRPC”,
“grpc_services”: [
{
“envoy_grpc”: {
“cluster_name”: “sds-grpc”
}
}
],
“transport_api_version”: “V3”
},
“resource_api_version”: “V3”
}
}
}
},
“require_client_certificate”: true
}
},
“name”: “virtualInbound”
},
{
“filter_chain_match”: {
“prefix_ranges”: [
{
“address_prefix”: “0.0.0.0”,
“prefix_len”: 0
}
],
“transport_protocol”: “tls”,
“application_protocols”: [
“http/1.0”,
“http/1.1”,
“h2c”,
“istio-http/1.0”,
“istio-http/1.1”,
“istio-h2”
]
},
“filters”: [
{
“name”: “envoy.filters.network.ext_authz”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.network.ext_authz.v3.ExtAuthz”,
“stat_prefix”: “authz”,
“grpc_service”: {
“google_grpc”: {
“target_uri”: “127.0.0.1:9191”,
“stat_prefix”: “ext_authz”
},
“timeout”: “1s”
}
}
},
{
“name”: “envoy.filters.network.http_connection_manager”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager”,
“stat_prefix”: “InboundPassthroughClusterIpv4”,
“route_config”: {
“name”: “InboundPassthroughClusterIpv4”,
“virtual_hosts”: [
{
“name”: “inbound|http|0”,
“domains”: [
“"
],
“routes”: [
{
“match”: {
“prefix”: “/”
},
“route”: {
“cluster”: “InboundPassthroughClusterIpv4”,
“timeout”: “0s”,
“max_grpc_timeout”: “0s”
},
“decorator”: {
“operation”: ":0/”
},
“name”: “default”
}
]
}
],
“validate_clusters”: false
},
“http_filters”: [
{
“name”: “envoy.filters.http.cors”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors”
}
},
{
“name”: “envoy.filters.http.fault”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.http.fault.v3.HTTPFault”
}
},
{
“name”: “shipping_filter”,
“typed_config”: {
“@type”: “type.googleapis.com/udpa.type.v1.TypedStruct”,
“type_url”: “type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm”,
“value”: {
“config”: {
“root_id”: “my_root_id”,
“vm_config”: {
“vm_id”: “my_root_id”,
“runtime”: “envoy.wasm.runtime.v8”,
“code”: {
“local”: {
“filename”: “/var/local/lib/wasm-filters/shipping-wasm-filter.wasm”
}
},
“allow_precompiled”: true
},
“configuration”: {
“@type”: “type.googleapis.com/google.protobuf.StringValue”,
“value”: “{}\n”
}
}
}
}
},
{
“name”: “envoy.filters.http.router”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.http.router.v3.Router”
}
}
],
“tracing”: {
“client_sampling”: {
“value”: 100
},
“random_sampling”: {
“value”: 1
},
“overall_sampling”: {
“value”: 100
}
},
“server_name”: “istio-envoy”,
“use_remote_address”: false,
“generate_request_id”: true,
“forward_client_cert_details”: “APPEND_FORWARD”,
“set_current_client_cert_details”: {
“subject”: true,
“dns”: true,
“uri”: true
},
“upgrade_configs”: [
{
“upgrade_type”: “websocket”
}
],
“stream_idle_timeout”: “0s”,
“normalize_path”: true
}
}
],
“transport_socket”: {
“name”: “envoy.transport_sockets.tls”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext”,
“common_tls_context”: {
“alpn_protocols”: [
“h2”,
“http/1.1”
],
“tls_certificate_sds_secret_configs”: [
{
“name”: “file-cert:/etc/identity/server/certificates/server.pem~/etc/identity/server/keys/server-key.pem”,
“sds_config”: {
“api_config_source”: {
“api_type”: “GRPC”,
“grpc_services”: [
{
“envoy_grpc”: {
“cluster_name”: “sds-grpc”
}
}
],
“transport_api_version”: “V3”
},
“resource_api_version”: “V3”
}
}
],
“combined_validation_context”: {
“default_validation_context”: {},
“validation_context_sds_secret_config”: {
“name”: “file-root:/etc/identity/ca/cacerts.pem”,
“sds_config”: {
“api_config_source”: {
“api_type”: “GRPC”,
“grpc_services”: [
{
“envoy_grpc”: {
“cluster_name”: “sds-grpc”
}
}
],
“transport_api_version”: “V3”
},
“resource_api_version”: “V3”
}
}
}
},
“require_client_certificate”: true
}
},
“name”: “virtualInbound-catchall-http”
},
{
“filter_chain_match”: {
“destination_port”: 7443
},
“filters”: [
{
“name”: “envoy.filters.network.ext_authz”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.network.ext_authz.v3.ExtAuthz”,
“stat_prefix”: “authz”,
“grpc_service”: {
“google_grpc”: {
“target_uri”: “127.0.0.1:9191”,
“stat_prefix”: “ext_authz”
},
“timeout”: “1s”
}
}
},
{
“name”: “envoy.filters.network.http_connection_manager”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager”,
“stat_prefix”: “inbound_0.0.0.0_7443”,
“route_config”: {
“name”: “inbound|7443|grpc-shipping|istio-shipping.service-mesh.svc.cluster.local”,
“virtual_hosts”: [
{
“name”: “inbound|http|7443”,
“domains”: [
“"
],
“routes”: [
{
“match”: {
“prefix”: “/”
},
“route”: {
“cluster”: “inbound|7443|grpc-shipping|istio-shipping.service-mesh.svc.cluster.local”,
“timeout”: “0s”,
“max_grpc_timeout”: “0s”
},
“decorator”: {
“operation”: "istio-shipping.service-mesh.svc.cluster.local:7443/”
},
“name”: “default”
}
]
}
],
“validate_clusters”: false
},
“http_filters”: [
{
“name”: “istio_authn”,
“typed_config”: {
“@type”: “type.googleapis.com/istio.envoy.config.filter.http.authn.v2alpha1.FilterConfig”,
“policy”: {
“peers”: [
{
“mtls”: {}
}
]
},
“skip_validate_trust_domain”: true
}
},
{
“name”: “envoy.filters.http.grpc_stats”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.http.grpc_stats.v3.FilterConfig”,
“emit_filter_state”: true,
“stats_for_all_methods”: false
}
},
{
“name”: “envoy.filters.http.cors”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors”
}
},
{
“name”: “envoy.filters.http.fault”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.http.fault.v3.HTTPFault”
}
},
{
“name”: “shipping_filter”,
“typed_config”: {
“@type”: “type.googleapis.com/udpa.type.v1.TypedStruct”,
“type_url”: “type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm”,
“value”: {
“config”: {
“root_id”: “my_root_id”,
“vm_config”: {
“vm_id”: “my_root_id”,
“runtime”: “envoy.wasm.runtime.v8”,
“code”: {
“local”: {
“filename”: “/var/local/lib/wasm-filters/shipping-wasm-filter.wasm”
}
},
“allow_precompiled”: true
},
“configuration”: {
“@type”: “type.googleapis.com/google.protobuf.StringValue”,
“value”: “{}\n”
}
}
}
}
},
{
“name”: “envoy.filters.http.router”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.http.router.v3.Router”
}
}
],
“tracing”: {
“client_sampling”: {
“value”: 100
},
“random_sampling”: {
“value”: 1
},
“overall_sampling”: {
“value”: 100
}
},
“http2_protocol_options”: {},
“server_name”: “istio-envoy”,
“use_remote_address”: false,
“generate_request_id”: true,
“forward_client_cert_details”: “APPEND_FORWARD”,
“set_current_client_cert_details”: {
“subject”: true,
“dns”: true,
“uri”: true
},
“upgrade_configs”: [
{
“upgrade_type”: “websocket”
}
],
“stream_idle_timeout”: “0s”,
“normalize_path”: true
}
}
],
“transport_socket”: {
“name”: “envoy.transport_sockets.tls”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext”,
“common_tls_context”: {
“alpn_protocols”: [
“h2”,
“http/1.1”
],
“tls_certificate_sds_secret_configs”: [
{
“name”: “file-cert:/etc/identity/server/certificates/server.pem~/etc/identity/server/keys/server-key.pem”,
“sds_config”: {
“api_config_source”: {
“api_type”: “GRPC”,
“grpc_services”: [
{
“envoy_grpc”: {
“cluster_name”: “sds-grpc”
}
}
],
“transport_api_version”: “V3”
},
“resource_api_version”: “V3”
}
}
],
“combined_validation_context”: {
“default_validation_context”: {},
“validation_context_sds_secret_config”: {
“name”: “file-root:/etc/identity/ca/cacerts.pem”,
“sds_config”: {
“api_config_source”: {
“api_type”: “GRPC”,
“grpc_services”: [
{
“envoy_grpc”: {
“cluster_name”: “sds-grpc”
}
}
],
“transport_api_version”: “V3”
},
“resource_api_version”: “V3”
}
}
}
},
“require_client_certificate”: true
}
},
“name”: “0.0.0.0_7443”
}
],
“listener_filters”: [
{
“name”: “envoy.filters.listener.original_dst”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.listener.original_dst.v3.OriginalDst”
}
},
{
“name”: “envoy.filters.listener.tls_inspector”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector”
}
},
{
“name”: “envoy.filters.listener.http_inspector”,
“typed_config”: {
“@type”: “type.googleapis.com/envoy.extensions.filters.listener.http_inspector.v3.HttpInspector”
}
}
],
“listener_filters_timeout”: “1s”,
“traffic_direction”: “INBOUND”,
“continue_on_listener_filters_timeout”: true
},
“last_updated”: “2020-10-01T09:28:31.988Z”
}
}