diff --git a/internal/cmd/egctl/config.go b/internal/cmd/egctl/config.go index 00501b6c1c9..cfc55c7fa00 100644 --- a/internal/cmd/egctl/config.go +++ b/internal/cmd/egctl/config.go @@ -11,10 +11,14 @@ import ( "net/http" "github.com/spf13/cobra" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/reflect/protoreflect" "k8s.io/apimachinery/pkg/types" cmdutil "k8s.io/kubectl/pkg/cmd/util" "sigs.k8s.io/yaml" + adminv3 "github.com/envoyproxy/go-control-plane/envoy/admin/v3" + "github.com/envoyproxy/gateway/internal/cmd/options" kube "github.com/envoyproxy/gateway/internal/kubernetes" ) @@ -44,7 +48,7 @@ func NewConfigCommand() *cobra.Command { options.AddKubeConfigFlags(flags) cfgCommand.PersistentFlags().StringVarP(&output, "output", "o", "json", "One of 'yaml' or 'json'") - cfgCommand.PersistentFlags().StringVarP(&podNamespace, "namespace", "n", "envoy-gateway", "Namespace where envoy proxy pod are installed.") + cfgCommand.PersistentFlags().StringVarP(&podNamespace, "namespace", "n", "envoy-gateway-system", "Namespace where envoy proxy pod are installed.") return cfgCommand } @@ -57,13 +61,17 @@ func proxyCommand() *cobra.Command { } c.AddCommand(allConfigCmd()) + c.AddCommand(bootstrapConfigCmd()) + c.AddCommand(clusterConfigCmd()) + c.AddCommand(listenerConfigCmd()) + c.AddCommand(routeConfigCmd()) return c } func allConfigCmd() *cobra.Command { - allConfigCmd := &cobra.Command{ + configCmd := &cobra.Command{ Use: "all ", Short: "Retrieves all Envoy xDS resources from the specified pod", Long: `Retrieves information about all Envoy xDS resources from the Envoy instance in the specified pod.`, @@ -81,7 +89,7 @@ func allConfigCmd() *cobra.Command { }, } - return allConfigCmd + return configCmd } func runAllConfig(c *cobra.Command, args []string) error { @@ -111,7 +119,288 @@ func runAllConfig(c *cobra.Command, args []string) error { } defer fw.Stop() - out, err := extractConfigDump(fw, output) + configDump, err := extractConfigDump(fw) + if err != nil { + return err + } + + out, err := marshalEnvoyProxyConfig(configDump, output) + if err != nil { + return err + } + + _, err = fmt.Fprintln(c.OutOrStdout(), string(out)) + return err +} + +func bootstrapConfigCmd() *cobra.Command { + + configCmd := &cobra.Command{ + Use: "bootstrap ", + Short: "Retrieves bootstrap Envoy xDS resources from the specified pod", + Long: `Retrieves information about bootstrap Envoy xDS resources from the Envoy instance in the specified pod.`, + Example: ` # Retrieve summary about bootstrap configuration for a given pod from Envoy. + egctl config envoy-proxy bootstrap -n + + # Retrieve full configuration dump as YAML + egctl config envoy-proxy bootstrap -n -o yaml + + # Retrieve full configuration dump with short syntax + egctl c proxy bootstrap -n +`, + Run: func(c *cobra.Command, args []string) { + cmdutil.CheckErr(runBootstrapConfig(c, args)) + }, + } + + return configCmd +} + +func runBootstrapConfig(c *cobra.Command, args []string) error { + if len(args) == 0 { + return fmt.Errorf("pod name is required") + } + + podName = args[0] + + if podName == "" { + return fmt.Errorf("pod name is required") + } + + if podNamespace == "" { + return fmt.Errorf("pod namespace is required") + } + + fw, err := portForwarder(types.NamespacedName{ + Namespace: podNamespace, + Name: podName, + }) + if err != nil { + return err + } + if err := fw.Start(); err != nil { + return err + } + defer fw.Stop() + + configDump, err := extractConfigDump(fw) + if err != nil { + return err + } + + bootstrap, err := findXDSResourceFromConfigDump(BootstrapEnvoyConfigType, configDump) + if err != nil { + return err + } + + out, err := marshalEnvoyProxyConfig(bootstrap, output) + if err != nil { + return err + } + + _, err = fmt.Fprintln(c.OutOrStdout(), string(out)) + return err +} + +func clusterConfigCmd() *cobra.Command { + + configCmd := &cobra.Command{ + Use: "cluster ", + Short: "Retrieves cluster Envoy xDS resources from the specified pod", + Long: `Retrieves information about cluster Envoy xDS resources from the Envoy instance in the specified pod.`, + Example: ` # Retrieve summary about cluster configuration for a given pod from Envoy. + egctl config envoy-proxy cluster -n + + # Retrieve full configuration dump as YAML + egctl config envoy-proxy cluster -n -o yaml + + # Retrieve full configuration dump with short syntax + egctl c proxy cluster -n +`, + Run: func(c *cobra.Command, args []string) { + cmdutil.CheckErr(runClusterConfig(c, args)) + }, + } + + return configCmd +} + +func runClusterConfig(c *cobra.Command, args []string) error { + if len(args) == 0 { + return fmt.Errorf("pod name is required") + } + + podName = args[0] + + if podName == "" { + return fmt.Errorf("pod name is required") + } + + if podNamespace == "" { + return fmt.Errorf("pod namespace is required") + } + + fw, err := portForwarder(types.NamespacedName{ + Namespace: podNamespace, + Name: podName, + }) + if err != nil { + return err + } + if err := fw.Start(); err != nil { + return err + } + defer fw.Stop() + + configDump, err := extractConfigDump(fw) + if err != nil { + return err + } + + cluster, err := findXDSResourceFromConfigDump(ClusterEnvoyConfigType, configDump) + if err != nil { + return err + } + + out, err := marshalEnvoyProxyConfig(cluster, output) + if err != nil { + return err + } + + _, err = fmt.Fprintln(c.OutOrStdout(), string(out)) + return err +} + +func listenerConfigCmd() *cobra.Command { + + configCmd := &cobra.Command{ + Use: "listener ", + Short: "Retrieves listener Envoy xDS resources from the specified pod", + Long: `Retrieves information about listener Envoy xDS resources from the Envoy instance in the specified pod.`, + Example: ` # Retrieve summary about listener configuration for a given pod from Envoy. + egctl config envoy-proxy listener -n + + # Retrieve full configuration dump as YAML + egctl config envoy-proxy listener -n -o yaml + + # Retrieve full configuration dump with short syntax + egctl c proxy listener -n +`, + Run: func(c *cobra.Command, args []string) { + cmdutil.CheckErr(runListenerConfig(c, args)) + }, + } + + return configCmd +} + +func runListenerConfig(c *cobra.Command, args []string) error { + if len(args) == 0 { + return fmt.Errorf("pod name is required") + } + + podName = args[0] + + if podName == "" { + return fmt.Errorf("pod name is required") + } + + if podNamespace == "" { + return fmt.Errorf("pod namespace is required") + } + + fw, err := portForwarder(types.NamespacedName{ + Namespace: podNamespace, + Name: podName, + }) + if err != nil { + return err + } + if err := fw.Start(); err != nil { + return err + } + defer fw.Stop() + + configDump, err := extractConfigDump(fw) + if err != nil { + return err + } + + listener, err := findXDSResourceFromConfigDump(ListenerEnvoyConfigType, configDump) + if err != nil { + return err + } + + out, err := marshalEnvoyProxyConfig(listener, output) + if err != nil { + return err + } + + _, err = fmt.Fprintln(c.OutOrStdout(), string(out)) + return err +} + +func routeConfigCmd() *cobra.Command { + + configCmd := &cobra.Command{ + Use: "route ", + Short: "Retrieves route Envoy xDS resources from the specified pod", + Long: `Retrieves information about route Envoy xDS resources from the Envoy instance in the specified pod.`, + Example: ` # Retrieve summary about route configuration for a given pod from Envoy. + egctl config envoy-proxy route -n + + # Retrieve full configuration dump as YAML + egctl config envoy-proxy route -n -o yaml + + # Retrieve full configuration dump with short syntax + egctl c proxy route -n +`, + Run: func(c *cobra.Command, args []string) { + cmdutil.CheckErr(runRouteConfig(c, args)) + }, + } + + return configCmd +} + +func runRouteConfig(c *cobra.Command, args []string) error { + if len(args) == 0 { + return fmt.Errorf("pod name is required") + } + + podName = args[0] + + if podName == "" { + return fmt.Errorf("pod name is required") + } + + if podNamespace == "" { + return fmt.Errorf("pod namespace is required") + } + + fw, err := portForwarder(types.NamespacedName{ + Namespace: podNamespace, + Name: podName, + }) + if err != nil { + return err + } + if err := fw.Start(); err != nil { + return err + } + defer fw.Stop() + + configDump, err := extractConfigDump(fw) + if err != nil { + return err + } + + route, err := findXDSResourceFromConfigDump(RouteEnvoyConfigType, configDump) + if err != nil { + return err + } + + out, err := marshalEnvoyProxyConfig(route, output) if err != nil { return err } @@ -142,8 +431,8 @@ func portForwarder(nn types.NamespacedName) (kube.PortForwarder, error) { return fw, nil } -func extractConfigDump(fw kube.PortForwarder, output string) ([]byte, error) { - out, err := configDumpRequest(fw.Address()) +func marshalEnvoyProxyConfig(configDump protoreflect.ProtoMessage, output string) ([]byte, error) { + out, err := protojson.Marshal(configDump) if err != nil { return nil, err } @@ -158,6 +447,20 @@ func extractConfigDump(fw kube.PortForwarder, output string) ([]byte, error) { return out, nil } +func extractConfigDump(fw kube.PortForwarder) (*adminv3.ConfigDump, error) { + out, err := configDumpRequest(fw.Address()) + if err != nil { + return nil, err + } + + configDump := &adminv3.ConfigDump{} + if err := protojson.Unmarshal(out, configDump); err != nil { + return nil, err + } + + return configDump, nil +} + func configDumpRequest(address string) ([]byte, error) { req, err := http.NewRequest("GET", fmt.Sprintf("http://%s/config_dump", address), nil) if err != nil { diff --git a/internal/cmd/egctl/config_test.go b/internal/cmd/egctl/config_test.go index ab60177321b..1f2459031bc 100644 --- a/internal/cmd/egctl/config_test.go +++ b/internal/cmd/egctl/config_test.go @@ -70,38 +70,134 @@ func (fw *fakePortForwarder) Address() string { return fmt.Sprintf("localhost:%d", fw.localPort) } -func TestExtractConfigDump(t *testing.T) { - fw, err := newFakePortForwarder(readConfig("in.json")) +func TestExtractAllConfigDump(t *testing.T) { + input, err := readInputConfig("in.all.json") + assert.NoError(t, err) + fw, err := newFakePortForwarder(input) assert.NoError(t, err) err = fw.Start() assert.NoError(t, err) cases := []struct { - output string - expected string + output string + expected string + resourceType string }{ { output: "json", - expected: "out.json", + expected: "out.all.json", }, { output: "yaml", - expected: "out.yaml", + expected: "out.all.yaml", + }, + } + + for _, tc := range cases { + t.Run(tc.output, func(t *testing.T) { + configDump, err := extractConfigDump(fw) + assert.NoError(t, err) + got, err := marshalEnvoyProxyConfig(configDump, tc.output) + assert.NoError(t, err) + out, err := readOutputConfig(tc.expected) + assert.NoError(t, err) + if tc.output == "yaml" { + assert.YAMLEq(t, string(out), string(got)) + } else { + assert.JSONEq(t, string(out), string(got)) + } + }) + } + + fw.Stop() +} + +func TestExtractSubResourcesConfigDump(t *testing.T) { + input, err := readInputConfig("in.all.json") + assert.NoError(t, err) + fw, err := newFakePortForwarder(input) + assert.NoError(t, err) + err = fw.Start() + assert.NoError(t, err) + + cases := []struct { + output string + expected string + resourceType envoyConfigType + }{ + { + output: "json", + resourceType: BootstrapEnvoyConfigType, + expected: "out.bootstrap.json", + }, + { + output: "yaml", + resourceType: BootstrapEnvoyConfigType, + expected: "out.bootstrap.yaml", + }, { + output: "json", + resourceType: ClusterEnvoyConfigType, + expected: "out.cluster.json", + }, + { + output: "yaml", + resourceType: ClusterEnvoyConfigType, + expected: "out.cluster.yaml", + }, { + output: "json", + resourceType: ListenerEnvoyConfigType, + expected: "out.listener.json", + }, + { + output: "yaml", + resourceType: ListenerEnvoyConfigType, + expected: "out.listener.yaml", + }, { + output: "json", + resourceType: RouteEnvoyConfigType, + expected: "out.route.json", + }, + { + output: "yaml", + resourceType: RouteEnvoyConfigType, + expected: "out.route.yaml", }, } for _, tc := range cases { t.Run(tc.output, func(t *testing.T) { - got, err := extractConfigDump(fw, tc.output) + configDump, err := extractConfigDump(fw) + assert.NoError(t, err) + resource, err := findXDSResourceFromConfigDump(tc.resourceType, configDump) assert.NoError(t, err) - assert.Equal(t, string(readConfig(tc.expected)), string(got)) + got, err := marshalEnvoyProxyConfig(resource, tc.output) + t.Log("GOT:-----------------\n\n", string(got), "\n\n\n") + assert.NoError(t, err) + out, err := readOutputConfig(tc.expected) + assert.NoError(t, err) + if tc.output == "yaml" { + assert.YAMLEq(t, string(out), string(got)) + } else { + assert.JSONEq(t, string(out), string(got)) + } }) } fw.Stop() } -func readConfig(filename string) []byte { - b, _ := os.ReadFile(path.Join("testdata", "config", filename)) - return b +func readInputConfig(filename string) ([]byte, error) { + b, err := os.ReadFile(path.Join("testdata", "config", "in", filename)) + if err != nil { + return nil, err + } + return b, nil +} + +func readOutputConfig(filename string) ([]byte, error) { + b, err := os.ReadFile(path.Join("testdata", "config", "out", filename)) + if err != nil { + return nil, err + } + return b, nil } diff --git a/internal/cmd/egctl/testdata/config/in.json b/internal/cmd/egctl/testdata/config/in/in.all.json similarity index 100% rename from internal/cmd/egctl/testdata/config/in.json rename to internal/cmd/egctl/testdata/config/in/in.all.json diff --git a/internal/cmd/egctl/testdata/config/out.json b/internal/cmd/egctl/testdata/config/out.json deleted file mode 100644 index d181287d69d..00000000000 --- a/internal/cmd/egctl/testdata/config/out.json +++ /dev/null @@ -1,2276 +0,0 @@ -{ - "configs": [ - { - "@type": "type.googleapis.com/envoy.admin.v3.BootstrapConfigDump", - "bootstrap": { - "node": { - "user_agent_name": "envoy", - "user_agent_build_version": { - "version": { - "major_number": 1, - "minor_number": 26 - }, - "metadata": { - "revision.status": "Clean", - "revision.sha": "14111e3c62d3d38b0c921cb7011fd0a94e880aed", - "ssl.version": "BoringSSL", - "build.label": "dev", - "build.type": "RELEASE" - } - }, - "extensions": [ - { - "name": "envoy.filters.connection_pools.tcp.generic", - "category": "envoy.upstreams", - "type_urls": [ - "envoy.extensions.upstreams.tcp.generic.v3.GenericConnectionPoolProto" - ] - }, - { - "name": "envoy.rate_limit_descriptors.expr", - "category": "envoy.rate_limit_descriptors", - "type_urls": [ - "envoy.extensions.rate_limit_descriptors.expr.v3.Descriptor" - ] - }, - { - "name": "envoy.matching.inputs.destination_ip", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.DestinationIPInput" - ] - }, - { - "name": "envoy.matching.inputs.destination_port", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.DestinationPortInput" - ] - }, - { - "name": "envoy.matching.inputs.direct_source_ip", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.DirectSourceIPInput" - ] - }, - { - "name": "envoy.matching.inputs.dns_san", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.ssl.v3.DnsSanInput" - ] - }, - { - "name": "envoy.matching.inputs.request_headers", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.type.matcher.v3.HttpRequestHeaderMatchInput" - ] - }, - { - "name": "envoy.matching.inputs.request_trailers", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.type.matcher.v3.HttpRequestTrailerMatchInput" - ] - }, - { - "name": "envoy.matching.inputs.response_headers", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.type.matcher.v3.HttpResponseHeaderMatchInput" - ] - }, - { - "name": "envoy.matching.inputs.response_trailers", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.type.matcher.v3.HttpResponseTrailerMatchInput" - ] - }, - { - "name": "envoy.matching.inputs.server_name", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.ServerNameInput" - ] - }, - { - "name": "envoy.matching.inputs.source_ip", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.SourceIPInput" - ] - }, - { - "name": "envoy.matching.inputs.source_port", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.SourcePortInput" - ] - }, - { - "name": "envoy.matching.inputs.source_type", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.SourceTypeInput" - ] - }, - { - "name": "envoy.matching.inputs.status_code_class_input", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.type.matcher.v3.HttpResponseStatusCodeClassMatchInput" - ] - }, - { - "name": "envoy.matching.inputs.status_code_input", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput" - ] - }, - { - "name": "envoy.matching.inputs.subject", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.ssl.v3.SubjectInput" - ] - }, - { - "name": "envoy.matching.inputs.uri_san", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.ssl.v3.UriSanInput" - ] - }, - { - "name": "query_params", - "category": "envoy.matching.http.input", - "type_urls": [ - "envoy.type.matcher.v3.HttpRequestQueryParamMatchInput" - ] - }, - { - "name": "envoy.tls.cert_validator.default", - "category": "envoy.tls.cert_validator" - }, - { - "name": "envoy.tls.cert_validator.spiffe", - "category": "envoy.tls.cert_validator" - }, - { - "name": "envoy.path.match.uri_template.uri_template_matcher", - "category": "envoy.path.match", - "type_urls": [ - "envoy.extensions.path.match.uri_template.v3.UriTemplateMatchConfig" - ] - }, - { - "name": "envoy.http.original_ip_detection.custom_header", - "category": "envoy.http.original_ip_detection", - "type_urls": [ - "envoy.extensions.http.original_ip_detection.custom_header.v3.CustomHeaderConfig" - ] - }, - { - "name": "envoy.http.original_ip_detection.xff", - "category": "envoy.http.original_ip_detection", - "type_urls": [ - "envoy.extensions.http.original_ip_detection.xff.v3.XffConfig" - ] - }, - { - "name": "envoy.buffer", - "category": "envoy.filters.http.upstream" - }, - { - "name": "envoy.filters.http.admission_control", - "category": "envoy.filters.http.upstream", - "type_urls": [ - "envoy.extensions.filters.http.admission_control.v3.AdmissionControl" - ] - }, - { - "name": "envoy.filters.http.buffer", - "category": "envoy.filters.http.upstream", - "type_urls": [ - "envoy.extensions.filters.http.buffer.v3.Buffer", - "envoy.extensions.filters.http.buffer.v3.BufferPerRoute" - ] - }, - { - "name": "envoy.filters.http.upstream_codec", - "category": "envoy.filters.http.upstream", - "type_urls": [ - "envoy.extensions.filters.http.upstream_codec.v3.UpstreamCodec" - ] - }, - { - "name": "envoy.route.early_data_policy.default", - "category": "envoy.route.early_data_policy", - "type_urls": [ - "envoy.extensions.early_data.v3.DefaultEarlyDataPolicy" - ] - }, - { - "name": "envoy.compression.brotli.compressor", - "category": "envoy.compression.compressor", - "type_urls": [ - "envoy.extensions.compression.brotli.compressor.v3.Brotli" - ] - }, - { - "name": "envoy.compression.gzip.compressor", - "category": "envoy.compression.compressor", - "type_urls": [ - "envoy.extensions.compression.gzip.compressor.v3.Gzip" - ] - }, - { - "name": "envoy.compression.zstd.compressor", - "category": "envoy.compression.compressor", - "type_urls": [ - "envoy.extensions.compression.zstd.compressor.v3.Zstd" - ] - }, - { - "name": "envoy.compression.brotli.decompressor", - "category": "envoy.compression.decompressor", - "type_urls": [ - "envoy.extensions.compression.brotli.decompressor.v3.Brotli" - ] - }, - { - "name": "envoy.compression.gzip.decompressor", - "category": "envoy.compression.decompressor", - "type_urls": [ - "envoy.extensions.compression.gzip.decompressor.v3.Gzip" - ] - }, - { - "name": "envoy.compression.zstd.decompressor", - "category": "envoy.compression.decompressor", - "type_urls": [ - "envoy.extensions.compression.zstd.decompressor.v3.Zstd" - ] - }, - { - "name": "envoy.wasm.runtime.null", - "category": "envoy.wasm.runtime" - }, - { - "name": "envoy.wasm.runtime.v8", - "category": "envoy.wasm.runtime" - }, - { - "name": "envoy.dog_statsd", - "category": "envoy.stats_sinks" - }, - { - "name": "envoy.graphite_statsd", - "category": "envoy.stats_sinks" - }, - { - "name": "envoy.metrics_service", - "category": "envoy.stats_sinks" - }, - { - "name": "envoy.stat_sinks.dog_statsd", - "category": "envoy.stats_sinks", - "type_urls": [ - "envoy.config.metrics.v3.DogStatsdSink" - ] - }, - { - "name": "envoy.stat_sinks.graphite_statsd", - "category": "envoy.stats_sinks", - "type_urls": [ - "envoy.extensions.stat_sinks.graphite_statsd.v3.GraphiteStatsdSink" - ] - }, - { - "name": "envoy.stat_sinks.hystrix", - "category": "envoy.stats_sinks", - "type_urls": [ - "envoy.config.metrics.v3.HystrixSink" - ] - }, - { - "name": "envoy.stat_sinks.metrics_service", - "category": "envoy.stats_sinks", - "type_urls": [ - "envoy.config.metrics.v3.MetricsServiceConfig" - ] - }, - { - "name": "envoy.stat_sinks.statsd", - "category": "envoy.stats_sinks", - "type_urls": [ - "envoy.config.metrics.v3.StatsdSink" - ] - }, - { - "name": "envoy.stat_sinks.wasm", - "category": "envoy.stats_sinks", - "type_urls": [ - "envoy.extensions.stat_sinks.wasm.v3.Wasm" - ] - }, - { - "name": "envoy.statsd", - "category": "envoy.stats_sinks" - }, - { - "name": "envoy.path.rewrite.uri_template.uri_template_rewriter", - "category": "envoy.path.rewrite", - "type_urls": [ - "envoy.extensions.path.rewrite.uri_template.v3.UriTemplateRewriteConfig" - ] - }, - { - "name": "envoy.extensions.http.custom_response.local_response_policy", - "category": "envoy.http.custom_response", - "type_urls": [ - "envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy" - ] - }, - { - "name": "envoy.extensions.http.custom_response.redirect_policy", - "category": "envoy.http.custom_response", - "type_urls": [ - "envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy" - ] - }, - { - "name": "envoy.matching.actions.format_string", - "category": "envoy.matching.action", - "type_urls": [ - "envoy.config.core.v3.SubstitutionFormatString" - ] - }, - { - "name": "filter-chain-name", - "category": "envoy.matching.action", - "type_urls": [ - "google.protobuf.StringValue" - ] - }, - { - "name": "envoy.quic.deterministic_connection_id_generator", - "category": "envoy.quic.connection_id_generator", - "type_urls": [ - "envoy.extensions.quic.connection_id_generator.v3.DeterministicConnectionIdGeneratorConfig" - ] - }, - { - "name": "envoy.network.dns_resolver.cares", - "category": "envoy.network.dns_resolver", - "type_urls": [ - "envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig" - ] - }, - { - "name": "envoy.network.dns_resolver.getaddrinfo", - "category": "envoy.network.dns_resolver", - "type_urls": [ - "envoy.extensions.network.dns_resolver.getaddrinfo.v3.GetAddrInfoDnsResolverConfig" - ] - }, - { - "name": "envoy.bootstrap.internal_listener", - "category": "envoy.bootstrap", - "type_urls": [ - "envoy.extensions.bootstrap.internal_listener.v3.InternalListener" - ] - }, - { - "name": "envoy.bootstrap.wasm", - "category": "envoy.bootstrap", - "type_urls": [ - "envoy.extensions.wasm.v3.WasmService" - ] - }, - { - "name": "envoy.extensions.network.socket_interface.default_socket_interface", - "category": "envoy.bootstrap", - "type_urls": [ - "envoy.extensions.network.socket_interface.v3.DefaultSocketInterface" - ] - }, - { - "name": "envoy.filters.listener.http_inspector", - "category": "envoy.filters.listener", - "type_urls": [ - "envoy.extensions.filters.listener.http_inspector.v3.HttpInspector" - ] - }, - { - "name": "envoy.filters.listener.original_dst", - "category": "envoy.filters.listener", - "type_urls": [ - "envoy.extensions.filters.listener.original_dst.v3.OriginalDst" - ] - }, - { - "name": "envoy.filters.listener.original_src", - "category": "envoy.filters.listener", - "type_urls": [ - "envoy.extensions.filters.listener.original_src.v3.OriginalSrc" - ] - }, - { - "name": "envoy.filters.listener.proxy_protocol", - "category": "envoy.filters.listener", - "type_urls": [ - "envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol" - ] - }, - { - "name": "envoy.filters.listener.tls_inspector", - "category": "envoy.filters.listener", - "type_urls": [ - "envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector" - ] - }, - { - "name": "envoy.listener.http_inspector", - "category": "envoy.filters.listener" - }, - { - "name": "envoy.listener.original_dst", - "category": "envoy.filters.listener" - }, - { - "name": "envoy.listener.original_src", - "category": "envoy.filters.listener" - }, - { - "name": "envoy.listener.proxy_protocol", - "category": "envoy.filters.listener" - }, - { - "name": "envoy.listener.tls_inspector", - "category": "envoy.filters.listener" - }, - { - "name": "envoy.matching.common_inputs.environment_variable", - "category": "envoy.matching.common_inputs", - "type_urls": [ - "envoy.extensions.matching.common_inputs.environment_variable.v3.Config" - ] - }, - { - "name": "envoy.matching.matchers.consistent_hashing", - "category": "envoy.matching.input_matchers", - "type_urls": [ - "envoy.extensions.matching.input_matchers.consistent_hashing.v3.ConsistentHashing" - ] - }, - { - "name": "envoy.matching.matchers.ip", - "category": "envoy.matching.input_matchers", - "type_urls": [ - "envoy.extensions.matching.input_matchers.ip.v3.Ip" - ] - }, - { - "name": "envoy.grpc_credentials.aws_iam", - "category": "envoy.grpc_credentials" - }, - { - "name": "envoy.grpc_credentials.default", - "category": "envoy.grpc_credentials" - }, - { - "name": "envoy.grpc_credentials.file_based_metadata", - "category": "envoy.grpc_credentials" - }, - { - "name": "envoy.request_id.uuid", - "category": "envoy.request_id", - "type_urls": [ - "envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig" - ] - }, - { - "name": "envoy.load_balancing_policies.least_request", - "category": "envoy.load_balancing_policies", - "type_urls": [ - "envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest" - ] - }, - { - "name": "envoy.load_balancing_policies.maglev", - "category": "envoy.load_balancing_policies", - "type_urls": [ - "envoy.extensions.load_balancing_policies.maglev.v3.Maglev" - ] - }, - { - "name": "envoy.load_balancing_policies.random", - "category": "envoy.load_balancing_policies", - "type_urls": [ - "envoy.extensions.load_balancing_policies.random.v3.Random" - ] - }, - { - "name": "envoy.load_balancing_policies.ring_hash", - "category": "envoy.load_balancing_policies", - "type_urls": [ - "envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash" - ] - }, - { - "name": "envoy.load_balancing_policies.round_robin", - "category": "envoy.load_balancing_policies", - "type_urls": [ - "envoy.extensions.load_balancing_policies.round_robin.v3.RoundRobin" - ] - }, - { - "name": "envoy.ip", - "category": "envoy.resolvers" - }, - { - "name": "envoy.bandwidth_limit", - "category": "envoy.filters.http" - }, - { - "name": "envoy.buffer", - "category": "envoy.filters.http" - }, - { - "name": "envoy.cors", - "category": "envoy.filters.http" - }, - { - "name": "envoy.csrf", - "category": "envoy.filters.http" - }, - { - "name": "envoy.ext_authz", - "category": "envoy.filters.http" - }, - { - "name": "envoy.ext_proc", - "category": "envoy.filters.http" - }, - { - "name": "envoy.fault", - "category": "envoy.filters.http" - }, - { - "name": "envoy.filters.http.adaptive_concurrency", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.adaptive_concurrency.v3.AdaptiveConcurrency" - ] - }, - { - "name": "envoy.filters.http.admission_control", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.admission_control.v3.AdmissionControl" - ] - }, - { - "name": "envoy.filters.http.alternate_protocols_cache", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.alternate_protocols_cache.v3.FilterConfig" - ] - }, - { - "name": "envoy.filters.http.aws_lambda", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.aws_lambda.v3.Config", - "envoy.extensions.filters.http.aws_lambda.v3.PerRouteConfig" - ] - }, - { - "name": "envoy.filters.http.aws_request_signing", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.aws_request_signing.v3.AwsRequestSigning" - ] - }, - { - "name": "envoy.filters.http.bandwidth_limit", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit" - ] - }, - { - "name": "envoy.filters.http.buffer", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.buffer.v3.Buffer", - "envoy.extensions.filters.http.buffer.v3.BufferPerRoute" - ] - }, - { - "name": "envoy.filters.http.cache", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.cache.v3.CacheConfig" - ] - }, - { - "name": "envoy.filters.http.cdn_loop", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.cdn_loop.v3.CdnLoopConfig" - ] - }, - { - "name": "envoy.filters.http.composite", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.composite.v3.Composite" - ] - }, - { - "name": "envoy.filters.http.compressor", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.compressor.v3.Compressor", - "envoy.extensions.filters.http.compressor.v3.CompressorPerRoute" - ] - }, - { - "name": "envoy.filters.http.connect_grpc_bridge", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.connect_grpc_bridge.v3.FilterConfig" - ] - }, - { - "name": "envoy.filters.http.cors", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.cors.v3.Cors", - "envoy.extensions.filters.http.cors.v3.CorsPolicy" - ] - }, - { - "name": "envoy.filters.http.csrf", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.csrf.v3.CsrfPolicy" - ] - }, - { - "name": "envoy.filters.http.custom_response", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.custom_response.v3.CustomResponse" - ] - }, - { - "name": "envoy.filters.http.decompressor", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.decompressor.v3.Decompressor" - ] - }, - { - "name": "envoy.filters.http.dynamic_forward_proxy", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig", - "envoy.extensions.filters.http.dynamic_forward_proxy.v3.PerRouteConfig" - ] - }, - { - "name": "envoy.filters.http.ext_authz", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.ext_authz.v3.ExtAuthz", - "envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute" - ] - }, - { - "name": "envoy.filters.http.ext_proc", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.ext_proc.v3.ExtProcPerRoute", - "envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor" - ] - }, - { - "name": "envoy.filters.http.fault", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.fault.v3.HTTPFault" - ] - }, - { - "name": "envoy.filters.http.file_system_buffer", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.file_system_buffer.v3.FileSystemBufferFilterConfig" - ] - }, - { - "name": "envoy.filters.http.gcp_authn", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig" - ] - }, - { - "name": "envoy.filters.http.grpc_http1_bridge", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.grpc_http1_bridge.v3.Config" - ] - }, - { - "name": "envoy.filters.http.grpc_http1_reverse_bridge", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfig", - "envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfigPerRoute" - ] - }, - { - "name": "envoy.filters.http.grpc_json_transcoder", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder" - ] - }, - { - "name": "envoy.filters.http.grpc_stats", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.grpc_stats.v3.FilterConfig" - ] - }, - { - "name": "envoy.filters.http.grpc_web", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.grpc_web.v3.GrpcWeb" - ] - }, - { - "name": "envoy.filters.http.header_to_metadata", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.header_to_metadata.v3.Config" - ] - }, - { - "name": "envoy.filters.http.health_check", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.health_check.v3.HealthCheck" - ] - }, - { - "name": "envoy.filters.http.ip_tagging", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.ip_tagging.v3.IPTagging" - ] - }, - { - "name": "envoy.filters.http.jwt_authn", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication", - "envoy.extensions.filters.http.jwt_authn.v3.PerRouteConfig" - ] - }, - { - "name": "envoy.filters.http.local_ratelimit", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit" - ] - }, - { - "name": "envoy.filters.http.lua", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.lua.v3.Lua", - "envoy.extensions.filters.http.lua.v3.LuaPerRoute" - ] - }, - { - "name": "envoy.filters.http.match_delegate", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.common.matching.v3.ExtensionWithMatcher" - ] - }, - { - "name": "envoy.filters.http.oauth2", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.oauth2.v3.OAuth2" - ] - }, - { - "name": "envoy.filters.http.on_demand", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.on_demand.v3.OnDemand", - "envoy.extensions.filters.http.on_demand.v3.PerRouteConfig" - ] - }, - { - "name": "envoy.filters.http.original_src", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.original_src.v3.OriginalSrc" - ] - }, - { - "name": "envoy.filters.http.rate_limit_quota", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig", - "envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaOverride" - ] - }, - { - "name": "envoy.filters.http.ratelimit", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.ratelimit.v3.RateLimit", - "envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute" - ] - }, - { - "name": "envoy.filters.http.rbac", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.rbac.v3.RBAC", - "envoy.extensions.filters.http.rbac.v3.RBACPerRoute" - ] - }, - { - "name": "envoy.filters.http.router", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.router.v3.Router" - ] - }, - { - "name": "envoy.filters.http.set_metadata", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.set_metadata.v3.Config" - ] - }, - { - "name": "envoy.filters.http.stateful_session", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.stateful_session.v3.StatefulSession", - "envoy.extensions.filters.http.stateful_session.v3.StatefulSessionPerRoute" - ] - }, - { - "name": "envoy.filters.http.tap", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.tap.v3.Tap" - ] - }, - { - "name": "envoy.filters.http.wasm", - "category": "envoy.filters.http", - "type_urls": [ - "envoy.extensions.filters.http.wasm.v3.Wasm" - ] - }, - { - "name": "envoy.grpc_http1_bridge", - "category": "envoy.filters.http" - }, - { - "name": "envoy.grpc_json_transcoder", - "category": "envoy.filters.http" - }, - { - "name": "envoy.grpc_web", - "category": "envoy.filters.http" - }, - { - "name": "envoy.health_check", - "category": "envoy.filters.http" - }, - { - "name": "envoy.ip_tagging", - "category": "envoy.filters.http" - }, - { - "name": "envoy.local_rate_limit", - "category": "envoy.filters.http" - }, - { - "name": "envoy.lua", - "category": "envoy.filters.http" - }, - { - "name": "envoy.rate_limit", - "category": "envoy.filters.http" - }, - { - "name": "envoy.router", - "category": "envoy.filters.http" - }, - { - "name": "envoy.access_loggers.file", - "category": "envoy.access_loggers", - "type_urls": [ - "envoy.extensions.access_loggers.file.v3.FileAccessLog" - ] - }, - { - "name": "envoy.access_loggers.http_grpc", - "category": "envoy.access_loggers", - "type_urls": [ - "envoy.extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig" - ] - }, - { - "name": "envoy.access_loggers.open_telemetry", - "category": "envoy.access_loggers", - "type_urls": [ - "envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig" - ] - }, - { - "name": "envoy.access_loggers.stderr", - "category": "envoy.access_loggers", - "type_urls": [ - "envoy.extensions.access_loggers.stream.v3.StderrAccessLog" - ] - }, - { - "name": "envoy.access_loggers.stdout", - "category": "envoy.access_loggers", - "type_urls": [ - "envoy.extensions.access_loggers.stream.v3.StdoutAccessLog" - ] - }, - { - "name": "envoy.access_loggers.tcp_grpc", - "category": "envoy.access_loggers", - "type_urls": [ - "envoy.extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig" - ] - }, - { - "name": "envoy.access_loggers.wasm", - "category": "envoy.access_loggers", - "type_urls": [ - "envoy.extensions.access_loggers.wasm.v3.WasmAccessLog" - ] - }, - { - "name": "envoy.file_access_log", - "category": "envoy.access_loggers" - }, - { - "name": "envoy.http_grpc_access_log", - "category": "envoy.access_loggers" - }, - { - "name": "envoy.open_telemetry_access_log", - "category": "envoy.access_loggers" - }, - { - "name": "envoy.stderr_access_log", - "category": "envoy.access_loggers" - }, - { - "name": "envoy.stdout_access_log", - "category": "envoy.access_loggers" - }, - { - "name": "envoy.tcp_grpc_access_log", - "category": "envoy.access_loggers" - }, - { - "name": "envoy.wasm_access_log", - "category": "envoy.access_loggers" - }, - { - "name": "envoy.config.validators.minimum_clusters", - "category": "envoy.config.validators" - }, - { - "name": "envoy.config.validators.minimum_clusters_validator", - "category": "envoy.config.validators", - "type_urls": [ - "envoy.extensions.config.validators.minimum_clusters.v3.MinimumClustersValidator" - ] - }, - { - "name": "envoy.http.header_validators.envoy_default", - "category": "envoy.http.header_validators", - "type_urls": [ - "envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig" - ] - }, - { - "name": "dubbo.hessian2", - "category": "envoy.dubbo_proxy.serializers" - }, - { - "name": "quic.http_server_connection.default", - "category": "quic.http_server_connection" - }, - { - "name": "envoy.transport_sockets.alts", - "category": "envoy.transport_sockets.downstream", - "type_urls": [ - "envoy.extensions.transport_sockets.alts.v3.Alts" - ] - }, - { - "name": "envoy.transport_sockets.quic", - "category": "envoy.transport_sockets.downstream", - "type_urls": [ - "envoy.extensions.transport_sockets.quic.v3.QuicDownstreamTransport" - ] - }, - { - "name": "envoy.transport_sockets.raw_buffer", - "category": "envoy.transport_sockets.downstream", - "type_urls": [ - "envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer" - ] - }, - { - "name": "envoy.transport_sockets.starttls", - "category": "envoy.transport_sockets.downstream", - "type_urls": [ - "envoy.extensions.transport_sockets.starttls.v3.StartTlsConfig" - ] - }, - { - "name": "envoy.transport_sockets.tap", - "category": "envoy.transport_sockets.downstream", - "type_urls": [ - "envoy.extensions.transport_sockets.tap.v3.Tap" - ] - }, - { - "name": "envoy.transport_sockets.tcp_stats", - "category": "envoy.transport_sockets.downstream", - "type_urls": [ - "envoy.extensions.transport_sockets.tcp_stats.v3.Config" - ] - }, - { - "name": "envoy.transport_sockets.tls", - "category": "envoy.transport_sockets.downstream", - "type_urls": [ - "envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext" - ] - }, - { - "name": "raw_buffer", - "category": "envoy.transport_sockets.downstream" - }, - { - "name": "starttls", - "category": "envoy.transport_sockets.downstream" - }, - { - "name": "tls", - "category": "envoy.transport_sockets.downstream" - }, - { - "name": "envoy.rbac.matchers.upstream_ip_port", - "category": "envoy.rbac.matchers", - "type_urls": [ - "envoy.extensions.rbac.matchers.upstream_ip_port.v3.UpstreamIpPortMatcher" - ] - }, - { - "name": "envoy.key_value.file_based", - "category": "envoy.common.key_value", - "type_urls": [ - "envoy.extensions.key_value.file_based.v3.FileBasedKeyValueStoreConfig" - ] - }, - { - "name": "envoy.matching.inputs.application_protocol", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.ApplicationProtocolInput" - ] - }, - { - "name": "envoy.matching.inputs.destination_ip", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.DestinationIPInput" - ] - }, - { - "name": "envoy.matching.inputs.destination_port", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.DestinationPortInput" - ] - }, - { - "name": "envoy.matching.inputs.direct_source_ip", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.DirectSourceIPInput" - ] - }, - { - "name": "envoy.matching.inputs.dns_san", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.ssl.v3.DnsSanInput" - ] - }, - { - "name": "envoy.matching.inputs.server_name", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.ServerNameInput" - ] - }, - { - "name": "envoy.matching.inputs.source_ip", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.SourceIPInput" - ] - }, - { - "name": "envoy.matching.inputs.source_port", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.SourcePortInput" - ] - }, - { - "name": "envoy.matching.inputs.source_type", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.SourceTypeInput" - ] - }, - { - "name": "envoy.matching.inputs.subject", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.ssl.v3.SubjectInput" - ] - }, - { - "name": "envoy.matching.inputs.transport_protocol", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.network.v3.TransportProtocolInput" - ] - }, - { - "name": "envoy.matching.inputs.uri_san", - "category": "envoy.matching.network.input", - "type_urls": [ - "envoy.extensions.matching.common_inputs.ssl.v3.UriSanInput" - ] - }, - { - "name": "dubbo", - "category": "envoy.dubbo_proxy.protocols" - }, - { - "name": "envoy.watchdog.abort_action", - "category": "envoy.guarddog_actions", - "type_urls": [ - "envoy.watchdog.v3.AbortActionConfig" - ] - }, - { - "name": "envoy.watchdog.profile_action", - "category": "envoy.guarddog_actions", - "type_urls": [ - "envoy.extensions.watchdog.profile_action.v3.ProfileActionConfig" - ] - }, - { - "name": "envoy.quic.crypto_stream.server.quiche", - "category": "envoy.quic.server.crypto_stream", - "type_urls": [ - "envoy.extensions.quic.crypto_stream.v3.CryptoServerStreamConfig" - ] - }, - { - "name": "envoy.regex_engines.google_re2", - "category": "envoy.regex_engines", - "type_urls": [ - "envoy.extensions.regex_engines.v3.GoogleRE2" - ] - }, - { - "name": "envoy.http.stateful_session.cookie", - "category": "envoy.http.stateful_session", - "type_urls": [ - "envoy.extensions.http.stateful_session.cookie.v3.CookieBasedSessionState" - ] - }, - { - "name": "envoy.http.stateful_session.header", - "category": "envoy.http.stateful_session", - "type_urls": [ - "envoy.extensions.http.stateful_session.header.v3.HeaderBasedSessionState" - ] - }, - { - "name": "envoy.matching.custom_matchers.trie_matcher", - "category": "envoy.matching.network.custom_matchers", - "type_urls": [ - "xds.type.matcher.v3.IPMatcher" - ] - }, - { - "name": "envoy.udp_packet_writer.default", - "category": "envoy.udp_packet_writer", - "type_urls": [ - "envoy.extensions.udp_packet_writer.v3.UdpDefaultWriterFactory" - ] - }, - { - "name": "envoy.udp_packet_writer.gso", - "category": "envoy.udp_packet_writer", - "type_urls": [ - "envoy.extensions.udp_packet_writer.v3.UdpGsoBatchWriterFactory" - ] - }, - { - "name": "envoy.quic.proof_source.filter_chain", - "category": "envoy.quic.proof_source", - "type_urls": [ - "envoy.extensions.quic.proof_source.v3.ProofSourceConfig" - ] - }, - { - "name": "envoy.resource_monitors.fixed_heap", - "category": "envoy.resource_monitors", - "type_urls": [ - "envoy.extensions.resource_monitors.fixed_heap.v3.FixedHeapConfig" - ] - }, - { - "name": "envoy.resource_monitors.injected_resource", - "category": "envoy.resource_monitors", - "type_urls": [ - "envoy.extensions.resource_monitors.injected_resource.v3.InjectedResourceConfig" - ] - }, - { - "name": "envoy.http.stateful_header_formatters.preserve_case", - "category": "envoy.http.stateful_header_formatters", - "type_urls": [ - "envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig" - ] - }, - { - "name": "preserve_case", - "category": "envoy.http.stateful_header_formatters" - }, - { - "name": "envoy.filters.thrift.header_to_metadata", - "category": "envoy.thrift_proxy.filters", - "type_urls": [ - "envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata" - ] - }, - { - "name": "envoy.filters.thrift.payload_to_metadata", - "category": "envoy.thrift_proxy.filters", - "type_urls": [ - "envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata" - ] - }, - { - "name": "envoy.filters.thrift.rate_limit", - "category": "envoy.thrift_proxy.filters", - "type_urls": [ - "envoy.extensions.filters.network.thrift_proxy.filters.ratelimit.v3.RateLimit" - ] - }, - { - "name": "envoy.filters.thrift.router", - "category": "envoy.thrift_proxy.filters", - "type_urls": [ - "envoy.extensions.filters.network.thrift_proxy.router.v3.Router" - ] - }, - { - "name": "envoy.tracers.datadog", - "category": "envoy.tracers", - "type_urls": [ - "envoy.config.trace.v3.DatadogConfig" - ] - }, - { - "name": "envoy.tracers.dynamic_ot", - "category": "envoy.tracers", - "type_urls": [ - "envoy.config.trace.v3.DynamicOtConfig" - ] - }, - { - "name": "envoy.tracers.opencensus", - "category": "envoy.tracers", - "type_urls": [ - "envoy.config.trace.v3.OpenCensusConfig" - ] - }, - { - "name": "envoy.tracers.opentelemetry", - "category": "envoy.tracers", - "type_urls": [ - "envoy.config.trace.v3.OpenTelemetryConfig" - ] - }, - { - "name": "envoy.tracers.skywalking", - "category": "envoy.tracers", - "type_urls": [ - "envoy.config.trace.v3.SkyWalkingConfig" - ] - }, - { - "name": "envoy.tracers.xray", - "category": "envoy.tracers", - "type_urls": [ - "envoy.config.trace.v3.XRayConfig" - ] - }, - { - "name": "envoy.tracers.zipkin", - "category": "envoy.tracers", - "type_urls": [ - "envoy.config.trace.v3.ZipkinConfig" - ] - }, - { - "name": "envoy.zipkin", - "category": "envoy.tracers" - }, - { - "name": "envoy.retry_priorities.previous_priorities", - "category": "envoy.retry_priorities", - "type_urls": [ - "envoy.extensions.retry.priority.previous_priorities.v3.PreviousPrioritiesConfig" - ] - }, - { - "name": "envoy.http.early_header_mutation.header_mutation", - "category": "envoy.http.early_header_mutation", - "type_urls": [ - "envoy.extensions.http.early_header_mutation.header_mutation.v3.HeaderMutation" - ] - }, - { - "name": "envoy.connection_handler.default", - "category": "envoy.connection_handler" - }, - { - "name": "envoy.transport_sockets.alts", - "category": "envoy.transport_sockets.upstream", - "type_urls": [ - "envoy.extensions.transport_sockets.alts.v3.Alts" - ] - }, - { - "name": "envoy.transport_sockets.http_11_proxy", - "category": "envoy.transport_sockets.upstream", - "type_urls": [ - "envoy.extensions.transport_sockets.http_11_proxy.v3.Http11ProxyUpstreamTransport" - ] - }, - { - "name": "envoy.transport_sockets.internal_upstream", - "category": "envoy.transport_sockets.upstream", - "type_urls": [ - "envoy.extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport" - ] - }, - { - "name": "envoy.transport_sockets.quic", - "category": "envoy.transport_sockets.upstream", - "type_urls": [ - "envoy.extensions.transport_sockets.quic.v3.QuicUpstreamTransport" - ] - }, - { - "name": "envoy.transport_sockets.raw_buffer", - "category": "envoy.transport_sockets.upstream", - "type_urls": [ - "envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer" - ] - }, - { - "name": "envoy.transport_sockets.starttls", - "category": "envoy.transport_sockets.upstream", - "type_urls": [ - "envoy.extensions.transport_sockets.starttls.v3.UpstreamStartTlsConfig" - ] - }, - { - "name": "envoy.transport_sockets.tap", - "category": "envoy.transport_sockets.upstream", - "type_urls": [ - "envoy.extensions.transport_sockets.tap.v3.Tap" - ] - }, - { - "name": "envoy.transport_sockets.tcp_stats", - "category": "envoy.transport_sockets.upstream", - "type_urls": [ - "envoy.extensions.transport_sockets.tcp_stats.v3.Config" - ] - }, - { - "name": "envoy.transport_sockets.tls", - "category": "envoy.transport_sockets.upstream", - "type_urls": [ - "envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext" - ] - }, - { - "name": "envoy.transport_sockets.upstream_proxy_protocol", - "category": "envoy.transport_sockets.upstream", - "type_urls": [ - "envoy.extensions.transport_sockets.proxy_protocol.v3.ProxyProtocolUpstreamTransport" - ] - }, - { - "name": "raw_buffer", - "category": "envoy.transport_sockets.upstream" - }, - { - "name": "starttls", - "category": "envoy.transport_sockets.upstream" - }, - { - "name": "tls", - "category": "envoy.transport_sockets.upstream" - }, - { - "name": "auto", - "category": "envoy.thrift_proxy.transports" - }, - { - "name": "framed", - "category": "envoy.thrift_proxy.transports" - }, - { - "name": "header", - "category": "envoy.thrift_proxy.transports" - }, - { - "name": "unframed", - "category": "envoy.thrift_proxy.transports" - }, - { - "name": "envoy.cluster.eds", - "category": "envoy.clusters" - }, - { - "name": "envoy.cluster.logical_dns", - "category": "envoy.clusters" - }, - { - "name": "envoy.cluster.original_dst", - "category": "envoy.clusters" - }, - { - "name": "envoy.cluster.static", - "category": "envoy.clusters" - }, - { - "name": "envoy.cluster.strict_dns", - "category": "envoy.clusters" - }, - { - "name": "envoy.clusters.aggregate", - "category": "envoy.clusters" - }, - { - "name": "envoy.clusters.dynamic_forward_proxy", - "category": "envoy.clusters" - }, - { - "name": "envoy.clusters.redis", - "category": "envoy.clusters" - }, - { - "name": "envoy.access_loggers.extension_filters.cel", - "category": "envoy.access_loggers.extension_filters", - "type_urls": [ - "envoy.extensions.access_loggers.filters.cel.v3.ExpressionFilter" - ] - }, - { - "name": "auto", - "category": "envoy.thrift_proxy.protocols" - }, - { - "name": "binary", - "category": "envoy.thrift_proxy.protocols" - }, - { - "name": "binary/non-strict", - "category": "envoy.thrift_proxy.protocols" - }, - { - "name": "compact", - "category": "envoy.thrift_proxy.protocols" - }, - { - "name": "twitter", - "category": "envoy.thrift_proxy.protocols" - }, - { - "name": "envoy.extensions.upstreams.http.v3.HttpProtocolOptions", - "category": "envoy.upstream_options", - "type_urls": [ - "envoy.extensions.upstreams.http.v3.HttpProtocolOptions" - ] - }, - { - "name": "envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions", - "category": "envoy.upstream_options", - "type_urls": [ - "envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions" - ] - }, - { - "name": "envoy.upstreams.http.http_protocol_options", - "category": "envoy.upstream_options" - }, - { - "name": "envoy.upstreams.tcp.tcp_protocol_options", - "category": "envoy.upstream_options" - }, - { - "name": "envoy.listener_manager_impl.default", - "category": "envoy.listener_manager_impl", - "type_urls": [ - "envoy.config.listener.v3.ListenerManager" - ] - }, - { - "name": "default", - "category": "network.connection.client" - }, - { - "name": "envoy_internal", - "category": "network.connection.client" - }, - { - "name": "envoy.filters.udp.dns_filter", - "category": "envoy.filters.udp_listener", - "type_urls": [ - "envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig" - ] - }, - { - "name": "envoy.filters.udp_listener.udp_proxy", - "category": "envoy.filters.udp_listener", - "type_urls": [ - "envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig" - ] - }, - { - "name": "envoy.extensions.http.cache.file_system_http_cache", - "category": "envoy.http.cache", - "type_urls": [ - "envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig" - ] - }, - { - "name": "envoy.extensions.http.cache.simple", - "category": "envoy.http.cache", - "type_urls": [ - "envoy.extensions.http.cache.simple_http_cache.v3.SimpleHttpCacheConfig" - ] - }, - { - "name": "envoy.retry_host_predicates.omit_canary_hosts", - "category": "envoy.retry_host_predicates", - "type_urls": [ - "envoy.extensions.retry.host.omit_canary_hosts.v3.OmitCanaryHostsPredicate" - ] - }, - { - "name": "envoy.retry_host_predicates.omit_host_metadata", - "category": "envoy.retry_host_predicates", - "type_urls": [ - "envoy.extensions.retry.host.omit_host_metadata.v3.OmitHostMetadataConfig" - ] - }, - { - "name": "envoy.retry_host_predicates.previous_hosts", - "category": "envoy.retry_host_predicates", - "type_urls": [ - "envoy.extensions.retry.host.previous_hosts.v3.PreviousHostsPredicate" - ] - }, - { - "name": "envoy.formatter.metadata", - "category": "envoy.formatter", - "type_urls": [ - "envoy.extensions.formatter.metadata.v3.Metadata" - ] - }, - { - "name": "envoy.formatter.req_without_query", - "category": "envoy.formatter", - "type_urls": [ - "envoy.extensions.formatter.req_without_query.v3.ReqWithoutQuery" - ] - }, - { - "name": "envoy.internal_redirect_predicates.allow_listed_routes", - "category": "envoy.internal_redirect_predicates", - "type_urls": [ - "envoy.extensions.internal_redirect.allow_listed_routes.v3.AllowListedRoutesConfig" - ] - }, - { - "name": "envoy.internal_redirect_predicates.previous_routes", - "category": "envoy.internal_redirect_predicates", - "type_urls": [ - "envoy.extensions.internal_redirect.previous_routes.v3.PreviousRoutesConfig" - ] - }, - { - "name": "envoy.internal_redirect_predicates.safe_cross_scheme", - "category": "envoy.internal_redirect_predicates", - "type_urls": [ - "envoy.extensions.internal_redirect.safe_cross_scheme.v3.SafeCrossSchemeConfig" - ] - }, - { - "name": "envoy.matching.custom_matchers.trie_matcher", - "category": "envoy.matching.http.custom_matchers", - "type_urls": [ - "xds.type.matcher.v3.IPMatcher" - ] - }, - { - "name": "envoy.filters.dubbo.router", - "category": "envoy.dubbo_proxy.filters", - "type_urls": [ - "envoy.extensions.filters.network.dubbo_proxy.router.v3.Router" - ] - }, - { - "name": "envoy.echo", - "category": "envoy.filters.network" - }, - { - "name": "envoy.ext_authz", - "category": "envoy.filters.network" - }, - { - "name": "envoy.filters.network.connection_limit", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.connection_limit.v3.ConnectionLimit" - ] - }, - { - "name": "envoy.filters.network.direct_response", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.direct_response.v3.Config" - ] - }, - { - "name": "envoy.filters.network.dubbo_proxy", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy" - ] - }, - { - "name": "envoy.filters.network.echo", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.echo.v3.Echo" - ] - }, - { - "name": "envoy.filters.network.ext_authz", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.ext_authz.v3.ExtAuthz" - ] - }, - { - "name": "envoy.filters.network.http_connection_manager", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager" - ] - }, - { - "name": "envoy.filters.network.local_ratelimit", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.local_ratelimit.v3.LocalRateLimit" - ] - }, - { - "name": "envoy.filters.network.mongo_proxy", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.mongo_proxy.v3.MongoProxy" - ] - }, - { - "name": "envoy.filters.network.ratelimit", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.ratelimit.v3.RateLimit" - ] - }, - { - "name": "envoy.filters.network.rbac", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.rbac.v3.RBAC" - ] - }, - { - "name": "envoy.filters.network.redis_proxy", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.redis_proxy.v3.RedisProxy" - ] - }, - { - "name": "envoy.filters.network.sni_cluster", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.sni_cluster.v3.SniCluster" - ] - }, - { - "name": "envoy.filters.network.sni_dynamic_forward_proxy", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.sni_dynamic_forward_proxy.v3.FilterConfig" - ] - }, - { - "name": "envoy.filters.network.tcp_proxy", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy" - ] - }, - { - "name": "envoy.filters.network.thrift_proxy", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy" - ] - }, - { - "name": "envoy.filters.network.wasm", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.wasm.v3.Wasm" - ] - }, - { - "name": "envoy.filters.network.zookeeper_proxy", - "category": "envoy.filters.network", - "type_urls": [ - "envoy.extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy" - ] - }, - { - "name": "envoy.http_connection_manager", - "category": "envoy.filters.network" - }, - { - "name": "envoy.mongo_proxy", - "category": "envoy.filters.network" - }, - { - "name": "envoy.ratelimit", - "category": "envoy.filters.network" - }, - { - "name": "envoy.redis_proxy", - "category": "envoy.filters.network" - }, - { - "name": "envoy.tcp_proxy", - "category": "envoy.filters.network" - }, - { - "name": "envoy.health_checkers.redis", - "category": "envoy.health_checkers", - "type_urls": [ - "envoy.extensions.health_checkers.redis.v3.Redis" - ] - }, - { - "name": "envoy.health_checkers.thrift", - "category": "envoy.health_checkers", - "type_urls": [ - "envoy.extensions.health_checkers.thrift.v3.Thrift" - ] - } - ] - }, - "static_resources": { - "clusters": [ - { - "name": "xds_cluster", - "type": "STRICT_DNS", - "connect_timeout": "1s", - "transport_socket": { - "name": "envoy.transport_sockets.tls", - "typed_config": { - "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext", - "common_tls_context": { - "tls_params": { - "tls_maximum_protocol_version": "TLSv1_3" - }, - "tls_certificate_sds_secret_configs": [ - { - "name": "xds_certificate", - "sds_config": { - "resource_api_version": "V3", - "path_config_source": { - "path": "/sds/xds-certificate.json" - } - } - } - ], - "validation_context_sds_secret_config": { - "name": "xds_trusted_ca", - "sds_config": { - "resource_api_version": "V3", - "path_config_source": { - "path": "/sds/xds-trusted-ca.json" - } - } - } - } - } - }, - "load_assignment": { - "cluster_name": "xds_cluster", - "endpoints": [ - { - "lb_endpoints": [ - { - "endpoint": { - "address": { - "socket_address": { - "address": "envoy-gateway", - "port_value": 18000 - } - } - } - } - ] - } - ] - }, - "typed_extension_protocol_options": { - "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": { - "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", - "explicit_http_config": { - "http2_protocol_options": {} - } - } - } - } - ] - }, - "dynamic_resources": { - "lds_config": { - "api_config_source": { - "api_type": "DELTA_GRPC", - "grpc_services": [ - { - "envoy_grpc": { - "cluster_name": "xds_cluster" - } - } - ], - "set_node_on_first_message_only": true, - "transport_api_version": "V3" - }, - "resource_api_version": "V3" - }, - "cds_config": { - "api_config_source": { - "api_type": "DELTA_GRPC", - "grpc_services": [ - { - "envoy_grpc": { - "cluster_name": "xds_cluster" - } - } - ], - "set_node_on_first_message_only": true, - "transport_api_version": "V3" - }, - "resource_api_version": "V3" - } - }, - "admin": { - "address": { - "socket_address": { - "address": "127.0.0.1", - "port_value": 19000 - } - }, - "access_log": [ - { - "name": "envoy.access_loggers.file", - "typed_config": { - "@type": "type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog", - "path": "/dev/null" - } - } - ] - }, - "layered_runtime": { - "layers": [ - { - "name": "runtime-0", - "rtds_layer": { - "name": "runtime-0", - "rtds_config": { - "api_config_source": { - "api_type": "DELTA_GRPC", - "grpc_services": [ - { - "envoy_grpc": { - "cluster_name": "xds_cluster" - } - } - ], - "transport_api_version": "V3" - }, - "resource_api_version": "V3" - } - } - } - ] - } - }, - "last_updated": "2023-02-23T09:05:23.422Z" - }, - { - "@type": "type.googleapis.com/envoy.admin.v3.ClustersConfigDump", - "version_info": "2", - "static_clusters": [ - { - "cluster": { - "@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster", - "name": "xds_cluster", - "type": "STRICT_DNS", - "connect_timeout": "1s", - "transport_socket": { - "name": "envoy.transport_sockets.tls", - "typed_config": { - "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext", - "common_tls_context": { - "tls_params": { - "tls_maximum_protocol_version": "TLSv1_3" - }, - "tls_certificate_sds_secret_configs": [ - { - "name": "xds_certificate", - "sds_config": { - "resource_api_version": "V3", - "path_config_source": { - "path": "/sds/xds-certificate.json" - } - } - } - ], - "validation_context_sds_secret_config": { - "name": "xds_trusted_ca", - "sds_config": { - "resource_api_version": "V3", - "path_config_source": { - "path": "/sds/xds-trusted-ca.json" - } - } - } - } - } - }, - "load_assignment": { - "cluster_name": "xds_cluster", - "endpoints": [ - { - "lb_endpoints": [ - { - "endpoint": { - "address": { - "socket_address": { - "address": "envoy-gateway", - "port_value": 18000 - } - } - } - } - ] - } - ] - }, - "typed_extension_protocol_options": { - "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": { - "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", - "explicit_http_config": { - "http2_protocol_options": {} - } - } - } - }, - "last_updated": "2023-02-23T09:05:23.436Z" - } - ], - "dynamic_active_clusters": [ - { - "version_info": "2a0a1698a9d3e05b802047b0cd36b52a070afa49042e1ba267168c5265c7cabf", - "cluster": { - "@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster", - "name": "default-backend-rule-0-match-0-www.example.com", - "type": "STATIC", - "connect_timeout": "5s", - "dns_lookup_family": "V4_ONLY", - "outlier_detection": {}, - "common_lb_config": { - "locality_weighted_lb_config": {} - }, - "load_assignment": { - "cluster_name": "default-backend-rule-0-match-0-www.example.com", - "endpoints": [ - { - "locality": {}, - "lb_endpoints": [ - { - "endpoint": { - "address": { - "socket_address": { - "address": "10.96.159.190", - "port_value": 3000 - } - } - }, - "load_balancing_weight": 1 - } - ], - "load_balancing_weight": 1 - } - ] - } - }, - "last_updated": "2023-02-23T09:05:38.443Z" - } - ] - }, - { - "@type": "type.googleapis.com/envoy.admin.v3.ListenersConfigDump", - "version_info": "2", - "dynamic_listeners": [ - { - "name": "default-eg-http", - "active_state": { - "version_info": "42c71fb50c315ee3a32b327da69f8cc0baf420bc84b747e82d9c38e1b0c33eb2", - "listener": { - "@type": "type.googleapis.com/envoy.config.listener.v3.Listener", - "name": "default-eg-http", - "address": { - "socket_address": { - "address": "0.0.0.0", - "port_value": 10080 - } - }, - "access_log": [ - { - "name": "envoy.access_loggers.file", - "filter": { - "response_flag_filter": { - "flags": [ - "NR" - ] - } - }, - "typed_config": { - "@type": "type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog", - "path": "/dev/stdout" - } - } - ], - "default_filter_chain": { - "filters": [ - { - "name": "envoy.filters.network.http_connection_manager", - "typed_config": { - "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", - "stat_prefix": "http", - "rds": { - "config_source": { - "api_config_source": { - "api_type": "DELTA_GRPC", - "grpc_services": [ - { - "envoy_grpc": { - "cluster_name": "xds_cluster" - } - } - ], - "set_node_on_first_message_only": true, - "transport_api_version": "V3" - }, - "resource_api_version": "V3" - }, - "route_config_name": "default-eg-http" - }, - "http_filters": [ - { - "name": "envoy.filters.http.router", - "typed_config": { - "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router" - } - } - ], - "access_log": [ - { - "name": "envoy.access_loggers.file", - "typed_config": { - "@type": "type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog", - "path": "/dev/stdout" - } - } - ], - "use_remote_address": true, - "upgrade_configs": [ - { - "upgrade_type": "websocket" - } - ] - } - } - ] - } - }, - "last_updated": "2023-02-23T09:05:38.446Z" - } - } - ] - }, - { - "@type": "type.googleapis.com/envoy.admin.v3.ScopedRoutesConfigDump" - }, - { - "@type": "type.googleapis.com/envoy.admin.v3.RoutesConfigDump", - "dynamic_route_configs": [ - { - "version_info": "cb1e51997a9c3aa6f4d920f39fd5bdbd966e9382b7b6bdf42efca8c22c6c3442", - "route_config": { - "@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration", - "name": "default-eg-http", - "virtual_hosts": [ - { - "name": "default-eg-http", - "domains": [ - "*" - ], - "routes": [ - { - "match": { - "prefix": "/", - "headers": [ - { - "name": ":authority", - "string_match": { - "exact": "www.example.com" - } - } - ] - }, - "route": { - "cluster": "default-backend-rule-0-match-0-www.example.com" - } - } - ] - } - ] - }, - "last_updated": "2023-02-23T09:05:38.448Z" - } - ] - }, - { - "@type": "type.googleapis.com/envoy.admin.v3.SecretsConfigDump", - "dynamic_active_secrets": [ - { - "name": "xds_certificate", - "last_updated": "2023-02-23T09:05:23.442Z", - "secret": { - "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret", - "name": "xds_certificate", - "tls_certificate": { - "certificate_chain": { - "inline_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLekNDQWhPZ0F3SUJBZ0lFTnJRVi9qQU5CZ2txaGtpRzl3MEJBUXNGQURBc01SWXdGQVlEVlFRREV3MWwKYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEVlFRRkV3azFOalE0TXpRek9EVXdIaGNOTWpNd01qRTNNRE0wTVRJNApXaGNOTWpRd01qRTRNRE0wTVRJNFdqQU1NUW93Q0FZRFZRUUREQUVxTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBUThBTUlJQkNnS0NBUUVBNmdNSTJSNElEeE5mQ2o1YmZHU1hVUjF4YkVjRjE5VXlhVC9VUEZZcFltM0gKN2c4T3Z6YWRlelFyRkt3dG9PWWFDN0hjam8zVnVHSmhqSDQ1Z3lVbWFzSEg1Q1gzaWFlRlhxQXdVQjRqVTZQSgpBbElCZWlMRVdZVjN1VjMwcGlKK09DWFhrUEQzSFFVb0ZYbnljcHM3OE9PbjZoS0wwNUY0YkJsT2UrMFdIUHdECll2dFQ4TEdpVmcrSkxhR2lxaGgxOXY5endwQUd2akI2Z09kN1BjdkNQNFExUHdkMWdMSnNXVFNweGhDUEVPb2kKV2ZSOG56RERVUHU5aXc2QTJObW1XQ1FxSVNYcDlZUmJMTEdjZnV4VURjcFVYMHpqY0xvcE1sajBnM0RkYVpWRwpzNm9JcW9BSjZ6MFhvdWwrM0ZZdUtJYy8rT1V3VkR1VkI4K0ZRZzlYdlFJREFRQUJvM1V3Y3pBT0JnTlZIUThCCkFmOEVCQU1DQlBBd0hRWURWUjBPQkJZRUZKaUJ3cytVaFRlT2p1L1ZXT29LQWNTSmZBeXVNQjhHQTFVZEl3UVkKTUJhQUZCT3kvOGkxeVMxRWxpN0tNK0gyeXZEM1BJMG1NQ0VHQTFVZEVRUWFNQmlDRmlvdVpXNTJiM2t0WjJGMApaWGRoZVMxemVYTjBaVzB3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUZraHdIakZtQWxqdEpheU54WitodURGCm5UdWd0REZvSTBFT2J0cUhLYnloWU9sdlNFdkhxbFNQSHNRUUhmQnQwbHpOOEtGUTd2YWxTSHRBZStlNzBETHkKaGY3TDQ3eklST3NLcmtmb0tjMjRqaUhNQkVwbCtJdjllU1RWVG9WemxzazVZUGxET2lrMzZpRUY3WDVVZ0RheApsVllZZnpSYzRUb0poODMwT285Wm9pai9LM295dVNXcTVGRzVFWExmeW9tQzZPQ3dxRm5GNzRSM21FTjVheDRlCnppVm5QVDNxVmFZdytzNngwSVhHU282U2M3Q2lUbmMrckFNa3FJNVNsK2p5RHhKTkZBQlIvRllCcTQzK1B1UGkKN0YxOEw0N2l3aVFFYU82NUJzU2hlYmg1Qk1VbytDdzIyM3JsMGRpTldwY3FrdVhtT1BWNDlrWkZkdHpFNytVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" - }, - "private_key": { - "inline_bytes": "W3JlZGFjdGVkXQ==" - } - } - } - }, - { - "name": "xds_trusted_ca", - "last_updated": "2023-02-23T09:05:23.447Z", - "secret": { - "@type": "type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret", - "name": "xds_trusted_ca", - "validation_context": { - "trusted_ca": { - "inline_bytes": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHRENDQWdDZ0F3SUJBZ0lFSWFxd1VUQU5CZ2txaGtpRzl3MEJBUXNGQURBc01SWXdGQVlEVlFRREV3MWwKYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEVlFRRkV3azFOalE0TXpRek9EVXdIaGNOTWpNd01qRTNNRE0wTVRJNApXaGNOTWpRd01qRTRNRE0wTVRJNFdqQXNNUll3RkFZRFZRUURFdzFsYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEClZRUUZFd2sxTmpRNE16UXpPRFV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRDIKeFMrNkRWY2FvbHFkVVBzTHZwNUtQMEQyV0hrTkVEY0tPeml3bzZNYm9wczFLYWJnNXVYSVl5T21JRWNTTXNKNwpHbVAxMlJjK0J3V1dFWXRrTHVPU3BwQm1lSjN3aDRrUlVRVTRTemRFU1dDcU40RTNpcTJib3FFVm53SkFGQ1ZpCldldGVjZkZsODZFalliQUxxSnRCbGJCbFFQM1ZMZ1hva0VVamJ4QmFobE1wZitUWkVJNFBuam1zUWN5a21LeXIKaDJwdmM3cnZYb29HTlhTM0Q0eFc1VDY3dmxLYi94UlM3c2gwTkJEU0dtTE1jY2pxWFZXazVOR2lBWVB3dXBWSwpTWG02dnZXUFZCdEd1bkZhS0JSRGx4TlJrb0wzRUN6UkNtenoxR2ZYMGJkSm1leElOM2VIUFBRdkd0M0txeUlnCkgrYnc0OXpqdlVUb2dNcXFpTlcvQWdNQkFBR2pRakJBTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQQmdOVkhSTUIKQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRVHN2L0l0Y2t0UkpZdXlqUGg5c3J3OXp5TkpqQU5CZ2txaGtpRwo5dzBCQVFzRkFBT0NBUUVBd2dvZEsxalhVWFZDVXBTSjE0cEo3S3ZobWZPT1hkaVNISmNSSzlIUzI1c2xwOWN2CkJDSndmWUZmanJ4Rmc5TnV4aVpiM01oVXk5MDBqenBPdk1QWStEeUxFWFVxTGd5ZlBMUzYveVliem8yZHdwdzMKOCtrTXlsQUFlZmtaSW9oT0VhYSsvNFFBVVVGZVp1a1B6bmF6RzZIWnZKQkNxWVdRNXBaSSt3WTI1dzhEU0VOMgpkOCswVkpzWU5IdUk4aXhneGZhUkRycW5LRHBMUGJ3Z3VaRDl6ZkV3dVFaNG1oeEd0Vk1wR0NLSndscWFhdXJ0CkF5aGhzOXBHNERndkpSY1BLeFY4bndRdzZtSm55dkIxcExxTW1aQTVqZWhxbFNvUGVpWUlBMk1neU83cTVPYmMKL040bzBNTVdvZ1piRWR6aTBnTXJRT2lpNE41Q0ZlakVrYStIMmc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" - }, - "match_typed_subject_alt_names": [ - { - "san_type": "DNS", - "matcher": { - "exact": "envoy-gateway" - } - } - ] - } - } - } - ] - } - ] -} \ No newline at end of file diff --git a/internal/cmd/egctl/testdata/config/out/out.all.json b/internal/cmd/egctl/testdata/config/out/out.all.json new file mode 100644 index 00000000000..acd521d3c46 --- /dev/null +++ b/internal/cmd/egctl/testdata/config/out/out.all.json @@ -0,0 +1 @@ +{"configs":[{"@type":"type.googleapis.com/envoy.admin.v3.BootstrapConfigDump","bootstrap":{"node":{"userAgentName":"envoy","userAgentBuildVersion":{"version":{"majorNumber":1,"minorNumber":26},"metadata":{"build.label":"dev","build.type":"RELEASE","revision.sha":"14111e3c62d3d38b0c921cb7011fd0a94e880aed","revision.status":"Clean","ssl.version":"BoringSSL"}},"extensions":[{"name":"envoy.filters.connection_pools.tcp.generic","category":"envoy.upstreams","typeUrls":["envoy.extensions.upstreams.tcp.generic.v3.GenericConnectionPoolProto"]},{"name":"envoy.rate_limit_descriptors.expr","category":"envoy.rate_limit_descriptors","typeUrls":["envoy.extensions.rate_limit_descriptors.expr.v3.Descriptor"]},{"name":"envoy.matching.inputs.destination_ip","category":"envoy.matching.http.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DestinationIPInput"]},{"name":"envoy.matching.inputs.destination_port","category":"envoy.matching.http.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DestinationPortInput"]},{"name":"envoy.matching.inputs.direct_source_ip","category":"envoy.matching.http.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DirectSourceIPInput"]},{"name":"envoy.matching.inputs.dns_san","category":"envoy.matching.http.input","typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.DnsSanInput"]},{"name":"envoy.matching.inputs.request_headers","category":"envoy.matching.http.input","typeUrls":["envoy.type.matcher.v3.HttpRequestHeaderMatchInput"]},{"name":"envoy.matching.inputs.request_trailers","category":"envoy.matching.http.input","typeUrls":["envoy.type.matcher.v3.HttpRequestTrailerMatchInput"]},{"name":"envoy.matching.inputs.response_headers","category":"envoy.matching.http.input","typeUrls":["envoy.type.matcher.v3.HttpResponseHeaderMatchInput"]},{"name":"envoy.matching.inputs.response_trailers","category":"envoy.matching.http.input","typeUrls":["envoy.type.matcher.v3.HttpResponseTrailerMatchInput"]},{"name":"envoy.matching.inputs.server_name","category":"envoy.matching.http.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.ServerNameInput"]},{"name":"envoy.matching.inputs.source_ip","category":"envoy.matching.http.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourceIPInput"]},{"name":"envoy.matching.inputs.source_port","category":"envoy.matching.http.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourcePortInput"]},{"name":"envoy.matching.inputs.source_type","category":"envoy.matching.http.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourceTypeInput"]},{"name":"envoy.matching.inputs.status_code_class_input","category":"envoy.matching.http.input","typeUrls":["envoy.type.matcher.v3.HttpResponseStatusCodeClassMatchInput"]},{"name":"envoy.matching.inputs.status_code_input","category":"envoy.matching.http.input","typeUrls":["envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput"]},{"name":"envoy.matching.inputs.subject","category":"envoy.matching.http.input","typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.SubjectInput"]},{"name":"envoy.matching.inputs.uri_san","category":"envoy.matching.http.input","typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.UriSanInput"]},{"name":"query_params","category":"envoy.matching.http.input","typeUrls":["envoy.type.matcher.v3.HttpRequestQueryParamMatchInput"]},{"name":"envoy.tls.cert_validator.default","category":"envoy.tls.cert_validator"},{"name":"envoy.tls.cert_validator.spiffe","category":"envoy.tls.cert_validator"},{"name":"envoy.path.match.uri_template.uri_template_matcher","category":"envoy.path.match","typeUrls":["envoy.extensions.path.match.uri_template.v3.UriTemplateMatchConfig"]},{"name":"envoy.http.original_ip_detection.custom_header","category":"envoy.http.original_ip_detection","typeUrls":["envoy.extensions.http.original_ip_detection.custom_header.v3.CustomHeaderConfig"]},{"name":"envoy.http.original_ip_detection.xff","category":"envoy.http.original_ip_detection","typeUrls":["envoy.extensions.http.original_ip_detection.xff.v3.XffConfig"]},{"name":"envoy.buffer","category":"envoy.filters.http.upstream"},{"name":"envoy.filters.http.admission_control","category":"envoy.filters.http.upstream","typeUrls":["envoy.extensions.filters.http.admission_control.v3.AdmissionControl"]},{"name":"envoy.filters.http.buffer","category":"envoy.filters.http.upstream","typeUrls":["envoy.extensions.filters.http.buffer.v3.Buffer","envoy.extensions.filters.http.buffer.v3.BufferPerRoute"]},{"name":"envoy.filters.http.upstream_codec","category":"envoy.filters.http.upstream","typeUrls":["envoy.extensions.filters.http.upstream_codec.v3.UpstreamCodec"]},{"name":"envoy.route.early_data_policy.default","category":"envoy.route.early_data_policy","typeUrls":["envoy.extensions.early_data.v3.DefaultEarlyDataPolicy"]},{"name":"envoy.compression.brotli.compressor","category":"envoy.compression.compressor","typeUrls":["envoy.extensions.compression.brotli.compressor.v3.Brotli"]},{"name":"envoy.compression.gzip.compressor","category":"envoy.compression.compressor","typeUrls":["envoy.extensions.compression.gzip.compressor.v3.Gzip"]},{"name":"envoy.compression.zstd.compressor","category":"envoy.compression.compressor","typeUrls":["envoy.extensions.compression.zstd.compressor.v3.Zstd"]},{"name":"envoy.compression.brotli.decompressor","category":"envoy.compression.decompressor","typeUrls":["envoy.extensions.compression.brotli.decompressor.v3.Brotli"]},{"name":"envoy.compression.gzip.decompressor","category":"envoy.compression.decompressor","typeUrls":["envoy.extensions.compression.gzip.decompressor.v3.Gzip"]},{"name":"envoy.compression.zstd.decompressor","category":"envoy.compression.decompressor","typeUrls":["envoy.extensions.compression.zstd.decompressor.v3.Zstd"]},{"name":"envoy.wasm.runtime.null","category":"envoy.wasm.runtime"},{"name":"envoy.wasm.runtime.v8","category":"envoy.wasm.runtime"},{"name":"envoy.dog_statsd","category":"envoy.stats_sinks"},{"name":"envoy.graphite_statsd","category":"envoy.stats_sinks"},{"name":"envoy.metrics_service","category":"envoy.stats_sinks"},{"name":"envoy.stat_sinks.dog_statsd","category":"envoy.stats_sinks","typeUrls":["envoy.config.metrics.v3.DogStatsdSink"]},{"name":"envoy.stat_sinks.graphite_statsd","category":"envoy.stats_sinks","typeUrls":["envoy.extensions.stat_sinks.graphite_statsd.v3.GraphiteStatsdSink"]},{"name":"envoy.stat_sinks.hystrix","category":"envoy.stats_sinks","typeUrls":["envoy.config.metrics.v3.HystrixSink"]},{"name":"envoy.stat_sinks.metrics_service","category":"envoy.stats_sinks","typeUrls":["envoy.config.metrics.v3.MetricsServiceConfig"]},{"name":"envoy.stat_sinks.statsd","category":"envoy.stats_sinks","typeUrls":["envoy.config.metrics.v3.StatsdSink"]},{"name":"envoy.stat_sinks.wasm","category":"envoy.stats_sinks","typeUrls":["envoy.extensions.stat_sinks.wasm.v3.Wasm"]},{"name":"envoy.statsd","category":"envoy.stats_sinks"},{"name":"envoy.path.rewrite.uri_template.uri_template_rewriter","category":"envoy.path.rewrite","typeUrls":["envoy.extensions.path.rewrite.uri_template.v3.UriTemplateRewriteConfig"]},{"name":"envoy.extensions.http.custom_response.local_response_policy","category":"envoy.http.custom_response","typeUrls":["envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy"]},{"name":"envoy.extensions.http.custom_response.redirect_policy","category":"envoy.http.custom_response","typeUrls":["envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy"]},{"name":"envoy.matching.actions.format_string","category":"envoy.matching.action","typeUrls":["envoy.config.core.v3.SubstitutionFormatString"]},{"name":"filter-chain-name","category":"envoy.matching.action","typeUrls":["google.protobuf.StringValue"]},{"name":"envoy.quic.deterministic_connection_id_generator","category":"envoy.quic.connection_id_generator","typeUrls":["envoy.extensions.quic.connection_id_generator.v3.DeterministicConnectionIdGeneratorConfig"]},{"name":"envoy.network.dns_resolver.cares","category":"envoy.network.dns_resolver","typeUrls":["envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig"]},{"name":"envoy.network.dns_resolver.getaddrinfo","category":"envoy.network.dns_resolver","typeUrls":["envoy.extensions.network.dns_resolver.getaddrinfo.v3.GetAddrInfoDnsResolverConfig"]},{"name":"envoy.bootstrap.internal_listener","category":"envoy.bootstrap","typeUrls":["envoy.extensions.bootstrap.internal_listener.v3.InternalListener"]},{"name":"envoy.bootstrap.wasm","category":"envoy.bootstrap","typeUrls":["envoy.extensions.wasm.v3.WasmService"]},{"name":"envoy.extensions.network.socket_interface.default_socket_interface","category":"envoy.bootstrap","typeUrls":["envoy.extensions.network.socket_interface.v3.DefaultSocketInterface"]},{"name":"envoy.filters.listener.http_inspector","category":"envoy.filters.listener","typeUrls":["envoy.extensions.filters.listener.http_inspector.v3.HttpInspector"]},{"name":"envoy.filters.listener.original_dst","category":"envoy.filters.listener","typeUrls":["envoy.extensions.filters.listener.original_dst.v3.OriginalDst"]},{"name":"envoy.filters.listener.original_src","category":"envoy.filters.listener","typeUrls":["envoy.extensions.filters.listener.original_src.v3.OriginalSrc"]},{"name":"envoy.filters.listener.proxy_protocol","category":"envoy.filters.listener","typeUrls":["envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol"]},{"name":"envoy.filters.listener.tls_inspector","category":"envoy.filters.listener","typeUrls":["envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector"]},{"name":"envoy.listener.http_inspector","category":"envoy.filters.listener"},{"name":"envoy.listener.original_dst","category":"envoy.filters.listener"},{"name":"envoy.listener.original_src","category":"envoy.filters.listener"},{"name":"envoy.listener.proxy_protocol","category":"envoy.filters.listener"},{"name":"envoy.listener.tls_inspector","category":"envoy.filters.listener"},{"name":"envoy.matching.common_inputs.environment_variable","category":"envoy.matching.common_inputs","typeUrls":["envoy.extensions.matching.common_inputs.environment_variable.v3.Config"]},{"name":"envoy.matching.matchers.consistent_hashing","category":"envoy.matching.input_matchers","typeUrls":["envoy.extensions.matching.input_matchers.consistent_hashing.v3.ConsistentHashing"]},{"name":"envoy.matching.matchers.ip","category":"envoy.matching.input_matchers","typeUrls":["envoy.extensions.matching.input_matchers.ip.v3.Ip"]},{"name":"envoy.grpc_credentials.aws_iam","category":"envoy.grpc_credentials"},{"name":"envoy.grpc_credentials.default","category":"envoy.grpc_credentials"},{"name":"envoy.grpc_credentials.file_based_metadata","category":"envoy.grpc_credentials"},{"name":"envoy.request_id.uuid","category":"envoy.request_id","typeUrls":["envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig"]},{"name":"envoy.load_balancing_policies.least_request","category":"envoy.load_balancing_policies","typeUrls":["envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest"]},{"name":"envoy.load_balancing_policies.maglev","category":"envoy.load_balancing_policies","typeUrls":["envoy.extensions.load_balancing_policies.maglev.v3.Maglev"]},{"name":"envoy.load_balancing_policies.random","category":"envoy.load_balancing_policies","typeUrls":["envoy.extensions.load_balancing_policies.random.v3.Random"]},{"name":"envoy.load_balancing_policies.ring_hash","category":"envoy.load_balancing_policies","typeUrls":["envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash"]},{"name":"envoy.load_balancing_policies.round_robin","category":"envoy.load_balancing_policies","typeUrls":["envoy.extensions.load_balancing_policies.round_robin.v3.RoundRobin"]},{"name":"envoy.ip","category":"envoy.resolvers"},{"name":"envoy.bandwidth_limit","category":"envoy.filters.http"},{"name":"envoy.buffer","category":"envoy.filters.http"},{"name":"envoy.cors","category":"envoy.filters.http"},{"name":"envoy.csrf","category":"envoy.filters.http"},{"name":"envoy.ext_authz","category":"envoy.filters.http"},{"name":"envoy.ext_proc","category":"envoy.filters.http"},{"name":"envoy.fault","category":"envoy.filters.http"},{"name":"envoy.filters.http.adaptive_concurrency","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.adaptive_concurrency.v3.AdaptiveConcurrency"]},{"name":"envoy.filters.http.admission_control","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.admission_control.v3.AdmissionControl"]},{"name":"envoy.filters.http.alternate_protocols_cache","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.alternate_protocols_cache.v3.FilterConfig"]},{"name":"envoy.filters.http.aws_lambda","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.aws_lambda.v3.Config","envoy.extensions.filters.http.aws_lambda.v3.PerRouteConfig"]},{"name":"envoy.filters.http.aws_request_signing","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.aws_request_signing.v3.AwsRequestSigning"]},{"name":"envoy.filters.http.bandwidth_limit","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit"]},{"name":"envoy.filters.http.buffer","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.buffer.v3.Buffer","envoy.extensions.filters.http.buffer.v3.BufferPerRoute"]},{"name":"envoy.filters.http.cache","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.cache.v3.CacheConfig"]},{"name":"envoy.filters.http.cdn_loop","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.cdn_loop.v3.CdnLoopConfig"]},{"name":"envoy.filters.http.composite","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.composite.v3.Composite"]},{"name":"envoy.filters.http.compressor","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.compressor.v3.Compressor","envoy.extensions.filters.http.compressor.v3.CompressorPerRoute"]},{"name":"envoy.filters.http.connect_grpc_bridge","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.connect_grpc_bridge.v3.FilterConfig"]},{"name":"envoy.filters.http.cors","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.cors.v3.Cors","envoy.extensions.filters.http.cors.v3.CorsPolicy"]},{"name":"envoy.filters.http.csrf","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.csrf.v3.CsrfPolicy"]},{"name":"envoy.filters.http.custom_response","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.custom_response.v3.CustomResponse"]},{"name":"envoy.filters.http.decompressor","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.decompressor.v3.Decompressor"]},{"name":"envoy.filters.http.dynamic_forward_proxy","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig","envoy.extensions.filters.http.dynamic_forward_proxy.v3.PerRouteConfig"]},{"name":"envoy.filters.http.ext_authz","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.ext_authz.v3.ExtAuthz","envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute"]},{"name":"envoy.filters.http.ext_proc","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.ext_proc.v3.ExtProcPerRoute","envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor"]},{"name":"envoy.filters.http.fault","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.fault.v3.HTTPFault"]},{"name":"envoy.filters.http.file_system_buffer","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.file_system_buffer.v3.FileSystemBufferFilterConfig"]},{"name":"envoy.filters.http.gcp_authn","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig"]},{"name":"envoy.filters.http.grpc_http1_bridge","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.grpc_http1_bridge.v3.Config"]},{"name":"envoy.filters.http.grpc_http1_reverse_bridge","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfig","envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfigPerRoute"]},{"name":"envoy.filters.http.grpc_json_transcoder","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder"]},{"name":"envoy.filters.http.grpc_stats","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.grpc_stats.v3.FilterConfig"]},{"name":"envoy.filters.http.grpc_web","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.grpc_web.v3.GrpcWeb"]},{"name":"envoy.filters.http.header_to_metadata","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.header_to_metadata.v3.Config"]},{"name":"envoy.filters.http.health_check","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.health_check.v3.HealthCheck"]},{"name":"envoy.filters.http.ip_tagging","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.ip_tagging.v3.IPTagging"]},{"name":"envoy.filters.http.jwt_authn","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication","envoy.extensions.filters.http.jwt_authn.v3.PerRouteConfig"]},{"name":"envoy.filters.http.local_ratelimit","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit"]},{"name":"envoy.filters.http.lua","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.lua.v3.Lua","envoy.extensions.filters.http.lua.v3.LuaPerRoute"]},{"name":"envoy.filters.http.match_delegate","category":"envoy.filters.http","typeUrls":["envoy.extensions.common.matching.v3.ExtensionWithMatcher"]},{"name":"envoy.filters.http.oauth2","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.oauth2.v3.OAuth2"]},{"name":"envoy.filters.http.on_demand","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.on_demand.v3.OnDemand","envoy.extensions.filters.http.on_demand.v3.PerRouteConfig"]},{"name":"envoy.filters.http.original_src","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.original_src.v3.OriginalSrc"]},{"name":"envoy.filters.http.rate_limit_quota","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig","envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaOverride"]},{"name":"envoy.filters.http.ratelimit","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.ratelimit.v3.RateLimit","envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute"]},{"name":"envoy.filters.http.rbac","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.rbac.v3.RBAC","envoy.extensions.filters.http.rbac.v3.RBACPerRoute"]},{"name":"envoy.filters.http.router","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.router.v3.Router"]},{"name":"envoy.filters.http.set_metadata","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.set_metadata.v3.Config"]},{"name":"envoy.filters.http.stateful_session","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.stateful_session.v3.StatefulSession","envoy.extensions.filters.http.stateful_session.v3.StatefulSessionPerRoute"]},{"name":"envoy.filters.http.tap","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.tap.v3.Tap"]},{"name":"envoy.filters.http.wasm","category":"envoy.filters.http","typeUrls":["envoy.extensions.filters.http.wasm.v3.Wasm"]},{"name":"envoy.grpc_http1_bridge","category":"envoy.filters.http"},{"name":"envoy.grpc_json_transcoder","category":"envoy.filters.http"},{"name":"envoy.grpc_web","category":"envoy.filters.http"},{"name":"envoy.health_check","category":"envoy.filters.http"},{"name":"envoy.ip_tagging","category":"envoy.filters.http"},{"name":"envoy.local_rate_limit","category":"envoy.filters.http"},{"name":"envoy.lua","category":"envoy.filters.http"},{"name":"envoy.rate_limit","category":"envoy.filters.http"},{"name":"envoy.router","category":"envoy.filters.http"},{"name":"envoy.access_loggers.file","category":"envoy.access_loggers","typeUrls":["envoy.extensions.access_loggers.file.v3.FileAccessLog"]},{"name":"envoy.access_loggers.http_grpc","category":"envoy.access_loggers","typeUrls":["envoy.extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig"]},{"name":"envoy.access_loggers.open_telemetry","category":"envoy.access_loggers","typeUrls":["envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig"]},{"name":"envoy.access_loggers.stderr","category":"envoy.access_loggers","typeUrls":["envoy.extensions.access_loggers.stream.v3.StderrAccessLog"]},{"name":"envoy.access_loggers.stdout","category":"envoy.access_loggers","typeUrls":["envoy.extensions.access_loggers.stream.v3.StdoutAccessLog"]},{"name":"envoy.access_loggers.tcp_grpc","category":"envoy.access_loggers","typeUrls":["envoy.extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig"]},{"name":"envoy.access_loggers.wasm","category":"envoy.access_loggers","typeUrls":["envoy.extensions.access_loggers.wasm.v3.WasmAccessLog"]},{"name":"envoy.file_access_log","category":"envoy.access_loggers"},{"name":"envoy.http_grpc_access_log","category":"envoy.access_loggers"},{"name":"envoy.open_telemetry_access_log","category":"envoy.access_loggers"},{"name":"envoy.stderr_access_log","category":"envoy.access_loggers"},{"name":"envoy.stdout_access_log","category":"envoy.access_loggers"},{"name":"envoy.tcp_grpc_access_log","category":"envoy.access_loggers"},{"name":"envoy.wasm_access_log","category":"envoy.access_loggers"},{"name":"envoy.config.validators.minimum_clusters","category":"envoy.config.validators"},{"name":"envoy.config.validators.minimum_clusters_validator","category":"envoy.config.validators","typeUrls":["envoy.extensions.config.validators.minimum_clusters.v3.MinimumClustersValidator"]},{"name":"envoy.http.header_validators.envoy_default","category":"envoy.http.header_validators","typeUrls":["envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig"]},{"name":"dubbo.hessian2","category":"envoy.dubbo_proxy.serializers"},{"name":"quic.http_server_connection.default","category":"quic.http_server_connection"},{"name":"envoy.transport_sockets.alts","category":"envoy.transport_sockets.downstream","typeUrls":["envoy.extensions.transport_sockets.alts.v3.Alts"]},{"name":"envoy.transport_sockets.quic","category":"envoy.transport_sockets.downstream","typeUrls":["envoy.extensions.transport_sockets.quic.v3.QuicDownstreamTransport"]},{"name":"envoy.transport_sockets.raw_buffer","category":"envoy.transport_sockets.downstream","typeUrls":["envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer"]},{"name":"envoy.transport_sockets.starttls","category":"envoy.transport_sockets.downstream","typeUrls":["envoy.extensions.transport_sockets.starttls.v3.StartTlsConfig"]},{"name":"envoy.transport_sockets.tap","category":"envoy.transport_sockets.downstream","typeUrls":["envoy.extensions.transport_sockets.tap.v3.Tap"]},{"name":"envoy.transport_sockets.tcp_stats","category":"envoy.transport_sockets.downstream","typeUrls":["envoy.extensions.transport_sockets.tcp_stats.v3.Config"]},{"name":"envoy.transport_sockets.tls","category":"envoy.transport_sockets.downstream","typeUrls":["envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext"]},{"name":"raw_buffer","category":"envoy.transport_sockets.downstream"},{"name":"starttls","category":"envoy.transport_sockets.downstream"},{"name":"tls","category":"envoy.transport_sockets.downstream"},{"name":"envoy.rbac.matchers.upstream_ip_port","category":"envoy.rbac.matchers","typeUrls":["envoy.extensions.rbac.matchers.upstream_ip_port.v3.UpstreamIpPortMatcher"]},{"name":"envoy.key_value.file_based","category":"envoy.common.key_value","typeUrls":["envoy.extensions.key_value.file_based.v3.FileBasedKeyValueStoreConfig"]},{"name":"envoy.matching.inputs.application_protocol","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.ApplicationProtocolInput"]},{"name":"envoy.matching.inputs.destination_ip","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DestinationIPInput"]},{"name":"envoy.matching.inputs.destination_port","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DestinationPortInput"]},{"name":"envoy.matching.inputs.direct_source_ip","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DirectSourceIPInput"]},{"name":"envoy.matching.inputs.dns_san","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.DnsSanInput"]},{"name":"envoy.matching.inputs.server_name","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.ServerNameInput"]},{"name":"envoy.matching.inputs.source_ip","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourceIPInput"]},{"name":"envoy.matching.inputs.source_port","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourcePortInput"]},{"name":"envoy.matching.inputs.source_type","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourceTypeInput"]},{"name":"envoy.matching.inputs.subject","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.SubjectInput"]},{"name":"envoy.matching.inputs.transport_protocol","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.network.v3.TransportProtocolInput"]},{"name":"envoy.matching.inputs.uri_san","category":"envoy.matching.network.input","typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.UriSanInput"]},{"name":"dubbo","category":"envoy.dubbo_proxy.protocols"},{"name":"envoy.watchdog.abort_action","category":"envoy.guarddog_actions","typeUrls":["envoy.watchdog.v3.AbortActionConfig"]},{"name":"envoy.watchdog.profile_action","category":"envoy.guarddog_actions","typeUrls":["envoy.extensions.watchdog.profile_action.v3.ProfileActionConfig"]},{"name":"envoy.quic.crypto_stream.server.quiche","category":"envoy.quic.server.crypto_stream","typeUrls":["envoy.extensions.quic.crypto_stream.v3.CryptoServerStreamConfig"]},{"name":"envoy.regex_engines.google_re2","category":"envoy.regex_engines","typeUrls":["envoy.extensions.regex_engines.v3.GoogleRE2"]},{"name":"envoy.http.stateful_session.cookie","category":"envoy.http.stateful_session","typeUrls":["envoy.extensions.http.stateful_session.cookie.v3.CookieBasedSessionState"]},{"name":"envoy.http.stateful_session.header","category":"envoy.http.stateful_session","typeUrls":["envoy.extensions.http.stateful_session.header.v3.HeaderBasedSessionState"]},{"name":"envoy.matching.custom_matchers.trie_matcher","category":"envoy.matching.network.custom_matchers","typeUrls":["xds.type.matcher.v3.IPMatcher"]},{"name":"envoy.udp_packet_writer.default","category":"envoy.udp_packet_writer","typeUrls":["envoy.extensions.udp_packet_writer.v3.UdpDefaultWriterFactory"]},{"name":"envoy.udp_packet_writer.gso","category":"envoy.udp_packet_writer","typeUrls":["envoy.extensions.udp_packet_writer.v3.UdpGsoBatchWriterFactory"]},{"name":"envoy.quic.proof_source.filter_chain","category":"envoy.quic.proof_source","typeUrls":["envoy.extensions.quic.proof_source.v3.ProofSourceConfig"]},{"name":"envoy.resource_monitors.fixed_heap","category":"envoy.resource_monitors","typeUrls":["envoy.extensions.resource_monitors.fixed_heap.v3.FixedHeapConfig"]},{"name":"envoy.resource_monitors.injected_resource","category":"envoy.resource_monitors","typeUrls":["envoy.extensions.resource_monitors.injected_resource.v3.InjectedResourceConfig"]},{"name":"envoy.http.stateful_header_formatters.preserve_case","category":"envoy.http.stateful_header_formatters","typeUrls":["envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig"]},{"name":"preserve_case","category":"envoy.http.stateful_header_formatters"},{"name":"envoy.filters.thrift.header_to_metadata","category":"envoy.thrift_proxy.filters","typeUrls":["envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata"]},{"name":"envoy.filters.thrift.payload_to_metadata","category":"envoy.thrift_proxy.filters","typeUrls":["envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata"]},{"name":"envoy.filters.thrift.rate_limit","category":"envoy.thrift_proxy.filters","typeUrls":["envoy.extensions.filters.network.thrift_proxy.filters.ratelimit.v3.RateLimit"]},{"name":"envoy.filters.thrift.router","category":"envoy.thrift_proxy.filters","typeUrls":["envoy.extensions.filters.network.thrift_proxy.router.v3.Router"]},{"name":"envoy.tracers.datadog","category":"envoy.tracers","typeUrls":["envoy.config.trace.v3.DatadogConfig"]},{"name":"envoy.tracers.dynamic_ot","category":"envoy.tracers","typeUrls":["envoy.config.trace.v3.DynamicOtConfig"]},{"name":"envoy.tracers.opencensus","category":"envoy.tracers","typeUrls":["envoy.config.trace.v3.OpenCensusConfig"]},{"name":"envoy.tracers.opentelemetry","category":"envoy.tracers","typeUrls":["envoy.config.trace.v3.OpenTelemetryConfig"]},{"name":"envoy.tracers.skywalking","category":"envoy.tracers","typeUrls":["envoy.config.trace.v3.SkyWalkingConfig"]},{"name":"envoy.tracers.xray","category":"envoy.tracers","typeUrls":["envoy.config.trace.v3.XRayConfig"]},{"name":"envoy.tracers.zipkin","category":"envoy.tracers","typeUrls":["envoy.config.trace.v3.ZipkinConfig"]},{"name":"envoy.zipkin","category":"envoy.tracers"},{"name":"envoy.retry_priorities.previous_priorities","category":"envoy.retry_priorities","typeUrls":["envoy.extensions.retry.priority.previous_priorities.v3.PreviousPrioritiesConfig"]},{"name":"envoy.http.early_header_mutation.header_mutation","category":"envoy.http.early_header_mutation","typeUrls":["envoy.extensions.http.early_header_mutation.header_mutation.v3.HeaderMutation"]},{"name":"envoy.connection_handler.default","category":"envoy.connection_handler"},{"name":"envoy.transport_sockets.alts","category":"envoy.transport_sockets.upstream","typeUrls":["envoy.extensions.transport_sockets.alts.v3.Alts"]},{"name":"envoy.transport_sockets.http_11_proxy","category":"envoy.transport_sockets.upstream","typeUrls":["envoy.extensions.transport_sockets.http_11_proxy.v3.Http11ProxyUpstreamTransport"]},{"name":"envoy.transport_sockets.internal_upstream","category":"envoy.transport_sockets.upstream","typeUrls":["envoy.extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport"]},{"name":"envoy.transport_sockets.quic","category":"envoy.transport_sockets.upstream","typeUrls":["envoy.extensions.transport_sockets.quic.v3.QuicUpstreamTransport"]},{"name":"envoy.transport_sockets.raw_buffer","category":"envoy.transport_sockets.upstream","typeUrls":["envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer"]},{"name":"envoy.transport_sockets.starttls","category":"envoy.transport_sockets.upstream","typeUrls":["envoy.extensions.transport_sockets.starttls.v3.UpstreamStartTlsConfig"]},{"name":"envoy.transport_sockets.tap","category":"envoy.transport_sockets.upstream","typeUrls":["envoy.extensions.transport_sockets.tap.v3.Tap"]},{"name":"envoy.transport_sockets.tcp_stats","category":"envoy.transport_sockets.upstream","typeUrls":["envoy.extensions.transport_sockets.tcp_stats.v3.Config"]},{"name":"envoy.transport_sockets.tls","category":"envoy.transport_sockets.upstream","typeUrls":["envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext"]},{"name":"envoy.transport_sockets.upstream_proxy_protocol","category":"envoy.transport_sockets.upstream","typeUrls":["envoy.extensions.transport_sockets.proxy_protocol.v3.ProxyProtocolUpstreamTransport"]},{"name":"raw_buffer","category":"envoy.transport_sockets.upstream"},{"name":"starttls","category":"envoy.transport_sockets.upstream"},{"name":"tls","category":"envoy.transport_sockets.upstream"},{"name":"auto","category":"envoy.thrift_proxy.transports"},{"name":"framed","category":"envoy.thrift_proxy.transports"},{"name":"header","category":"envoy.thrift_proxy.transports"},{"name":"unframed","category":"envoy.thrift_proxy.transports"},{"name":"envoy.cluster.eds","category":"envoy.clusters"},{"name":"envoy.cluster.logical_dns","category":"envoy.clusters"},{"name":"envoy.cluster.original_dst","category":"envoy.clusters"},{"name":"envoy.cluster.static","category":"envoy.clusters"},{"name":"envoy.cluster.strict_dns","category":"envoy.clusters"},{"name":"envoy.clusters.aggregate","category":"envoy.clusters"},{"name":"envoy.clusters.dynamic_forward_proxy","category":"envoy.clusters"},{"name":"envoy.clusters.redis","category":"envoy.clusters"},{"name":"envoy.access_loggers.extension_filters.cel","category":"envoy.access_loggers.extension_filters","typeUrls":["envoy.extensions.access_loggers.filters.cel.v3.ExpressionFilter"]},{"name":"auto","category":"envoy.thrift_proxy.protocols"},{"name":"binary","category":"envoy.thrift_proxy.protocols"},{"name":"binary/non-strict","category":"envoy.thrift_proxy.protocols"},{"name":"compact","category":"envoy.thrift_proxy.protocols"},{"name":"twitter","category":"envoy.thrift_proxy.protocols"},{"name":"envoy.extensions.upstreams.http.v3.HttpProtocolOptions","category":"envoy.upstream_options","typeUrls":["envoy.extensions.upstreams.http.v3.HttpProtocolOptions"]},{"name":"envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions","category":"envoy.upstream_options","typeUrls":["envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions"]},{"name":"envoy.upstreams.http.http_protocol_options","category":"envoy.upstream_options"},{"name":"envoy.upstreams.tcp.tcp_protocol_options","category":"envoy.upstream_options"},{"name":"envoy.listener_manager_impl.default","category":"envoy.listener_manager_impl","typeUrls":["envoy.config.listener.v3.ListenerManager"]},{"name":"default","category":"network.connection.client"},{"name":"envoy_internal","category":"network.connection.client"},{"name":"envoy.filters.udp.dns_filter","category":"envoy.filters.udp_listener","typeUrls":["envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig"]},{"name":"envoy.filters.udp_listener.udp_proxy","category":"envoy.filters.udp_listener","typeUrls":["envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig"]},{"name":"envoy.extensions.http.cache.file_system_http_cache","category":"envoy.http.cache","typeUrls":["envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig"]},{"name":"envoy.extensions.http.cache.simple","category":"envoy.http.cache","typeUrls":["envoy.extensions.http.cache.simple_http_cache.v3.SimpleHttpCacheConfig"]},{"name":"envoy.retry_host_predicates.omit_canary_hosts","category":"envoy.retry_host_predicates","typeUrls":["envoy.extensions.retry.host.omit_canary_hosts.v3.OmitCanaryHostsPredicate"]},{"name":"envoy.retry_host_predicates.omit_host_metadata","category":"envoy.retry_host_predicates","typeUrls":["envoy.extensions.retry.host.omit_host_metadata.v3.OmitHostMetadataConfig"]},{"name":"envoy.retry_host_predicates.previous_hosts","category":"envoy.retry_host_predicates","typeUrls":["envoy.extensions.retry.host.previous_hosts.v3.PreviousHostsPredicate"]},{"name":"envoy.formatter.metadata","category":"envoy.formatter","typeUrls":["envoy.extensions.formatter.metadata.v3.Metadata"]},{"name":"envoy.formatter.req_without_query","category":"envoy.formatter","typeUrls":["envoy.extensions.formatter.req_without_query.v3.ReqWithoutQuery"]},{"name":"envoy.internal_redirect_predicates.allow_listed_routes","category":"envoy.internal_redirect_predicates","typeUrls":["envoy.extensions.internal_redirect.allow_listed_routes.v3.AllowListedRoutesConfig"]},{"name":"envoy.internal_redirect_predicates.previous_routes","category":"envoy.internal_redirect_predicates","typeUrls":["envoy.extensions.internal_redirect.previous_routes.v3.PreviousRoutesConfig"]},{"name":"envoy.internal_redirect_predicates.safe_cross_scheme","category":"envoy.internal_redirect_predicates","typeUrls":["envoy.extensions.internal_redirect.safe_cross_scheme.v3.SafeCrossSchemeConfig"]},{"name":"envoy.matching.custom_matchers.trie_matcher","category":"envoy.matching.http.custom_matchers","typeUrls":["xds.type.matcher.v3.IPMatcher"]},{"name":"envoy.filters.dubbo.router","category":"envoy.dubbo_proxy.filters","typeUrls":["envoy.extensions.filters.network.dubbo_proxy.router.v3.Router"]},{"name":"envoy.echo","category":"envoy.filters.network"},{"name":"envoy.ext_authz","category":"envoy.filters.network"},{"name":"envoy.filters.network.connection_limit","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.connection_limit.v3.ConnectionLimit"]},{"name":"envoy.filters.network.direct_response","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.direct_response.v3.Config"]},{"name":"envoy.filters.network.dubbo_proxy","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy"]},{"name":"envoy.filters.network.echo","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.echo.v3.Echo"]},{"name":"envoy.filters.network.ext_authz","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.ext_authz.v3.ExtAuthz"]},{"name":"envoy.filters.network.http_connection_manager","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"]},{"name":"envoy.filters.network.local_ratelimit","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.local_ratelimit.v3.LocalRateLimit"]},{"name":"envoy.filters.network.mongo_proxy","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.mongo_proxy.v3.MongoProxy"]},{"name":"envoy.filters.network.ratelimit","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.ratelimit.v3.RateLimit"]},{"name":"envoy.filters.network.rbac","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.rbac.v3.RBAC"]},{"name":"envoy.filters.network.redis_proxy","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.redis_proxy.v3.RedisProxy"]},{"name":"envoy.filters.network.sni_cluster","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.sni_cluster.v3.SniCluster"]},{"name":"envoy.filters.network.sni_dynamic_forward_proxy","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.sni_dynamic_forward_proxy.v3.FilterConfig"]},{"name":"envoy.filters.network.tcp_proxy","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy"]},{"name":"envoy.filters.network.thrift_proxy","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy"]},{"name":"envoy.filters.network.wasm","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.wasm.v3.Wasm"]},{"name":"envoy.filters.network.zookeeper_proxy","category":"envoy.filters.network","typeUrls":["envoy.extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy"]},{"name":"envoy.http_connection_manager","category":"envoy.filters.network"},{"name":"envoy.mongo_proxy","category":"envoy.filters.network"},{"name":"envoy.ratelimit","category":"envoy.filters.network"},{"name":"envoy.redis_proxy","category":"envoy.filters.network"},{"name":"envoy.tcp_proxy","category":"envoy.filters.network"},{"name":"envoy.health_checkers.redis","category":"envoy.health_checkers","typeUrls":["envoy.extensions.health_checkers.redis.v3.Redis"]},{"name":"envoy.health_checkers.thrift","category":"envoy.health_checkers","typeUrls":["envoy.extensions.health_checkers.thrift.v3.Thrift"]}]},"staticResources":{"clusters":[{"name":"xds_cluster","type":"STRICT_DNS","connectTimeout":"1s","loadAssignment":{"clusterName":"xds_cluster","endpoints":[{"lbEndpoints":[{"endpoint":{"address":{"socketAddress":{"address":"envoy-gateway","portValue":18000}}}}]}]},"typedExtensionProtocolOptions":{"envoy.extensions.upstreams.http.v3.HttpProtocolOptions":{"@type":"type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions","explicitHttpConfig":{"http2ProtocolOptions":{}}}},"transportSocket":{"name":"envoy.transport_sockets.tls","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext","commonTlsContext":{"tlsParams":{"tlsMaximumProtocolVersion":"TLSv1_3"},"tlsCertificateSdsSecretConfigs":[{"name":"xds_certificate","sdsConfig":{"pathConfigSource":{"path":"/sds/xds-certificate.json"},"resourceApiVersion":"V3"}}],"validationContextSdsSecretConfig":{"name":"xds_trusted_ca","sdsConfig":{"pathConfigSource":{"path":"/sds/xds-trusted-ca.json"},"resourceApiVersion":"V3"}}}}}}]},"dynamicResources":{"ldsConfig":{"apiConfigSource":{"apiType":"DELTA_GRPC","transportApiVersion":"V3","grpcServices":[{"envoyGrpc":{"clusterName":"xds_cluster"}}],"setNodeOnFirstMessageOnly":true},"resourceApiVersion":"V3"},"cdsConfig":{"apiConfigSource":{"apiType":"DELTA_GRPC","transportApiVersion":"V3","grpcServices":[{"envoyGrpc":{"clusterName":"xds_cluster"}}],"setNodeOnFirstMessageOnly":true},"resourceApiVersion":"V3"}},"layeredRuntime":{"layers":[{"name":"runtime-0","rtdsLayer":{"name":"runtime-0","rtdsConfig":{"apiConfigSource":{"apiType":"DELTA_GRPC","transportApiVersion":"V3","grpcServices":[{"envoyGrpc":{"clusterName":"xds_cluster"}}]},"resourceApiVersion":"V3"}}}]},"admin":{"accessLog":[{"name":"envoy.access_loggers.file","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog","path":"/dev/null"}}],"address":{"socketAddress":{"address":"127.0.0.1","portValue":19000}}}},"lastUpdated":"2023-02-23T09:05:23.422Z"},{"@type":"type.googleapis.com/envoy.admin.v3.ClustersConfigDump","versionInfo":"2","staticClusters":[{"cluster":{"@type":"type.googleapis.com/envoy.config.cluster.v3.Cluster","name":"xds_cluster","type":"STRICT_DNS","connectTimeout":"1s","loadAssignment":{"clusterName":"xds_cluster","endpoints":[{"lbEndpoints":[{"endpoint":{"address":{"socketAddress":{"address":"envoy-gateway","portValue":18000}}}}]}]},"typedExtensionProtocolOptions":{"envoy.extensions.upstreams.http.v3.HttpProtocolOptions":{"@type":"type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions","explicitHttpConfig":{"http2ProtocolOptions":{}}}},"transportSocket":{"name":"envoy.transport_sockets.tls","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext","commonTlsContext":{"tlsParams":{"tlsMaximumProtocolVersion":"TLSv1_3"},"tlsCertificateSdsSecretConfigs":[{"name":"xds_certificate","sdsConfig":{"pathConfigSource":{"path":"/sds/xds-certificate.json"},"resourceApiVersion":"V3"}}],"validationContextSdsSecretConfig":{"name":"xds_trusted_ca","sdsConfig":{"pathConfigSource":{"path":"/sds/xds-trusted-ca.json"},"resourceApiVersion":"V3"}}}}}},"lastUpdated":"2023-02-23T09:05:23.436Z"}],"dynamicActiveClusters":[{"versionInfo":"2a0a1698a9d3e05b802047b0cd36b52a070afa49042e1ba267168c5265c7cabf","cluster":{"@type":"type.googleapis.com/envoy.config.cluster.v3.Cluster","name":"default-backend-rule-0-match-0-www.example.com","type":"STATIC","connectTimeout":"5s","loadAssignment":{"clusterName":"default-backend-rule-0-match-0-www.example.com","endpoints":[{"locality":{},"lbEndpoints":[{"endpoint":{"address":{"socketAddress":{"address":"10.96.159.190","portValue":3000}}},"loadBalancingWeight":1}],"loadBalancingWeight":1}]},"dnsLookupFamily":"V4_ONLY","outlierDetection":{},"commonLbConfig":{"localityWeightedLbConfig":{}}},"lastUpdated":"2023-02-23T09:05:38.443Z"}]},{"@type":"type.googleapis.com/envoy.admin.v3.ListenersConfigDump","versionInfo":"2","dynamicListeners":[{"name":"default-eg-http","activeState":{"versionInfo":"42c71fb50c315ee3a32b327da69f8cc0baf420bc84b747e82d9c38e1b0c33eb2","listener":{"@type":"type.googleapis.com/envoy.config.listener.v3.Listener","name":"default-eg-http","address":{"socketAddress":{"address":"0.0.0.0","portValue":10080}},"defaultFilterChain":{"filters":[{"name":"envoy.filters.network.http_connection_manager","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager","statPrefix":"http","rds":{"configSource":{"apiConfigSource":{"apiType":"DELTA_GRPC","transportApiVersion":"V3","grpcServices":[{"envoyGrpc":{"clusterName":"xds_cluster"}}],"setNodeOnFirstMessageOnly":true},"resourceApiVersion":"V3"},"routeConfigName":"default-eg-http"},"httpFilters":[{"name":"envoy.filters.http.router","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"}}],"accessLog":[{"name":"envoy.access_loggers.file","typedConfig":{"@type":"type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog","path":"/dev/stdout"}}],"useRemoteAddress":true,"upgradeConfigs":[{"upgradeType":"websocket"}]}}]},"accessLog":[{"name":"envoy.access_loggers.file","filter":{"responseFlagFilter":{"flags":["NR"]}},"typedConfig":{"@type":"type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog","path":"/dev/stdout"}}]},"lastUpdated":"2023-02-23T09:05:38.446Z"}}]},{"@type":"type.googleapis.com/envoy.admin.v3.ScopedRoutesConfigDump"},{"@type":"type.googleapis.com/envoy.admin.v3.RoutesConfigDump","dynamicRouteConfigs":[{"versionInfo":"cb1e51997a9c3aa6f4d920f39fd5bdbd966e9382b7b6bdf42efca8c22c6c3442","routeConfig":{"@type":"type.googleapis.com/envoy.config.route.v3.RouteConfiguration","name":"default-eg-http","virtualHosts":[{"name":"default-eg-http","domains":["*"],"routes":[{"match":{"prefix":"/","headers":[{"name":":authority","stringMatch":{"exact":"www.example.com"}}]},"route":{"cluster":"default-backend-rule-0-match-0-www.example.com"}}]}]},"lastUpdated":"2023-02-23T09:05:38.448Z"}]},{"@type":"type.googleapis.com/envoy.admin.v3.SecretsConfigDump","dynamicActiveSecrets":[{"name":"xds_certificate","lastUpdated":"2023-02-23T09:05:23.442Z","secret":{"@type":"type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret","name":"xds_certificate","tlsCertificate":{"certificateChain":{"inlineBytes":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLekNDQWhPZ0F3SUJBZ0lFTnJRVi9qQU5CZ2txaGtpRzl3MEJBUXNGQURBc01SWXdGQVlEVlFRREV3MWwKYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEVlFRRkV3azFOalE0TXpRek9EVXdIaGNOTWpNd01qRTNNRE0wTVRJNApXaGNOTWpRd01qRTRNRE0wTVRJNFdqQU1NUW93Q0FZRFZRUUREQUVxTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBUThBTUlJQkNnS0NBUUVBNmdNSTJSNElEeE5mQ2o1YmZHU1hVUjF4YkVjRjE5VXlhVC9VUEZZcFltM0gKN2c4T3Z6YWRlelFyRkt3dG9PWWFDN0hjam8zVnVHSmhqSDQ1Z3lVbWFzSEg1Q1gzaWFlRlhxQXdVQjRqVTZQSgpBbElCZWlMRVdZVjN1VjMwcGlKK09DWFhrUEQzSFFVb0ZYbnljcHM3OE9PbjZoS0wwNUY0YkJsT2UrMFdIUHdECll2dFQ4TEdpVmcrSkxhR2lxaGgxOXY5endwQUd2akI2Z09kN1BjdkNQNFExUHdkMWdMSnNXVFNweGhDUEVPb2kKV2ZSOG56RERVUHU5aXc2QTJObW1XQ1FxSVNYcDlZUmJMTEdjZnV4VURjcFVYMHpqY0xvcE1sajBnM0RkYVpWRwpzNm9JcW9BSjZ6MFhvdWwrM0ZZdUtJYy8rT1V3VkR1VkI4K0ZRZzlYdlFJREFRQUJvM1V3Y3pBT0JnTlZIUThCCkFmOEVCQU1DQlBBd0hRWURWUjBPQkJZRUZKaUJ3cytVaFRlT2p1L1ZXT29LQWNTSmZBeXVNQjhHQTFVZEl3UVkKTUJhQUZCT3kvOGkxeVMxRWxpN0tNK0gyeXZEM1BJMG1NQ0VHQTFVZEVRUWFNQmlDRmlvdVpXNTJiM2t0WjJGMApaWGRoZVMxemVYTjBaVzB3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUZraHdIakZtQWxqdEpheU54WitodURGCm5UdWd0REZvSTBFT2J0cUhLYnloWU9sdlNFdkhxbFNQSHNRUUhmQnQwbHpOOEtGUTd2YWxTSHRBZStlNzBETHkKaGY3TDQ3eklST3NLcmtmb0tjMjRqaUhNQkVwbCtJdjllU1RWVG9WemxzazVZUGxET2lrMzZpRUY3WDVVZ0RheApsVllZZnpSYzRUb0poODMwT285Wm9pai9LM295dVNXcTVGRzVFWExmeW9tQzZPQ3dxRm5GNzRSM21FTjVheDRlCnppVm5QVDNxVmFZdytzNngwSVhHU282U2M3Q2lUbmMrckFNa3FJNVNsK2p5RHhKTkZBQlIvRllCcTQzK1B1UGkKN0YxOEw0N2l3aVFFYU82NUJzU2hlYmg1Qk1VbytDdzIyM3JsMGRpTldwY3FrdVhtT1BWNDlrWkZkdHpFNytVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="},"privateKey":{"inlineBytes":"W3JlZGFjdGVkXQ=="}}}},{"name":"xds_trusted_ca","lastUpdated":"2023-02-23T09:05:23.447Z","secret":{"@type":"type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret","name":"xds_trusted_ca","validationContext":{"trustedCa":{"inlineBytes":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHRENDQWdDZ0F3SUJBZ0lFSWFxd1VUQU5CZ2txaGtpRzl3MEJBUXNGQURBc01SWXdGQVlEVlFRREV3MWwKYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEVlFRRkV3azFOalE0TXpRek9EVXdIaGNOTWpNd01qRTNNRE0wTVRJNApXaGNOTWpRd01qRTRNRE0wTVRJNFdqQXNNUll3RkFZRFZRUURFdzFsYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEClZRUUZFd2sxTmpRNE16UXpPRFV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRDIKeFMrNkRWY2FvbHFkVVBzTHZwNUtQMEQyV0hrTkVEY0tPeml3bzZNYm9wczFLYWJnNXVYSVl5T21JRWNTTXNKNwpHbVAxMlJjK0J3V1dFWXRrTHVPU3BwQm1lSjN3aDRrUlVRVTRTemRFU1dDcU40RTNpcTJib3FFVm53SkFGQ1ZpCldldGVjZkZsODZFalliQUxxSnRCbGJCbFFQM1ZMZ1hva0VVamJ4QmFobE1wZitUWkVJNFBuam1zUWN5a21LeXIKaDJwdmM3cnZYb29HTlhTM0Q0eFc1VDY3dmxLYi94UlM3c2gwTkJEU0dtTE1jY2pxWFZXazVOR2lBWVB3dXBWSwpTWG02dnZXUFZCdEd1bkZhS0JSRGx4TlJrb0wzRUN6UkNtenoxR2ZYMGJkSm1leElOM2VIUFBRdkd0M0txeUlnCkgrYnc0OXpqdlVUb2dNcXFpTlcvQWdNQkFBR2pRakJBTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQQmdOVkhSTUIKQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRVHN2L0l0Y2t0UkpZdXlqUGg5c3J3OXp5TkpqQU5CZ2txaGtpRwo5dzBCQVFzRkFBT0NBUUVBd2dvZEsxalhVWFZDVXBTSjE0cEo3S3ZobWZPT1hkaVNISmNSSzlIUzI1c2xwOWN2CkJDSndmWUZmanJ4Rmc5TnV4aVpiM01oVXk5MDBqenBPdk1QWStEeUxFWFVxTGd5ZlBMUzYveVliem8yZHdwdzMKOCtrTXlsQUFlZmtaSW9oT0VhYSsvNFFBVVVGZVp1a1B6bmF6RzZIWnZKQkNxWVdRNXBaSSt3WTI1dzhEU0VOMgpkOCswVkpzWU5IdUk4aXhneGZhUkRycW5LRHBMUGJ3Z3VaRDl6ZkV3dVFaNG1oeEd0Vk1wR0NLSndscWFhdXJ0CkF5aGhzOXBHNERndkpSY1BLeFY4bndRdzZtSm55dkIxcExxTW1aQTVqZWhxbFNvUGVpWUlBMk1neU83cTVPYmMKL040bzBNTVdvZ1piRWR6aTBnTXJRT2lpNE41Q0ZlakVrYStIMmc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="},"matchTypedSubjectAltNames":[{"sanType":"DNS","matcher":{"exact":"envoy-gateway"}}]}}}]}]} diff --git a/internal/cmd/egctl/testdata/config/out.yaml b/internal/cmd/egctl/testdata/config/out/out.all.yaml similarity index 79% rename from internal/cmd/egctl/testdata/config/out.yaml rename to internal/cmd/egctl/testdata/config/out/out.all.yaml index 1e5fe701185..498f6f74c43 100644 --- a/internal/cmd/egctl/testdata/config/out.yaml +++ b/internal/cmd/egctl/testdata/config/out/out.all.yaml @@ -2,124 +2,124 @@ configs: - '@type': type.googleapis.com/envoy.admin.v3.BootstrapConfigDump bootstrap: admin: - access_log: + accessLog: - name: envoy.access_loggers.file - typed_config: + typedConfig: '@type': type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: /dev/null address: - socket_address: + socketAddress: address: 127.0.0.1 - port_value: 19000 - dynamic_resources: - cds_config: - api_config_source: - api_type: DELTA_GRPC - grpc_services: - - envoy_grpc: - cluster_name: xds_cluster - set_node_on_first_message_only: true - transport_api_version: V3 - resource_api_version: V3 - lds_config: - api_config_source: - api_type: DELTA_GRPC - grpc_services: - - envoy_grpc: - cluster_name: xds_cluster - set_node_on_first_message_only: true - transport_api_version: V3 - resource_api_version: V3 - layered_runtime: + portValue: 19000 + dynamicResources: + cdsConfig: + apiConfigSource: + apiType: DELTA_GRPC + grpcServices: + - envoyGrpc: + clusterName: xds_cluster + setNodeOnFirstMessageOnly: true + transportApiVersion: V3 + resourceApiVersion: V3 + ldsConfig: + apiConfigSource: + apiType: DELTA_GRPC + grpcServices: + - envoyGrpc: + clusterName: xds_cluster + setNodeOnFirstMessageOnly: true + transportApiVersion: V3 + resourceApiVersion: V3 + layeredRuntime: layers: - name: runtime-0 - rtds_layer: + rtdsLayer: name: runtime-0 - rtds_config: - api_config_source: - api_type: DELTA_GRPC - grpc_services: - - envoy_grpc: - cluster_name: xds_cluster - transport_api_version: V3 - resource_api_version: V3 + rtdsConfig: + apiConfigSource: + apiType: DELTA_GRPC + grpcServices: + - envoyGrpc: + clusterName: xds_cluster + transportApiVersion: V3 + resourceApiVersion: V3 node: extensions: - category: envoy.upstreams name: envoy.filters.connection_pools.tcp.generic - type_urls: + typeUrls: - envoy.extensions.upstreams.tcp.generic.v3.GenericConnectionPoolProto - category: envoy.rate_limit_descriptors name: envoy.rate_limit_descriptors.expr - type_urls: + typeUrls: - envoy.extensions.rate_limit_descriptors.expr.v3.Descriptor - category: envoy.matching.http.input name: envoy.matching.inputs.destination_ip - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.DestinationIPInput - category: envoy.matching.http.input name: envoy.matching.inputs.destination_port - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.DestinationPortInput - category: envoy.matching.http.input name: envoy.matching.inputs.direct_source_ip - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.DirectSourceIPInput - category: envoy.matching.http.input name: envoy.matching.inputs.dns_san - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.ssl.v3.DnsSanInput - category: envoy.matching.http.input name: envoy.matching.inputs.request_headers - type_urls: + typeUrls: - envoy.type.matcher.v3.HttpRequestHeaderMatchInput - category: envoy.matching.http.input name: envoy.matching.inputs.request_trailers - type_urls: + typeUrls: - envoy.type.matcher.v3.HttpRequestTrailerMatchInput - category: envoy.matching.http.input name: envoy.matching.inputs.response_headers - type_urls: + typeUrls: - envoy.type.matcher.v3.HttpResponseHeaderMatchInput - category: envoy.matching.http.input name: envoy.matching.inputs.response_trailers - type_urls: + typeUrls: - envoy.type.matcher.v3.HttpResponseTrailerMatchInput - category: envoy.matching.http.input name: envoy.matching.inputs.server_name - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.ServerNameInput - category: envoy.matching.http.input name: envoy.matching.inputs.source_ip - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.SourceIPInput - category: envoy.matching.http.input name: envoy.matching.inputs.source_port - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.SourcePortInput - category: envoy.matching.http.input name: envoy.matching.inputs.source_type - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.SourceTypeInput - category: envoy.matching.http.input name: envoy.matching.inputs.status_code_class_input - type_urls: + typeUrls: - envoy.type.matcher.v3.HttpResponseStatusCodeClassMatchInput - category: envoy.matching.http.input name: envoy.matching.inputs.status_code_input - type_urls: + typeUrls: - envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput - category: envoy.matching.http.input name: envoy.matching.inputs.subject - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.ssl.v3.SubjectInput - category: envoy.matching.http.input name: envoy.matching.inputs.uri_san - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.ssl.v3.UriSanInput - category: envoy.matching.http.input name: query_params - type_urls: + typeUrls: - envoy.type.matcher.v3.HttpRequestQueryParamMatchInput - category: envoy.tls.cert_validator name: envoy.tls.cert_validator.default @@ -127,58 +127,58 @@ configs: name: envoy.tls.cert_validator.spiffe - category: envoy.path.match name: envoy.path.match.uri_template.uri_template_matcher - type_urls: + typeUrls: - envoy.extensions.path.match.uri_template.v3.UriTemplateMatchConfig - category: envoy.http.original_ip_detection name: envoy.http.original_ip_detection.custom_header - type_urls: + typeUrls: - envoy.extensions.http.original_ip_detection.custom_header.v3.CustomHeaderConfig - category: envoy.http.original_ip_detection name: envoy.http.original_ip_detection.xff - type_urls: + typeUrls: - envoy.extensions.http.original_ip_detection.xff.v3.XffConfig - category: envoy.filters.http.upstream name: envoy.buffer - category: envoy.filters.http.upstream name: envoy.filters.http.admission_control - type_urls: + typeUrls: - envoy.extensions.filters.http.admission_control.v3.AdmissionControl - category: envoy.filters.http.upstream name: envoy.filters.http.buffer - type_urls: + typeUrls: - envoy.extensions.filters.http.buffer.v3.Buffer - envoy.extensions.filters.http.buffer.v3.BufferPerRoute - category: envoy.filters.http.upstream name: envoy.filters.http.upstream_codec - type_urls: + typeUrls: - envoy.extensions.filters.http.upstream_codec.v3.UpstreamCodec - category: envoy.route.early_data_policy name: envoy.route.early_data_policy.default - type_urls: + typeUrls: - envoy.extensions.early_data.v3.DefaultEarlyDataPolicy - category: envoy.compression.compressor name: envoy.compression.brotli.compressor - type_urls: + typeUrls: - envoy.extensions.compression.brotli.compressor.v3.Brotli - category: envoy.compression.compressor name: envoy.compression.gzip.compressor - type_urls: + typeUrls: - envoy.extensions.compression.gzip.compressor.v3.Gzip - category: envoy.compression.compressor name: envoy.compression.zstd.compressor - type_urls: + typeUrls: - envoy.extensions.compression.zstd.compressor.v3.Zstd - category: envoy.compression.decompressor name: envoy.compression.brotli.decompressor - type_urls: + typeUrls: - envoy.extensions.compression.brotli.decompressor.v3.Brotli - category: envoy.compression.decompressor name: envoy.compression.gzip.decompressor - type_urls: + typeUrls: - envoy.extensions.compression.gzip.decompressor.v3.Gzip - category: envoy.compression.decompressor name: envoy.compression.zstd.decompressor - type_urls: + typeUrls: - envoy.extensions.compression.zstd.decompressor.v3.Zstd - category: envoy.wasm.runtime name: envoy.wasm.runtime.null @@ -192,93 +192,93 @@ configs: name: envoy.metrics_service - category: envoy.stats_sinks name: envoy.stat_sinks.dog_statsd - type_urls: + typeUrls: - envoy.config.metrics.v3.DogStatsdSink - category: envoy.stats_sinks name: envoy.stat_sinks.graphite_statsd - type_urls: + typeUrls: - envoy.extensions.stat_sinks.graphite_statsd.v3.GraphiteStatsdSink - category: envoy.stats_sinks name: envoy.stat_sinks.hystrix - type_urls: + typeUrls: - envoy.config.metrics.v3.HystrixSink - category: envoy.stats_sinks name: envoy.stat_sinks.metrics_service - type_urls: + typeUrls: - envoy.config.metrics.v3.MetricsServiceConfig - category: envoy.stats_sinks name: envoy.stat_sinks.statsd - type_urls: + typeUrls: - envoy.config.metrics.v3.StatsdSink - category: envoy.stats_sinks name: envoy.stat_sinks.wasm - type_urls: + typeUrls: - envoy.extensions.stat_sinks.wasm.v3.Wasm - category: envoy.stats_sinks name: envoy.statsd - category: envoy.path.rewrite name: envoy.path.rewrite.uri_template.uri_template_rewriter - type_urls: + typeUrls: - envoy.extensions.path.rewrite.uri_template.v3.UriTemplateRewriteConfig - category: envoy.http.custom_response name: envoy.extensions.http.custom_response.local_response_policy - type_urls: + typeUrls: - envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy - category: envoy.http.custom_response name: envoy.extensions.http.custom_response.redirect_policy - type_urls: + typeUrls: - envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy - category: envoy.matching.action name: envoy.matching.actions.format_string - type_urls: + typeUrls: - envoy.config.core.v3.SubstitutionFormatString - category: envoy.matching.action name: filter-chain-name - type_urls: + typeUrls: - google.protobuf.StringValue - category: envoy.quic.connection_id_generator name: envoy.quic.deterministic_connection_id_generator - type_urls: + typeUrls: - envoy.extensions.quic.connection_id_generator.v3.DeterministicConnectionIdGeneratorConfig - category: envoy.network.dns_resolver name: envoy.network.dns_resolver.cares - type_urls: + typeUrls: - envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig - category: envoy.network.dns_resolver name: envoy.network.dns_resolver.getaddrinfo - type_urls: + typeUrls: - envoy.extensions.network.dns_resolver.getaddrinfo.v3.GetAddrInfoDnsResolverConfig - category: envoy.bootstrap name: envoy.bootstrap.internal_listener - type_urls: + typeUrls: - envoy.extensions.bootstrap.internal_listener.v3.InternalListener - category: envoy.bootstrap name: envoy.bootstrap.wasm - type_urls: + typeUrls: - envoy.extensions.wasm.v3.WasmService - category: envoy.bootstrap name: envoy.extensions.network.socket_interface.default_socket_interface - type_urls: + typeUrls: - envoy.extensions.network.socket_interface.v3.DefaultSocketInterface - category: envoy.filters.listener name: envoy.filters.listener.http_inspector - type_urls: + typeUrls: - envoy.extensions.filters.listener.http_inspector.v3.HttpInspector - category: envoy.filters.listener name: envoy.filters.listener.original_dst - type_urls: + typeUrls: - envoy.extensions.filters.listener.original_dst.v3.OriginalDst - category: envoy.filters.listener name: envoy.filters.listener.original_src - type_urls: + typeUrls: - envoy.extensions.filters.listener.original_src.v3.OriginalSrc - category: envoy.filters.listener name: envoy.filters.listener.proxy_protocol - type_urls: + typeUrls: - envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol - category: envoy.filters.listener name: envoy.filters.listener.tls_inspector - type_urls: + typeUrls: - envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector - category: envoy.filters.listener name: envoy.listener.http_inspector @@ -292,15 +292,15 @@ configs: name: envoy.listener.tls_inspector - category: envoy.matching.common_inputs name: envoy.matching.common_inputs.environment_variable - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.environment_variable.v3.Config - category: envoy.matching.input_matchers name: envoy.matching.matchers.consistent_hashing - type_urls: + typeUrls: - envoy.extensions.matching.input_matchers.consistent_hashing.v3.ConsistentHashing - category: envoy.matching.input_matchers name: envoy.matching.matchers.ip - type_urls: + typeUrls: - envoy.extensions.matching.input_matchers.ip.v3.Ip - category: envoy.grpc_credentials name: envoy.grpc_credentials.aws_iam @@ -310,27 +310,27 @@ configs: name: envoy.grpc_credentials.file_based_metadata - category: envoy.request_id name: envoy.request_id.uuid - type_urls: + typeUrls: - envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig - category: envoy.load_balancing_policies name: envoy.load_balancing_policies.least_request - type_urls: + typeUrls: - envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest - category: envoy.load_balancing_policies name: envoy.load_balancing_policies.maglev - type_urls: + typeUrls: - envoy.extensions.load_balancing_policies.maglev.v3.Maglev - category: envoy.load_balancing_policies name: envoy.load_balancing_policies.random - type_urls: + typeUrls: - envoy.extensions.load_balancing_policies.random.v3.Random - category: envoy.load_balancing_policies name: envoy.load_balancing_policies.ring_hash - type_urls: + typeUrls: - envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash - category: envoy.load_balancing_policies name: envoy.load_balancing_policies.round_robin - type_urls: + typeUrls: - envoy.extensions.load_balancing_policies.round_robin.v3.RoundRobin - category: envoy.resolvers name: envoy.ip @@ -350,198 +350,198 @@ configs: name: envoy.fault - category: envoy.filters.http name: envoy.filters.http.adaptive_concurrency - type_urls: + typeUrls: - envoy.extensions.filters.http.adaptive_concurrency.v3.AdaptiveConcurrency - category: envoy.filters.http name: envoy.filters.http.admission_control - type_urls: + typeUrls: - envoy.extensions.filters.http.admission_control.v3.AdmissionControl - category: envoy.filters.http name: envoy.filters.http.alternate_protocols_cache - type_urls: + typeUrls: - envoy.extensions.filters.http.alternate_protocols_cache.v3.FilterConfig - category: envoy.filters.http name: envoy.filters.http.aws_lambda - type_urls: + typeUrls: - envoy.extensions.filters.http.aws_lambda.v3.Config - envoy.extensions.filters.http.aws_lambda.v3.PerRouteConfig - category: envoy.filters.http name: envoy.filters.http.aws_request_signing - type_urls: + typeUrls: - envoy.extensions.filters.http.aws_request_signing.v3.AwsRequestSigning - category: envoy.filters.http name: envoy.filters.http.bandwidth_limit - type_urls: + typeUrls: - envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit - category: envoy.filters.http name: envoy.filters.http.buffer - type_urls: + typeUrls: - envoy.extensions.filters.http.buffer.v3.Buffer - envoy.extensions.filters.http.buffer.v3.BufferPerRoute - category: envoy.filters.http name: envoy.filters.http.cache - type_urls: + typeUrls: - envoy.extensions.filters.http.cache.v3.CacheConfig - category: envoy.filters.http name: envoy.filters.http.cdn_loop - type_urls: + typeUrls: - envoy.extensions.filters.http.cdn_loop.v3.CdnLoopConfig - category: envoy.filters.http name: envoy.filters.http.composite - type_urls: + typeUrls: - envoy.extensions.filters.http.composite.v3.Composite - category: envoy.filters.http name: envoy.filters.http.compressor - type_urls: + typeUrls: - envoy.extensions.filters.http.compressor.v3.Compressor - envoy.extensions.filters.http.compressor.v3.CompressorPerRoute - category: envoy.filters.http name: envoy.filters.http.connect_grpc_bridge - type_urls: + typeUrls: - envoy.extensions.filters.http.connect_grpc_bridge.v3.FilterConfig - category: envoy.filters.http name: envoy.filters.http.cors - type_urls: + typeUrls: - envoy.extensions.filters.http.cors.v3.Cors - envoy.extensions.filters.http.cors.v3.CorsPolicy - category: envoy.filters.http name: envoy.filters.http.csrf - type_urls: + typeUrls: - envoy.extensions.filters.http.csrf.v3.CsrfPolicy - category: envoy.filters.http name: envoy.filters.http.custom_response - type_urls: + typeUrls: - envoy.extensions.filters.http.custom_response.v3.CustomResponse - category: envoy.filters.http name: envoy.filters.http.decompressor - type_urls: + typeUrls: - envoy.extensions.filters.http.decompressor.v3.Decompressor - category: envoy.filters.http name: envoy.filters.http.dynamic_forward_proxy - type_urls: + typeUrls: - envoy.extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig - envoy.extensions.filters.http.dynamic_forward_proxy.v3.PerRouteConfig - category: envoy.filters.http name: envoy.filters.http.ext_authz - type_urls: + typeUrls: - envoy.extensions.filters.http.ext_authz.v3.ExtAuthz - envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute - category: envoy.filters.http name: envoy.filters.http.ext_proc - type_urls: + typeUrls: - envoy.extensions.filters.http.ext_proc.v3.ExtProcPerRoute - envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor - category: envoy.filters.http name: envoy.filters.http.fault - type_urls: + typeUrls: - envoy.extensions.filters.http.fault.v3.HTTPFault - category: envoy.filters.http name: envoy.filters.http.file_system_buffer - type_urls: + typeUrls: - envoy.extensions.filters.http.file_system_buffer.v3.FileSystemBufferFilterConfig - category: envoy.filters.http name: envoy.filters.http.gcp_authn - type_urls: + typeUrls: - envoy.extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig - category: envoy.filters.http name: envoy.filters.http.grpc_http1_bridge - type_urls: + typeUrls: - envoy.extensions.filters.http.grpc_http1_bridge.v3.Config - category: envoy.filters.http name: envoy.filters.http.grpc_http1_reverse_bridge - type_urls: + typeUrls: - envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfig - envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfigPerRoute - category: envoy.filters.http name: envoy.filters.http.grpc_json_transcoder - type_urls: + typeUrls: - envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder - category: envoy.filters.http name: envoy.filters.http.grpc_stats - type_urls: + typeUrls: - envoy.extensions.filters.http.grpc_stats.v3.FilterConfig - category: envoy.filters.http name: envoy.filters.http.grpc_web - type_urls: + typeUrls: - envoy.extensions.filters.http.grpc_web.v3.GrpcWeb - category: envoy.filters.http name: envoy.filters.http.header_to_metadata - type_urls: + typeUrls: - envoy.extensions.filters.http.header_to_metadata.v3.Config - category: envoy.filters.http name: envoy.filters.http.health_check - type_urls: + typeUrls: - envoy.extensions.filters.http.health_check.v3.HealthCheck - category: envoy.filters.http name: envoy.filters.http.ip_tagging - type_urls: + typeUrls: - envoy.extensions.filters.http.ip_tagging.v3.IPTagging - category: envoy.filters.http name: envoy.filters.http.jwt_authn - type_urls: + typeUrls: - envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication - envoy.extensions.filters.http.jwt_authn.v3.PerRouteConfig - category: envoy.filters.http name: envoy.filters.http.local_ratelimit - type_urls: + typeUrls: - envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit - category: envoy.filters.http name: envoy.filters.http.lua - type_urls: + typeUrls: - envoy.extensions.filters.http.lua.v3.Lua - envoy.extensions.filters.http.lua.v3.LuaPerRoute - category: envoy.filters.http name: envoy.filters.http.match_delegate - type_urls: + typeUrls: - envoy.extensions.common.matching.v3.ExtensionWithMatcher - category: envoy.filters.http name: envoy.filters.http.oauth2 - type_urls: + typeUrls: - envoy.extensions.filters.http.oauth2.v3.OAuth2 - category: envoy.filters.http name: envoy.filters.http.on_demand - type_urls: + typeUrls: - envoy.extensions.filters.http.on_demand.v3.OnDemand - envoy.extensions.filters.http.on_demand.v3.PerRouteConfig - category: envoy.filters.http name: envoy.filters.http.original_src - type_urls: + typeUrls: - envoy.extensions.filters.http.original_src.v3.OriginalSrc - category: envoy.filters.http name: envoy.filters.http.rate_limit_quota - type_urls: + typeUrls: - envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig - envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaOverride - category: envoy.filters.http name: envoy.filters.http.ratelimit - type_urls: + typeUrls: - envoy.extensions.filters.http.ratelimit.v3.RateLimit - envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute - category: envoy.filters.http name: envoy.filters.http.rbac - type_urls: + typeUrls: - envoy.extensions.filters.http.rbac.v3.RBAC - envoy.extensions.filters.http.rbac.v3.RBACPerRoute - category: envoy.filters.http name: envoy.filters.http.router - type_urls: + typeUrls: - envoy.extensions.filters.http.router.v3.Router - category: envoy.filters.http name: envoy.filters.http.set_metadata - type_urls: + typeUrls: - envoy.extensions.filters.http.set_metadata.v3.Config - category: envoy.filters.http name: envoy.filters.http.stateful_session - type_urls: + typeUrls: - envoy.extensions.filters.http.stateful_session.v3.StatefulSession - envoy.extensions.filters.http.stateful_session.v3.StatefulSessionPerRoute - category: envoy.filters.http name: envoy.filters.http.tap - type_urls: + typeUrls: - envoy.extensions.filters.http.tap.v3.Tap - category: envoy.filters.http name: envoy.filters.http.wasm - type_urls: + typeUrls: - envoy.extensions.filters.http.wasm.v3.Wasm - category: envoy.filters.http name: envoy.grpc_http1_bridge @@ -563,31 +563,31 @@ configs: name: envoy.router - category: envoy.access_loggers name: envoy.access_loggers.file - type_urls: + typeUrls: - envoy.extensions.access_loggers.file.v3.FileAccessLog - category: envoy.access_loggers name: envoy.access_loggers.http_grpc - type_urls: + typeUrls: - envoy.extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig - category: envoy.access_loggers name: envoy.access_loggers.open_telemetry - type_urls: + typeUrls: - envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig - category: envoy.access_loggers name: envoy.access_loggers.stderr - type_urls: + typeUrls: - envoy.extensions.access_loggers.stream.v3.StderrAccessLog - category: envoy.access_loggers name: envoy.access_loggers.stdout - type_urls: + typeUrls: - envoy.extensions.access_loggers.stream.v3.StdoutAccessLog - category: envoy.access_loggers name: envoy.access_loggers.tcp_grpc - type_urls: + typeUrls: - envoy.extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig - category: envoy.access_loggers name: envoy.access_loggers.wasm - type_urls: + typeUrls: - envoy.extensions.access_loggers.wasm.v3.WasmAccessLog - category: envoy.access_loggers name: envoy.file_access_log @@ -607,11 +607,11 @@ configs: name: envoy.config.validators.minimum_clusters - category: envoy.config.validators name: envoy.config.validators.minimum_clusters_validator - type_urls: + typeUrls: - envoy.extensions.config.validators.minimum_clusters.v3.MinimumClustersValidator - category: envoy.http.header_validators name: envoy.http.header_validators.envoy_default - type_urls: + typeUrls: - envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig - category: envoy.dubbo_proxy.serializers name: dubbo.hessian2 @@ -619,31 +619,31 @@ configs: name: quic.http_server_connection.default - category: envoy.transport_sockets.downstream name: envoy.transport_sockets.alts - type_urls: + typeUrls: - envoy.extensions.transport_sockets.alts.v3.Alts - category: envoy.transport_sockets.downstream name: envoy.transport_sockets.quic - type_urls: + typeUrls: - envoy.extensions.transport_sockets.quic.v3.QuicDownstreamTransport - category: envoy.transport_sockets.downstream name: envoy.transport_sockets.raw_buffer - type_urls: + typeUrls: - envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer - category: envoy.transport_sockets.downstream name: envoy.transport_sockets.starttls - type_urls: + typeUrls: - envoy.extensions.transport_sockets.starttls.v3.StartTlsConfig - category: envoy.transport_sockets.downstream name: envoy.transport_sockets.tap - type_urls: + typeUrls: - envoy.extensions.transport_sockets.tap.v3.Tap - category: envoy.transport_sockets.downstream name: envoy.transport_sockets.tcp_stats - type_urls: + typeUrls: - envoy.extensions.transport_sockets.tcp_stats.v3.Config - category: envoy.transport_sockets.downstream name: envoy.transport_sockets.tls - type_urls: + typeUrls: - envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext - category: envoy.transport_sockets.downstream name: raw_buffer @@ -653,211 +653,211 @@ configs: name: tls - category: envoy.rbac.matchers name: envoy.rbac.matchers.upstream_ip_port - type_urls: + typeUrls: - envoy.extensions.rbac.matchers.upstream_ip_port.v3.UpstreamIpPortMatcher - category: envoy.common.key_value name: envoy.key_value.file_based - type_urls: + typeUrls: - envoy.extensions.key_value.file_based.v3.FileBasedKeyValueStoreConfig - category: envoy.matching.network.input name: envoy.matching.inputs.application_protocol - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.ApplicationProtocolInput - category: envoy.matching.network.input name: envoy.matching.inputs.destination_ip - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.DestinationIPInput - category: envoy.matching.network.input name: envoy.matching.inputs.destination_port - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.DestinationPortInput - category: envoy.matching.network.input name: envoy.matching.inputs.direct_source_ip - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.DirectSourceIPInput - category: envoy.matching.network.input name: envoy.matching.inputs.dns_san - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.ssl.v3.DnsSanInput - category: envoy.matching.network.input name: envoy.matching.inputs.server_name - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.ServerNameInput - category: envoy.matching.network.input name: envoy.matching.inputs.source_ip - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.SourceIPInput - category: envoy.matching.network.input name: envoy.matching.inputs.source_port - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.SourcePortInput - category: envoy.matching.network.input name: envoy.matching.inputs.source_type - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.SourceTypeInput - category: envoy.matching.network.input name: envoy.matching.inputs.subject - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.ssl.v3.SubjectInput - category: envoy.matching.network.input name: envoy.matching.inputs.transport_protocol - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.network.v3.TransportProtocolInput - category: envoy.matching.network.input name: envoy.matching.inputs.uri_san - type_urls: + typeUrls: - envoy.extensions.matching.common_inputs.ssl.v3.UriSanInput - category: envoy.dubbo_proxy.protocols name: dubbo - category: envoy.guarddog_actions name: envoy.watchdog.abort_action - type_urls: + typeUrls: - envoy.watchdog.v3.AbortActionConfig - category: envoy.guarddog_actions name: envoy.watchdog.profile_action - type_urls: + typeUrls: - envoy.extensions.watchdog.profile_action.v3.ProfileActionConfig - category: envoy.quic.server.crypto_stream name: envoy.quic.crypto_stream.server.quiche - type_urls: + typeUrls: - envoy.extensions.quic.crypto_stream.v3.CryptoServerStreamConfig - category: envoy.regex_engines name: envoy.regex_engines.google_re2 - type_urls: + typeUrls: - envoy.extensions.regex_engines.v3.GoogleRE2 - category: envoy.http.stateful_session name: envoy.http.stateful_session.cookie - type_urls: + typeUrls: - envoy.extensions.http.stateful_session.cookie.v3.CookieBasedSessionState - category: envoy.http.stateful_session name: envoy.http.stateful_session.header - type_urls: + typeUrls: - envoy.extensions.http.stateful_session.header.v3.HeaderBasedSessionState - category: envoy.matching.network.custom_matchers name: envoy.matching.custom_matchers.trie_matcher - type_urls: + typeUrls: - xds.type.matcher.v3.IPMatcher - category: envoy.udp_packet_writer name: envoy.udp_packet_writer.default - type_urls: + typeUrls: - envoy.extensions.udp_packet_writer.v3.UdpDefaultWriterFactory - category: envoy.udp_packet_writer name: envoy.udp_packet_writer.gso - type_urls: + typeUrls: - envoy.extensions.udp_packet_writer.v3.UdpGsoBatchWriterFactory - category: envoy.quic.proof_source name: envoy.quic.proof_source.filter_chain - type_urls: + typeUrls: - envoy.extensions.quic.proof_source.v3.ProofSourceConfig - category: envoy.resource_monitors name: envoy.resource_monitors.fixed_heap - type_urls: + typeUrls: - envoy.extensions.resource_monitors.fixed_heap.v3.FixedHeapConfig - category: envoy.resource_monitors name: envoy.resource_monitors.injected_resource - type_urls: + typeUrls: - envoy.extensions.resource_monitors.injected_resource.v3.InjectedResourceConfig - category: envoy.http.stateful_header_formatters name: envoy.http.stateful_header_formatters.preserve_case - type_urls: + typeUrls: - envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig - category: envoy.http.stateful_header_formatters name: preserve_case - category: envoy.thrift_proxy.filters name: envoy.filters.thrift.header_to_metadata - type_urls: + typeUrls: - envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata - category: envoy.thrift_proxy.filters name: envoy.filters.thrift.payload_to_metadata - type_urls: + typeUrls: - envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata - category: envoy.thrift_proxy.filters name: envoy.filters.thrift.rate_limit - type_urls: + typeUrls: - envoy.extensions.filters.network.thrift_proxy.filters.ratelimit.v3.RateLimit - category: envoy.thrift_proxy.filters name: envoy.filters.thrift.router - type_urls: + typeUrls: - envoy.extensions.filters.network.thrift_proxy.router.v3.Router - category: envoy.tracers name: envoy.tracers.datadog - type_urls: + typeUrls: - envoy.config.trace.v3.DatadogConfig - category: envoy.tracers name: envoy.tracers.dynamic_ot - type_urls: + typeUrls: - envoy.config.trace.v3.DynamicOtConfig - category: envoy.tracers name: envoy.tracers.opencensus - type_urls: + typeUrls: - envoy.config.trace.v3.OpenCensusConfig - category: envoy.tracers name: envoy.tracers.opentelemetry - type_urls: + typeUrls: - envoy.config.trace.v3.OpenTelemetryConfig - category: envoy.tracers name: envoy.tracers.skywalking - type_urls: + typeUrls: - envoy.config.trace.v3.SkyWalkingConfig - category: envoy.tracers name: envoy.tracers.xray - type_urls: + typeUrls: - envoy.config.trace.v3.XRayConfig - category: envoy.tracers name: envoy.tracers.zipkin - type_urls: + typeUrls: - envoy.config.trace.v3.ZipkinConfig - category: envoy.tracers name: envoy.zipkin - category: envoy.retry_priorities name: envoy.retry_priorities.previous_priorities - type_urls: + typeUrls: - envoy.extensions.retry.priority.previous_priorities.v3.PreviousPrioritiesConfig - category: envoy.http.early_header_mutation name: envoy.http.early_header_mutation.header_mutation - type_urls: + typeUrls: - envoy.extensions.http.early_header_mutation.header_mutation.v3.HeaderMutation - category: envoy.connection_handler name: envoy.connection_handler.default - category: envoy.transport_sockets.upstream name: envoy.transport_sockets.alts - type_urls: + typeUrls: - envoy.extensions.transport_sockets.alts.v3.Alts - category: envoy.transport_sockets.upstream name: envoy.transport_sockets.http_11_proxy - type_urls: + typeUrls: - envoy.extensions.transport_sockets.http_11_proxy.v3.Http11ProxyUpstreamTransport - category: envoy.transport_sockets.upstream name: envoy.transport_sockets.internal_upstream - type_urls: + typeUrls: - envoy.extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport - category: envoy.transport_sockets.upstream name: envoy.transport_sockets.quic - type_urls: + typeUrls: - envoy.extensions.transport_sockets.quic.v3.QuicUpstreamTransport - category: envoy.transport_sockets.upstream name: envoy.transport_sockets.raw_buffer - type_urls: + typeUrls: - envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer - category: envoy.transport_sockets.upstream name: envoy.transport_sockets.starttls - type_urls: + typeUrls: - envoy.extensions.transport_sockets.starttls.v3.UpstreamStartTlsConfig - category: envoy.transport_sockets.upstream name: envoy.transport_sockets.tap - type_urls: + typeUrls: - envoy.extensions.transport_sockets.tap.v3.Tap - category: envoy.transport_sockets.upstream name: envoy.transport_sockets.tcp_stats - type_urls: + typeUrls: - envoy.extensions.transport_sockets.tcp_stats.v3.Config - category: envoy.transport_sockets.upstream name: envoy.transport_sockets.tls - type_urls: + typeUrls: - envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext - category: envoy.transport_sockets.upstream name: envoy.transport_sockets.upstream_proxy_protocol - type_urls: + typeUrls: - envoy.extensions.transport_sockets.proxy_protocol.v3.ProxyProtocolUpstreamTransport - category: envoy.transport_sockets.upstream name: raw_buffer @@ -891,7 +891,7 @@ configs: name: envoy.clusters.redis - category: envoy.access_loggers.extension_filters name: envoy.access_loggers.extension_filters.cel - type_urls: + typeUrls: - envoy.extensions.access_loggers.filters.cel.v3.ExpressionFilter - category: envoy.thrift_proxy.protocols name: auto @@ -905,11 +905,11 @@ configs: name: twitter - category: envoy.upstream_options name: envoy.extensions.upstreams.http.v3.HttpProtocolOptions - type_urls: + typeUrls: - envoy.extensions.upstreams.http.v3.HttpProtocolOptions - category: envoy.upstream_options name: envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions - type_urls: + typeUrls: - envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions - category: envoy.upstream_options name: envoy.upstreams.http.http_protocol_options @@ -917,7 +917,7 @@ configs: name: envoy.upstreams.tcp.tcp_protocol_options - category: envoy.listener_manager_impl name: envoy.listener_manager_impl.default - type_urls: + typeUrls: - envoy.config.listener.v3.ListenerManager - category: network.connection.client name: default @@ -925,59 +925,59 @@ configs: name: envoy_internal - category: envoy.filters.udp_listener name: envoy.filters.udp.dns_filter - type_urls: + typeUrls: - envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig - category: envoy.filters.udp_listener name: envoy.filters.udp_listener.udp_proxy - type_urls: + typeUrls: - envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig - category: envoy.http.cache name: envoy.extensions.http.cache.file_system_http_cache - type_urls: + typeUrls: - envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig - category: envoy.http.cache name: envoy.extensions.http.cache.simple - type_urls: + typeUrls: - envoy.extensions.http.cache.simple_http_cache.v3.SimpleHttpCacheConfig - category: envoy.retry_host_predicates name: envoy.retry_host_predicates.omit_canary_hosts - type_urls: + typeUrls: - envoy.extensions.retry.host.omit_canary_hosts.v3.OmitCanaryHostsPredicate - category: envoy.retry_host_predicates name: envoy.retry_host_predicates.omit_host_metadata - type_urls: + typeUrls: - envoy.extensions.retry.host.omit_host_metadata.v3.OmitHostMetadataConfig - category: envoy.retry_host_predicates name: envoy.retry_host_predicates.previous_hosts - type_urls: + typeUrls: - envoy.extensions.retry.host.previous_hosts.v3.PreviousHostsPredicate - category: envoy.formatter name: envoy.formatter.metadata - type_urls: + typeUrls: - envoy.extensions.formatter.metadata.v3.Metadata - category: envoy.formatter name: envoy.formatter.req_without_query - type_urls: + typeUrls: - envoy.extensions.formatter.req_without_query.v3.ReqWithoutQuery - category: envoy.internal_redirect_predicates name: envoy.internal_redirect_predicates.allow_listed_routes - type_urls: + typeUrls: - envoy.extensions.internal_redirect.allow_listed_routes.v3.AllowListedRoutesConfig - category: envoy.internal_redirect_predicates name: envoy.internal_redirect_predicates.previous_routes - type_urls: + typeUrls: - envoy.extensions.internal_redirect.previous_routes.v3.PreviousRoutesConfig - category: envoy.internal_redirect_predicates name: envoy.internal_redirect_predicates.safe_cross_scheme - type_urls: + typeUrls: - envoy.extensions.internal_redirect.safe_cross_scheme.v3.SafeCrossSchemeConfig - category: envoy.matching.http.custom_matchers name: envoy.matching.custom_matchers.trie_matcher - type_urls: + typeUrls: - xds.type.matcher.v3.IPMatcher - category: envoy.dubbo_proxy.filters name: envoy.filters.dubbo.router - type_urls: + typeUrls: - envoy.extensions.filters.network.dubbo_proxy.router.v3.Router - category: envoy.filters.network name: envoy.echo @@ -985,71 +985,71 @@ configs: name: envoy.ext_authz - category: envoy.filters.network name: envoy.filters.network.connection_limit - type_urls: + typeUrls: - envoy.extensions.filters.network.connection_limit.v3.ConnectionLimit - category: envoy.filters.network name: envoy.filters.network.direct_response - type_urls: + typeUrls: - envoy.extensions.filters.network.direct_response.v3.Config - category: envoy.filters.network name: envoy.filters.network.dubbo_proxy - type_urls: + typeUrls: - envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy - category: envoy.filters.network name: envoy.filters.network.echo - type_urls: + typeUrls: - envoy.extensions.filters.network.echo.v3.Echo - category: envoy.filters.network name: envoy.filters.network.ext_authz - type_urls: + typeUrls: - envoy.extensions.filters.network.ext_authz.v3.ExtAuthz - category: envoy.filters.network name: envoy.filters.network.http_connection_manager - type_urls: + typeUrls: - envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager - category: envoy.filters.network name: envoy.filters.network.local_ratelimit - type_urls: + typeUrls: - envoy.extensions.filters.network.local_ratelimit.v3.LocalRateLimit - category: envoy.filters.network name: envoy.filters.network.mongo_proxy - type_urls: + typeUrls: - envoy.extensions.filters.network.mongo_proxy.v3.MongoProxy - category: envoy.filters.network name: envoy.filters.network.ratelimit - type_urls: + typeUrls: - envoy.extensions.filters.network.ratelimit.v3.RateLimit - category: envoy.filters.network name: envoy.filters.network.rbac - type_urls: + typeUrls: - envoy.extensions.filters.network.rbac.v3.RBAC - category: envoy.filters.network name: envoy.filters.network.redis_proxy - type_urls: + typeUrls: - envoy.extensions.filters.network.redis_proxy.v3.RedisProxy - category: envoy.filters.network name: envoy.filters.network.sni_cluster - type_urls: + typeUrls: - envoy.extensions.filters.network.sni_cluster.v3.SniCluster - category: envoy.filters.network name: envoy.filters.network.sni_dynamic_forward_proxy - type_urls: + typeUrls: - envoy.extensions.filters.network.sni_dynamic_forward_proxy.v3.FilterConfig - category: envoy.filters.network name: envoy.filters.network.tcp_proxy - type_urls: + typeUrls: - envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy - category: envoy.filters.network name: envoy.filters.network.thrift_proxy - type_urls: + typeUrls: - envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy - category: envoy.filters.network name: envoy.filters.network.wasm - type_urls: + typeUrls: - envoy.extensions.filters.network.wasm.v3.Wasm - category: envoy.filters.network name: envoy.filters.network.zookeeper_proxy - type_urls: + typeUrls: - envoy.extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy - category: envoy.filters.network name: envoy.http_connection_manager @@ -1063,13 +1063,13 @@ configs: name: envoy.tcp_proxy - category: envoy.health_checkers name: envoy.health_checkers.redis - type_urls: + typeUrls: - envoy.extensions.health_checkers.redis.v3.Redis - category: envoy.health_checkers name: envoy.health_checkers.thrift - type_urls: + typeUrls: - envoy.extensions.health_checkers.thrift.v3.Thrift - user_agent_build_version: + userAgentBuildVersion: metadata: build.label: dev build.type: RELEASE @@ -1077,174 +1077,174 @@ configs: revision.status: Clean ssl.version: BoringSSL version: - major_number: 1 - minor_number: 26 - user_agent_name: envoy - static_resources: + majorNumber: 1 + minorNumber: 26 + userAgentName: envoy + staticResources: clusters: - - connect_timeout: 1s - load_assignment: - cluster_name: xds_cluster + - connectTimeout: 1s + loadAssignment: + clusterName: xds_cluster endpoints: - - lb_endpoints: + - lbEndpoints: - endpoint: address: - socket_address: + socketAddress: address: envoy-gateway - port_value: 18000 + portValue: 18000 name: xds_cluster - transport_socket: + transportSocket: name: envoy.transport_sockets.tls - typed_config: + typedConfig: '@type': type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext - common_tls_context: - tls_certificate_sds_secret_configs: + commonTlsContext: + tlsCertificateSdsSecretConfigs: - name: xds_certificate - sds_config: - path_config_source: + sdsConfig: + pathConfigSource: path: /sds/xds-certificate.json - resource_api_version: V3 - tls_params: - tls_maximum_protocol_version: TLSv1_3 - validation_context_sds_secret_config: + resourceApiVersion: V3 + tlsParams: + tlsMaximumProtocolVersion: TLSv1_3 + validationContextSdsSecretConfig: name: xds_trusted_ca - sds_config: - path_config_source: + sdsConfig: + pathConfigSource: path: /sds/xds-trusted-ca.json - resource_api_version: V3 + resourceApiVersion: V3 type: STRICT_DNS - typed_extension_protocol_options: + typedExtensionProtocolOptions: envoy.extensions.upstreams.http.v3.HttpProtocolOptions: '@type': type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions - explicit_http_config: - http2_protocol_options: {} - last_updated: "2023-02-23T09:05:23.422Z" + explicitHttpConfig: + http2ProtocolOptions: {} + lastUpdated: "2023-02-23T09:05:23.422Z" - '@type': type.googleapis.com/envoy.admin.v3.ClustersConfigDump - dynamic_active_clusters: + dynamicActiveClusters: - cluster: '@type': type.googleapis.com/envoy.config.cluster.v3.Cluster - common_lb_config: - locality_weighted_lb_config: {} - connect_timeout: 5s - dns_lookup_family: V4_ONLY - load_assignment: - cluster_name: default-backend-rule-0-match-0-www.example.com + commonLbConfig: + localityWeightedLbConfig: {} + connectTimeout: 5s + dnsLookupFamily: V4_ONLY + loadAssignment: + clusterName: default-backend-rule-0-match-0-www.example.com endpoints: - - lb_endpoints: + - lbEndpoints: - endpoint: address: - socket_address: + socketAddress: address: 10.96.159.190 - port_value: 3000 - load_balancing_weight: 1 - load_balancing_weight: 1 + portValue: 3000 + loadBalancingWeight: 1 + loadBalancingWeight: 1 locality: {} name: default-backend-rule-0-match-0-www.example.com - outlier_detection: {} + outlierDetection: {} type: STATIC - last_updated: "2023-02-23T09:05:38.443Z" - version_info: 2a0a1698a9d3e05b802047b0cd36b52a070afa49042e1ba267168c5265c7cabf - static_clusters: + lastUpdated: "2023-02-23T09:05:38.443Z" + versionInfo: 2a0a1698a9d3e05b802047b0cd36b52a070afa49042e1ba267168c5265c7cabf + staticClusters: - cluster: '@type': type.googleapis.com/envoy.config.cluster.v3.Cluster - connect_timeout: 1s - load_assignment: - cluster_name: xds_cluster + connectTimeout: 1s + loadAssignment: + clusterName: xds_cluster endpoints: - - lb_endpoints: + - lbEndpoints: - endpoint: address: - socket_address: + socketAddress: address: envoy-gateway - port_value: 18000 + portValue: 18000 name: xds_cluster - transport_socket: + transportSocket: name: envoy.transport_sockets.tls - typed_config: + typedConfig: '@type': type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext - common_tls_context: - tls_certificate_sds_secret_configs: + commonTlsContext: + tlsCertificateSdsSecretConfigs: - name: xds_certificate - sds_config: - path_config_source: + sdsConfig: + pathConfigSource: path: /sds/xds-certificate.json - resource_api_version: V3 - tls_params: - tls_maximum_protocol_version: TLSv1_3 - validation_context_sds_secret_config: + resourceApiVersion: V3 + tlsParams: + tlsMaximumProtocolVersion: TLSv1_3 + validationContextSdsSecretConfig: name: xds_trusted_ca - sds_config: - path_config_source: + sdsConfig: + pathConfigSource: path: /sds/xds-trusted-ca.json - resource_api_version: V3 + resourceApiVersion: V3 type: STRICT_DNS - typed_extension_protocol_options: + typedExtensionProtocolOptions: envoy.extensions.upstreams.http.v3.HttpProtocolOptions: '@type': type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions - explicit_http_config: - http2_protocol_options: {} - last_updated: "2023-02-23T09:05:23.436Z" - version_info: "2" + explicitHttpConfig: + http2ProtocolOptions: {} + lastUpdated: "2023-02-23T09:05:23.436Z" + versionInfo: "2" - '@type': type.googleapis.com/envoy.admin.v3.ListenersConfigDump - dynamic_listeners: - - active_state: - last_updated: "2023-02-23T09:05:38.446Z" + dynamicListeners: + - activeState: + lastUpdated: "2023-02-23T09:05:38.446Z" listener: '@type': type.googleapis.com/envoy.config.listener.v3.Listener - access_log: + accessLog: - filter: - response_flag_filter: + responseFlagFilter: flags: - NR name: envoy.access_loggers.file - typed_config: + typedConfig: '@type': type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: /dev/stdout address: - socket_address: + socketAddress: address: 0.0.0.0 - port_value: 10080 - default_filter_chain: + portValue: 10080 + defaultFilterChain: filters: - name: envoy.filters.network.http_connection_manager - typed_config: + typedConfig: '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager - access_log: + accessLog: - name: envoy.access_loggers.file - typed_config: + typedConfig: '@type': type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog path: /dev/stdout - http_filters: + httpFilters: - name: envoy.filters.http.router - typed_config: + typedConfig: '@type': type.googleapis.com/envoy.extensions.filters.http.router.v3.Router rds: - config_source: - api_config_source: - api_type: DELTA_GRPC - grpc_services: - - envoy_grpc: - cluster_name: xds_cluster - set_node_on_first_message_only: true - transport_api_version: V3 - resource_api_version: V3 - route_config_name: default-eg-http - stat_prefix: http - upgrade_configs: - - upgrade_type: websocket - use_remote_address: true + configSource: + apiConfigSource: + apiType: DELTA_GRPC + grpcServices: + - envoyGrpc: + clusterName: xds_cluster + setNodeOnFirstMessageOnly: true + transportApiVersion: V3 + resourceApiVersion: V3 + routeConfigName: default-eg-http + statPrefix: http + upgradeConfigs: + - upgradeType: websocket + useRemoteAddress: true name: default-eg-http - version_info: 42c71fb50c315ee3a32b327da69f8cc0baf420bc84b747e82d9c38e1b0c33eb2 + versionInfo: 42c71fb50c315ee3a32b327da69f8cc0baf420bc84b747e82d9c38e1b0c33eb2 name: default-eg-http - version_info: "2" + versionInfo: "2" - '@type': type.googleapis.com/envoy.admin.v3.ScopedRoutesConfigDump - '@type': type.googleapis.com/envoy.admin.v3.RoutesConfigDump - dynamic_route_configs: - - last_updated: "2023-02-23T09:05:38.448Z" - route_config: + dynamicRouteConfigs: + - lastUpdated: "2023-02-23T09:05:38.448Z" + routeConfig: '@type': type.googleapis.com/envoy.config.route.v3.RouteConfiguration name: default-eg-http - virtual_hosts: + virtualHosts: - domains: - '*' name: default-eg-http @@ -1252,33 +1252,33 @@ configs: - match: headers: - name: :authority - string_match: + stringMatch: exact: www.example.com prefix: / route: cluster: default-backend-rule-0-match-0-www.example.com - version_info: cb1e51997a9c3aa6f4d920f39fd5bdbd966e9382b7b6bdf42efca8c22c6c3442 + versionInfo: cb1e51997a9c3aa6f4d920f39fd5bdbd966e9382b7b6bdf42efca8c22c6c3442 - '@type': type.googleapis.com/envoy.admin.v3.SecretsConfigDump - dynamic_active_secrets: - - last_updated: "2023-02-23T09:05:23.442Z" + dynamicActiveSecrets: + - lastUpdated: "2023-02-23T09:05:23.442Z" name: xds_certificate secret: '@type': type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret name: xds_certificate - tls_certificate: - certificate_chain: - inline_bytes: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLekNDQWhPZ0F3SUJBZ0lFTnJRVi9qQU5CZ2txaGtpRzl3MEJBUXNGQURBc01SWXdGQVlEVlFRREV3MWwKYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEVlFRRkV3azFOalE0TXpRek9EVXdIaGNOTWpNd01qRTNNRE0wTVRJNApXaGNOTWpRd01qRTRNRE0wTVRJNFdqQU1NUW93Q0FZRFZRUUREQUVxTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBUThBTUlJQkNnS0NBUUVBNmdNSTJSNElEeE5mQ2o1YmZHU1hVUjF4YkVjRjE5VXlhVC9VUEZZcFltM0gKN2c4T3Z6YWRlelFyRkt3dG9PWWFDN0hjam8zVnVHSmhqSDQ1Z3lVbWFzSEg1Q1gzaWFlRlhxQXdVQjRqVTZQSgpBbElCZWlMRVdZVjN1VjMwcGlKK09DWFhrUEQzSFFVb0ZYbnljcHM3OE9PbjZoS0wwNUY0YkJsT2UrMFdIUHdECll2dFQ4TEdpVmcrSkxhR2lxaGgxOXY5endwQUd2akI2Z09kN1BjdkNQNFExUHdkMWdMSnNXVFNweGhDUEVPb2kKV2ZSOG56RERVUHU5aXc2QTJObW1XQ1FxSVNYcDlZUmJMTEdjZnV4VURjcFVYMHpqY0xvcE1sajBnM0RkYVpWRwpzNm9JcW9BSjZ6MFhvdWwrM0ZZdUtJYy8rT1V3VkR1VkI4K0ZRZzlYdlFJREFRQUJvM1V3Y3pBT0JnTlZIUThCCkFmOEVCQU1DQlBBd0hRWURWUjBPQkJZRUZKaUJ3cytVaFRlT2p1L1ZXT29LQWNTSmZBeXVNQjhHQTFVZEl3UVkKTUJhQUZCT3kvOGkxeVMxRWxpN0tNK0gyeXZEM1BJMG1NQ0VHQTFVZEVRUWFNQmlDRmlvdVpXNTJiM2t0WjJGMApaWGRoZVMxemVYTjBaVzB3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUZraHdIakZtQWxqdEpheU54WitodURGCm5UdWd0REZvSTBFT2J0cUhLYnloWU9sdlNFdkhxbFNQSHNRUUhmQnQwbHpOOEtGUTd2YWxTSHRBZStlNzBETHkKaGY3TDQ3eklST3NLcmtmb0tjMjRqaUhNQkVwbCtJdjllU1RWVG9WemxzazVZUGxET2lrMzZpRUY3WDVVZ0RheApsVllZZnpSYzRUb0poODMwT285Wm9pai9LM295dVNXcTVGRzVFWExmeW9tQzZPQ3dxRm5GNzRSM21FTjVheDRlCnppVm5QVDNxVmFZdytzNngwSVhHU282U2M3Q2lUbmMrckFNa3FJNVNsK2p5RHhKTkZBQlIvRllCcTQzK1B1UGkKN0YxOEw0N2l3aVFFYU82NUJzU2hlYmg1Qk1VbytDdzIyM3JsMGRpTldwY3FrdVhtT1BWNDlrWkZkdHpFNytVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - private_key: - inline_bytes: W3JlZGFjdGVkXQ== - - last_updated: "2023-02-23T09:05:23.447Z" + tlsCertificate: + certificateChain: + inlineBytes: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLekNDQWhPZ0F3SUJBZ0lFTnJRVi9qQU5CZ2txaGtpRzl3MEJBUXNGQURBc01SWXdGQVlEVlFRREV3MWwKYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEVlFRRkV3azFOalE0TXpRek9EVXdIaGNOTWpNd01qRTNNRE0wTVRJNApXaGNOTWpRd01qRTRNRE0wTVRJNFdqQU1NUW93Q0FZRFZRUUREQUVxTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBUThBTUlJQkNnS0NBUUVBNmdNSTJSNElEeE5mQ2o1YmZHU1hVUjF4YkVjRjE5VXlhVC9VUEZZcFltM0gKN2c4T3Z6YWRlelFyRkt3dG9PWWFDN0hjam8zVnVHSmhqSDQ1Z3lVbWFzSEg1Q1gzaWFlRlhxQXdVQjRqVTZQSgpBbElCZWlMRVdZVjN1VjMwcGlKK09DWFhrUEQzSFFVb0ZYbnljcHM3OE9PbjZoS0wwNUY0YkJsT2UrMFdIUHdECll2dFQ4TEdpVmcrSkxhR2lxaGgxOXY5endwQUd2akI2Z09kN1BjdkNQNFExUHdkMWdMSnNXVFNweGhDUEVPb2kKV2ZSOG56RERVUHU5aXc2QTJObW1XQ1FxSVNYcDlZUmJMTEdjZnV4VURjcFVYMHpqY0xvcE1sajBnM0RkYVpWRwpzNm9JcW9BSjZ6MFhvdWwrM0ZZdUtJYy8rT1V3VkR1VkI4K0ZRZzlYdlFJREFRQUJvM1V3Y3pBT0JnTlZIUThCCkFmOEVCQU1DQlBBd0hRWURWUjBPQkJZRUZKaUJ3cytVaFRlT2p1L1ZXT29LQWNTSmZBeXVNQjhHQTFVZEl3UVkKTUJhQUZCT3kvOGkxeVMxRWxpN0tNK0gyeXZEM1BJMG1NQ0VHQTFVZEVRUWFNQmlDRmlvdVpXNTJiM2t0WjJGMApaWGRoZVMxemVYTjBaVzB3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUZraHdIakZtQWxqdEpheU54WitodURGCm5UdWd0REZvSTBFT2J0cUhLYnloWU9sdlNFdkhxbFNQSHNRUUhmQnQwbHpOOEtGUTd2YWxTSHRBZStlNzBETHkKaGY3TDQ3eklST3NLcmtmb0tjMjRqaUhNQkVwbCtJdjllU1RWVG9WemxzazVZUGxET2lrMzZpRUY3WDVVZ0RheApsVllZZnpSYzRUb0poODMwT285Wm9pai9LM295dVNXcTVGRzVFWExmeW9tQzZPQ3dxRm5GNzRSM21FTjVheDRlCnppVm5QVDNxVmFZdytzNngwSVhHU282U2M3Q2lUbmMrckFNa3FJNVNsK2p5RHhKTkZBQlIvRllCcTQzK1B1UGkKN0YxOEw0N2l3aVFFYU82NUJzU2hlYmg1Qk1VbytDdzIyM3JsMGRpTldwY3FrdVhtT1BWNDlrWkZkdHpFNytVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + privateKey: + inlineBytes: W3JlZGFjdGVkXQ== + - lastUpdated: "2023-02-23T09:05:23.447Z" name: xds_trusted_ca secret: '@type': type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret name: xds_trusted_ca - validation_context: - match_typed_subject_alt_names: + validationContext: + matchTypedSubjectAltNames: - matcher: exact: envoy-gateway - san_type: DNS - trusted_ca: - inline_bytes: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHRENDQWdDZ0F3SUJBZ0lFSWFxd1VUQU5CZ2txaGtpRzl3MEJBUXNGQURBc01SWXdGQVlEVlFRREV3MWwKYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEVlFRRkV3azFOalE0TXpRek9EVXdIaGNOTWpNd01qRTNNRE0wTVRJNApXaGNOTWpRd01qRTRNRE0wTVRJNFdqQXNNUll3RkFZRFZRUURFdzFsYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEClZRUUZFd2sxTmpRNE16UXpPRFV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRDIKeFMrNkRWY2FvbHFkVVBzTHZwNUtQMEQyV0hrTkVEY0tPeml3bzZNYm9wczFLYWJnNXVYSVl5T21JRWNTTXNKNwpHbVAxMlJjK0J3V1dFWXRrTHVPU3BwQm1lSjN3aDRrUlVRVTRTemRFU1dDcU40RTNpcTJib3FFVm53SkFGQ1ZpCldldGVjZkZsODZFalliQUxxSnRCbGJCbFFQM1ZMZ1hva0VVamJ4QmFobE1wZitUWkVJNFBuam1zUWN5a21LeXIKaDJwdmM3cnZYb29HTlhTM0Q0eFc1VDY3dmxLYi94UlM3c2gwTkJEU0dtTE1jY2pxWFZXazVOR2lBWVB3dXBWSwpTWG02dnZXUFZCdEd1bkZhS0JSRGx4TlJrb0wzRUN6UkNtenoxR2ZYMGJkSm1leElOM2VIUFBRdkd0M0txeUlnCkgrYnc0OXpqdlVUb2dNcXFpTlcvQWdNQkFBR2pRakJBTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQQmdOVkhSTUIKQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRVHN2L0l0Y2t0UkpZdXlqUGg5c3J3OXp5TkpqQU5CZ2txaGtpRwo5dzBCQVFzRkFBT0NBUUVBd2dvZEsxalhVWFZDVXBTSjE0cEo3S3ZobWZPT1hkaVNISmNSSzlIUzI1c2xwOWN2CkJDSndmWUZmanJ4Rmc5TnV4aVpiM01oVXk5MDBqenBPdk1QWStEeUxFWFVxTGd5ZlBMUzYveVliem8yZHdwdzMKOCtrTXlsQUFlZmtaSW9oT0VhYSsvNFFBVVVGZVp1a1B6bmF6RzZIWnZKQkNxWVdRNXBaSSt3WTI1dzhEU0VOMgpkOCswVkpzWU5IdUk4aXhneGZhUkRycW5LRHBMUGJ3Z3VaRDl6ZkV3dVFaNG1oeEd0Vk1wR0NLSndscWFhdXJ0CkF5aGhzOXBHNERndkpSY1BLeFY4bndRdzZtSm55dkIxcExxTW1aQTVqZWhxbFNvUGVpWUlBMk1neU83cTVPYmMKL040bzBNTVdvZ1piRWR6aTBnTXJRT2lpNE41Q0ZlakVrYStIMmc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + sanType: DNS + trustedCa: + inlineBytes: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHRENDQWdDZ0F3SUJBZ0lFSWFxd1VUQU5CZ2txaGtpRzl3MEJBUXNGQURBc01SWXdGQVlEVlFRREV3MWwKYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEVlFRRkV3azFOalE0TXpRek9EVXdIaGNOTWpNd01qRTNNRE0wTVRJNApXaGNOTWpRd01qRTRNRE0wTVRJNFdqQXNNUll3RkFZRFZRUURFdzFsYm5admVTMW5ZWFJsZDJGNU1SSXdFQVlEClZRUUZFd2sxTmpRNE16UXpPRFV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRDIKeFMrNkRWY2FvbHFkVVBzTHZwNUtQMEQyV0hrTkVEY0tPeml3bzZNYm9wczFLYWJnNXVYSVl5T21JRWNTTXNKNwpHbVAxMlJjK0J3V1dFWXRrTHVPU3BwQm1lSjN3aDRrUlVRVTRTemRFU1dDcU40RTNpcTJib3FFVm53SkFGQ1ZpCldldGVjZkZsODZFalliQUxxSnRCbGJCbFFQM1ZMZ1hva0VVamJ4QmFobE1wZitUWkVJNFBuam1zUWN5a21LeXIKaDJwdmM3cnZYb29HTlhTM0Q0eFc1VDY3dmxLYi94UlM3c2gwTkJEU0dtTE1jY2pxWFZXazVOR2lBWVB3dXBWSwpTWG02dnZXUFZCdEd1bkZhS0JSRGx4TlJrb0wzRUN6UkNtenoxR2ZYMGJkSm1leElOM2VIUFBRdkd0M0txeUlnCkgrYnc0OXpqdlVUb2dNcXFpTlcvQWdNQkFBR2pRakJBTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQQmdOVkhSTUIKQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRVHN2L0l0Y2t0UkpZdXlqUGg5c3J3OXp5TkpqQU5CZ2txaGtpRwo5dzBCQVFzRkFBT0NBUUVBd2dvZEsxalhVWFZDVXBTSjE0cEo3S3ZobWZPT1hkaVNISmNSSzlIUzI1c2xwOWN2CkJDSndmWUZmanJ4Rmc5TnV4aVpiM01oVXk5MDBqenBPdk1QWStEeUxFWFVxTGd5ZlBMUzYveVliem8yZHdwdzMKOCtrTXlsQUFlZmtaSW9oT0VhYSsvNFFBVVVGZVp1a1B6bmF6RzZIWnZKQkNxWVdRNXBaSSt3WTI1dzhEU0VOMgpkOCswVkpzWU5IdUk4aXhneGZhUkRycW5LRHBMUGJ3Z3VaRDl6ZkV3dVFaNG1oeEd0Vk1wR0NLSndscWFhdXJ0CkF5aGhzOXBHNERndkpSY1BLeFY4bndRdzZtSm55dkIxcExxTW1aQTVqZWhxbFNvUGVpWUlBMk1neU83cTVPYmMKL040bzBNTVdvZ1piRWR6aTBnTXJRT2lpNE41Q0ZlakVrYStIMmc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== diff --git a/internal/cmd/egctl/testdata/config/out/out.bootstrap.json b/internal/cmd/egctl/testdata/config/out/out.bootstrap.json new file mode 100644 index 00000000000..e8a56bf0a90 --- /dev/null +++ b/internal/cmd/egctl/testdata/config/out/out.bootstrap.json @@ -0,0 +1 @@ +{"@type":"type.googleapis.com/envoy.admin.v3.BootstrapConfigDump", "bootstrap":{"node":{"userAgentName":"envoy", "userAgentBuildVersion":{"version":{"majorNumber":1, "minorNumber":26}, "metadata":{"build.label":"dev", "build.type":"RELEASE", "revision.sha":"14111e3c62d3d38b0c921cb7011fd0a94e880aed", "revision.status":"Clean", "ssl.version":"BoringSSL"}}, "extensions":[{"name":"envoy.filters.connection_pools.tcp.generic", "category":"envoy.upstreams", "typeUrls":["envoy.extensions.upstreams.tcp.generic.v3.GenericConnectionPoolProto"]}, {"name":"envoy.rate_limit_descriptors.expr", "category":"envoy.rate_limit_descriptors", "typeUrls":["envoy.extensions.rate_limit_descriptors.expr.v3.Descriptor"]}, {"name":"envoy.matching.inputs.destination_ip", "category":"envoy.matching.http.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DestinationIPInput"]}, {"name":"envoy.matching.inputs.destination_port", "category":"envoy.matching.http.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DestinationPortInput"]}, {"name":"envoy.matching.inputs.direct_source_ip", "category":"envoy.matching.http.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DirectSourceIPInput"]}, {"name":"envoy.matching.inputs.dns_san", "category":"envoy.matching.http.input", "typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.DnsSanInput"]}, {"name":"envoy.matching.inputs.request_headers", "category":"envoy.matching.http.input", "typeUrls":["envoy.type.matcher.v3.HttpRequestHeaderMatchInput"]}, {"name":"envoy.matching.inputs.request_trailers", "category":"envoy.matching.http.input", "typeUrls":["envoy.type.matcher.v3.HttpRequestTrailerMatchInput"]}, {"name":"envoy.matching.inputs.response_headers", "category":"envoy.matching.http.input", "typeUrls":["envoy.type.matcher.v3.HttpResponseHeaderMatchInput"]}, {"name":"envoy.matching.inputs.response_trailers", "category":"envoy.matching.http.input", "typeUrls":["envoy.type.matcher.v3.HttpResponseTrailerMatchInput"]}, {"name":"envoy.matching.inputs.server_name", "category":"envoy.matching.http.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.ServerNameInput"]}, {"name":"envoy.matching.inputs.source_ip", "category":"envoy.matching.http.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourceIPInput"]}, {"name":"envoy.matching.inputs.source_port", "category":"envoy.matching.http.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourcePortInput"]}, {"name":"envoy.matching.inputs.source_type", "category":"envoy.matching.http.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourceTypeInput"]}, {"name":"envoy.matching.inputs.status_code_class_input", "category":"envoy.matching.http.input", "typeUrls":["envoy.type.matcher.v3.HttpResponseStatusCodeClassMatchInput"]}, {"name":"envoy.matching.inputs.status_code_input", "category":"envoy.matching.http.input", "typeUrls":["envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput"]}, {"name":"envoy.matching.inputs.subject", "category":"envoy.matching.http.input", "typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.SubjectInput"]}, {"name":"envoy.matching.inputs.uri_san", "category":"envoy.matching.http.input", "typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.UriSanInput"]}, {"name":"query_params", "category":"envoy.matching.http.input", "typeUrls":["envoy.type.matcher.v3.HttpRequestQueryParamMatchInput"]}, {"name":"envoy.tls.cert_validator.default", "category":"envoy.tls.cert_validator"}, {"name":"envoy.tls.cert_validator.spiffe", "category":"envoy.tls.cert_validator"}, {"name":"envoy.path.match.uri_template.uri_template_matcher", "category":"envoy.path.match", "typeUrls":["envoy.extensions.path.match.uri_template.v3.UriTemplateMatchConfig"]}, {"name":"envoy.http.original_ip_detection.custom_header", "category":"envoy.http.original_ip_detection", "typeUrls":["envoy.extensions.http.original_ip_detection.custom_header.v3.CustomHeaderConfig"]}, {"name":"envoy.http.original_ip_detection.xff", "category":"envoy.http.original_ip_detection", "typeUrls":["envoy.extensions.http.original_ip_detection.xff.v3.XffConfig"]}, {"name":"envoy.buffer", "category":"envoy.filters.http.upstream"}, {"name":"envoy.filters.http.admission_control", "category":"envoy.filters.http.upstream", "typeUrls":["envoy.extensions.filters.http.admission_control.v3.AdmissionControl"]}, {"name":"envoy.filters.http.buffer", "category":"envoy.filters.http.upstream", "typeUrls":["envoy.extensions.filters.http.buffer.v3.Buffer", "envoy.extensions.filters.http.buffer.v3.BufferPerRoute"]}, {"name":"envoy.filters.http.upstream_codec", "category":"envoy.filters.http.upstream", "typeUrls":["envoy.extensions.filters.http.upstream_codec.v3.UpstreamCodec"]}, {"name":"envoy.route.early_data_policy.default", "category":"envoy.route.early_data_policy", "typeUrls":["envoy.extensions.early_data.v3.DefaultEarlyDataPolicy"]}, {"name":"envoy.compression.brotli.compressor", "category":"envoy.compression.compressor", "typeUrls":["envoy.extensions.compression.brotli.compressor.v3.Brotli"]}, {"name":"envoy.compression.gzip.compressor", "category":"envoy.compression.compressor", "typeUrls":["envoy.extensions.compression.gzip.compressor.v3.Gzip"]}, {"name":"envoy.compression.zstd.compressor", "category":"envoy.compression.compressor", "typeUrls":["envoy.extensions.compression.zstd.compressor.v3.Zstd"]}, {"name":"envoy.compression.brotli.decompressor", "category":"envoy.compression.decompressor", "typeUrls":["envoy.extensions.compression.brotli.decompressor.v3.Brotli"]}, {"name":"envoy.compression.gzip.decompressor", "category":"envoy.compression.decompressor", "typeUrls":["envoy.extensions.compression.gzip.decompressor.v3.Gzip"]}, {"name":"envoy.compression.zstd.decompressor", "category":"envoy.compression.decompressor", "typeUrls":["envoy.extensions.compression.zstd.decompressor.v3.Zstd"]}, {"name":"envoy.wasm.runtime.null", "category":"envoy.wasm.runtime"}, {"name":"envoy.wasm.runtime.v8", "category":"envoy.wasm.runtime"}, {"name":"envoy.dog_statsd", "category":"envoy.stats_sinks"}, {"name":"envoy.graphite_statsd", "category":"envoy.stats_sinks"}, {"name":"envoy.metrics_service", "category":"envoy.stats_sinks"}, {"name":"envoy.stat_sinks.dog_statsd", "category":"envoy.stats_sinks", "typeUrls":["envoy.config.metrics.v3.DogStatsdSink"]}, {"name":"envoy.stat_sinks.graphite_statsd", "category":"envoy.stats_sinks", "typeUrls":["envoy.extensions.stat_sinks.graphite_statsd.v3.GraphiteStatsdSink"]}, {"name":"envoy.stat_sinks.hystrix", "category":"envoy.stats_sinks", "typeUrls":["envoy.config.metrics.v3.HystrixSink"]}, {"name":"envoy.stat_sinks.metrics_service", "category":"envoy.stats_sinks", "typeUrls":["envoy.config.metrics.v3.MetricsServiceConfig"]}, {"name":"envoy.stat_sinks.statsd", "category":"envoy.stats_sinks", "typeUrls":["envoy.config.metrics.v3.StatsdSink"]}, {"name":"envoy.stat_sinks.wasm", "category":"envoy.stats_sinks", "typeUrls":["envoy.extensions.stat_sinks.wasm.v3.Wasm"]}, {"name":"envoy.statsd", "category":"envoy.stats_sinks"}, {"name":"envoy.path.rewrite.uri_template.uri_template_rewriter", "category":"envoy.path.rewrite", "typeUrls":["envoy.extensions.path.rewrite.uri_template.v3.UriTemplateRewriteConfig"]}, {"name":"envoy.extensions.http.custom_response.local_response_policy", "category":"envoy.http.custom_response", "typeUrls":["envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy"]}, {"name":"envoy.extensions.http.custom_response.redirect_policy", "category":"envoy.http.custom_response", "typeUrls":["envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy"]}, {"name":"envoy.matching.actions.format_string", "category":"envoy.matching.action", "typeUrls":["envoy.config.core.v3.SubstitutionFormatString"]}, {"name":"filter-chain-name", "category":"envoy.matching.action", "typeUrls":["google.protobuf.StringValue"]}, {"name":"envoy.quic.deterministic_connection_id_generator", "category":"envoy.quic.connection_id_generator", "typeUrls":["envoy.extensions.quic.connection_id_generator.v3.DeterministicConnectionIdGeneratorConfig"]}, {"name":"envoy.network.dns_resolver.cares", "category":"envoy.network.dns_resolver", "typeUrls":["envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig"]}, {"name":"envoy.network.dns_resolver.getaddrinfo", "category":"envoy.network.dns_resolver", "typeUrls":["envoy.extensions.network.dns_resolver.getaddrinfo.v3.GetAddrInfoDnsResolverConfig"]}, {"name":"envoy.bootstrap.internal_listener", "category":"envoy.bootstrap", "typeUrls":["envoy.extensions.bootstrap.internal_listener.v3.InternalListener"]}, {"name":"envoy.bootstrap.wasm", "category":"envoy.bootstrap", "typeUrls":["envoy.extensions.wasm.v3.WasmService"]}, {"name":"envoy.extensions.network.socket_interface.default_socket_interface", "category":"envoy.bootstrap", "typeUrls":["envoy.extensions.network.socket_interface.v3.DefaultSocketInterface"]}, {"name":"envoy.filters.listener.http_inspector", "category":"envoy.filters.listener", "typeUrls":["envoy.extensions.filters.listener.http_inspector.v3.HttpInspector"]}, {"name":"envoy.filters.listener.original_dst", "category":"envoy.filters.listener", "typeUrls":["envoy.extensions.filters.listener.original_dst.v3.OriginalDst"]}, {"name":"envoy.filters.listener.original_src", "category":"envoy.filters.listener", "typeUrls":["envoy.extensions.filters.listener.original_src.v3.OriginalSrc"]}, {"name":"envoy.filters.listener.proxy_protocol", "category":"envoy.filters.listener", "typeUrls":["envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol"]}, {"name":"envoy.filters.listener.tls_inspector", "category":"envoy.filters.listener", "typeUrls":["envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector"]}, {"name":"envoy.listener.http_inspector", "category":"envoy.filters.listener"}, {"name":"envoy.listener.original_dst", "category":"envoy.filters.listener"}, {"name":"envoy.listener.original_src", "category":"envoy.filters.listener"}, {"name":"envoy.listener.proxy_protocol", "category":"envoy.filters.listener"}, {"name":"envoy.listener.tls_inspector", "category":"envoy.filters.listener"}, {"name":"envoy.matching.common_inputs.environment_variable", "category":"envoy.matching.common_inputs", "typeUrls":["envoy.extensions.matching.common_inputs.environment_variable.v3.Config"]}, {"name":"envoy.matching.matchers.consistent_hashing", "category":"envoy.matching.input_matchers", "typeUrls":["envoy.extensions.matching.input_matchers.consistent_hashing.v3.ConsistentHashing"]}, {"name":"envoy.matching.matchers.ip", "category":"envoy.matching.input_matchers", "typeUrls":["envoy.extensions.matching.input_matchers.ip.v3.Ip"]}, {"name":"envoy.grpc_credentials.aws_iam", "category":"envoy.grpc_credentials"}, {"name":"envoy.grpc_credentials.default", "category":"envoy.grpc_credentials"}, {"name":"envoy.grpc_credentials.file_based_metadata", "category":"envoy.grpc_credentials"}, {"name":"envoy.request_id.uuid", "category":"envoy.request_id", "typeUrls":["envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig"]}, {"name":"envoy.load_balancing_policies.least_request", "category":"envoy.load_balancing_policies", "typeUrls":["envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest"]}, {"name":"envoy.load_balancing_policies.maglev", "category":"envoy.load_balancing_policies", "typeUrls":["envoy.extensions.load_balancing_policies.maglev.v3.Maglev"]}, {"name":"envoy.load_balancing_policies.random", "category":"envoy.load_balancing_policies", "typeUrls":["envoy.extensions.load_balancing_policies.random.v3.Random"]}, {"name":"envoy.load_balancing_policies.ring_hash", "category":"envoy.load_balancing_policies", "typeUrls":["envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash"]}, {"name":"envoy.load_balancing_policies.round_robin", "category":"envoy.load_balancing_policies", "typeUrls":["envoy.extensions.load_balancing_policies.round_robin.v3.RoundRobin"]}, {"name":"envoy.ip", "category":"envoy.resolvers"}, {"name":"envoy.bandwidth_limit", "category":"envoy.filters.http"}, {"name":"envoy.buffer", "category":"envoy.filters.http"}, {"name":"envoy.cors", "category":"envoy.filters.http"}, {"name":"envoy.csrf", "category":"envoy.filters.http"}, {"name":"envoy.ext_authz", "category":"envoy.filters.http"}, {"name":"envoy.ext_proc", "category":"envoy.filters.http"}, {"name":"envoy.fault", "category":"envoy.filters.http"}, {"name":"envoy.filters.http.adaptive_concurrency", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.adaptive_concurrency.v3.AdaptiveConcurrency"]}, {"name":"envoy.filters.http.admission_control", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.admission_control.v3.AdmissionControl"]}, {"name":"envoy.filters.http.alternate_protocols_cache", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.alternate_protocols_cache.v3.FilterConfig"]}, {"name":"envoy.filters.http.aws_lambda", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.aws_lambda.v3.Config", "envoy.extensions.filters.http.aws_lambda.v3.PerRouteConfig"]}, {"name":"envoy.filters.http.aws_request_signing", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.aws_request_signing.v3.AwsRequestSigning"]}, {"name":"envoy.filters.http.bandwidth_limit", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit"]}, {"name":"envoy.filters.http.buffer", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.buffer.v3.Buffer", "envoy.extensions.filters.http.buffer.v3.BufferPerRoute"]}, {"name":"envoy.filters.http.cache", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.cache.v3.CacheConfig"]}, {"name":"envoy.filters.http.cdn_loop", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.cdn_loop.v3.CdnLoopConfig"]}, {"name":"envoy.filters.http.composite", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.composite.v3.Composite"]}, {"name":"envoy.filters.http.compressor", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.compressor.v3.Compressor", "envoy.extensions.filters.http.compressor.v3.CompressorPerRoute"]}, {"name":"envoy.filters.http.connect_grpc_bridge", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.connect_grpc_bridge.v3.FilterConfig"]}, {"name":"envoy.filters.http.cors", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.cors.v3.Cors", "envoy.extensions.filters.http.cors.v3.CorsPolicy"]}, {"name":"envoy.filters.http.csrf", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.csrf.v3.CsrfPolicy"]}, {"name":"envoy.filters.http.custom_response", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.custom_response.v3.CustomResponse"]}, {"name":"envoy.filters.http.decompressor", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.decompressor.v3.Decompressor"]}, {"name":"envoy.filters.http.dynamic_forward_proxy", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig", "envoy.extensions.filters.http.dynamic_forward_proxy.v3.PerRouteConfig"]}, {"name":"envoy.filters.http.ext_authz", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.ext_authz.v3.ExtAuthz", "envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute"]}, {"name":"envoy.filters.http.ext_proc", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.ext_proc.v3.ExtProcPerRoute", "envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor"]}, {"name":"envoy.filters.http.fault", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.fault.v3.HTTPFault"]}, {"name":"envoy.filters.http.file_system_buffer", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.file_system_buffer.v3.FileSystemBufferFilterConfig"]}, {"name":"envoy.filters.http.gcp_authn", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig"]}, {"name":"envoy.filters.http.grpc_http1_bridge", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.grpc_http1_bridge.v3.Config"]}, {"name":"envoy.filters.http.grpc_http1_reverse_bridge", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfig", "envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfigPerRoute"]}, {"name":"envoy.filters.http.grpc_json_transcoder", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder"]}, {"name":"envoy.filters.http.grpc_stats", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.grpc_stats.v3.FilterConfig"]}, {"name":"envoy.filters.http.grpc_web", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.grpc_web.v3.GrpcWeb"]}, {"name":"envoy.filters.http.header_to_metadata", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.header_to_metadata.v3.Config"]}, {"name":"envoy.filters.http.health_check", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.health_check.v3.HealthCheck"]}, {"name":"envoy.filters.http.ip_tagging", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.ip_tagging.v3.IPTagging"]}, {"name":"envoy.filters.http.jwt_authn", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication", "envoy.extensions.filters.http.jwt_authn.v3.PerRouteConfig"]}, {"name":"envoy.filters.http.local_ratelimit", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit"]}, {"name":"envoy.filters.http.lua", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.lua.v3.Lua", "envoy.extensions.filters.http.lua.v3.LuaPerRoute"]}, {"name":"envoy.filters.http.match_delegate", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.common.matching.v3.ExtensionWithMatcher"]}, {"name":"envoy.filters.http.oauth2", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.oauth2.v3.OAuth2"]}, {"name":"envoy.filters.http.on_demand", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.on_demand.v3.OnDemand", "envoy.extensions.filters.http.on_demand.v3.PerRouteConfig"]}, {"name":"envoy.filters.http.original_src", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.original_src.v3.OriginalSrc"]}, {"name":"envoy.filters.http.rate_limit_quota", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig", "envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaOverride"]}, {"name":"envoy.filters.http.ratelimit", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.ratelimit.v3.RateLimit", "envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute"]}, {"name":"envoy.filters.http.rbac", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.rbac.v3.RBAC", "envoy.extensions.filters.http.rbac.v3.RBACPerRoute"]}, {"name":"envoy.filters.http.router", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.router.v3.Router"]}, {"name":"envoy.filters.http.set_metadata", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.set_metadata.v3.Config"]}, {"name":"envoy.filters.http.stateful_session", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.stateful_session.v3.StatefulSession", "envoy.extensions.filters.http.stateful_session.v3.StatefulSessionPerRoute"]}, {"name":"envoy.filters.http.tap", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.tap.v3.Tap"]}, {"name":"envoy.filters.http.wasm", "category":"envoy.filters.http", "typeUrls":["envoy.extensions.filters.http.wasm.v3.Wasm"]}, {"name":"envoy.grpc_http1_bridge", "category":"envoy.filters.http"}, {"name":"envoy.grpc_json_transcoder", "category":"envoy.filters.http"}, {"name":"envoy.grpc_web", "category":"envoy.filters.http"}, {"name":"envoy.health_check", "category":"envoy.filters.http"}, {"name":"envoy.ip_tagging", "category":"envoy.filters.http"}, {"name":"envoy.local_rate_limit", "category":"envoy.filters.http"}, {"name":"envoy.lua", "category":"envoy.filters.http"}, {"name":"envoy.rate_limit", "category":"envoy.filters.http"}, {"name":"envoy.router", "category":"envoy.filters.http"}, {"name":"envoy.access_loggers.file", "category":"envoy.access_loggers", "typeUrls":["envoy.extensions.access_loggers.file.v3.FileAccessLog"]}, {"name":"envoy.access_loggers.http_grpc", "category":"envoy.access_loggers", "typeUrls":["envoy.extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig"]}, {"name":"envoy.access_loggers.open_telemetry", "category":"envoy.access_loggers", "typeUrls":["envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig"]}, {"name":"envoy.access_loggers.stderr", "category":"envoy.access_loggers", "typeUrls":["envoy.extensions.access_loggers.stream.v3.StderrAccessLog"]}, {"name":"envoy.access_loggers.stdout", "category":"envoy.access_loggers", "typeUrls":["envoy.extensions.access_loggers.stream.v3.StdoutAccessLog"]}, {"name":"envoy.access_loggers.tcp_grpc", "category":"envoy.access_loggers", "typeUrls":["envoy.extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig"]}, {"name":"envoy.access_loggers.wasm", "category":"envoy.access_loggers", "typeUrls":["envoy.extensions.access_loggers.wasm.v3.WasmAccessLog"]}, {"name":"envoy.file_access_log", "category":"envoy.access_loggers"}, {"name":"envoy.http_grpc_access_log", "category":"envoy.access_loggers"}, {"name":"envoy.open_telemetry_access_log", "category":"envoy.access_loggers"}, {"name":"envoy.stderr_access_log", "category":"envoy.access_loggers"}, {"name":"envoy.stdout_access_log", "category":"envoy.access_loggers"}, {"name":"envoy.tcp_grpc_access_log", "category":"envoy.access_loggers"}, {"name":"envoy.wasm_access_log", "category":"envoy.access_loggers"}, {"name":"envoy.config.validators.minimum_clusters", "category":"envoy.config.validators"}, {"name":"envoy.config.validators.minimum_clusters_validator", "category":"envoy.config.validators", "typeUrls":["envoy.extensions.config.validators.minimum_clusters.v3.MinimumClustersValidator"]}, {"name":"envoy.http.header_validators.envoy_default", "category":"envoy.http.header_validators", "typeUrls":["envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig"]}, {"name":"dubbo.hessian2", "category":"envoy.dubbo_proxy.serializers"}, {"name":"quic.http_server_connection.default", "category":"quic.http_server_connection"}, {"name":"envoy.transport_sockets.alts", "category":"envoy.transport_sockets.downstream", "typeUrls":["envoy.extensions.transport_sockets.alts.v3.Alts"]}, {"name":"envoy.transport_sockets.quic", "category":"envoy.transport_sockets.downstream", "typeUrls":["envoy.extensions.transport_sockets.quic.v3.QuicDownstreamTransport"]}, {"name":"envoy.transport_sockets.raw_buffer", "category":"envoy.transport_sockets.downstream", "typeUrls":["envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer"]}, {"name":"envoy.transport_sockets.starttls", "category":"envoy.transport_sockets.downstream", "typeUrls":["envoy.extensions.transport_sockets.starttls.v3.StartTlsConfig"]}, {"name":"envoy.transport_sockets.tap", "category":"envoy.transport_sockets.downstream", "typeUrls":["envoy.extensions.transport_sockets.tap.v3.Tap"]}, {"name":"envoy.transport_sockets.tcp_stats", "category":"envoy.transport_sockets.downstream", "typeUrls":["envoy.extensions.transport_sockets.tcp_stats.v3.Config"]}, {"name":"envoy.transport_sockets.tls", "category":"envoy.transport_sockets.downstream", "typeUrls":["envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext"]}, {"name":"raw_buffer", "category":"envoy.transport_sockets.downstream"}, {"name":"starttls", "category":"envoy.transport_sockets.downstream"}, {"name":"tls", "category":"envoy.transport_sockets.downstream"}, {"name":"envoy.rbac.matchers.upstream_ip_port", "category":"envoy.rbac.matchers", "typeUrls":["envoy.extensions.rbac.matchers.upstream_ip_port.v3.UpstreamIpPortMatcher"]}, {"name":"envoy.key_value.file_based", "category":"envoy.common.key_value", "typeUrls":["envoy.extensions.key_value.file_based.v3.FileBasedKeyValueStoreConfig"]}, {"name":"envoy.matching.inputs.application_protocol", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.ApplicationProtocolInput"]}, {"name":"envoy.matching.inputs.destination_ip", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DestinationIPInput"]}, {"name":"envoy.matching.inputs.destination_port", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DestinationPortInput"]}, {"name":"envoy.matching.inputs.direct_source_ip", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.DirectSourceIPInput"]}, {"name":"envoy.matching.inputs.dns_san", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.DnsSanInput"]}, {"name":"envoy.matching.inputs.server_name", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.ServerNameInput"]}, {"name":"envoy.matching.inputs.source_ip", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourceIPInput"]}, {"name":"envoy.matching.inputs.source_port", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourcePortInput"]}, {"name":"envoy.matching.inputs.source_type", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.SourceTypeInput"]}, {"name":"envoy.matching.inputs.subject", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.SubjectInput"]}, {"name":"envoy.matching.inputs.transport_protocol", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.network.v3.TransportProtocolInput"]}, {"name":"envoy.matching.inputs.uri_san", "category":"envoy.matching.network.input", "typeUrls":["envoy.extensions.matching.common_inputs.ssl.v3.UriSanInput"]}, {"name":"dubbo", "category":"envoy.dubbo_proxy.protocols"}, {"name":"envoy.watchdog.abort_action", "category":"envoy.guarddog_actions", "typeUrls":["envoy.watchdog.v3.AbortActionConfig"]}, {"name":"envoy.watchdog.profile_action", "category":"envoy.guarddog_actions", "typeUrls":["envoy.extensions.watchdog.profile_action.v3.ProfileActionConfig"]}, {"name":"envoy.quic.crypto_stream.server.quiche", "category":"envoy.quic.server.crypto_stream", "typeUrls":["envoy.extensions.quic.crypto_stream.v3.CryptoServerStreamConfig"]}, {"name":"envoy.regex_engines.google_re2", "category":"envoy.regex_engines", "typeUrls":["envoy.extensions.regex_engines.v3.GoogleRE2"]}, {"name":"envoy.http.stateful_session.cookie", "category":"envoy.http.stateful_session", "typeUrls":["envoy.extensions.http.stateful_session.cookie.v3.CookieBasedSessionState"]}, {"name":"envoy.http.stateful_session.header", "category":"envoy.http.stateful_session", "typeUrls":["envoy.extensions.http.stateful_session.header.v3.HeaderBasedSessionState"]}, {"name":"envoy.matching.custom_matchers.trie_matcher", "category":"envoy.matching.network.custom_matchers", "typeUrls":["xds.type.matcher.v3.IPMatcher"]}, {"name":"envoy.udp_packet_writer.default", "category":"envoy.udp_packet_writer", "typeUrls":["envoy.extensions.udp_packet_writer.v3.UdpDefaultWriterFactory"]}, {"name":"envoy.udp_packet_writer.gso", "category":"envoy.udp_packet_writer", "typeUrls":["envoy.extensions.udp_packet_writer.v3.UdpGsoBatchWriterFactory"]}, {"name":"envoy.quic.proof_source.filter_chain", "category":"envoy.quic.proof_source", "typeUrls":["envoy.extensions.quic.proof_source.v3.ProofSourceConfig"]}, {"name":"envoy.resource_monitors.fixed_heap", "category":"envoy.resource_monitors", "typeUrls":["envoy.extensions.resource_monitors.fixed_heap.v3.FixedHeapConfig"]}, {"name":"envoy.resource_monitors.injected_resource", "category":"envoy.resource_monitors", "typeUrls":["envoy.extensions.resource_monitors.injected_resource.v3.InjectedResourceConfig"]}, {"name":"envoy.http.stateful_header_formatters.preserve_case", "category":"envoy.http.stateful_header_formatters", "typeUrls":["envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig"]}, {"name":"preserve_case", "category":"envoy.http.stateful_header_formatters"}, {"name":"envoy.filters.thrift.header_to_metadata", "category":"envoy.thrift_proxy.filters", "typeUrls":["envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata"]}, {"name":"envoy.filters.thrift.payload_to_metadata", "category":"envoy.thrift_proxy.filters", "typeUrls":["envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata"]}, {"name":"envoy.filters.thrift.rate_limit", "category":"envoy.thrift_proxy.filters", "typeUrls":["envoy.extensions.filters.network.thrift_proxy.filters.ratelimit.v3.RateLimit"]}, {"name":"envoy.filters.thrift.router", "category":"envoy.thrift_proxy.filters", "typeUrls":["envoy.extensions.filters.network.thrift_proxy.router.v3.Router"]}, {"name":"envoy.tracers.datadog", "category":"envoy.tracers", "typeUrls":["envoy.config.trace.v3.DatadogConfig"]}, {"name":"envoy.tracers.dynamic_ot", "category":"envoy.tracers", "typeUrls":["envoy.config.trace.v3.DynamicOtConfig"]}, {"name":"envoy.tracers.opencensus", "category":"envoy.tracers", "typeUrls":["envoy.config.trace.v3.OpenCensusConfig"]}, {"name":"envoy.tracers.opentelemetry", "category":"envoy.tracers", "typeUrls":["envoy.config.trace.v3.OpenTelemetryConfig"]}, {"name":"envoy.tracers.skywalking", "category":"envoy.tracers", "typeUrls":["envoy.config.trace.v3.SkyWalkingConfig"]}, {"name":"envoy.tracers.xray", "category":"envoy.tracers", "typeUrls":["envoy.config.trace.v3.XRayConfig"]}, {"name":"envoy.tracers.zipkin", "category":"envoy.tracers", "typeUrls":["envoy.config.trace.v3.ZipkinConfig"]}, {"name":"envoy.zipkin", "category":"envoy.tracers"}, {"name":"envoy.retry_priorities.previous_priorities", "category":"envoy.retry_priorities", "typeUrls":["envoy.extensions.retry.priority.previous_priorities.v3.PreviousPrioritiesConfig"]}, {"name":"envoy.http.early_header_mutation.header_mutation", "category":"envoy.http.early_header_mutation", "typeUrls":["envoy.extensions.http.early_header_mutation.header_mutation.v3.HeaderMutation"]}, {"name":"envoy.connection_handler.default", "category":"envoy.connection_handler"}, {"name":"envoy.transport_sockets.alts", "category":"envoy.transport_sockets.upstream", "typeUrls":["envoy.extensions.transport_sockets.alts.v3.Alts"]}, {"name":"envoy.transport_sockets.http_11_proxy", "category":"envoy.transport_sockets.upstream", "typeUrls":["envoy.extensions.transport_sockets.http_11_proxy.v3.Http11ProxyUpstreamTransport"]}, {"name":"envoy.transport_sockets.internal_upstream", "category":"envoy.transport_sockets.upstream", "typeUrls":["envoy.extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport"]}, {"name":"envoy.transport_sockets.quic", "category":"envoy.transport_sockets.upstream", "typeUrls":["envoy.extensions.transport_sockets.quic.v3.QuicUpstreamTransport"]}, {"name":"envoy.transport_sockets.raw_buffer", "category":"envoy.transport_sockets.upstream", "typeUrls":["envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer"]}, {"name":"envoy.transport_sockets.starttls", "category":"envoy.transport_sockets.upstream", "typeUrls":["envoy.extensions.transport_sockets.starttls.v3.UpstreamStartTlsConfig"]}, {"name":"envoy.transport_sockets.tap", "category":"envoy.transport_sockets.upstream", "typeUrls":["envoy.extensions.transport_sockets.tap.v3.Tap"]}, {"name":"envoy.transport_sockets.tcp_stats", "category":"envoy.transport_sockets.upstream", "typeUrls":["envoy.extensions.transport_sockets.tcp_stats.v3.Config"]}, {"name":"envoy.transport_sockets.tls", "category":"envoy.transport_sockets.upstream", "typeUrls":["envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext"]}, {"name":"envoy.transport_sockets.upstream_proxy_protocol", "category":"envoy.transport_sockets.upstream", "typeUrls":["envoy.extensions.transport_sockets.proxy_protocol.v3.ProxyProtocolUpstreamTransport"]}, {"name":"raw_buffer", "category":"envoy.transport_sockets.upstream"}, {"name":"starttls", "category":"envoy.transport_sockets.upstream"}, {"name":"tls", "category":"envoy.transport_sockets.upstream"}, {"name":"auto", "category":"envoy.thrift_proxy.transports"}, {"name":"framed", "category":"envoy.thrift_proxy.transports"}, {"name":"header", "category":"envoy.thrift_proxy.transports"}, {"name":"unframed", "category":"envoy.thrift_proxy.transports"}, {"name":"envoy.cluster.eds", "category":"envoy.clusters"}, {"name":"envoy.cluster.logical_dns", "category":"envoy.clusters"}, {"name":"envoy.cluster.original_dst", "category":"envoy.clusters"}, {"name":"envoy.cluster.static", "category":"envoy.clusters"}, {"name":"envoy.cluster.strict_dns", "category":"envoy.clusters"}, {"name":"envoy.clusters.aggregate", "category":"envoy.clusters"}, {"name":"envoy.clusters.dynamic_forward_proxy", "category":"envoy.clusters"}, {"name":"envoy.clusters.redis", "category":"envoy.clusters"}, {"name":"envoy.access_loggers.extension_filters.cel", "category":"envoy.access_loggers.extension_filters", "typeUrls":["envoy.extensions.access_loggers.filters.cel.v3.ExpressionFilter"]}, {"name":"auto", "category":"envoy.thrift_proxy.protocols"}, {"name":"binary", "category":"envoy.thrift_proxy.protocols"}, {"name":"binary/non-strict", "category":"envoy.thrift_proxy.protocols"}, {"name":"compact", "category":"envoy.thrift_proxy.protocols"}, {"name":"twitter", "category":"envoy.thrift_proxy.protocols"}, {"name":"envoy.extensions.upstreams.http.v3.HttpProtocolOptions", "category":"envoy.upstream_options", "typeUrls":["envoy.extensions.upstreams.http.v3.HttpProtocolOptions"]}, {"name":"envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions", "category":"envoy.upstream_options", "typeUrls":["envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions"]}, {"name":"envoy.upstreams.http.http_protocol_options", "category":"envoy.upstream_options"}, {"name":"envoy.upstreams.tcp.tcp_protocol_options", "category":"envoy.upstream_options"}, {"name":"envoy.listener_manager_impl.default", "category":"envoy.listener_manager_impl", "typeUrls":["envoy.config.listener.v3.ListenerManager"]}, {"name":"default", "category":"network.connection.client"}, {"name":"envoy_internal", "category":"network.connection.client"}, {"name":"envoy.filters.udp.dns_filter", "category":"envoy.filters.udp_listener", "typeUrls":["envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig"]}, {"name":"envoy.filters.udp_listener.udp_proxy", "category":"envoy.filters.udp_listener", "typeUrls":["envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig"]}, {"name":"envoy.extensions.http.cache.file_system_http_cache", "category":"envoy.http.cache", "typeUrls":["envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig"]}, {"name":"envoy.extensions.http.cache.simple", "category":"envoy.http.cache", "typeUrls":["envoy.extensions.http.cache.simple_http_cache.v3.SimpleHttpCacheConfig"]}, {"name":"envoy.retry_host_predicates.omit_canary_hosts", "category":"envoy.retry_host_predicates", "typeUrls":["envoy.extensions.retry.host.omit_canary_hosts.v3.OmitCanaryHostsPredicate"]}, {"name":"envoy.retry_host_predicates.omit_host_metadata", "category":"envoy.retry_host_predicates", "typeUrls":["envoy.extensions.retry.host.omit_host_metadata.v3.OmitHostMetadataConfig"]}, {"name":"envoy.retry_host_predicates.previous_hosts", "category":"envoy.retry_host_predicates", "typeUrls":["envoy.extensions.retry.host.previous_hosts.v3.PreviousHostsPredicate"]}, {"name":"envoy.formatter.metadata", "category":"envoy.formatter", "typeUrls":["envoy.extensions.formatter.metadata.v3.Metadata"]}, {"name":"envoy.formatter.req_without_query", "category":"envoy.formatter", "typeUrls":["envoy.extensions.formatter.req_without_query.v3.ReqWithoutQuery"]}, {"name":"envoy.internal_redirect_predicates.allow_listed_routes", "category":"envoy.internal_redirect_predicates", "typeUrls":["envoy.extensions.internal_redirect.allow_listed_routes.v3.AllowListedRoutesConfig"]}, {"name":"envoy.internal_redirect_predicates.previous_routes", "category":"envoy.internal_redirect_predicates", "typeUrls":["envoy.extensions.internal_redirect.previous_routes.v3.PreviousRoutesConfig"]}, {"name":"envoy.internal_redirect_predicates.safe_cross_scheme", "category":"envoy.internal_redirect_predicates", "typeUrls":["envoy.extensions.internal_redirect.safe_cross_scheme.v3.SafeCrossSchemeConfig"]}, {"name":"envoy.matching.custom_matchers.trie_matcher", "category":"envoy.matching.http.custom_matchers", "typeUrls":["xds.type.matcher.v3.IPMatcher"]}, {"name":"envoy.filters.dubbo.router", "category":"envoy.dubbo_proxy.filters", "typeUrls":["envoy.extensions.filters.network.dubbo_proxy.router.v3.Router"]}, {"name":"envoy.echo", "category":"envoy.filters.network"}, {"name":"envoy.ext_authz", "category":"envoy.filters.network"}, {"name":"envoy.filters.network.connection_limit", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.connection_limit.v3.ConnectionLimit"]}, {"name":"envoy.filters.network.direct_response", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.direct_response.v3.Config"]}, {"name":"envoy.filters.network.dubbo_proxy", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy"]}, {"name":"envoy.filters.network.echo", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.echo.v3.Echo"]}, {"name":"envoy.filters.network.ext_authz", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.ext_authz.v3.ExtAuthz"]}, {"name":"envoy.filters.network.http_connection_manager", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"]}, {"name":"envoy.filters.network.local_ratelimit", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.local_ratelimit.v3.LocalRateLimit"]}, {"name":"envoy.filters.network.mongo_proxy", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.mongo_proxy.v3.MongoProxy"]}, {"name":"envoy.filters.network.ratelimit", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.ratelimit.v3.RateLimit"]}, {"name":"envoy.filters.network.rbac", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.rbac.v3.RBAC"]}, {"name":"envoy.filters.network.redis_proxy", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.redis_proxy.v3.RedisProxy"]}, {"name":"envoy.filters.network.sni_cluster", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.sni_cluster.v3.SniCluster"]}, {"name":"envoy.filters.network.sni_dynamic_forward_proxy", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.sni_dynamic_forward_proxy.v3.FilterConfig"]}, {"name":"envoy.filters.network.tcp_proxy", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy"]}, {"name":"envoy.filters.network.thrift_proxy", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy"]}, {"name":"envoy.filters.network.wasm", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.wasm.v3.Wasm"]}, {"name":"envoy.filters.network.zookeeper_proxy", "category":"envoy.filters.network", "typeUrls":["envoy.extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy"]}, {"name":"envoy.http_connection_manager", "category":"envoy.filters.network"}, {"name":"envoy.mongo_proxy", "category":"envoy.filters.network"}, {"name":"envoy.ratelimit", "category":"envoy.filters.network"}, {"name":"envoy.redis_proxy", "category":"envoy.filters.network"}, {"name":"envoy.tcp_proxy", "category":"envoy.filters.network"}, {"name":"envoy.health_checkers.redis", "category":"envoy.health_checkers", "typeUrls":["envoy.extensions.health_checkers.redis.v3.Redis"]}, {"name":"envoy.health_checkers.thrift", "category":"envoy.health_checkers", "typeUrls":["envoy.extensions.health_checkers.thrift.v3.Thrift"]}]}, "staticResources":{"clusters":[{"name":"xds_cluster", "type":"STRICT_DNS", "connectTimeout":"1s", "loadAssignment":{"clusterName":"xds_cluster", "endpoints":[{"lbEndpoints":[{"endpoint":{"address":{"socketAddress":{"address":"envoy-gateway", "portValue":18000}}}}]}]}, "typedExtensionProtocolOptions":{"envoy.extensions.upstreams.http.v3.HttpProtocolOptions":{"@type":"type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", "explicitHttpConfig":{"http2ProtocolOptions":{}}}}, "transportSocket":{"name":"envoy.transport_sockets.tls", "typedConfig":{"@type":"type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext", "commonTlsContext":{"tlsParams":{"tlsMaximumProtocolVersion":"TLSv1_3"}, "tlsCertificateSdsSecretConfigs":[{"name":"xds_certificate", "sdsConfig":{"pathConfigSource":{"path":"/sds/xds-certificate.json"}, "resourceApiVersion":"V3"}}], "validationContextSdsSecretConfig":{"name":"xds_trusted_ca", "sdsConfig":{"pathConfigSource":{"path":"/sds/xds-trusted-ca.json"}, "resourceApiVersion":"V3"}}}}}}]}, "dynamicResources":{"ldsConfig":{"apiConfigSource":{"apiType":"DELTA_GRPC", "transportApiVersion":"V3", "grpcServices":[{"envoyGrpc":{"clusterName":"xds_cluster"}}], "setNodeOnFirstMessageOnly":true}, "resourceApiVersion":"V3"}, "cdsConfig":{"apiConfigSource":{"apiType":"DELTA_GRPC", "transportApiVersion":"V3", "grpcServices":[{"envoyGrpc":{"clusterName":"xds_cluster"}}], "setNodeOnFirstMessageOnly":true}, "resourceApiVersion":"V3"}}, "layeredRuntime":{"layers":[{"name":"runtime-0", "rtdsLayer":{"name":"runtime-0", "rtdsConfig":{"apiConfigSource":{"apiType":"DELTA_GRPC", "transportApiVersion":"V3", "grpcServices":[{"envoyGrpc":{"clusterName":"xds_cluster"}}]}, "resourceApiVersion":"V3"}}}]}, "admin":{"accessLog":[{"name":"envoy.access_loggers.file", "typedConfig":{"@type":"type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog", "path":"/dev/null"}}], "address":{"socketAddress":{"address":"127.0.0.1", "portValue":19000}}}}, "lastUpdated":"2023-02-23T09:05:23.422Z"} diff --git a/internal/cmd/egctl/testdata/config/out/out.bootstrap.yaml b/internal/cmd/egctl/testdata/config/out/out.bootstrap.yaml new file mode 100644 index 00000000000..33c129d72b4 --- /dev/null +++ b/internal/cmd/egctl/testdata/config/out/out.bootstrap.yaml @@ -0,0 +1,1120 @@ +'@type': type.googleapis.com/envoy.admin.v3.BootstrapConfigDump +bootstrap: + admin: + accessLog: + - name: envoy.access_loggers.file + typedConfig: + '@type': type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog + path: /dev/null + address: + socketAddress: + address: 127.0.0.1 + portValue: 19000 + dynamicResources: + cdsConfig: + apiConfigSource: + apiType: DELTA_GRPC + grpcServices: + - envoyGrpc: + clusterName: xds_cluster + setNodeOnFirstMessageOnly: true + transportApiVersion: V3 + resourceApiVersion: V3 + ldsConfig: + apiConfigSource: + apiType: DELTA_GRPC + grpcServices: + - envoyGrpc: + clusterName: xds_cluster + setNodeOnFirstMessageOnly: true + transportApiVersion: V3 + resourceApiVersion: V3 + layeredRuntime: + layers: + - name: runtime-0 + rtdsLayer: + name: runtime-0 + rtdsConfig: + apiConfigSource: + apiType: DELTA_GRPC + grpcServices: + - envoyGrpc: + clusterName: xds_cluster + transportApiVersion: V3 + resourceApiVersion: V3 + node: + extensions: + - category: envoy.upstreams + name: envoy.filters.connection_pools.tcp.generic + typeUrls: + - envoy.extensions.upstreams.tcp.generic.v3.GenericConnectionPoolProto + - category: envoy.rate_limit_descriptors + name: envoy.rate_limit_descriptors.expr + typeUrls: + - envoy.extensions.rate_limit_descriptors.expr.v3.Descriptor + - category: envoy.matching.http.input + name: envoy.matching.inputs.destination_ip + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.DestinationIPInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.destination_port + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.DestinationPortInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.direct_source_ip + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.DirectSourceIPInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.dns_san + typeUrls: + - envoy.extensions.matching.common_inputs.ssl.v3.DnsSanInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.request_headers + typeUrls: + - envoy.type.matcher.v3.HttpRequestHeaderMatchInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.request_trailers + typeUrls: + - envoy.type.matcher.v3.HttpRequestTrailerMatchInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.response_headers + typeUrls: + - envoy.type.matcher.v3.HttpResponseHeaderMatchInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.response_trailers + typeUrls: + - envoy.type.matcher.v3.HttpResponseTrailerMatchInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.server_name + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.ServerNameInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.source_ip + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.SourceIPInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.source_port + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.SourcePortInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.source_type + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.SourceTypeInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.status_code_class_input + typeUrls: + - envoy.type.matcher.v3.HttpResponseStatusCodeClassMatchInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.status_code_input + typeUrls: + - envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.subject + typeUrls: + - envoy.extensions.matching.common_inputs.ssl.v3.SubjectInput + - category: envoy.matching.http.input + name: envoy.matching.inputs.uri_san + typeUrls: + - envoy.extensions.matching.common_inputs.ssl.v3.UriSanInput + - category: envoy.matching.http.input + name: query_params + typeUrls: + - envoy.type.matcher.v3.HttpRequestQueryParamMatchInput + - category: envoy.tls.cert_validator + name: envoy.tls.cert_validator.default + - category: envoy.tls.cert_validator + name: envoy.tls.cert_validator.spiffe + - category: envoy.path.match + name: envoy.path.match.uri_template.uri_template_matcher + typeUrls: + - envoy.extensions.path.match.uri_template.v3.UriTemplateMatchConfig + - category: envoy.http.original_ip_detection + name: envoy.http.original_ip_detection.custom_header + typeUrls: + - envoy.extensions.http.original_ip_detection.custom_header.v3.CustomHeaderConfig + - category: envoy.http.original_ip_detection + name: envoy.http.original_ip_detection.xff + typeUrls: + - envoy.extensions.http.original_ip_detection.xff.v3.XffConfig + - category: envoy.filters.http.upstream + name: envoy.buffer + - category: envoy.filters.http.upstream + name: envoy.filters.http.admission_control + typeUrls: + - envoy.extensions.filters.http.admission_control.v3.AdmissionControl + - category: envoy.filters.http.upstream + name: envoy.filters.http.buffer + typeUrls: + - envoy.extensions.filters.http.buffer.v3.Buffer + - envoy.extensions.filters.http.buffer.v3.BufferPerRoute + - category: envoy.filters.http.upstream + name: envoy.filters.http.upstream_codec + typeUrls: + - envoy.extensions.filters.http.upstream_codec.v3.UpstreamCodec + - category: envoy.route.early_data_policy + name: envoy.route.early_data_policy.default + typeUrls: + - envoy.extensions.early_data.v3.DefaultEarlyDataPolicy + - category: envoy.compression.compressor + name: envoy.compression.brotli.compressor + typeUrls: + - envoy.extensions.compression.brotli.compressor.v3.Brotli + - category: envoy.compression.compressor + name: envoy.compression.gzip.compressor + typeUrls: + - envoy.extensions.compression.gzip.compressor.v3.Gzip + - category: envoy.compression.compressor + name: envoy.compression.zstd.compressor + typeUrls: + - envoy.extensions.compression.zstd.compressor.v3.Zstd + - category: envoy.compression.decompressor + name: envoy.compression.brotli.decompressor + typeUrls: + - envoy.extensions.compression.brotli.decompressor.v3.Brotli + - category: envoy.compression.decompressor + name: envoy.compression.gzip.decompressor + typeUrls: + - envoy.extensions.compression.gzip.decompressor.v3.Gzip + - category: envoy.compression.decompressor + name: envoy.compression.zstd.decompressor + typeUrls: + - envoy.extensions.compression.zstd.decompressor.v3.Zstd + - category: envoy.wasm.runtime + name: envoy.wasm.runtime.null + - category: envoy.wasm.runtime + name: envoy.wasm.runtime.v8 + - category: envoy.stats_sinks + name: envoy.dog_statsd + - category: envoy.stats_sinks + name: envoy.graphite_statsd + - category: envoy.stats_sinks + name: envoy.metrics_service + - category: envoy.stats_sinks + name: envoy.stat_sinks.dog_statsd + typeUrls: + - envoy.config.metrics.v3.DogStatsdSink + - category: envoy.stats_sinks + name: envoy.stat_sinks.graphite_statsd + typeUrls: + - envoy.extensions.stat_sinks.graphite_statsd.v3.GraphiteStatsdSink + - category: envoy.stats_sinks + name: envoy.stat_sinks.hystrix + typeUrls: + - envoy.config.metrics.v3.HystrixSink + - category: envoy.stats_sinks + name: envoy.stat_sinks.metrics_service + typeUrls: + - envoy.config.metrics.v3.MetricsServiceConfig + - category: envoy.stats_sinks + name: envoy.stat_sinks.statsd + typeUrls: + - envoy.config.metrics.v3.StatsdSink + - category: envoy.stats_sinks + name: envoy.stat_sinks.wasm + typeUrls: + - envoy.extensions.stat_sinks.wasm.v3.Wasm + - category: envoy.stats_sinks + name: envoy.statsd + - category: envoy.path.rewrite + name: envoy.path.rewrite.uri_template.uri_template_rewriter + typeUrls: + - envoy.extensions.path.rewrite.uri_template.v3.UriTemplateRewriteConfig + - category: envoy.http.custom_response + name: envoy.extensions.http.custom_response.local_response_policy + typeUrls: + - envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy + - category: envoy.http.custom_response + name: envoy.extensions.http.custom_response.redirect_policy + typeUrls: + - envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy + - category: envoy.matching.action + name: envoy.matching.actions.format_string + typeUrls: + - envoy.config.core.v3.SubstitutionFormatString + - category: envoy.matching.action + name: filter-chain-name + typeUrls: + - google.protobuf.StringValue + - category: envoy.quic.connection_id_generator + name: envoy.quic.deterministic_connection_id_generator + typeUrls: + - envoy.extensions.quic.connection_id_generator.v3.DeterministicConnectionIdGeneratorConfig + - category: envoy.network.dns_resolver + name: envoy.network.dns_resolver.cares + typeUrls: + - envoy.extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig + - category: envoy.network.dns_resolver + name: envoy.network.dns_resolver.getaddrinfo + typeUrls: + - envoy.extensions.network.dns_resolver.getaddrinfo.v3.GetAddrInfoDnsResolverConfig + - category: envoy.bootstrap + name: envoy.bootstrap.internal_listener + typeUrls: + - envoy.extensions.bootstrap.internal_listener.v3.InternalListener + - category: envoy.bootstrap + name: envoy.bootstrap.wasm + typeUrls: + - envoy.extensions.wasm.v3.WasmService + - category: envoy.bootstrap + name: envoy.extensions.network.socket_interface.default_socket_interface + typeUrls: + - envoy.extensions.network.socket_interface.v3.DefaultSocketInterface + - category: envoy.filters.listener + name: envoy.filters.listener.http_inspector + typeUrls: + - envoy.extensions.filters.listener.http_inspector.v3.HttpInspector + - category: envoy.filters.listener + name: envoy.filters.listener.original_dst + typeUrls: + - envoy.extensions.filters.listener.original_dst.v3.OriginalDst + - category: envoy.filters.listener + name: envoy.filters.listener.original_src + typeUrls: + - envoy.extensions.filters.listener.original_src.v3.OriginalSrc + - category: envoy.filters.listener + name: envoy.filters.listener.proxy_protocol + typeUrls: + - envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol + - category: envoy.filters.listener + name: envoy.filters.listener.tls_inspector + typeUrls: + - envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector + - category: envoy.filters.listener + name: envoy.listener.http_inspector + - category: envoy.filters.listener + name: envoy.listener.original_dst + - category: envoy.filters.listener + name: envoy.listener.original_src + - category: envoy.filters.listener + name: envoy.listener.proxy_protocol + - category: envoy.filters.listener + name: envoy.listener.tls_inspector + - category: envoy.matching.common_inputs + name: envoy.matching.common_inputs.environment_variable + typeUrls: + - envoy.extensions.matching.common_inputs.environment_variable.v3.Config + - category: envoy.matching.input_matchers + name: envoy.matching.matchers.consistent_hashing + typeUrls: + - envoy.extensions.matching.input_matchers.consistent_hashing.v3.ConsistentHashing + - category: envoy.matching.input_matchers + name: envoy.matching.matchers.ip + typeUrls: + - envoy.extensions.matching.input_matchers.ip.v3.Ip + - category: envoy.grpc_credentials + name: envoy.grpc_credentials.aws_iam + - category: envoy.grpc_credentials + name: envoy.grpc_credentials.default + - category: envoy.grpc_credentials + name: envoy.grpc_credentials.file_based_metadata + - category: envoy.request_id + name: envoy.request_id.uuid + typeUrls: + - envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig + - category: envoy.load_balancing_policies + name: envoy.load_balancing_policies.least_request + typeUrls: + - envoy.extensions.load_balancing_policies.least_request.v3.LeastRequest + - category: envoy.load_balancing_policies + name: envoy.load_balancing_policies.maglev + typeUrls: + - envoy.extensions.load_balancing_policies.maglev.v3.Maglev + - category: envoy.load_balancing_policies + name: envoy.load_balancing_policies.random + typeUrls: + - envoy.extensions.load_balancing_policies.random.v3.Random + - category: envoy.load_balancing_policies + name: envoy.load_balancing_policies.ring_hash + typeUrls: + - envoy.extensions.load_balancing_policies.ring_hash.v3.RingHash + - category: envoy.load_balancing_policies + name: envoy.load_balancing_policies.round_robin + typeUrls: + - envoy.extensions.load_balancing_policies.round_robin.v3.RoundRobin + - category: envoy.resolvers + name: envoy.ip + - category: envoy.filters.http + name: envoy.bandwidth_limit + - category: envoy.filters.http + name: envoy.buffer + - category: envoy.filters.http + name: envoy.cors + - category: envoy.filters.http + name: envoy.csrf + - category: envoy.filters.http + name: envoy.ext_authz + - category: envoy.filters.http + name: envoy.ext_proc + - category: envoy.filters.http + name: envoy.fault + - category: envoy.filters.http + name: envoy.filters.http.adaptive_concurrency + typeUrls: + - envoy.extensions.filters.http.adaptive_concurrency.v3.AdaptiveConcurrency + - category: envoy.filters.http + name: envoy.filters.http.admission_control + typeUrls: + - envoy.extensions.filters.http.admission_control.v3.AdmissionControl + - category: envoy.filters.http + name: envoy.filters.http.alternate_protocols_cache + typeUrls: + - envoy.extensions.filters.http.alternate_protocols_cache.v3.FilterConfig + - category: envoy.filters.http + name: envoy.filters.http.aws_lambda + typeUrls: + - envoy.extensions.filters.http.aws_lambda.v3.Config + - envoy.extensions.filters.http.aws_lambda.v3.PerRouteConfig + - category: envoy.filters.http + name: envoy.filters.http.aws_request_signing + typeUrls: + - envoy.extensions.filters.http.aws_request_signing.v3.AwsRequestSigning + - category: envoy.filters.http + name: envoy.filters.http.bandwidth_limit + typeUrls: + - envoy.extensions.filters.http.bandwidth_limit.v3.BandwidthLimit + - category: envoy.filters.http + name: envoy.filters.http.buffer + typeUrls: + - envoy.extensions.filters.http.buffer.v3.Buffer + - envoy.extensions.filters.http.buffer.v3.BufferPerRoute + - category: envoy.filters.http + name: envoy.filters.http.cache + typeUrls: + - envoy.extensions.filters.http.cache.v3.CacheConfig + - category: envoy.filters.http + name: envoy.filters.http.cdn_loop + typeUrls: + - envoy.extensions.filters.http.cdn_loop.v3.CdnLoopConfig + - category: envoy.filters.http + name: envoy.filters.http.composite + typeUrls: + - envoy.extensions.filters.http.composite.v3.Composite + - category: envoy.filters.http + name: envoy.filters.http.compressor + typeUrls: + - envoy.extensions.filters.http.compressor.v3.Compressor + - envoy.extensions.filters.http.compressor.v3.CompressorPerRoute + - category: envoy.filters.http + name: envoy.filters.http.connect_grpc_bridge + typeUrls: + - envoy.extensions.filters.http.connect_grpc_bridge.v3.FilterConfig + - category: envoy.filters.http + name: envoy.filters.http.cors + typeUrls: + - envoy.extensions.filters.http.cors.v3.Cors + - envoy.extensions.filters.http.cors.v3.CorsPolicy + - category: envoy.filters.http + name: envoy.filters.http.csrf + typeUrls: + - envoy.extensions.filters.http.csrf.v3.CsrfPolicy + - category: envoy.filters.http + name: envoy.filters.http.custom_response + typeUrls: + - envoy.extensions.filters.http.custom_response.v3.CustomResponse + - category: envoy.filters.http + name: envoy.filters.http.decompressor + typeUrls: + - envoy.extensions.filters.http.decompressor.v3.Decompressor + - category: envoy.filters.http + name: envoy.filters.http.dynamic_forward_proxy + typeUrls: + - envoy.extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig + - envoy.extensions.filters.http.dynamic_forward_proxy.v3.PerRouteConfig + - category: envoy.filters.http + name: envoy.filters.http.ext_authz + typeUrls: + - envoy.extensions.filters.http.ext_authz.v3.ExtAuthz + - envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute + - category: envoy.filters.http + name: envoy.filters.http.ext_proc + typeUrls: + - envoy.extensions.filters.http.ext_proc.v3.ExtProcPerRoute + - envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor + - category: envoy.filters.http + name: envoy.filters.http.fault + typeUrls: + - envoy.extensions.filters.http.fault.v3.HTTPFault + - category: envoy.filters.http + name: envoy.filters.http.file_system_buffer + typeUrls: + - envoy.extensions.filters.http.file_system_buffer.v3.FileSystemBufferFilterConfig + - category: envoy.filters.http + name: envoy.filters.http.gcp_authn + typeUrls: + - envoy.extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig + - category: envoy.filters.http + name: envoy.filters.http.grpc_http1_bridge + typeUrls: + - envoy.extensions.filters.http.grpc_http1_bridge.v3.Config + - category: envoy.filters.http + name: envoy.filters.http.grpc_http1_reverse_bridge + typeUrls: + - envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfig + - envoy.extensions.filters.http.grpc_http1_reverse_bridge.v3.FilterConfigPerRoute + - category: envoy.filters.http + name: envoy.filters.http.grpc_json_transcoder + typeUrls: + - envoy.extensions.filters.http.grpc_json_transcoder.v3.GrpcJsonTranscoder + - category: envoy.filters.http + name: envoy.filters.http.grpc_stats + typeUrls: + - envoy.extensions.filters.http.grpc_stats.v3.FilterConfig + - category: envoy.filters.http + name: envoy.filters.http.grpc_web + typeUrls: + - envoy.extensions.filters.http.grpc_web.v3.GrpcWeb + - category: envoy.filters.http + name: envoy.filters.http.header_to_metadata + typeUrls: + - envoy.extensions.filters.http.header_to_metadata.v3.Config + - category: envoy.filters.http + name: envoy.filters.http.health_check + typeUrls: + - envoy.extensions.filters.http.health_check.v3.HealthCheck + - category: envoy.filters.http + name: envoy.filters.http.ip_tagging + typeUrls: + - envoy.extensions.filters.http.ip_tagging.v3.IPTagging + - category: envoy.filters.http + name: envoy.filters.http.jwt_authn + typeUrls: + - envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication + - envoy.extensions.filters.http.jwt_authn.v3.PerRouteConfig + - category: envoy.filters.http + name: envoy.filters.http.local_ratelimit + typeUrls: + - envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit + - category: envoy.filters.http + name: envoy.filters.http.lua + typeUrls: + - envoy.extensions.filters.http.lua.v3.Lua + - envoy.extensions.filters.http.lua.v3.LuaPerRoute + - category: envoy.filters.http + name: envoy.filters.http.match_delegate + typeUrls: + - envoy.extensions.common.matching.v3.ExtensionWithMatcher + - category: envoy.filters.http + name: envoy.filters.http.oauth2 + typeUrls: + - envoy.extensions.filters.http.oauth2.v3.OAuth2 + - category: envoy.filters.http + name: envoy.filters.http.on_demand + typeUrls: + - envoy.extensions.filters.http.on_demand.v3.OnDemand + - envoy.extensions.filters.http.on_demand.v3.PerRouteConfig + - category: envoy.filters.http + name: envoy.filters.http.original_src + typeUrls: + - envoy.extensions.filters.http.original_src.v3.OriginalSrc + - category: envoy.filters.http + name: envoy.filters.http.rate_limit_quota + typeUrls: + - envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig + - envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaOverride + - category: envoy.filters.http + name: envoy.filters.http.ratelimit + typeUrls: + - envoy.extensions.filters.http.ratelimit.v3.RateLimit + - envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute + - category: envoy.filters.http + name: envoy.filters.http.rbac + typeUrls: + - envoy.extensions.filters.http.rbac.v3.RBAC + - envoy.extensions.filters.http.rbac.v3.RBACPerRoute + - category: envoy.filters.http + name: envoy.filters.http.router + typeUrls: + - envoy.extensions.filters.http.router.v3.Router + - category: envoy.filters.http + name: envoy.filters.http.set_metadata + typeUrls: + - envoy.extensions.filters.http.set_metadata.v3.Config + - category: envoy.filters.http + name: envoy.filters.http.stateful_session + typeUrls: + - envoy.extensions.filters.http.stateful_session.v3.StatefulSession + - envoy.extensions.filters.http.stateful_session.v3.StatefulSessionPerRoute + - category: envoy.filters.http + name: envoy.filters.http.tap + typeUrls: + - envoy.extensions.filters.http.tap.v3.Tap + - category: envoy.filters.http + name: envoy.filters.http.wasm + typeUrls: + - envoy.extensions.filters.http.wasm.v3.Wasm + - category: envoy.filters.http + name: envoy.grpc_http1_bridge + - category: envoy.filters.http + name: envoy.grpc_json_transcoder + - category: envoy.filters.http + name: envoy.grpc_web + - category: envoy.filters.http + name: envoy.health_check + - category: envoy.filters.http + name: envoy.ip_tagging + - category: envoy.filters.http + name: envoy.local_rate_limit + - category: envoy.filters.http + name: envoy.lua + - category: envoy.filters.http + name: envoy.rate_limit + - category: envoy.filters.http + name: envoy.router + - category: envoy.access_loggers + name: envoy.access_loggers.file + typeUrls: + - envoy.extensions.access_loggers.file.v3.FileAccessLog + - category: envoy.access_loggers + name: envoy.access_loggers.http_grpc + typeUrls: + - envoy.extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig + - category: envoy.access_loggers + name: envoy.access_loggers.open_telemetry + typeUrls: + - envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig + - category: envoy.access_loggers + name: envoy.access_loggers.stderr + typeUrls: + - envoy.extensions.access_loggers.stream.v3.StderrAccessLog + - category: envoy.access_loggers + name: envoy.access_loggers.stdout + typeUrls: + - envoy.extensions.access_loggers.stream.v3.StdoutAccessLog + - category: envoy.access_loggers + name: envoy.access_loggers.tcp_grpc + typeUrls: + - envoy.extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig + - category: envoy.access_loggers + name: envoy.access_loggers.wasm + typeUrls: + - envoy.extensions.access_loggers.wasm.v3.WasmAccessLog + - category: envoy.access_loggers + name: envoy.file_access_log + - category: envoy.access_loggers + name: envoy.http_grpc_access_log + - category: envoy.access_loggers + name: envoy.open_telemetry_access_log + - category: envoy.access_loggers + name: envoy.stderr_access_log + - category: envoy.access_loggers + name: envoy.stdout_access_log + - category: envoy.access_loggers + name: envoy.tcp_grpc_access_log + - category: envoy.access_loggers + name: envoy.wasm_access_log + - category: envoy.config.validators + name: envoy.config.validators.minimum_clusters + - category: envoy.config.validators + name: envoy.config.validators.minimum_clusters_validator + typeUrls: + - envoy.extensions.config.validators.minimum_clusters.v3.MinimumClustersValidator + - category: envoy.http.header_validators + name: envoy.http.header_validators.envoy_default + typeUrls: + - envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig + - category: envoy.dubbo_proxy.serializers + name: dubbo.hessian2 + - category: quic.http_server_connection + name: quic.http_server_connection.default + - category: envoy.transport_sockets.downstream + name: envoy.transport_sockets.alts + typeUrls: + - envoy.extensions.transport_sockets.alts.v3.Alts + - category: envoy.transport_sockets.downstream + name: envoy.transport_sockets.quic + typeUrls: + - envoy.extensions.transport_sockets.quic.v3.QuicDownstreamTransport + - category: envoy.transport_sockets.downstream + name: envoy.transport_sockets.raw_buffer + typeUrls: + - envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer + - category: envoy.transport_sockets.downstream + name: envoy.transport_sockets.starttls + typeUrls: + - envoy.extensions.transport_sockets.starttls.v3.StartTlsConfig + - category: envoy.transport_sockets.downstream + name: envoy.transport_sockets.tap + typeUrls: + - envoy.extensions.transport_sockets.tap.v3.Tap + - category: envoy.transport_sockets.downstream + name: envoy.transport_sockets.tcp_stats + typeUrls: + - envoy.extensions.transport_sockets.tcp_stats.v3.Config + - category: envoy.transport_sockets.downstream + name: envoy.transport_sockets.tls + typeUrls: + - envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext + - category: envoy.transport_sockets.downstream + name: raw_buffer + - category: envoy.transport_sockets.downstream + name: starttls + - category: envoy.transport_sockets.downstream + name: tls + - category: envoy.rbac.matchers + name: envoy.rbac.matchers.upstream_ip_port + typeUrls: + - envoy.extensions.rbac.matchers.upstream_ip_port.v3.UpstreamIpPortMatcher + - category: envoy.common.key_value + name: envoy.key_value.file_based + typeUrls: + - envoy.extensions.key_value.file_based.v3.FileBasedKeyValueStoreConfig + - category: envoy.matching.network.input + name: envoy.matching.inputs.application_protocol + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.ApplicationProtocolInput + - category: envoy.matching.network.input + name: envoy.matching.inputs.destination_ip + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.DestinationIPInput + - category: envoy.matching.network.input + name: envoy.matching.inputs.destination_port + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.DestinationPortInput + - category: envoy.matching.network.input + name: envoy.matching.inputs.direct_source_ip + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.DirectSourceIPInput + - category: envoy.matching.network.input + name: envoy.matching.inputs.dns_san + typeUrls: + - envoy.extensions.matching.common_inputs.ssl.v3.DnsSanInput + - category: envoy.matching.network.input + name: envoy.matching.inputs.server_name + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.ServerNameInput + - category: envoy.matching.network.input + name: envoy.matching.inputs.source_ip + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.SourceIPInput + - category: envoy.matching.network.input + name: envoy.matching.inputs.source_port + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.SourcePortInput + - category: envoy.matching.network.input + name: envoy.matching.inputs.source_type + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.SourceTypeInput + - category: envoy.matching.network.input + name: envoy.matching.inputs.subject + typeUrls: + - envoy.extensions.matching.common_inputs.ssl.v3.SubjectInput + - category: envoy.matching.network.input + name: envoy.matching.inputs.transport_protocol + typeUrls: + - envoy.extensions.matching.common_inputs.network.v3.TransportProtocolInput + - category: envoy.matching.network.input + name: envoy.matching.inputs.uri_san + typeUrls: + - envoy.extensions.matching.common_inputs.ssl.v3.UriSanInput + - category: envoy.dubbo_proxy.protocols + name: dubbo + - category: envoy.guarddog_actions + name: envoy.watchdog.abort_action + typeUrls: + - envoy.watchdog.v3.AbortActionConfig + - category: envoy.guarddog_actions + name: envoy.watchdog.profile_action + typeUrls: + - envoy.extensions.watchdog.profile_action.v3.ProfileActionConfig + - category: envoy.quic.server.crypto_stream + name: envoy.quic.crypto_stream.server.quiche + typeUrls: + - envoy.extensions.quic.crypto_stream.v3.CryptoServerStreamConfig + - category: envoy.regex_engines + name: envoy.regex_engines.google_re2 + typeUrls: + - envoy.extensions.regex_engines.v3.GoogleRE2 + - category: envoy.http.stateful_session + name: envoy.http.stateful_session.cookie + typeUrls: + - envoy.extensions.http.stateful_session.cookie.v3.CookieBasedSessionState + - category: envoy.http.stateful_session + name: envoy.http.stateful_session.header + typeUrls: + - envoy.extensions.http.stateful_session.header.v3.HeaderBasedSessionState + - category: envoy.matching.network.custom_matchers + name: envoy.matching.custom_matchers.trie_matcher + typeUrls: + - xds.type.matcher.v3.IPMatcher + - category: envoy.udp_packet_writer + name: envoy.udp_packet_writer.default + typeUrls: + - envoy.extensions.udp_packet_writer.v3.UdpDefaultWriterFactory + - category: envoy.udp_packet_writer + name: envoy.udp_packet_writer.gso + typeUrls: + - envoy.extensions.udp_packet_writer.v3.UdpGsoBatchWriterFactory + - category: envoy.quic.proof_source + name: envoy.quic.proof_source.filter_chain + typeUrls: + - envoy.extensions.quic.proof_source.v3.ProofSourceConfig + - category: envoy.resource_monitors + name: envoy.resource_monitors.fixed_heap + typeUrls: + - envoy.extensions.resource_monitors.fixed_heap.v3.FixedHeapConfig + - category: envoy.resource_monitors + name: envoy.resource_monitors.injected_resource + typeUrls: + - envoy.extensions.resource_monitors.injected_resource.v3.InjectedResourceConfig + - category: envoy.http.stateful_header_formatters + name: envoy.http.stateful_header_formatters.preserve_case + typeUrls: + - envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig + - category: envoy.http.stateful_header_formatters + name: preserve_case + - category: envoy.thrift_proxy.filters + name: envoy.filters.thrift.header_to_metadata + typeUrls: + - envoy.extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata + - category: envoy.thrift_proxy.filters + name: envoy.filters.thrift.payload_to_metadata + typeUrls: + - envoy.extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata + - category: envoy.thrift_proxy.filters + name: envoy.filters.thrift.rate_limit + typeUrls: + - envoy.extensions.filters.network.thrift_proxy.filters.ratelimit.v3.RateLimit + - category: envoy.thrift_proxy.filters + name: envoy.filters.thrift.router + typeUrls: + - envoy.extensions.filters.network.thrift_proxy.router.v3.Router + - category: envoy.tracers + name: envoy.tracers.datadog + typeUrls: + - envoy.config.trace.v3.DatadogConfig + - category: envoy.tracers + name: envoy.tracers.dynamic_ot + typeUrls: + - envoy.config.trace.v3.DynamicOtConfig + - category: envoy.tracers + name: envoy.tracers.opencensus + typeUrls: + - envoy.config.trace.v3.OpenCensusConfig + - category: envoy.tracers + name: envoy.tracers.opentelemetry + typeUrls: + - envoy.config.trace.v3.OpenTelemetryConfig + - category: envoy.tracers + name: envoy.tracers.skywalking + typeUrls: + - envoy.config.trace.v3.SkyWalkingConfig + - category: envoy.tracers + name: envoy.tracers.xray + typeUrls: + - envoy.config.trace.v3.XRayConfig + - category: envoy.tracers + name: envoy.tracers.zipkin + typeUrls: + - envoy.config.trace.v3.ZipkinConfig + - category: envoy.tracers + name: envoy.zipkin + - category: envoy.retry_priorities + name: envoy.retry_priorities.previous_priorities + typeUrls: + - envoy.extensions.retry.priority.previous_priorities.v3.PreviousPrioritiesConfig + - category: envoy.http.early_header_mutation + name: envoy.http.early_header_mutation.header_mutation + typeUrls: + - envoy.extensions.http.early_header_mutation.header_mutation.v3.HeaderMutation + - category: envoy.connection_handler + name: envoy.connection_handler.default + - category: envoy.transport_sockets.upstream + name: envoy.transport_sockets.alts + typeUrls: + - envoy.extensions.transport_sockets.alts.v3.Alts + - category: envoy.transport_sockets.upstream + name: envoy.transport_sockets.http_11_proxy + typeUrls: + - envoy.extensions.transport_sockets.http_11_proxy.v3.Http11ProxyUpstreamTransport + - category: envoy.transport_sockets.upstream + name: envoy.transport_sockets.internal_upstream + typeUrls: + - envoy.extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport + - category: envoy.transport_sockets.upstream + name: envoy.transport_sockets.quic + typeUrls: + - envoy.extensions.transport_sockets.quic.v3.QuicUpstreamTransport + - category: envoy.transport_sockets.upstream + name: envoy.transport_sockets.raw_buffer + typeUrls: + - envoy.extensions.transport_sockets.raw_buffer.v3.RawBuffer + - category: envoy.transport_sockets.upstream + name: envoy.transport_sockets.starttls + typeUrls: + - envoy.extensions.transport_sockets.starttls.v3.UpstreamStartTlsConfig + - category: envoy.transport_sockets.upstream + name: envoy.transport_sockets.tap + typeUrls: + - envoy.extensions.transport_sockets.tap.v3.Tap + - category: envoy.transport_sockets.upstream + name: envoy.transport_sockets.tcp_stats + typeUrls: + - envoy.extensions.transport_sockets.tcp_stats.v3.Config + - category: envoy.transport_sockets.upstream + name: envoy.transport_sockets.tls + typeUrls: + - envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext + - category: envoy.transport_sockets.upstream + name: envoy.transport_sockets.upstream_proxy_protocol + typeUrls: + - envoy.extensions.transport_sockets.proxy_protocol.v3.ProxyProtocolUpstreamTransport + - category: envoy.transport_sockets.upstream + name: raw_buffer + - category: envoy.transport_sockets.upstream + name: starttls + - category: envoy.transport_sockets.upstream + name: tls + - category: envoy.thrift_proxy.transports + name: auto + - category: envoy.thrift_proxy.transports + name: framed + - category: envoy.thrift_proxy.transports + name: header + - category: envoy.thrift_proxy.transports + name: unframed + - category: envoy.clusters + name: envoy.cluster.eds + - category: envoy.clusters + name: envoy.cluster.logical_dns + - category: envoy.clusters + name: envoy.cluster.original_dst + - category: envoy.clusters + name: envoy.cluster.static + - category: envoy.clusters + name: envoy.cluster.strict_dns + - category: envoy.clusters + name: envoy.clusters.aggregate + - category: envoy.clusters + name: envoy.clusters.dynamic_forward_proxy + - category: envoy.clusters + name: envoy.clusters.redis + - category: envoy.access_loggers.extension_filters + name: envoy.access_loggers.extension_filters.cel + typeUrls: + - envoy.extensions.access_loggers.filters.cel.v3.ExpressionFilter + - category: envoy.thrift_proxy.protocols + name: auto + - category: envoy.thrift_proxy.protocols + name: binary + - category: envoy.thrift_proxy.protocols + name: binary/non-strict + - category: envoy.thrift_proxy.protocols + name: compact + - category: envoy.thrift_proxy.protocols + name: twitter + - category: envoy.upstream_options + name: envoy.extensions.upstreams.http.v3.HttpProtocolOptions + typeUrls: + - envoy.extensions.upstreams.http.v3.HttpProtocolOptions + - category: envoy.upstream_options + name: envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions + typeUrls: + - envoy.extensions.upstreams.tcp.v3.TcpProtocolOptions + - category: envoy.upstream_options + name: envoy.upstreams.http.http_protocol_options + - category: envoy.upstream_options + name: envoy.upstreams.tcp.tcp_protocol_options + - category: envoy.listener_manager_impl + name: envoy.listener_manager_impl.default + typeUrls: + - envoy.config.listener.v3.ListenerManager + - category: network.connection.client + name: default + - category: network.connection.client + name: envoy_internal + - category: envoy.filters.udp_listener + name: envoy.filters.udp.dns_filter + typeUrls: + - envoy.extensions.filters.udp.dns_filter.v3.DnsFilterConfig + - category: envoy.filters.udp_listener + name: envoy.filters.udp_listener.udp_proxy + typeUrls: + - envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig + - category: envoy.http.cache + name: envoy.extensions.http.cache.file_system_http_cache + typeUrls: + - envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig + - category: envoy.http.cache + name: envoy.extensions.http.cache.simple + typeUrls: + - envoy.extensions.http.cache.simple_http_cache.v3.SimpleHttpCacheConfig + - category: envoy.retry_host_predicates + name: envoy.retry_host_predicates.omit_canary_hosts + typeUrls: + - envoy.extensions.retry.host.omit_canary_hosts.v3.OmitCanaryHostsPredicate + - category: envoy.retry_host_predicates + name: envoy.retry_host_predicates.omit_host_metadata + typeUrls: + - envoy.extensions.retry.host.omit_host_metadata.v3.OmitHostMetadataConfig + - category: envoy.retry_host_predicates + name: envoy.retry_host_predicates.previous_hosts + typeUrls: + - envoy.extensions.retry.host.previous_hosts.v3.PreviousHostsPredicate + - category: envoy.formatter + name: envoy.formatter.metadata + typeUrls: + - envoy.extensions.formatter.metadata.v3.Metadata + - category: envoy.formatter + name: envoy.formatter.req_without_query + typeUrls: + - envoy.extensions.formatter.req_without_query.v3.ReqWithoutQuery + - category: envoy.internal_redirect_predicates + name: envoy.internal_redirect_predicates.allow_listed_routes + typeUrls: + - envoy.extensions.internal_redirect.allow_listed_routes.v3.AllowListedRoutesConfig + - category: envoy.internal_redirect_predicates + name: envoy.internal_redirect_predicates.previous_routes + typeUrls: + - envoy.extensions.internal_redirect.previous_routes.v3.PreviousRoutesConfig + - category: envoy.internal_redirect_predicates + name: envoy.internal_redirect_predicates.safe_cross_scheme + typeUrls: + - envoy.extensions.internal_redirect.safe_cross_scheme.v3.SafeCrossSchemeConfig + - category: envoy.matching.http.custom_matchers + name: envoy.matching.custom_matchers.trie_matcher + typeUrls: + - xds.type.matcher.v3.IPMatcher + - category: envoy.dubbo_proxy.filters + name: envoy.filters.dubbo.router + typeUrls: + - envoy.extensions.filters.network.dubbo_proxy.router.v3.Router + - category: envoy.filters.network + name: envoy.echo + - category: envoy.filters.network + name: envoy.ext_authz + - category: envoy.filters.network + name: envoy.filters.network.connection_limit + typeUrls: + - envoy.extensions.filters.network.connection_limit.v3.ConnectionLimit + - category: envoy.filters.network + name: envoy.filters.network.direct_response + typeUrls: + - envoy.extensions.filters.network.direct_response.v3.Config + - category: envoy.filters.network + name: envoy.filters.network.dubbo_proxy + typeUrls: + - envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy + - category: envoy.filters.network + name: envoy.filters.network.echo + typeUrls: + - envoy.extensions.filters.network.echo.v3.Echo + - category: envoy.filters.network + name: envoy.filters.network.ext_authz + typeUrls: + - envoy.extensions.filters.network.ext_authz.v3.ExtAuthz + - category: envoy.filters.network + name: envoy.filters.network.http_connection_manager + typeUrls: + - envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager + - category: envoy.filters.network + name: envoy.filters.network.local_ratelimit + typeUrls: + - envoy.extensions.filters.network.local_ratelimit.v3.LocalRateLimit + - category: envoy.filters.network + name: envoy.filters.network.mongo_proxy + typeUrls: + - envoy.extensions.filters.network.mongo_proxy.v3.MongoProxy + - category: envoy.filters.network + name: envoy.filters.network.ratelimit + typeUrls: + - envoy.extensions.filters.network.ratelimit.v3.RateLimit + - category: envoy.filters.network + name: envoy.filters.network.rbac + typeUrls: + - envoy.extensions.filters.network.rbac.v3.RBAC + - category: envoy.filters.network + name: envoy.filters.network.redis_proxy + typeUrls: + - envoy.extensions.filters.network.redis_proxy.v3.RedisProxy + - category: envoy.filters.network + name: envoy.filters.network.sni_cluster + typeUrls: + - envoy.extensions.filters.network.sni_cluster.v3.SniCluster + - category: envoy.filters.network + name: envoy.filters.network.sni_dynamic_forward_proxy + typeUrls: + - envoy.extensions.filters.network.sni_dynamic_forward_proxy.v3.FilterConfig + - category: envoy.filters.network + name: envoy.filters.network.tcp_proxy + typeUrls: + - envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy + - category: envoy.filters.network + name: envoy.filters.network.thrift_proxy + typeUrls: + - envoy.extensions.filters.network.thrift_proxy.v3.ThriftProxy + - category: envoy.filters.network + name: envoy.filters.network.wasm + typeUrls: + - envoy.extensions.filters.network.wasm.v3.Wasm + - category: envoy.filters.network + name: envoy.filters.network.zookeeper_proxy + typeUrls: + - envoy.extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy + - category: envoy.filters.network + name: envoy.http_connection_manager + - category: envoy.filters.network + name: envoy.mongo_proxy + - category: envoy.filters.network + name: envoy.ratelimit + - category: envoy.filters.network + name: envoy.redis_proxy + - category: envoy.filters.network + name: envoy.tcp_proxy + - category: envoy.health_checkers + name: envoy.health_checkers.redis + typeUrls: + - envoy.extensions.health_checkers.redis.v3.Redis + - category: envoy.health_checkers + name: envoy.health_checkers.thrift + typeUrls: + - envoy.extensions.health_checkers.thrift.v3.Thrift + userAgentBuildVersion: + metadata: + build.label: dev + build.type: RELEASE + revision.sha: 14111e3c62d3d38b0c921cb7011fd0a94e880aed + revision.status: Clean + ssl.version: BoringSSL + version: + majorNumber: 1 + minorNumber: 26 + userAgentName: envoy + staticResources: + clusters: + - connectTimeout: 1s + loadAssignment: + clusterName: xds_cluster + endpoints: + - lbEndpoints: + - endpoint: + address: + socketAddress: + address: envoy-gateway + portValue: 18000 + name: xds_cluster + transportSocket: + name: envoy.transport_sockets.tls + typedConfig: + '@type': type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext + commonTlsContext: + tlsCertificateSdsSecretConfigs: + - name: xds_certificate + sdsConfig: + pathConfigSource: + path: /sds/xds-certificate.json + resourceApiVersion: V3 + tlsParams: + tlsMaximumProtocolVersion: TLSv1_3 + validationContextSdsSecretConfig: + name: xds_trusted_ca + sdsConfig: + pathConfigSource: + path: /sds/xds-trusted-ca.json + resourceApiVersion: V3 + type: STRICT_DNS + typedExtensionProtocolOptions: + envoy.extensions.upstreams.http.v3.HttpProtocolOptions: + '@type': type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions + explicitHttpConfig: + http2ProtocolOptions: {} +lastUpdated: "2023-02-23T09:05:23.422Z" diff --git a/internal/cmd/egctl/testdata/config/out/out.cluster.json b/internal/cmd/egctl/testdata/config/out/out.cluster.json new file mode 100644 index 00000000000..41b4cb7c8b5 --- /dev/null +++ b/internal/cmd/egctl/testdata/config/out/out.cluster.json @@ -0,0 +1 @@ +{"@type":"type.googleapis.com/envoy.admin.v3.ClustersConfigDump", "versionInfo":"2", "staticClusters":[{"cluster":{"@type":"type.googleapis.com/envoy.config.cluster.v3.Cluster", "name":"xds_cluster", "type":"STRICT_DNS", "connectTimeout":"1s", "loadAssignment":{"clusterName":"xds_cluster", "endpoints":[{"lbEndpoints":[{"endpoint":{"address":{"socketAddress":{"address":"envoy-gateway", "portValue":18000}}}}]}]}, "typedExtensionProtocolOptions":{"envoy.extensions.upstreams.http.v3.HttpProtocolOptions":{"@type":"type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", "explicitHttpConfig":{"http2ProtocolOptions":{}}}}, "transportSocket":{"name":"envoy.transport_sockets.tls", "typedConfig":{"@type":"type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext", "commonTlsContext":{"tlsParams":{"tlsMaximumProtocolVersion":"TLSv1_3"}, "tlsCertificateSdsSecretConfigs":[{"name":"xds_certificate", "sdsConfig":{"pathConfigSource":{"path":"/sds/xds-certificate.json"}, "resourceApiVersion":"V3"}}], "validationContextSdsSecretConfig":{"name":"xds_trusted_ca", "sdsConfig":{"pathConfigSource":{"path":"/sds/xds-trusted-ca.json"}, "resourceApiVersion":"V3"}}}}}}, "lastUpdated":"2023-02-23T09:05:23.436Z"}], "dynamicActiveClusters":[{"versionInfo":"2a0a1698a9d3e05b802047b0cd36b52a070afa49042e1ba267168c5265c7cabf", "cluster":{"@type":"type.googleapis.com/envoy.config.cluster.v3.Cluster", "name":"default-backend-rule-0-match-0-www.example.com", "type":"STATIC", "connectTimeout":"5s", "loadAssignment":{"clusterName":"default-backend-rule-0-match-0-www.example.com", "endpoints":[{"locality":{}, "lbEndpoints":[{"endpoint":{"address":{"socketAddress":{"address":"10.96.159.190", "portValue":3000}}}, "loadBalancingWeight":1}], "loadBalancingWeight":1}]}, "dnsLookupFamily":"V4_ONLY", "outlierDetection":{}, "commonLbConfig":{"localityWeightedLbConfig":{}}}, "lastUpdated":"2023-02-23T09:05:38.443Z"}]} diff --git a/internal/cmd/egctl/testdata/config/out/out.cluster.yaml b/internal/cmd/egctl/testdata/config/out/out.cluster.yaml new file mode 100644 index 00000000000..02d5d411f31 --- /dev/null +++ b/internal/cmd/egctl/testdata/config/out/out.cluster.yaml @@ -0,0 +1,66 @@ +'@type': type.googleapis.com/envoy.admin.v3.ClustersConfigDump +dynamicActiveClusters: +- cluster: + '@type': type.googleapis.com/envoy.config.cluster.v3.Cluster + commonLbConfig: + localityWeightedLbConfig: {} + connectTimeout: 5s + dnsLookupFamily: V4_ONLY + loadAssignment: + clusterName: default-backend-rule-0-match-0-www.example.com + endpoints: + - lbEndpoints: + - endpoint: + address: + socketAddress: + address: 10.96.159.190 + portValue: 3000 + loadBalancingWeight: 1 + loadBalancingWeight: 1 + locality: {} + name: default-backend-rule-0-match-0-www.example.com + outlierDetection: {} + type: STATIC + lastUpdated: "2023-02-23T09:05:38.443Z" + versionInfo: 2a0a1698a9d3e05b802047b0cd36b52a070afa49042e1ba267168c5265c7cabf +staticClusters: +- cluster: + '@type': type.googleapis.com/envoy.config.cluster.v3.Cluster + connectTimeout: 1s + loadAssignment: + clusterName: xds_cluster + endpoints: + - lbEndpoints: + - endpoint: + address: + socketAddress: + address: envoy-gateway + portValue: 18000 + name: xds_cluster + transportSocket: + name: envoy.transport_sockets.tls + typedConfig: + '@type': type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext + commonTlsContext: + tlsCertificateSdsSecretConfigs: + - name: xds_certificate + sdsConfig: + pathConfigSource: + path: /sds/xds-certificate.json + resourceApiVersion: V3 + tlsParams: + tlsMaximumProtocolVersion: TLSv1_3 + validationContextSdsSecretConfig: + name: xds_trusted_ca + sdsConfig: + pathConfigSource: + path: /sds/xds-trusted-ca.json + resourceApiVersion: V3 + type: STRICT_DNS + typedExtensionProtocolOptions: + envoy.extensions.upstreams.http.v3.HttpProtocolOptions: + '@type': type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions + explicitHttpConfig: + http2ProtocolOptions: {} + lastUpdated: "2023-02-23T09:05:23.436Z" +versionInfo: "2" diff --git a/internal/cmd/egctl/testdata/config/out/out.listener.json b/internal/cmd/egctl/testdata/config/out/out.listener.json new file mode 100644 index 00000000000..f3047b984f7 --- /dev/null +++ b/internal/cmd/egctl/testdata/config/out/out.listener.json @@ -0,0 +1 @@ +{"@type":"type.googleapis.com/envoy.admin.v3.ListenersConfigDump", "versionInfo":"2", "dynamicListeners":[{"name":"default-eg-http", "activeState":{"versionInfo":"42c71fb50c315ee3a32b327da69f8cc0baf420bc84b747e82d9c38e1b0c33eb2", "listener":{"@type":"type.googleapis.com/envoy.config.listener.v3.Listener", "name":"default-eg-http", "address":{"socketAddress":{"address":"0.0.0.0", "portValue":10080}}, "defaultFilterChain":{"filters":[{"name":"envoy.filters.network.http_connection_manager", "typedConfig":{"@type":"type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", "statPrefix":"http", "rds":{"configSource":{"apiConfigSource":{"apiType":"DELTA_GRPC", "transportApiVersion":"V3", "grpcServices":[{"envoyGrpc":{"clusterName":"xds_cluster"}}], "setNodeOnFirstMessageOnly":true}, "resourceApiVersion":"V3"}, "routeConfigName":"default-eg-http"}, "httpFilters":[{"name":"envoy.filters.http.router", "typedConfig":{"@type":"type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"}}], "accessLog":[{"name":"envoy.access_loggers.file", "typedConfig":{"@type":"type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog", "path":"/dev/stdout"}}], "useRemoteAddress":true, "upgradeConfigs":[{"upgradeType":"websocket"}]}}]}, "accessLog":[{"name":"envoy.access_loggers.file", "filter":{"responseFlagFilter":{"flags":["NR"]}}, "typedConfig":{"@type":"type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog", "path":"/dev/stdout"}}]}, "lastUpdated":"2023-02-23T09:05:38.446Z"}}]} diff --git a/internal/cmd/egctl/testdata/config/out/out.listener.yaml b/internal/cmd/egctl/testdata/config/out/out.listener.yaml new file mode 100644 index 00000000000..f9def4447a0 --- /dev/null +++ b/internal/cmd/egctl/testdata/config/out/out.listener.yaml @@ -0,0 +1,52 @@ +'@type': type.googleapis.com/envoy.admin.v3.ListenersConfigDump +dynamicListeners: +- activeState: + lastUpdated: "2023-02-23T09:05:38.446Z" + listener: + '@type': type.googleapis.com/envoy.config.listener.v3.Listener + accessLog: + - filter: + responseFlagFilter: + flags: + - NR + name: envoy.access_loggers.file + typedConfig: + '@type': type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog + path: /dev/stdout + address: + socketAddress: + address: 0.0.0.0 + portValue: 10080 + defaultFilterChain: + filters: + - name: envoy.filters.network.http_connection_manager + typedConfig: + '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager + accessLog: + - name: envoy.access_loggers.file + typedConfig: + '@type': type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog + path: /dev/stdout + httpFilters: + - name: envoy.filters.http.router + typedConfig: + '@type': type.googleapis.com/envoy.extensions.filters.http.router.v3.Router + rds: + configSource: + apiConfigSource: + apiType: DELTA_GRPC + grpcServices: + - envoyGrpc: + clusterName: xds_cluster + setNodeOnFirstMessageOnly: true + transportApiVersion: V3 + resourceApiVersion: V3 + routeConfigName: default-eg-http + statPrefix: http + upgradeConfigs: + - upgradeType: websocket + useRemoteAddress: true + name: default-eg-http + versionInfo: 42c71fb50c315ee3a32b327da69f8cc0baf420bc84b747e82d9c38e1b0c33eb2 + name: default-eg-http +versionInfo: "2" diff --git a/internal/cmd/egctl/testdata/config/out/out.route.json b/internal/cmd/egctl/testdata/config/out/out.route.json new file mode 100644 index 00000000000..c753a1c4285 --- /dev/null +++ b/internal/cmd/egctl/testdata/config/out/out.route.json @@ -0,0 +1 @@ +{"@type":"type.googleapis.com/envoy.admin.v3.RoutesConfigDump", "dynamicRouteConfigs":[{"versionInfo":"cb1e51997a9c3aa6f4d920f39fd5bdbd966e9382b7b6bdf42efca8c22c6c3442", "routeConfig":{"@type":"type.googleapis.com/envoy.config.route.v3.RouteConfiguration", "name":"default-eg-http", "virtualHosts":[{"name":"default-eg-http", "domains":["*"], "routes":[{"match":{"prefix":"/", "headers":[{"name":":authority", "stringMatch":{"exact":"www.example.com"}}]}, "route":{"cluster":"default-backend-rule-0-match-0-www.example.com"}}]}]}, "lastUpdated":"2023-02-23T09:05:38.448Z"}]} diff --git a/internal/cmd/egctl/testdata/config/out/out.route.yaml b/internal/cmd/egctl/testdata/config/out/out.route.yaml new file mode 100644 index 00000000000..873197e0beb --- /dev/null +++ b/internal/cmd/egctl/testdata/config/out/out.route.yaml @@ -0,0 +1,20 @@ +'@type': type.googleapis.com/envoy.admin.v3.RoutesConfigDump +dynamicRouteConfigs: +- lastUpdated: "2023-02-23T09:05:38.448Z" + routeConfig: + '@type': type.googleapis.com/envoy.config.route.v3.RouteConfiguration + name: default-eg-http + virtualHosts: + - domains: + - '*' + name: default-eg-http + routes: + - match: + headers: + - name: :authority + stringMatch: + exact: www.example.com + prefix: / + route: + cluster: default-backend-rule-0-match-0-www.example.com + versionInfo: cb1e51997a9c3aa6f4d920f39fd5bdbd966e9382b7b6bdf42efca8c22c6c3442 diff --git a/internal/cmd/egctl/testdata/in/from-gateway-api-to-xds.yaml b/internal/cmd/egctl/testdata/translate/in/from-gateway-api-to-xds.yaml similarity index 100% rename from internal/cmd/egctl/testdata/in/from-gateway-api-to-xds.yaml rename to internal/cmd/egctl/testdata/translate/in/from-gateway-api-to-xds.yaml diff --git a/internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.all.json b/internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.all.json similarity index 100% rename from internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.all.json rename to internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.all.json diff --git a/internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.all.yaml b/internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.all.yaml similarity index 100% rename from internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.all.yaml rename to internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.all.yaml diff --git a/internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.bootstrap.yaml b/internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.bootstrap.yaml similarity index 100% rename from internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.bootstrap.yaml rename to internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.bootstrap.yaml diff --git a/internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.cluster.yaml b/internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.cluster.yaml similarity index 100% rename from internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.cluster.yaml rename to internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.cluster.yaml diff --git a/internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.listener.yaml b/internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.listener.yaml similarity index 100% rename from internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.listener.yaml rename to internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.listener.yaml diff --git a/internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.route.yaml b/internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.route.yaml similarity index 100% rename from internal/cmd/egctl/testdata/out/from-gateway-api-to-xds.route.yaml rename to internal/cmd/egctl/testdata/translate/out/from-gateway-api-to-xds.route.yaml diff --git a/internal/cmd/egctl/translate.go b/internal/cmd/egctl/translate.go index b2ec8bcd91e..cc697c17ac1 100644 --- a/internal/cmd/egctl/translate.go +++ b/internal/cmd/egctl/translate.go @@ -98,16 +98,6 @@ func getValidOutputTypesStr() string { return fmt.Sprintf("Valid types are %v.", validOutputTypes()) } -type envoyConfigType string - -var ( - BootstrapEnvoyConfigType envoyConfigType = "bootstrap" - ClusterEnvoyConfigType envoyConfigType = "cluster" - ListenerEnvoyConfigType envoyConfigType = "listener" - RouteEnvoyConfigType envoyConfigType = "route" - AllEnvoyConfigType envoyConfigType = "all" -) - func validResourceTypes() []envoyConfigType { return []envoyConfigType{BootstrapEnvoyConfigType, ClusterEnvoyConfigType, @@ -227,50 +217,21 @@ func printXds(w io.Writer, key string, tCtx *xds_types.ResourceVersionTable, out var ( out, data []byte ) - switch resourceType { - case AllEnvoyConfigType: + + if resourceType == AllEnvoyConfigType { data, err = protojson.Marshal(globalConfigs) if err != nil { return err } - case BootstrapEnvoyConfigType: - for _, config := range globalConfigs.Configs { - if config.GetTypeUrl() == "type.googleapis.com/envoy.admin.v3.BootstrapConfigDump" { - data, err = protojson.Marshal(config) - if err != nil { - return err - } - } - } - case ClusterEnvoyConfigType: - for _, config := range globalConfigs.Configs { - if config.GetTypeUrl() == "type.googleapis.com/envoy.admin.v3.ClustersConfigDump" { - data, err = protojson.Marshal(config) - if err != nil { - return err - } - } - } - case ListenerEnvoyConfigType: - for _, config := range globalConfigs.Configs { - if config.GetTypeUrl() == "type.googleapis.com/envoy.admin.v3.ListenersConfigDump" { - data, err = protojson.Marshal(config) - if err != nil { - return err - } - } + } else { + config, err := findXDSResourceFromConfigDump(resourceType, globalConfigs) + if err != nil { + return err } - case RouteEnvoyConfigType: - for _, config := range globalConfigs.Configs { - if config.GetTypeUrl() == "type.googleapis.com/envoy.admin.v3.RoutesConfigDump" { - data, err = protojson.Marshal(config) - if err != nil { - return err - } - } + data, err = protojson.Marshal(config) + if err != nil { + return err } - default: - return fmt.Errorf("unknown resourceType %s", resourceType) } wrapper := map[string]any{} diff --git a/internal/cmd/egctl/translate_test.go b/internal/cmd/egctl/translate_test.go index c744e7577ff..8e45325ab28 100644 --- a/internal/cmd/egctl/translate_test.go +++ b/internal/cmd/egctl/translate_test.go @@ -104,7 +104,7 @@ func TestTranslate(t *testing.T) { "--to", tc.to, "--file", - "testdata/in/" + tc.name + ".yaml", + "testdata/translate/in/" + tc.name + ".yaml", } if tc.output == yamlOutput { @@ -143,7 +143,7 @@ func TestTranslate(t *testing.T) { func requireTestDataOutFile(t *testing.T, name ...string) string { t.Helper() - elems := append([]string{"testdata", "out"}, name...) + elems := append([]string{"testdata", "translate", "out"}, name...) content, err := os.ReadFile(filepath.Join(elems...)) require.NoError(t, err) return string(content) diff --git a/internal/cmd/egctl/utils.go b/internal/cmd/egctl/utils.go new file mode 100644 index 00000000000..11a08658503 --- /dev/null +++ b/internal/cmd/egctl/utils.go @@ -0,0 +1,51 @@ +package egctl + +import ( + "fmt" + + adminv3 "github.com/envoyproxy/go-control-plane/envoy/admin/v3" + "google.golang.org/protobuf/types/known/anypb" +) + +type envoyConfigType string + +var ( + BootstrapEnvoyConfigType envoyConfigType = "bootstrap" + ClusterEnvoyConfigType envoyConfigType = "cluster" + ListenerEnvoyConfigType envoyConfigType = "listener" + RouteEnvoyConfigType envoyConfigType = "route" + AllEnvoyConfigType envoyConfigType = "all" +) + +func findXDSResourceFromConfigDump(resourceType envoyConfigType, globalConfigs *adminv3.ConfigDump) (*anypb.Any, error) { + switch resourceType { + case BootstrapEnvoyConfigType: + for _, config := range globalConfigs.Configs { + if config.GetTypeUrl() == "type.googleapis.com/envoy.admin.v3.BootstrapConfigDump" { + return config, nil + } + } + case ClusterEnvoyConfigType: + for _, config := range globalConfigs.Configs { + if config.GetTypeUrl() == "type.googleapis.com/envoy.admin.v3.ClustersConfigDump" { + return config, nil + } + } + case ListenerEnvoyConfigType: + for _, config := range globalConfigs.Configs { + if config.GetTypeUrl() == "type.googleapis.com/envoy.admin.v3.ListenersConfigDump" { + return config, nil + } + } + case RouteEnvoyConfigType: + for _, config := range globalConfigs.Configs { + if config.GetTypeUrl() == "type.googleapis.com/envoy.admin.v3.RoutesConfigDump" { + return config, nil + } + } + default: + return nil, fmt.Errorf("unknown resourceType %s", resourceType) + } + + return nil, fmt.Errorf("unknown resourceType %s", resourceType) +} diff --git a/internal/gatewayapi/zz_generated.deepcopy.go b/internal/gatewayapi/zz_generated.deepcopy.go index 5f04ec81b95..ce081d67b4c 100644 --- a/internal/gatewayapi/zz_generated.deepcopy.go +++ b/internal/gatewayapi/zz_generated.deepcopy.go @@ -11,11 +11,12 @@ package gatewayapi import ( - configv1alpha1 "github.com/envoyproxy/gateway/api/config/v1alpha1" - "github.com/envoyproxy/gateway/api/v1alpha1" - "k8s.io/api/core/v1" + v1 "k8s.io/api/core/v1" "sigs.k8s.io/gateway-api/apis/v1alpha2" "sigs.k8s.io/gateway-api/apis/v1beta1" + + configv1alpha1 "github.com/envoyproxy/gateway/api/config/v1alpha1" + "github.com/envoyproxy/gateway/api/v1alpha1" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/tools/src/controller-gen/pin.go b/tools/src/controller-gen/pin.go index 5140b3786b5..955da716c7b 100644 --- a/tools/src/controller-gen/pin.go +++ b/tools/src/controller-gen/pin.go @@ -7,5 +7,3 @@ // +build pin package ignore - -import "sigs.k8s.io/controller-tools/cmd/controller-gen" diff --git a/tools/src/crd-ref-docs/pin.go b/tools/src/crd-ref-docs/pin.go index b07fc93eccd..955da716c7b 100644 --- a/tools/src/crd-ref-docs/pin.go +++ b/tools/src/crd-ref-docs/pin.go @@ -7,6 +7,3 @@ // +build pin package ignore - -import "github.com/elastic/crd-ref-docs" - diff --git a/tools/src/golangci-lint/pin.go b/tools/src/golangci-lint/pin.go index 1500aa4c7b9..955da716c7b 100644 --- a/tools/src/golangci-lint/pin.go +++ b/tools/src/golangci-lint/pin.go @@ -7,5 +7,3 @@ // +build pin package ignore - -import "github.com/golangci/golangci-lint/cmd/golangci-lint" diff --git a/tools/src/kind/pin.go b/tools/src/kind/pin.go index 5180e168384..955da716c7b 100644 --- a/tools/src/kind/pin.go +++ b/tools/src/kind/pin.go @@ -7,5 +7,3 @@ // +build pin package ignore - -import "sigs.k8s.io/kind" diff --git a/tools/src/kustomize/pin.go b/tools/src/kustomize/pin.go index 6e2e5e0d969..955da716c7b 100644 --- a/tools/src/kustomize/pin.go +++ b/tools/src/kustomize/pin.go @@ -7,5 +7,3 @@ // +build pin package ignore - -import "sigs.k8s.io/kustomize/kustomize/v3" diff --git a/tools/src/setup-envtest/pin.go b/tools/src/setup-envtest/pin.go index 69d708e7ea9..955da716c7b 100644 --- a/tools/src/setup-envtest/pin.go +++ b/tools/src/setup-envtest/pin.go @@ -7,5 +7,3 @@ // +build pin package ignore - -import "sigs.k8s.io/controller-runtime/tools/setup-envtest"