diff --git a/istioctl/cmd/describe.go b/istioctl/cmd/describe.go index ea8f778b6459..d41716e40f25 100644 --- a/istioctl/cmd/describe.go +++ b/istioctl/cmd/describe.go @@ -24,6 +24,8 @@ import ( envoy_api_core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" envoy_api_route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" + rbac_http_filter "github.com/envoyproxy/go-control-plane/envoy/config/filter/http/rbac/v2" + http_conn "github.com/envoyproxy/go-control-plane/envoy/config/filter/network/http_connection_manager/v2" gogo_types "github.com/gogo/protobuf/types" "github.com/spf13/cobra" @@ -39,6 +41,7 @@ import ( istio_envoy_configdump "istio.io/istio/istioctl/pkg/writer/envoy/configdump" "istio.io/istio/pilot/pkg/model" envoy_v2 "istio.io/istio/pilot/pkg/proxy/envoy/v2" + authz_model "istio.io/istio/pilot/pkg/security/authz/model" pilotcontroller "istio.io/istio/pilot/pkg/serviceregistry/kube/controller" "istio.io/istio/pkg/config/host" "istio.io/istio/pkg/config/protocol" @@ -189,6 +192,16 @@ THIS COMMAND IS STILL UNDER ACTIVE DEVELOPMENT AND NOT READY FOR PRODUCTION USE. printVirtualService(writer, *vs, svc, matchingSubsets, nonmatchingSubsets, dr) } } + + policies, _ := getIstioRBACPolicies(&cd, port.Port) + if len(policies) > 0 { + if len(svc.Spec.Ports) > 1 { + // If there is more than one port, prefix each DR by the port it applies to + fmt.Fprintf(writer, "%d ", port.Port) + } + + fmt.Fprintf(writer, "RBAC policies: %s\n", strings.Join(policies, ", ")) + } } } @@ -671,6 +684,64 @@ func (v *myGogoValue) keyAsString(key string) string { return s.GetStringValue() } +func getIstioRBACPolicies(cd *configdump.Wrapper, port int32) ([]string, error) { + hcm, err := getInboundHTTPConnectionManager(cd, port) + if err != nil || hcm == nil { + return []string{}, err + } + + // Identify RBAC policies. Currently there are no "breadcrumbs" so we only + // return the policy names, not the ServiceRole and ServiceRoleBinding names. + for _, httpFilter := range hcm.HttpFilters { + if httpFilter.Name == authz_model.RBACHTTPFilterName { + rbac := &rbac_http_filter.RBAC{} + if err := gogo_types.UnmarshalAny(httpFilter.GetTypedConfig(), rbac); err == nil { + policies := []string{} + for polName := range rbac.Rules.Policies { + policies = append(policies, polName) + } + return policies, nil + } + } + } + + return []string{}, nil +} + +// Return the first HTTP Connection Manager config for the inbound port +func getInboundHTTPConnectionManager(cd *configdump.Wrapper, port int32) (*http_conn.HttpConnectionManager, error) { + filter := istio_envoy_configdump.ListenerFilter{ + Port: uint32(port), + } + listeners, err := cd.GetListenerConfigDump() + if err != nil { + return nil, err + } + + for _, listener := range listeners.DynamicActiveListeners { + if filter.Verify(listener.Listener) { + sockAddr := listener.Listener.Address.GetSocketAddress() + if sockAddr != nil { + // Skip outbound listeners + if sockAddr.Address == "0.0.0.0" { + continue + } + } + + for _, filterChain := range listener.Listener.FilterChains { + for _, filter := range filterChain.Filters { + hcm := &http_conn.HttpConnectionManager{} + if err := gogo_types.UnmarshalAny(filter.GetTypedConfig(), hcm); err == nil { + return hcm, nil + } + } + } + } + } + + return nil, nil +} + // getIstioConfigNameForSvc returns name, namespace func getIstioVirtualServiceNameForSvc(cd *configdump.Wrapper, svc v1.Service, port int32) (string, string, error) { path, err := getIstioVirtualServicePathForSvcFromRoute(cd, svc, port) @@ -709,7 +780,7 @@ func getIstioVirtualServicePathForSvcFromRoute(cd *configdump.Wrapper, svc v1.Se for _, vh := range rcd.RouteConfig.VirtualHosts { for _, route := range vh.Routes { - if routeDestinationMatchesSvc(route, svc) { + if routeDestinationMatchesSvc(route, svc, vh) { return getIstioConfig(route.Metadata) } } @@ -719,7 +790,7 @@ func getIstioVirtualServicePathForSvcFromRoute(cd *configdump.Wrapper, svc v1.Se } // routeDestinationMatchesSvc determines if there ismixer configuration to use this service as a destination -func routeDestinationMatchesSvc(route *envoy_api_route.Route, svc v1.Service) bool { +func routeDestinationMatchesSvc(route *envoy_api_route.Route, svc v1.Service, vh *envoy_api_route.VirtualHost) bool { if route == nil { return false } @@ -746,6 +817,17 @@ func routeDestinationMatchesSvc(route *envoy_api_route.Route, svc v1.Service) bo } } + // No mixer config, infer from VirtualHost domains matching ..svc.cluster.local + re := regexp.MustCompile(`(?P[^\.]+)\.(?P[^\.]+)\.svc\.cluster\.local$`) + for _, domain := range vh.Domains { + ss := re.FindStringSubmatch(domain) + if ss != nil { + if ss[1] == svc.ObjectMeta.Name && ss[2] == svc.ObjectMeta.Namespace { + return true + } + } + } + return false } @@ -911,6 +993,7 @@ func printAuthnFromAuthenticationz(writer io.Writer, debug *[]envoy_v2.Authentic return } + count := 0 matchingAuthns := []envoy_v2.AuthenticationDebug{} for _, authn := range *debug { if authnMatchSvc(authn, svc, port) { @@ -919,8 +1002,12 @@ func printAuthnFromAuthenticationz(writer io.Writer, debug *[]envoy_v2.Authentic } for _, matchingAuthn := range matchingAuthns { printAuthn(writer, pod, matchingAuthn) + count++ } + if count == 0 { + fmt.Fprintf(writer, "None\n") + } } // getIstioVirtualServicePathForSvcFromListener returns something like "/apis/networking/v1alpha3/namespaces/default/virtual-service/reviews" diff --git a/istioctl/cmd/describe_test.go b/istioctl/cmd/describe_test.go index a669e44d34e7..a6d0bfd6711b 100644 --- a/istioctl/cmd/describe_test.go +++ b/istioctl/cmd/describe_test.go @@ -23,11 +23,15 @@ import ( coreV1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/fake" + networking "istio.io/api/networking/v1alpha3" + "istio.io/istio/pilot/pkg/model" "istio.io/istio/pilot/test/util" + "istio.io/istio/pkg/config/schemas" ) // execAndK8sConfigTestCase lets a test case hold some Envoy, Istio, and Kubernetes configuration @@ -47,7 +51,33 @@ type execAndK8sConfigTestCase struct { } var ( - cannedIstioConfig = []model.Config{} + cannedIstioConfig = []model.Config{ + { + ConfigMeta: model.ConfigMeta{ + Name: "ratings", + Namespace: "bookinfo", + Type: schemas.DestinationRule.Type, + Group: schemas.DestinationRule.Group, + Version: schemas.DestinationRule.Version, + }, + Spec: &networking.DestinationRule{ + Host: "ratings", + Subsets: []*networking.Subset{ + { + Name: "v1", + Labels: map[string]string{ + "version": "v1", + }, + }, + }, + TrafficPolicy: &networking.TrafficPolicy{ + Tls: &networking.TLSSettings{ + Mode: networking.TLSSettings_ISTIO_MUTUAL, + }, + }, + }, + }, + } cannedK8sEnv = []runtime.Object{ &coreV1.PodList{Items: []coreV1.Pod{ @@ -78,6 +108,43 @@ var ( Phase: coreV1.PodRunning, }, }, + { + ObjectMeta: metaV1.ObjectMeta{ + Name: "ratings-v1-f745cf57b-vfwcv", + Namespace: "bookinfo", + Labels: map[string]string{ + "app": "ratings", + "version": "v1", + }, + }, + Spec: coreV1.PodSpec{ + NodeName: "foo_node", + Containers: []coreV1.Container{ + { + Name: "ratings", + Ports: []coreV1.ContainerPort{ + { + ContainerPort: 9080, + Protocol: "TCP", + }, + }, + }, + { + Name: "istio-proxy", + Ports: []coreV1.ContainerPort{ + { + Name: "http-envoy-prom", + ContainerPort: 15090, + Protocol: "TCP", + }, + }, + }, + }, + }, + Status: coreV1.PodStatus{ + Phase: coreV1.PodRunning, + }, + }, }}, &coreV1.ServiceList{Items: []coreV1.Service{ { @@ -95,6 +162,26 @@ var ( Selector: map[string]string{"app": "details"}, }, }, + { + ObjectMeta: metaV1.ObjectMeta{ + Name: "ratings", + Namespace: "bookinfo", + }, + Spec: coreV1.ServiceSpec{ + Ports: []coreV1.ServicePort{ + { + Port: 9080, + TargetPort: intstr.IntOrString{ + Type: intstr.Int, + IntVal: 9080, + }, + Name: "http", + Protocol: "TCP", + }, + }, + Selector: map[string]string{"app": "ratings"}, + }, + }, }}, } ) @@ -102,6 +189,7 @@ var ( func TestDescribe(t *testing.T) { cannedConfig := map[string][]byte{ "details-v1-5b7f94f9bc-wp5tb": util.ReadFile("../pkg/writer/compare/testdata/envoyconfigdump.json", t), + "ratings-v1-f745cf57b-vfwcv": util.ReadFile("testdata/describe/ratings-v1-f745cf57b-vfwcv.json", t), "istio-pilot-7f9796fc98-99bp7": []byte(`[ { "host": "details.default.svc.cluster.local", @@ -111,6 +199,15 @@ func TestDescribe(t *testing.T) { "server_protocol": "HTTP/mTLS", "client_protocol": "HTTP", "TLS_conflict_status": "OK" +}, +{ + "host": "ratings.bookinfo.svc.cluster.local", + "port": 9080, + "authentication_policy_name": "default/", + "destination_rule_name": "details/default", + "server_protocol": "HTTP/mTLS", + "client_protocol": "mTLS", + "TLS_conflict_status": "OK" } ]`), } @@ -144,6 +241,23 @@ Suggestion: add 'version' label to pod for Istio telemetry. -------------------- Service: details Pilot reports that pod is PERMISSIVE (enforces HTTP/mTLS) and clients speak HTTP +`, + }, + { // case 5 has recent data including RBAC + execClientConfig: cannedConfig, + configs: cannedIstioConfig, + k8sConfigs: cannedK8sEnv, + args: strings.Split("-n bookinfo experimental describe pod ratings-v1-f745cf57b-vfwcv", " "), + expectedOutput: `Pod: ratings-v1-f745cf57b-vfwcv + Pod Ports: 9080 (ratings), 15090 (istio-proxy) +-------------------- +Service: ratings + Port: http 9080/HTTP +DestinationRule: ratings for "ratings" + Matching subsets: v1 + Traffic Policy TLS Mode: ISTIO_MUTUAL +Pilot reports that pod is PERMISSIVE (enforces HTTP/mTLS) and clients speak mTLS +RBAC policies: ratings-reader `, }, } diff --git a/istioctl/cmd/testdata/describe/ratings-v1-f745cf57b-vfwcv.json b/istioctl/cmd/testdata/describe/ratings-v1-f745cf57b-vfwcv.json new file mode 100644 index 000000000000..28447b8cbb3f --- /dev/null +++ b/istioctl/cmd/testdata/describe/ratings-v1-f745cf57b-vfwcv.json @@ -0,0 +1,4702 @@ +{ + "configs": [ + { + "@type": "type.googleapis.com/envoy.admin.v2alpha.BootstrapConfigDump", + "bootstrap": { + "node": { + "id": "sidecar~172.30.144.156~ratings-v1-f745cf57b-vfwcv.bookinfo~bookinfo.svc.cluster.local", + "cluster": "ratings.bookinfo", + "metadata": { + "ISTIO_VERSION": "release-1.2-20190709-09-16", + "ISTIO_META_INSTANCE_IPS": "172.30.144.156,172.30.144.156,fe80::c44f:47ff:fe06:9137", + "POD_NAME": "ratings-v1-f745cf57b-vfwcv", + "istio": "sidecar", + "ISTIO_PROXY_VERSION": "1.1.3", + "ISTIO_PROXY_SHA": "istio-proxy:a975561b980463f08689d3debe33bb9eefc80c3d", + "app": "ratings", + "INCLUDE_INBOUND_PORTS": "9080", + "pod-template-hash": "f745cf57b", + "INTERCEPTION_MODE": "REDIRECT", + "CONFIG_NAMESPACE": "bookinfo", + "version": "v1" + }, + "locality": {}, + "build_version": "a975561b980463f08689d3debe33bb9eefc80c3d/1.11.0-dev/Clean/RELEASE/BoringSSL" + }, + "static_resources": { + "listeners": [ + { + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 15090 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.http_connection_manager", + "config": { + "route_config": { + "virtual_hosts": [ + { + "name": "backend", + "routes": [ + { + "route": { + "cluster": "prometheus_stats" + }, + "match": { + "prefix": "/stats/prometheus" + } + } + ], + "domains": [ + "*" + ] + } + ] + }, + "codec_type": "AUTO", + "http_filters": { + "name": "envoy.router" + }, + "stat_prefix": "stats" + } + } + ] + } + ] + } + ], + "clusters": [ + { + "name": "prometheus_stats", + "type": "STATIC", + "connect_timeout": "0.250s", + "hosts": [ + { + "socket_address": { + "address": "127.0.0.1", + "port_value": 15000 + } + } + ] + }, + { + "name": "xds-grpc", + "type": "STRICT_DNS", + "connect_timeout": "10s", + "hosts": [ + { + "socket_address": { + "address": "istio-pilot.istio-system", + "port_value": 15010 + } + } + ], + "circuit_breakers": { + "thresholds": [ + { + "max_connections": 100000, + "max_pending_requests": 100000, + "max_requests": 100000 + }, + { + "priority": "HIGH", + "max_connections": 100000, + "max_pending_requests": 100000, + "max_requests": 100000 + } + ] + }, + "http2_protocol_options": {}, + "dns_refresh_rate": "300s", + "dns_lookup_family": "V4_ONLY", + "upstream_connection_options": { + "tcp_keepalive": { + "keepalive_time": 300 + } + } + }, + { + "name": "zipkin", + "type": "STRICT_DNS", + "connect_timeout": "1s", + "hosts": [ + { + "socket_address": { + "address": "zipkin.istio-system", + "port_value": 9411 + } + } + ], + "dns_refresh_rate": "300s", + "dns_lookup_family": "V4_ONLY" + } + ] + }, + "dynamic_resources": { + "lds_config": { + "ads": {} + }, + "cds_config": { + "ads": {} + }, + "ads_config": { + "api_type": "GRPC", + "grpc_services": [ + { + "envoy_grpc": { + "cluster_name": "xds-grpc" + } + } + ] + } + }, + "tracing": { + "http": { + "name": "envoy.zipkin", + "config": { + "collector_endpoint": "/api/v1/spans", + "collector_cluster": "zipkin", + "trace_id_128bit": "true", + "shared_span_context": "false" + } + } + }, + "admin": { + "access_log_path": "/dev/null", + "address": { + "socket_address": { + "address": "127.0.0.1", + "port_value": 15000 + } + } + }, + "stats_config": { + "stats_tags": [ + { + "tag_name": "cluster_name", + "regex": "^cluster\\.((.+?(\\..+?\\.svc\\.cluster\\.local)?)\\.)" + }, + { + "tag_name": "tcp_prefix", + "regex": "^tcp\\.((.*?)\\.)\\w+?$" + }, + { + "tag_name": "response_code", + "regex": "_rq(_(\\d{3}))$" + }, + { + "tag_name": "response_code_class", + "regex": "_rq(_(\\dxx))$" + }, + { + "tag_name": "http_conn_manager_listener_prefix", + "regex": "^listener(?=\\.).*?\\.http\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)" + }, + { + "tag_name": "http_conn_manager_prefix", + "regex": "^http\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)" + }, + { + "tag_name": "listener_address", + "regex": "^listener\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)" + }, + { + "tag_name": "mongo_prefix", + "regex": "^mongo\\.(.+?)\\.(collection|cmd|cx_|op_|delays_|decoding_)(.*?)$" + } + ], + "use_all_default_tags": false, + "stats_matcher": { + "inclusion_list": { + "patterns": [ + { + "prefix": "cluster_manager" + }, + { + "prefix": "listener_manager" + }, + { + "prefix": "http_mixer_filter" + }, + { + "prefix": "tcp_mixer_filter" + }, + { + "prefix": "server" + }, + { + "prefix": "cluster.xds-grpc" + } + ] + } + } + } + }, + "last_updated": "2019-08-22T18:08:53.758Z" + }, + { + "@type": "type.googleapis.com/envoy.admin.v2alpha.ClustersConfigDump", + "version_info": "2019-08-26T11:59:38Z/26", + "static_clusters": [ + { + "cluster": { + "name": "prometheus_stats", + "type": "STATIC", + "connect_timeout": "0.250s", + "hosts": [ + { + "socket_address": { + "address": "127.0.0.1", + "port_value": 15000 + } + } + ] + }, + "last_updated": "2019-08-22T18:08:53.759Z" + }, + { + "cluster": { + "name": "xds-grpc", + "type": "STRICT_DNS", + "connect_timeout": "10s", + "hosts": [ + { + "socket_address": { + "address": "istio-pilot.istio-system", + "port_value": 15010 + } + } + ], + "circuit_breakers": { + "thresholds": [ + { + "max_connections": 100000, + "max_pending_requests": 100000, + "max_requests": 100000 + }, + { + "priority": "HIGH", + "max_connections": 100000, + "max_pending_requests": 100000, + "max_requests": 100000 + } + ] + }, + "http2_protocol_options": {}, + "dns_refresh_rate": "300s", + "dns_lookup_family": "V4_ONLY", + "upstream_connection_options": { + "tcp_keepalive": { + "keepalive_time": 300 + } + } + }, + "last_updated": "2019-08-22T18:08:53.760Z" + }, + { + "cluster": { + "name": "zipkin", + "type": "STRICT_DNS", + "connect_timeout": "1s", + "hosts": [ + { + "socket_address": { + "address": "zipkin.istio-system", + "port_value": 9411 + } + } + ], + "dns_refresh_rate": "300s", + "dns_lookup_family": "V4_ONLY" + }, + "last_updated": "2019-08-22T18:08:53.760Z" + } + ], + "dynamic_active_clusters": [ + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "BlackHoleCluster", + "type": "STATIC", + "connect_timeout": "1s" + }, + "last_updated": "2019-08-22T18:08:55.204Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "PassthroughCluster", + "type": "ORIGINAL_DST", + "connect_timeout": "1s", + "lb_policy": "ORIGINAL_DST_LB" + }, + "last_updated": "2019-08-22T18:08:55.205Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "inbound|15020|mgmt-15020|mgmtCluster", + "type": "STATIC", + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + {} + ] + }, + "load_assignment": { + "cluster_name": "inbound|15020|mgmt-15020|mgmtCluster", + "endpoints": [ + { + "lb_endpoints": [ + { + "endpoint": { + "address": { + "socket_address": { + "address": "127.0.0.1", + "port_value": 15020 + } + } + } + } + ] + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.204Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "inbound|9080|http|ratings.bookinfo.svc.cluster.local", + "type": "STATIC", + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + {} + ] + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/bookinfo/destination-rule/ratings" + } + } + }, + "load_assignment": { + "cluster_name": "inbound|9080|http|ratings.bookinfo.svc.cluster.local", + "endpoints": [ + { + "lb_endpoints": [ + { + "endpoint": { + "address": { + "socket_address": { + "address": "127.0.0.1", + "port_value": 9080 + } + } + } + } + ] + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.204Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15010||istio-pilot.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15010||istio-pilot.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "http2_protocol_options": { + "max_concurrent_streams": 1073741824 + } + }, + "last_updated": "2019-08-22T18:08:55.202Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15011||istio-pilot.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15011||istio-pilot.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.202Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15014||istio-citadel.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15014||istio-citadel.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.203Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15014||istio-galley.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15014||istio-galley.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.200Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15014||istio-pilot.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15014||istio-pilot.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.203Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15014||istio-sidecar-injector.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15014||istio-sidecar-injector.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.204Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15020||istio-ingressgateway.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15020||istio-ingressgateway.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.200Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15029||istio-ingressgateway.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15029||istio-ingressgateway.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.201Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15030||istio-ingressgateway.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15030||istio-ingressgateway.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.201Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15031||istio-ingressgateway.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15031||istio-ingressgateway.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.202Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15032||istio-ingressgateway.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15032||istio-ingressgateway.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.202Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15443||istio-ingressgateway.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15443||istio-ingressgateway.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.202Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|15443||istio-private-ingressgateway.istio-private-gateways.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|15443||istio-private-ingressgateway.istio-private-gateways.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.200Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|31400||istio-ingressgateway.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|31400||istio-ingressgateway.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.201Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|44134||tiller-deploy.kube-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|44134||tiller-deploy.kube-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.184Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|443||istio-galley.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|443||istio-galley.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.200Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|443||istio-ingressgateway.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|443||istio-ingressgateway.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.201Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|443||istio-sidecar-injector.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|443||istio-sidecar-injector.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.203Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|443||kubernetes-dashboard.kube-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|443||kubernetes-dashboard.kube-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.182Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|443||kubernetes.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|443||kubernetes.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.182Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|443||metrics-server.kube-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|443||metrics-server.kube-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.182Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|443||public-cr943f03ffec22400ba82dd6abf6a21cd9-alb1.kube-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|443||public-cr943f03ffec22400ba82dd6abf6a21cd9-alb1.kube-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.183Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|53||kube-dns.kube-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|53||kube-dns.kube-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.182Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|6379||alpha-redis-headless.redis.svc.cluster.local", + "type": "ORIGINAL_DST", + "connect_timeout": "10s", + "lb_policy": "ORIGINAL_DST_LB", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.190Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|6379||alpha-redis-master.redis.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|6379||alpha-redis-master.redis.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.190Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|6379||alpha-redis-slave.redis.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|6379||alpha-redis-slave.redis.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.190Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|7199||cassandra.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|7199||cassandra.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.184Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|8000||kubernetes-terminal.kube-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|8000||kubernetes-terminal.kube-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.183Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|8060||istio-citadel.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|8060||istio-citadel.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "http2_protocol_options": { + "max_concurrent_streams": 1073741824 + } + }, + "last_updated": "2019-08-22T18:08:55.203Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|8079||fortio-echo.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|8079||fortio-echo.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "lb_policy": "LEAST_REQUEST", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "tls_context": { + "common_tls_context": { + "tls_certificates": [ + { + "certificate_chain": { + "filename": "/etc/certs/cert-chain.pem" + }, + "private_key": { + "filename": "/etc/certs/key.pem" + } + } + ], + "validation_context": { + "trusted_ca": { + "filename": "/etc/certs/root-cert.pem" + } + }, + "alpn_protocols": [ + "istio", + "h2" + ] + }, + "sni": "outbound_.8079_._.fortio-echo.default.svc.cluster.local" + }, + "http2_protocol_options": { + "max_concurrent_streams": 1073741824 + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/default/destination-rule/fortio-echo" + } + } + } + }, + "last_updated": "2019-08-22T18:08:55.188Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|8080||fortio-client.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|8080||fortio-client.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.189Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|8080||fortio-echo.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|8080||fortio-echo.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "lb_policy": "LEAST_REQUEST", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "tls_context": { + "common_tls_context": { + "tls_certificates": [ + { + "certificate_chain": { + "filename": "/etc/certs/cert-chain.pem" + }, + "private_key": { + "filename": "/etc/certs/key.pem" + } + } + ], + "validation_context": { + "trusted_ca": { + "filename": "/etc/certs/root-cert.pem" + } + }, + "alpn_protocols": [ + "istio" + ] + }, + "sni": "outbound_.8080_._.fortio-echo.default.svc.cluster.local" + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/default/destination-rule/fortio-echo" + } + } + } + }, + "last_updated": "2019-08-22T18:08:55.186Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|8080||istio-pilot.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|8080||istio-pilot.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.203Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|8080||redis-client.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|8080||redis-client.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.190Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|80||analyzer.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|80||analyzer.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.183Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|80||istio-ingressgateway.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|80||istio-ingressgateway.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "http2_protocol_options": { + "max_concurrent_streams": 1073741824 + } + }, + "last_updated": "2019-08-22T18:08:55.201Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|80||public-cr943f03ffec22400ba82dd6abf6a21cd9-alb1.kube-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|80||public-cr943f03ffec22400ba82dd6abf6a21cd9-alb1.kube-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.183Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|80||sleep.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|80||sleep.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.190Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|8888||myhost.tcp.svc", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|8888||myhost.tcp.svc" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/default/destination-rule/infra-sl" + } + } + } + }, + "last_updated": "2019-08-22T18:08:55.184Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9000|v1|tcp-echo.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9000|v1|tcp-echo.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/default/destination-rule/tcp-echo-destination" + } + } + } + }, + "last_updated": "2019-08-22T18:08:55.189Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9000|v2|tcp-echo.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9000|v2|tcp-echo.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/default/destination-rule/tcp-echo-destination" + } + } + } + }, + "last_updated": "2019-08-22T18:08:55.189Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9000||tcp-echo.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9000||tcp-echo.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/default/destination-rule/tcp-echo-destination" + } + } + } + }, + "last_updated": "2019-08-22T18:08:55.189Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9042||cassandra.default.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9042||cassandra.default.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.184Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9080|v1|ratings.bookinfo.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9080|v1|ratings.bookinfo.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "tls_context": { + "common_tls_context": { + "tls_certificates": [ + { + "certificate_chain": { + "filename": "/etc/certs/cert-chain.pem" + }, + "private_key": { + "filename": "/etc/certs/key.pem" + } + } + ], + "validation_context": { + "trusted_ca": { + "filename": "/etc/certs/root-cert.pem" + }, + "verify_subject_alt_name": [ + "spiffe://cluster.local/ns/bookinfo/sa/bookinfo-ratings" + ] + }, + "alpn_protocols": [ + "istio" + ] + }, + "sni": "outbound_.9080_.v1_.ratings.bookinfo.svc.cluster.local" + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/bookinfo/destination-rule/ratings" + } + } + } + }, + "last_updated": "2019-08-22T18:08:55.194Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9080|v2|myreviews.bookinfo.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9080|v2|myreviews.bookinfo.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "tls_context": { + "common_tls_context": { + "tls_certificates": [ + { + "certificate_chain": { + "filename": "/etc/certs/cert-chain.pem" + }, + "private_key": { + "filename": "/etc/certs/key.pem" + } + } + ], + "validation_context": { + "trusted_ca": { + "filename": "/etc/certs/root-cert.pem" + }, + "verify_subject_alt_name": [ + "spiffe://cluster.local/ns/bookinfo/sa/bookinfo-reviews" + ] + }, + "alpn_protocols": [ + "istio" + ] + }, + "sni": "outbound_.9080_.v2_.myreviews.bookinfo.svc.cluster.local" + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/bookinfo/destination-rule/reviews" + } + } + } + }, + "last_updated": "2019-08-22T18:08:55.198Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9080|v3|myreviews.bookinfo.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9080|v3|myreviews.bookinfo.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "tls_context": { + "common_tls_context": { + "tls_certificates": [ + { + "certificate_chain": { + "filename": "/etc/certs/cert-chain.pem" + }, + "private_key": { + "filename": "/etc/certs/key.pem" + } + } + ], + "validation_context": { + "trusted_ca": { + "filename": "/etc/certs/root-cert.pem" + }, + "verify_subject_alt_name": [ + "spiffe://cluster.local/ns/bookinfo/sa/bookinfo-reviews" + ] + }, + "alpn_protocols": [ + "istio" + ] + }, + "sni": "outbound_.9080_.v3_.myreviews.bookinfo.svc.cluster.local" + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/bookinfo/destination-rule/reviews" + } + } + } + }, + "last_updated": "2019-08-22T18:08:55.199Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9080||myreviews.bookinfo.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9080||myreviews.bookinfo.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "tls_context": { + "common_tls_context": { + "tls_certificates": [ + { + "certificate_chain": { + "filename": "/etc/certs/cert-chain.pem" + }, + "private_key": { + "filename": "/etc/certs/key.pem" + } + } + ], + "validation_context": { + "trusted_ca": { + "filename": "/etc/certs/root-cert.pem" + }, + "verify_subject_alt_name": [ + "spiffe://cluster.local/ns/bookinfo/sa/bookinfo-reviews" + ] + }, + "alpn_protocols": [ + "istio" + ] + }, + "sni": "outbound_.9080_._.myreviews.bookinfo.svc.cluster.local" + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/bookinfo/destination-rule/reviews" + } + } + } + }, + "last_updated": "2019-08-22T18:08:55.196Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9080||ratings.bookinfo.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9080||ratings.bookinfo.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "tls_context": { + "common_tls_context": { + "tls_certificates": [ + { + "certificate_chain": { + "filename": "/etc/certs/cert-chain.pem" + }, + "private_key": { + "filename": "/etc/certs/key.pem" + } + } + ], + "validation_context": { + "trusted_ca": { + "filename": "/etc/certs/root-cert.pem" + }, + "verify_subject_alt_name": [ + "spiffe://cluster.local/ns/bookinfo/sa/bookinfo-ratings" + ] + }, + "alpn_protocols": [ + "istio" + ] + }, + "sni": "outbound_.9080_._.ratings.bookinfo.svc.cluster.local" + }, + "metadata": { + "filter_metadata": { + "istio": { + "config": "/apis/networking/v1alpha3/namespaces/bookinfo/destination-rule/ratings" + } + } + } + }, + "last_updated": "2019-08-22T18:08:55.192Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9090||prometheus.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9090||prometheus.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.204Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9153||kube-dns.kube-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9153||kube-dns.kube-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + } + }, + "last_updated": "2019-08-22T18:08:55.182Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "cluster": { + "name": "outbound|9901||istio-galley.istio-system.svc.cluster.local", + "type": "EDS", + "eds_cluster_config": { + "eds_config": { + "ads": {} + }, + "service_name": "outbound|9901||istio-galley.istio-system.svc.cluster.local" + }, + "connect_timeout": "10s", + "circuit_breakers": { + "thresholds": [ + { + "max_retries": 1024 + } + ] + }, + "http2_protocol_options": { + "max_concurrent_streams": 1073741824 + } + }, + "last_updated": "2019-08-22T18:08:55.200Z" + } + ] + }, + { + "@type": "type.googleapis.com/envoy.admin.v2alpha.ListenersConfigDump", + "version_info": "2019-08-26T11:59:38Z/26", + "static_listeners": [ + { + "listener": { + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 15090 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.http_connection_manager", + "config": { + "codec_type": "AUTO", + "http_filters": { + "name": "envoy.router" + }, + "stat_prefix": "stats", + "route_config": { + "virtual_hosts": [ + { + "routes": [ + { + "match": { + "prefix": "/stats/prometheus" + }, + "route": { + "cluster": "prometheus_stats" + } + } + ], + "domains": [ + "*" + ], + "name": "backend" + } + ] + } + } + } + ] + } + ] + }, + "last_updated": "2019-08-22T18:08:53.763Z" + } + ], + "dynamic_active_listeners": [ + { + "version_info": "2019-08-23T15:18:59Z/17", + "listener": { + "name": "172.30.144.156_9080", + "address": { + "socket_address": { + "address": "172.30.144.156", + "port_value": 9080 + } + }, + "filter_chains": [ + { + "filter_chain_match": { + "application_protocols": [ + "istio" + ] + }, + "tls_context": { + "common_tls_context": { + "tls_certificates": [ + { + "certificate_chain": { + "filename": "/etc/certs/cert-chain.pem" + }, + "private_key": { + "filename": "/etc/certs/key.pem" + } + } + ], + "validation_context": { + "trusted_ca": { + "filename": "/etc/certs/root-cert.pem" + } + }, + "alpn_protocols": [ + "h2", + "http/1.1" + ] + }, + "require_client_certificate": true + }, + "filters": [ + { + "name": "envoy.http_connection_manager", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", + "stat_prefix": "172.30.144.156_9080", + "route_config": { + "name": "inbound|9080|http|ratings.bookinfo.svc.cluster.local", + "virtual_hosts": [ + { + "name": "inbound|http|9080", + "domains": [ + "*" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "inbound|9080|http|ratings.bookinfo.svc.cluster.local", + "timeout": "0s", + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "ratings.bookinfo.svc.cluster.local:9080/*" + } + } + ] + } + ], + "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": { + "mode": "PERMISSIVE" + } + } + ] + } + } + }, + { + "name": "envoy.filters.http.rbac", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.http.rbac.v2.RBAC", + "rules": { + "policies": { + "ratings-reader": { + "permissions": [ + { + "and_rules": { + "rules": [ + { + "or_rules": { + "rules": [ + { + "header": { + "name": ":method", + "exact_match": "GET" + } + } + ] + } + } + ] + } + } + ], + "principals": [ + { + "and_ids": { + "ids": [ + { + "metadata": { + "filter": "istio_authn", + "path": [ + { + "key": "source.principal" + } + ], + "value": { + "string_match": { + "exact": "cluster.local/ns/bookinfo/sa/bookinfo-reviews" + } + } + } + } + ] + } + }, + { + "and_ids": { + "ids": [ + { + "metadata": { + "filter": "istio_authn", + "path": [ + { + "key": "source.principal" + } + ], + "value": { + "string_match": { + "exact": "cluster.local/ns/istio-private-gateways/sa/istio-private-ingressgateway-service-account" + } + } + } + } + ] + } + } + ] + } + } + } + } + }, + { + "name": "envoy.cors" + }, + { + "name": "envoy.fault" + }, + { + "name": "envoy.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" + } + } + ] + }, + { + "filter_chain_match": {}, + "filters": [ + { + "name": "envoy.http_connection_manager", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", + "stat_prefix": "172.30.144.156_9080", + "route_config": { + "name": "inbound|9080|http|ratings.bookinfo.svc.cluster.local", + "virtual_hosts": [ + { + "name": "inbound|http|9080", + "domains": [ + "*" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "inbound|9080|http|ratings.bookinfo.svc.cluster.local", + "timeout": "0s", + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "ratings.bookinfo.svc.cluster.local:9080/*" + } + } + ] + } + ], + "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": { + "mode": "PERMISSIVE" + } + } + ] + } + } + }, + { + "name": "envoy.filters.http.rbac", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.http.rbac.v2.RBAC", + "rules": { + "policies": { + "ratings-reader": { + "permissions": [ + { + "and_rules": { + "rules": [ + { + "or_rules": { + "rules": [ + { + "header": { + "name": ":method", + "exact_match": "GET" + } + } + ] + } + } + ] + } + } + ], + "principals": [ + { + "and_ids": { + "ids": [ + { + "metadata": { + "filter": "istio_authn", + "path": [ + { + "key": "source.principal" + } + ], + "value": { + "string_match": { + "exact": "cluster.local/ns/bookinfo/sa/bookinfo-reviews" + } + } + } + } + ] + } + }, + { + "and_ids": { + "ids": [ + { + "metadata": { + "filter": "istio_authn", + "path": [ + { + "key": "source.principal" + } + ], + "value": { + "string_match": { + "exact": "cluster.local/ns/istio-private-gateways/sa/istio-private-ingressgateway-service-account" + } + } + } + } + ] + } + } + ] + } + } + } + } + }, + { + "name": "envoy.cors" + }, + { + "name": "envoy.fault" + }, + { + "name": "envoy.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" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + }, + "listener_filters": [ + { + "name": "envoy.listener.tls_inspector" + } + ] + }, + "last_updated": "2019-08-23T15:18:59.867Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.0.10_9153", + "address": { + "socket_address": { + "address": "172.21.0.10", + "port_value": 9153 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|9153||kube-dns.kube-system.svc.cluster.local", + "cluster": "outbound|9153||kube-dns.kube-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.211Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.146.215_80", + "address": { + "socket_address": { + "address": "172.21.146.215", + "port_value": 80 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|80||public-cr943f03ffec22400ba82dd6abf6a21cd9-alb1.kube-system.svc.cluster.local", + "cluster": "outbound|80||public-cr943f03ffec22400ba82dd6abf6a21cd9-alb1.kube-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.211Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.93.31_9042", + "address": { + "socket_address": { + "address": "172.21.93.31", + "port_value": 9042 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|9042||cassandra.default.svc.cluster.local", + "cluster": "outbound|9042||cassandra.default.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.211Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.220.89_6379", + "address": { + "socket_address": { + "address": "172.21.220.89", + "port_value": 6379 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|6379||alpha-redis-master.redis.svc.cluster.local", + "cluster": "outbound|6379||alpha-redis-master.redis.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.211Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.190.166_44134", + "address": { + "socket_address": { + "address": "172.21.190.166", + "port_value": 44134 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|44134||tiller-deploy.kube-system.svc.cluster.local", + "cluster": "outbound|44134||tiller-deploy.kube-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.212Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.219.151_15443", + "address": { + "socket_address": { + "address": "172.21.219.151", + "port_value": 15443 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|15443||istio-private-ingressgateway.istio-private-gateways.svc.cluster.local", + "cluster": "outbound|15443||istio-private-ingressgateway.istio-private-gateways.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.212Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.19.45_443", + "address": { + "socket_address": { + "address": "172.21.19.45", + "port_value": 443 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|443||istio-ingressgateway.istio-system.svc.cluster.local", + "cluster": "outbound|443||istio-ingressgateway.istio-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.212Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.19.45_31400", + "address": { + "socket_address": { + "address": "172.21.19.45", + "port_value": 31400 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|31400||istio-ingressgateway.istio-system.svc.cluster.local", + "cluster": "outbound|31400||istio-ingressgateway.istio-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.212Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.240.87_9000", + "address": { + "socket_address": { + "address": "172.21.240.87", + "port_value": 9000 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|9000||tcp-echo.default.svc.cluster.local", + "cluster": "outbound|9000||tcp-echo.default.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.212Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.110.236_6379", + "address": { + "socket_address": { + "address": "172.21.110.236", + "port_value": 6379 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|6379||alpha-redis-slave.redis.svc.cluster.local", + "cluster": "outbound|6379||alpha-redis-slave.redis.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.212Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.19.45_15020", + "address": { + "socket_address": { + "address": "172.21.19.45", + "port_value": 15020 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|15020||istio-ingressgateway.istio-system.svc.cluster.local", + "cluster": "outbound|15020||istio-ingressgateway.istio-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.212Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.19.45_15030", + "address": { + "socket_address": { + "address": "172.21.19.45", + "port_value": 15030 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|15030||istio-ingressgateway.istio-system.svc.cluster.local", + "cluster": "outbound|15030||istio-ingressgateway.istio-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.212Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.19.45_15031", + "address": { + "socket_address": { + "address": "172.21.19.45", + "port_value": 15031 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|15031||istio-ingressgateway.istio-system.svc.cluster.local", + "cluster": "outbound|15031||istio-ingressgateway.istio-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.212Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.19.45_15443", + "address": { + "socket_address": { + "address": "172.21.19.45", + "port_value": 15443 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|15443||istio-ingressgateway.istio-system.svc.cluster.local", + "cluster": "outbound|15443||istio-ingressgateway.istio-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.213Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.79.127_443", + "address": { + "socket_address": { + "address": "172.21.79.127", + "port_value": 443 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|443||istio-sidecar-injector.istio-system.svc.cluster.local", + "cluster": "outbound|443||istio-sidecar-injector.istio-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.213Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.93.31_7199", + "address": { + "socket_address": { + "address": "172.21.93.31", + "port_value": 7199 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|7199||cassandra.default.svc.cluster.local", + "cluster": "outbound|7199||cassandra.default.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.213Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.19.45_15032", + "address": { + "socket_address": { + "address": "172.21.19.45", + "port_value": 15032 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|15032||istio-ingressgateway.istio-system.svc.cluster.local", + "cluster": "outbound|15032||istio-ingressgateway.istio-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.213Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.0.1_443", + "address": { + "socket_address": { + "address": "172.21.0.1", + "port_value": 443 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|443||kubernetes.default.svc.cluster.local", + "cluster": "outbound|443||kubernetes.default.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.213Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "0.0.0.0_6379", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 6379 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|6379||alpha-redis-headless.redis.svc.cluster.local", + "cluster": "outbound|6379||alpha-redis-headless.redis.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.213Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.19.45_15029", + "address": { + "socket_address": { + "address": "172.21.19.45", + "port_value": 15029 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|15029||istio-ingressgateway.istio-system.svc.cluster.local", + "cluster": "outbound|15029||istio-ingressgateway.istio-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.213Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.146.215_443", + "address": { + "socket_address": { + "address": "172.21.146.215", + "port_value": 443 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|443||public-cr943f03ffec22400ba82dd6abf6a21cd9-alb1.kube-system.svc.cluster.local", + "cluster": "outbound|443||public-cr943f03ffec22400ba82dd6abf6a21cd9-alb1.kube-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.213Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.0.10_53", + "address": { + "socket_address": { + "address": "172.21.0.10", + "port_value": 53 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|53||kube-dns.kube-system.svc.cluster.local", + "cluster": "outbound|53||kube-dns.kube-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.213Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.7.109_443", + "address": { + "socket_address": { + "address": "172.21.7.109", + "port_value": 443 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|443||kubernetes-dashboard.kube-system.svc.cluster.local", + "cluster": "outbound|443||kubernetes-dashboard.kube-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.214Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.7.188_443", + "address": { + "socket_address": { + "address": "172.21.7.188", + "port_value": 443 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|443||metrics-server.kube-system.svc.cluster.local", + "cluster": "outbound|443||metrics-server.kube-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.214Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.192.148_8000", + "address": { + "socket_address": { + "address": "172.21.192.148", + "port_value": 8000 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|8000||kubernetes-terminal.kube-system.svc.cluster.local", + "cluster": "outbound|8000||kubernetes-terminal.kube-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.214Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "0.0.0.0_8888", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 8888 + } + }, + "filter_chains": [ + { + "filter_chain_match": { + "prefix_ranges": [ + { + "address_prefix": "192.168.0.123", + "prefix_len": 24 + } + ] + }, + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|8888||myhost.tcp.svc", + "cluster": "outbound|8888||myhost.tcp.svc" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.214Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.254.56_443", + "address": { + "socket_address": { + "address": "172.21.254.56", + "port_value": 443 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|443||istio-galley.istio-system.svc.cluster.local", + "cluster": "outbound|443||istio-galley.istio-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.214Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.21.234.124_15011", + "address": { + "socket_address": { + "address": "172.21.234.124", + "port_value": 15011 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "outbound|15011||istio-pilot.istio-system.svc.cluster.local", + "cluster": "outbound|15011||istio-pilot.istio-system.svc.cluster.local" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.214Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "0.0.0.0_9090", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 9090 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.http_connection_manager", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", + "stat_prefix": "0.0.0.0_9090", + "rds": { + "config_source": { + "ads": {} + }, + "route_config_name": "9090" + }, + "http_filters": [ + { + "name": "envoy.cors" + }, + { + "name": "envoy.fault" + }, + { + "name": "envoy.router" + } + ], + "tracing": { + "operation_name": "EGRESS", + "client_sampling": { + "value": 100 + }, + "random_sampling": { + "value": 1 + }, + "overall_sampling": { + "value": 100 + } + }, + "use_remote_address": false, + "generate_request_id": true, + "upgrade_configs": [ + { + "upgrade_type": "websocket" + } + ], + "stream_idle_timeout": "0s" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.214Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "0.0.0.0_8080", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 8080 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.http_connection_manager", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", + "stat_prefix": "0.0.0.0_8080", + "rds": { + "config_source": { + "ads": {} + }, + "route_config_name": "8080" + }, + "http_filters": [ + { + "name": "envoy.cors" + }, + { + "name": "envoy.fault" + }, + { + "name": "envoy.router" + } + ], + "tracing": { + "operation_name": "EGRESS", + "client_sampling": { + "value": 100 + }, + "random_sampling": { + "value": 1 + }, + "overall_sampling": { + "value": 100 + } + }, + "use_remote_address": false, + "generate_request_id": true, + "upgrade_configs": [ + { + "upgrade_type": "websocket" + } + ], + "stream_idle_timeout": "0s" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.214Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "0.0.0.0_8079", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 8079 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.http_connection_manager", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", + "stat_prefix": "0.0.0.0_8079", + "rds": { + "config_source": { + "ads": {} + }, + "route_config_name": "8079" + }, + "http_filters": [ + { + "name": "envoy.cors" + }, + { + "name": "envoy.fault" + }, + { + "name": "envoy.router" + } + ], + "tracing": { + "operation_name": "EGRESS", + "client_sampling": { + "value": 100 + }, + "random_sampling": { + "value": 1 + }, + "overall_sampling": { + "value": 100 + } + }, + "use_remote_address": false, + "generate_request_id": true, + "upgrade_configs": [ + { + "upgrade_type": "websocket" + } + ], + "stream_idle_timeout": "0s" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.215Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "0.0.0.0_15010", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 15010 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.http_connection_manager", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", + "stat_prefix": "0.0.0.0_15010", + "rds": { + "config_source": { + "ads": {} + }, + "route_config_name": "15010" + }, + "http_filters": [ + { + "name": "envoy.cors" + }, + { + "name": "envoy.fault" + }, + { + "name": "envoy.router" + } + ], + "tracing": { + "operation_name": "EGRESS", + "client_sampling": { + "value": 100 + }, + "random_sampling": { + "value": 1 + }, + "overall_sampling": { + "value": 100 + } + }, + "use_remote_address": false, + "generate_request_id": true, + "upgrade_configs": [ + { + "upgrade_type": "websocket" + } + ], + "stream_idle_timeout": "0s" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.215Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "0.0.0.0_8060", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 8060 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.http_connection_manager", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", + "stat_prefix": "0.0.0.0_8060", + "rds": { + "config_source": { + "ads": {} + }, + "route_config_name": "8060" + }, + "http_filters": [ + { + "name": "envoy.cors" + }, + { + "name": "envoy.fault" + }, + { + "name": "envoy.router" + } + ], + "tracing": { + "operation_name": "EGRESS", + "client_sampling": { + "value": 100 + }, + "random_sampling": { + "value": 1 + }, + "overall_sampling": { + "value": 100 + } + }, + "use_remote_address": false, + "generate_request_id": true, + "upgrade_configs": [ + { + "upgrade_type": "websocket" + } + ], + "stream_idle_timeout": "0s" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.215Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "0.0.0.0_9080", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 9080 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.http_connection_manager", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", + "stat_prefix": "0.0.0.0_9080", + "rds": { + "config_source": { + "ads": {} + }, + "route_config_name": "9080" + }, + "http_filters": [ + { + "name": "envoy.cors" + }, + { + "name": "envoy.fault" + }, + { + "name": "envoy.router" + } + ], + "tracing": { + "operation_name": "EGRESS", + "client_sampling": { + "value": 100 + }, + "random_sampling": { + "value": 1 + }, + "overall_sampling": { + "value": 100 + } + }, + "use_remote_address": false, + "generate_request_id": true, + "upgrade_configs": [ + { + "upgrade_type": "websocket" + } + ], + "stream_idle_timeout": "0s" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.215Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "0.0.0.0_80", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 80 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.http_connection_manager", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", + "stat_prefix": "0.0.0.0_80", + "rds": { + "config_source": { + "ads": {} + }, + "route_config_name": "80" + }, + "http_filters": [ + { + "name": "envoy.cors" + }, + { + "name": "envoy.fault" + }, + { + "name": "envoy.router" + } + ], + "tracing": { + "operation_name": "EGRESS", + "client_sampling": { + "value": 100 + }, + "random_sampling": { + "value": 1 + }, + "overall_sampling": { + "value": 100 + } + }, + "use_remote_address": false, + "generate_request_id": true, + "upgrade_configs": [ + { + "upgrade_type": "websocket" + } + ], + "stream_idle_timeout": "0s" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.228Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "0.0.0.0_9901", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 9901 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.http_connection_manager", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", + "stat_prefix": "0.0.0.0_9901", + "rds": { + "config_source": { + "ads": {} + }, + "route_config_name": "9901" + }, + "http_filters": [ + { + "name": "envoy.cors" + }, + { + "name": "envoy.fault" + }, + { + "name": "envoy.router" + } + ], + "tracing": { + "operation_name": "EGRESS", + "client_sampling": { + "value": 100 + }, + "random_sampling": { + "value": 1 + }, + "overall_sampling": { + "value": 100 + } + }, + "use_remote_address": false, + "generate_request_id": true, + "upgrade_configs": [ + { + "upgrade_type": "websocket" + } + ], + "stream_idle_timeout": "0s" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.229Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "0.0.0.0_15014", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 15014 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.http_connection_manager", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager", + "stat_prefix": "0.0.0.0_15014", + "rds": { + "config_source": { + "ads": {} + }, + "route_config_name": "15014" + }, + "http_filters": [ + { + "name": "envoy.cors" + }, + { + "name": "envoy.fault" + }, + { + "name": "envoy.router" + } + ], + "tracing": { + "operation_name": "EGRESS", + "client_sampling": { + "value": 100 + }, + "random_sampling": { + "value": 1 + }, + "overall_sampling": { + "value": 100 + } + }, + "use_remote_address": false, + "generate_request_id": true, + "upgrade_configs": [ + { + "upgrade_type": "websocket" + } + ], + "stream_idle_timeout": "0s" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.229Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "172.30.144.156_15020", + "address": { + "socket_address": { + "address": "172.30.144.156", + "port_value": 15020 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "inbound|15020|mgmt-15020|mgmtCluster", + "cluster": "inbound|15020|mgmt-15020|mgmtCluster" + } + } + ] + } + ], + "deprecated_v1": { + "bind_to_port": false + } + }, + "last_updated": "2019-08-22T18:08:55.229Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "listener": { + "name": "virtual", + "address": { + "socket_address": { + "address": "0.0.0.0", + "port_value": 15001 + } + }, + "filter_chains": [ + { + "filters": [ + { + "name": "envoy.tcp_proxy", + "typed_config": { + "@type": "type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy", + "stat_prefix": "PassthroughCluster", + "cluster": "PassthroughCluster" + } + } + ] + } + ], + "use_original_dst": true + }, + "last_updated": "2019-08-22T18:08:55.229Z" + } + ] + }, + { + "@type": "type.googleapis.com/envoy.admin.v2alpha.RoutesConfigDump", + "static_route_configs": [ + { + "route_config": { + "name": "inbound|9080|http|ratings.bookinfo.svc.cluster.local", + "virtual_hosts": [ + { + "name": "inbound|http|9080", + "domains": [ + "*" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "inbound|9080|http|ratings.bookinfo.svc.cluster.local", + "timeout": "0s", + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "ratings.bookinfo.svc.cluster.local:9080/*" + } + } + ] + } + ], + "validate_clusters": false + }, + "last_updated": "2019-08-23T15:18:59.866Z" + }, + { + "route_config": { + "name": "inbound|9080|http|ratings.bookinfo.svc.cluster.local", + "virtual_hosts": [ + { + "name": "inbound|http|9080", + "domains": [ + "*" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "inbound|9080|http|ratings.bookinfo.svc.cluster.local", + "timeout": "0s", + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "ratings.bookinfo.svc.cluster.local:9080/*" + } + } + ] + } + ], + "validate_clusters": false + }, + "last_updated": "2019-08-23T15:18:59.867Z" + }, + { + "route_config": { + "virtual_hosts": [ + { + "name": "backend", + "domains": [ + "*" + ], + "routes": [ + { + "match": { + "prefix": "/stats/prometheus" + }, + "route": { + "cluster": "prometheus_stats" + } + } + ] + } + ] + }, + "last_updated": "2019-08-22T18:08:53.763Z" + } + ], + "dynamic_route_configs": [ + { + "version_info": "2019-08-22T18:08:18Z/6", + "route_config": { + "name": "80", + "virtual_hosts": [ + { + "name": "analyzer.default.svc.cluster.local:80", + "domains": [ + "analyzer.default.svc.cluster.local", + "analyzer.default.svc.cluster.local:80", + "analyzer.default", + "analyzer.default:80", + "analyzer.default.svc.cluster", + "analyzer.default.svc.cluster:80", + "analyzer.default.svc", + "analyzer.default.svc:80", + "172.21.41.250", + "172.21.41.250:80" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|80||analyzer.default.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "analyzer.default.svc.cluster.local:80/*" + } + } + ] + }, + { + "name": "istio-ingressgateway.istio-system.svc.cluster.local:80", + "domains": [ + "istio-ingressgateway.istio-system.svc.cluster.local", + "istio-ingressgateway.istio-system.svc.cluster.local:80", + "istio-ingressgateway.istio-system", + "istio-ingressgateway.istio-system:80", + "istio-ingressgateway.istio-system.svc.cluster", + "istio-ingressgateway.istio-system.svc.cluster:80", + "istio-ingressgateway.istio-system.svc", + "istio-ingressgateway.istio-system.svc:80", + "172.21.19.45", + "172.21.19.45:80" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|80||istio-ingressgateway.istio-system.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "istio-ingressgateway.istio-system.svc.cluster.local:80/*" + } + } + ] + }, + { + "name": "sleep.default.svc.cluster.local:80", + "domains": [ + "sleep.default.svc.cluster.local", + "sleep.default.svc.cluster.local:80", + "sleep.default", + "sleep.default:80", + "sleep.default.svc.cluster", + "sleep.default.svc.cluster:80", + "sleep.default.svc", + "sleep.default.svc:80", + "172.21.93.99", + "172.21.93.99:80" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|80||sleep.default.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "sleep.default.svc.cluster.local:80/*" + } + } + ] + } + ], + "validate_clusters": false + }, + "last_updated": "2019-08-22T18:08:55.230Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "route_config": { + "name": "8080", + "virtual_hosts": [ + { + "name": "fortio-client.default.svc.cluster.local:8080", + "domains": [ + "fortio-client.default.svc.cluster.local", + "fortio-client.default.svc.cluster.local:8080", + "fortio-client.default", + "fortio-client.default:8080", + "fortio-client.default.svc.cluster", + "fortio-client.default.svc.cluster:8080", + "fortio-client.default.svc", + "fortio-client.default.svc:8080", + "172.21.100.101", + "172.21.100.101:8080" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|8080||fortio-client.default.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "fortio-client.default.svc.cluster.local:8080/*" + } + } + ] + }, + { + "name": "fortio-echo.default.svc.cluster.local:8080", + "domains": [ + "fortio-echo.default.svc.cluster.local", + "fortio-echo.default.svc.cluster.local:8080", + "fortio-echo.default", + "fortio-echo.default:8080", + "fortio-echo.default.svc.cluster", + "fortio-echo.default.svc.cluster:8080", + "fortio-echo.default.svc", + "fortio-echo.default.svc:8080", + "172.21.243.231", + "172.21.243.231:8080" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|8080||fortio-echo.default.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "fortio-echo.default.svc.cluster.local:8080/*" + } + } + ] + }, + { + "name": "istio-pilot.istio-system.svc.cluster.local:8080", + "domains": [ + "istio-pilot.istio-system.svc.cluster.local", + "istio-pilot.istio-system.svc.cluster.local:8080", + "istio-pilot.istio-system", + "istio-pilot.istio-system:8080", + "istio-pilot.istio-system.svc.cluster", + "istio-pilot.istio-system.svc.cluster:8080", + "istio-pilot.istio-system.svc", + "istio-pilot.istio-system.svc:8080", + "172.21.234.124", + "172.21.234.124:8080" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|8080||istio-pilot.istio-system.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "istio-pilot.istio-system.svc.cluster.local:8080/*" + } + } + ] + }, + { + "name": "redis-client.default.svc.cluster.local:8080", + "domains": [ + "redis-client.default.svc.cluster.local", + "redis-client.default.svc.cluster.local:8080", + "redis-client.default", + "redis-client.default:8080", + "redis-client.default.svc.cluster", + "redis-client.default.svc.cluster:8080", + "redis-client.default.svc", + "redis-client.default.svc:8080", + "172.21.200.70", + "172.21.200.70:8080" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|8080||redis-client.default.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "redis-client.default.svc.cluster.local:8080/*" + } + } + ] + } + ], + "validate_clusters": false + }, + "last_updated": "2019-08-22T18:08:55.230Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "route_config": { + "name": "15014", + "virtual_hosts": [ + { + "name": "istio-citadel.istio-system.svc.cluster.local:15014", + "domains": [ + "istio-citadel.istio-system.svc.cluster.local", + "istio-citadel.istio-system.svc.cluster.local:15014", + "istio-citadel.istio-system", + "istio-citadel.istio-system:15014", + "istio-citadel.istio-system.svc.cluster", + "istio-citadel.istio-system.svc.cluster:15014", + "istio-citadel.istio-system.svc", + "istio-citadel.istio-system.svc:15014", + "172.21.159.0", + "172.21.159.0:15014" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|15014||istio-citadel.istio-system.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "istio-citadel.istio-system.svc.cluster.local:15014/*" + } + } + ] + }, + { + "name": "istio-galley.istio-system.svc.cluster.local:15014", + "domains": [ + "istio-galley.istio-system.svc.cluster.local", + "istio-galley.istio-system.svc.cluster.local:15014", + "istio-galley.istio-system", + "istio-galley.istio-system:15014", + "istio-galley.istio-system.svc.cluster", + "istio-galley.istio-system.svc.cluster:15014", + "istio-galley.istio-system.svc", + "istio-galley.istio-system.svc:15014", + "172.21.254.56", + "172.21.254.56:15014" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|15014||istio-galley.istio-system.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "istio-galley.istio-system.svc.cluster.local:15014/*" + } + } + ] + }, + { + "name": "istio-pilot.istio-system.svc.cluster.local:15014", + "domains": [ + "istio-pilot.istio-system.svc.cluster.local", + "istio-pilot.istio-system.svc.cluster.local:15014", + "istio-pilot.istio-system", + "istio-pilot.istio-system:15014", + "istio-pilot.istio-system.svc.cluster", + "istio-pilot.istio-system.svc.cluster:15014", + "istio-pilot.istio-system.svc", + "istio-pilot.istio-system.svc:15014", + "172.21.234.124", + "172.21.234.124:15014" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|15014||istio-pilot.istio-system.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "istio-pilot.istio-system.svc.cluster.local:15014/*" + } + } + ] + }, + { + "name": "istio-sidecar-injector.istio-system.svc.cluster.local:15014", + "domains": [ + "istio-sidecar-injector.istio-system.svc.cluster.local", + "istio-sidecar-injector.istio-system.svc.cluster.local:15014", + "istio-sidecar-injector.istio-system", + "istio-sidecar-injector.istio-system:15014", + "istio-sidecar-injector.istio-system.svc.cluster", + "istio-sidecar-injector.istio-system.svc.cluster:15014", + "istio-sidecar-injector.istio-system.svc", + "istio-sidecar-injector.istio-system.svc:15014", + "172.21.79.127", + "172.21.79.127:15014" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|15014||istio-sidecar-injector.istio-system.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "istio-sidecar-injector.istio-system.svc.cluster.local:15014/*" + } + } + ] + } + ], + "validate_clusters": false + }, + "last_updated": "2019-08-22T18:08:55.230Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "route_config": { + "name": "9090", + "virtual_hosts": [ + { + "name": "prometheus.istio-system.svc.cluster.local:9090", + "domains": [ + "prometheus.istio-system.svc.cluster.local", + "prometheus.istio-system.svc.cluster.local:9090", + "prometheus.istio-system", + "prometheus.istio-system:9090", + "prometheus.istio-system.svc.cluster", + "prometheus.istio-system.svc.cluster:9090", + "prometheus.istio-system.svc", + "prometheus.istio-system.svc:9090", + "172.21.127.193", + "172.21.127.193:9090" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|9090||prometheus.istio-system.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "prometheus.istio-system.svc.cluster.local:9090/*" + } + } + ] + } + ], + "validate_clusters": false + }, + "last_updated": "2019-08-22T18:08:55.230Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "route_config": { + "name": "8079", + "virtual_hosts": [ + { + "name": "fortio-echo.default.svc.cluster.local:8079", + "domains": [ + "fortio-echo.default.svc.cluster.local", + "fortio-echo.default.svc.cluster.local:8079", + "fortio-echo.default", + "fortio-echo.default:8079", + "fortio-echo.default.svc.cluster", + "fortio-echo.default.svc.cluster:8079", + "fortio-echo.default.svc", + "fortio-echo.default.svc:8079", + "172.21.243.231", + "172.21.243.231:8079" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|8079||fortio-echo.default.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "fortio-echo.default.svc.cluster.local:8079/*" + } + } + ] + } + ], + "validate_clusters": false + }, + "last_updated": "2019-08-22T18:08:55.230Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "route_config": { + "name": "9080", + "virtual_hosts": [ + { + "name": "myreviews.bookinfo.svc.cluster.local:9080", + "domains": [ + "myreviews.bookinfo.svc.cluster.local", + "myreviews.bookinfo.svc.cluster.local:9080", + "myreviews", + "myreviews:9080", + "myreviews.bookinfo.svc.cluster", + "myreviews.bookinfo.svc.cluster:9080", + "myreviews.bookinfo.svc", + "myreviews.bookinfo.svc:9080", + "myreviews.bookinfo", + "myreviews.bookinfo:9080", + "172.21.148.26", + "172.21.148.26:9080" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|9080||myreviews.bookinfo.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "myreviews.bookinfo.svc.cluster.local:9080/*" + } + } + ] + }, + { + "name": "ratings.bookinfo.svc.cluster.local:9080", + "domains": [ + "ratings.bookinfo.svc.cluster.local", + "ratings.bookinfo.svc.cluster.local:9080", + "ratings", + "ratings:9080", + "ratings.bookinfo.svc.cluster", + "ratings.bookinfo.svc.cluster:9080", + "ratings.bookinfo.svc", + "ratings.bookinfo.svc:9080", + "ratings.bookinfo", + "ratings.bookinfo:9080", + "172.21.226.153", + "172.21.226.153:9080" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|9080||ratings.bookinfo.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "ratings.bookinfo.svc.cluster.local:9080/*" + } + } + ] + } + ], + "validate_clusters": false + }, + "last_updated": "2019-08-22T18:08:55.230Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "route_config": { + "name": "15010", + "virtual_hosts": [ + { + "name": "istio-pilot.istio-system.svc.cluster.local:15010", + "domains": [ + "istio-pilot.istio-system.svc.cluster.local", + "istio-pilot.istio-system.svc.cluster.local:15010", + "istio-pilot.istio-system", + "istio-pilot.istio-system:15010", + "istio-pilot.istio-system.svc.cluster", + "istio-pilot.istio-system.svc.cluster:15010", + "istio-pilot.istio-system.svc", + "istio-pilot.istio-system.svc:15010", + "172.21.234.124", + "172.21.234.124:15010" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|15010||istio-pilot.istio-system.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "istio-pilot.istio-system.svc.cluster.local:15010/*" + } + } + ] + } + ], + "validate_clusters": false + }, + "last_updated": "2019-08-22T18:08:55.230Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "route_config": { + "name": "9901", + "virtual_hosts": [ + { + "name": "istio-galley.istio-system.svc.cluster.local:9901", + "domains": [ + "istio-galley.istio-system.svc.cluster.local", + "istio-galley.istio-system.svc.cluster.local:9901", + "istio-galley.istio-system", + "istio-galley.istio-system:9901", + "istio-galley.istio-system.svc.cluster", + "istio-galley.istio-system.svc.cluster:9901", + "istio-galley.istio-system.svc", + "istio-galley.istio-system.svc:9901", + "172.21.254.56", + "172.21.254.56:9901" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|9901||istio-galley.istio-system.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "istio-galley.istio-system.svc.cluster.local:9901/*" + } + } + ] + } + ], + "validate_clusters": false + }, + "last_updated": "2019-08-22T18:08:55.230Z" + }, + { + "version_info": "2019-08-22T18:08:18Z/6", + "route_config": { + "name": "8060", + "virtual_hosts": [ + { + "name": "istio-citadel.istio-system.svc.cluster.local:8060", + "domains": [ + "istio-citadel.istio-system.svc.cluster.local", + "istio-citadel.istio-system.svc.cluster.local:8060", + "istio-citadel.istio-system", + "istio-citadel.istio-system:8060", + "istio-citadel.istio-system.svc.cluster", + "istio-citadel.istio-system.svc.cluster:8060", + "istio-citadel.istio-system.svc", + "istio-citadel.istio-system.svc:8060", + "172.21.159.0", + "172.21.159.0:8060" + ], + "routes": [ + { + "match": { + "prefix": "/" + }, + "route": { + "cluster": "outbound|8060||istio-citadel.istio-system.svc.cluster.local", + "timeout": "0s", + "retry_policy": { + "retry_on": "connect-failure,refused-stream,unavailable,cancelled,resource-exhausted,retriable-status-codes", + "num_retries": 2, + "retry_host_predicate": [ + { + "name": "envoy.retry_host_predicates.previous_hosts" + } + ], + "host_selection_retry_max_attempts": "3", + "retriable_status_codes": [ + 503 + ] + }, + "max_grpc_timeout": "0s" + }, + "decorator": { + "operation": "istio-citadel.istio-system.svc.cluster.local:8060/*" + } + } + ] + } + ], + "validate_clusters": false + }, + "last_updated": "2019-08-22T18:08:55.230Z" + } + ] + } + ] +}