├── .codecov.yml ├── .github ├── dependabot.yml └── workflows │ ├── ci.yaml │ ├── codeql.yml │ ├── envoy-sync.yaml │ ├── golangci-lint.yaml │ ├── scorecard.yml │ └── stale.yaml ├── .gitignore ├── .golangci.yml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Dockerfile.ci ├── LICENSE ├── Makefile ├── Makefile.common ├── OWNERS.md ├── README.md ├── ci └── sync_envoy.sh ├── contrib ├── Makefile ├── envoy │ └── extensions │ │ ├── compression │ │ ├── qatzip │ │ │ └── compressor │ │ │ │ └── v3alpha │ │ │ │ ├── qatzip.pb.go │ │ │ │ ├── qatzip.pb.validate.go │ │ │ │ └── qatzip_vtproto.pb.go │ │ └── qatzstd │ │ │ └── compressor │ │ │ └── v3alpha │ │ │ ├── qatzstd.pb.go │ │ │ ├── qatzstd.pb.validate.go │ │ │ └── qatzstd_vtproto.pb.go │ │ ├── config │ │ └── v3alpha │ │ │ ├── kv_store_xds_delegate_config.pb.go │ │ │ ├── kv_store_xds_delegate_config.pb.validate.go │ │ │ └── kv_store_xds_delegate_config_vtproto.pb.go │ │ ├── filters │ │ ├── http │ │ │ ├── checksum │ │ │ │ └── v3alpha │ │ │ │ │ ├── checksum.pb.go │ │ │ │ │ ├── checksum.pb.validate.go │ │ │ │ │ └── checksum_vtproto.pb.go │ │ │ ├── dynamo │ │ │ │ └── v3 │ │ │ │ │ ├── dynamo.pb.go │ │ │ │ │ ├── dynamo.pb.validate.go │ │ │ │ │ └── dynamo_vtproto.pb.go │ │ │ ├── golang │ │ │ │ └── v3alpha │ │ │ │ │ ├── golang.pb.go │ │ │ │ │ ├── golang.pb.validate.go │ │ │ │ │ └── golang_vtproto.pb.go │ │ │ ├── language │ │ │ │ └── v3alpha │ │ │ │ │ ├── language.pb.go │ │ │ │ │ ├── language.pb.validate.go │ │ │ │ │ └── language_vtproto.pb.go │ │ │ ├── squash │ │ │ │ └── v3 │ │ │ │ │ ├── squash.pb.go │ │ │ │ │ ├── squash.pb.validate.go │ │ │ │ │ └── squash_vtproto.pb.go │ │ │ └── sxg │ │ │ │ └── v3alpha │ │ │ │ ├── sxg.pb.go │ │ │ │ ├── sxg.pb.validate.go │ │ │ │ └── sxg_vtproto.pb.go │ │ └── network │ │ │ ├── client_ssl_auth │ │ │ └── v3 │ │ │ │ ├── client_ssl_auth.pb.go │ │ │ │ ├── client_ssl_auth.pb.validate.go │ │ │ │ └── client_ssl_auth_vtproto.pb.go │ │ │ ├── generic_proxy │ │ │ └── codecs │ │ │ │ └── kafka │ │ │ │ └── v3 │ │ │ │ ├── kafka.pb.go │ │ │ │ ├── kafka.pb.validate.go │ │ │ │ └── kafka_vtproto.pb.go │ │ │ ├── golang │ │ │ └── v3alpha │ │ │ │ ├── golang.pb.go │ │ │ │ ├── golang.pb.validate.go │ │ │ │ └── golang_vtproto.pb.go │ │ │ ├── kafka_broker │ │ │ └── v3 │ │ │ │ ├── kafka_broker.pb.go │ │ │ │ ├── kafka_broker.pb.validate.go │ │ │ │ └── kafka_broker_vtproto.pb.go │ │ │ ├── kafka_mesh │ │ │ └── v3alpha │ │ │ │ ├── kafka_mesh.pb.go │ │ │ │ ├── kafka_mesh.pb.validate.go │ │ │ │ └── kafka_mesh_vtproto.pb.go │ │ │ ├── mysql_proxy │ │ │ └── v3 │ │ │ │ ├── mysql_proxy.pb.go │ │ │ │ ├── mysql_proxy.pb.validate.go │ │ │ │ └── mysql_proxy_vtproto.pb.go │ │ │ ├── postgres_proxy │ │ │ └── v3alpha │ │ │ │ ├── postgres_proxy.pb.go │ │ │ │ ├── postgres_proxy.pb.validate.go │ │ │ │ └── postgres_proxy_vtproto.pb.go │ │ │ ├── rocketmq_proxy │ │ │ └── v3 │ │ │ │ ├── rocketmq_proxy.pb.go │ │ │ │ ├── rocketmq_proxy.pb.validate.go │ │ │ │ ├── rocketmq_proxy_vtproto.pb.go │ │ │ │ ├── route.pb.go │ │ │ │ ├── route.pb.validate.go │ │ │ │ └── route_vtproto.pb.go │ │ │ └── sip_proxy │ │ │ ├── router │ │ │ └── v3alpha │ │ │ │ ├── router.pb.go │ │ │ │ ├── router.pb.validate.go │ │ │ │ └── router_vtproto.pb.go │ │ │ ├── tra │ │ │ └── v3alpha │ │ │ │ ├── tra.pb.go │ │ │ │ ├── tra.pb.validate.go │ │ │ │ ├── tra_grpc.pb.go │ │ │ │ └── tra_vtproto.pb.go │ │ │ └── v3alpha │ │ │ ├── route.pb.go │ │ │ ├── route.pb.validate.go │ │ │ ├── route_vtproto.pb.go │ │ │ ├── sip_proxy.pb.go │ │ │ ├── sip_proxy.pb.validate.go │ │ │ └── sip_proxy_vtproto.pb.go │ │ ├── matching │ │ └── input_matchers │ │ │ └── hyperscan │ │ │ └── v3alpha │ │ │ ├── hyperscan.pb.go │ │ │ ├── hyperscan.pb.validate.go │ │ │ └── hyperscan_vtproto.pb.go │ │ ├── network │ │ └── connection_balance │ │ │ └── dlb │ │ │ └── v3alpha │ │ │ ├── dlb.pb.go │ │ │ ├── dlb.pb.validate.go │ │ │ └── dlb_vtproto.pb.go │ │ ├── private_key_providers │ │ ├── cryptomb │ │ │ └── v3alpha │ │ │ │ ├── cryptomb.pb.go │ │ │ │ ├── cryptomb.pb.validate.go │ │ │ │ └── cryptomb_vtproto.pb.go │ │ └── qat │ │ │ └── v3alpha │ │ │ ├── qat.pb.go │ │ │ ├── qat.pb.validate.go │ │ │ └── qat_vtproto.pb.go │ │ ├── regex_engines │ │ └── hyperscan │ │ │ └── v3alpha │ │ │ ├── hyperscan.pb.go │ │ │ ├── hyperscan.pb.validate.go │ │ │ └── hyperscan_vtproto.pb.go │ │ ├── router │ │ └── cluster_specifier │ │ │ └── golang │ │ │ └── v3alpha │ │ │ ├── golang.pb.go │ │ │ ├── golang.pb.validate.go │ │ │ └── golang_vtproto.pb.go │ │ ├── tap_sinks │ │ └── udp_sink │ │ │ └── v3alpha │ │ │ ├── udp_sink.pb.go │ │ │ ├── udp_sink.pb.validate.go │ │ │ └── udp_sink_vtproto.pb.go │ │ ├── upstreams │ │ └── http │ │ │ └── tcp │ │ │ └── golang │ │ │ └── v3alpha │ │ │ ├── golang.pb.go │ │ │ ├── golang.pb.validate.go │ │ │ └── golang_vtproto.pb.go │ │ └── vcl │ │ └── v3alpha │ │ ├── vcl_socket_interface.pb.go │ │ ├── vcl_socket_interface.pb.validate.go │ │ └── vcl_socket_interface_vtproto.pb.go ├── go.mod └── go.sum ├── docs ├── README.md ├── cache.md └── server.md ├── envoy ├── COMMIT ├── Makefile ├── admin │ ├── v2alpha │ │ ├── certs.pb.go │ │ ├── certs.pb.validate.go │ │ ├── certs_vtproto.pb.go │ │ ├── clusters.pb.go │ │ ├── clusters.pb.validate.go │ │ ├── clusters_vtproto.pb.go │ │ ├── config_dump.pb.go │ │ ├── config_dump.pb.validate.go │ │ ├── config_dump_vtproto.pb.go │ │ ├── listeners.pb.go │ │ ├── listeners.pb.validate.go │ │ ├── listeners_vtproto.pb.go │ │ ├── memory.pb.go │ │ ├── memory.pb.validate.go │ │ ├── memory_vtproto.pb.go │ │ ├── metrics.pb.go │ │ ├── metrics.pb.validate.go │ │ ├── metrics_vtproto.pb.go │ │ ├── mutex_stats.pb.go │ │ ├── mutex_stats.pb.validate.go │ │ ├── mutex_stats_vtproto.pb.go │ │ ├── server_info.pb.go │ │ ├── server_info.pb.validate.go │ │ ├── server_info_vtproto.pb.go │ │ ├── tap.pb.go │ │ ├── tap.pb.validate.go │ │ └── tap_vtproto.pb.go │ └── v3 │ │ ├── certs.pb.go │ │ ├── certs.pb.validate.go │ │ ├── certs_vtproto.pb.go │ │ ├── clusters.pb.go │ │ ├── clusters.pb.validate.go │ │ ├── clusters_vtproto.pb.go │ │ ├── config_dump.pb.go │ │ ├── config_dump.pb.validate.go │ │ ├── config_dump_shared.pb.go │ │ ├── config_dump_shared.pb.validate.go │ │ ├── config_dump_shared_vtproto.pb.go │ │ ├── config_dump_vtproto.pb.go │ │ ├── init_dump.pb.go │ │ ├── init_dump.pb.validate.go │ │ ├── init_dump_vtproto.pb.go │ │ ├── listeners.pb.go │ │ ├── listeners.pb.validate.go │ │ ├── listeners_vtproto.pb.go │ │ ├── memory.pb.go │ │ ├── memory.pb.validate.go │ │ ├── memory_vtproto.pb.go │ │ ├── metrics.pb.go │ │ ├── metrics.pb.validate.go │ │ ├── metrics_vtproto.pb.go │ │ ├── mutex_stats.pb.go │ │ ├── mutex_stats.pb.validate.go │ │ ├── mutex_stats_vtproto.pb.go │ │ ├── server_info.pb.go │ │ ├── server_info.pb.validate.go │ │ ├── server_info_vtproto.pb.go │ │ ├── tap.pb.go │ │ ├── tap.pb.validate.go │ │ └── tap_vtproto.pb.go ├── annotations │ ├── deprecation.pb.go │ ├── deprecation.pb.validate.go │ ├── deprecation_vtproto.pb.go │ ├── resource.pb.go │ ├── resource.pb.validate.go │ └── resource_vtproto.pb.go ├── api │ └── v2 │ │ ├── auth │ │ ├── cert.pb.go │ │ ├── cert.pb.validate.go │ │ ├── cert_vtproto.pb.go │ │ ├── common.pb.go │ │ ├── common.pb.validate.go │ │ ├── common_vtproto.pb.go │ │ ├── secret.pb.go │ │ ├── secret.pb.validate.go │ │ ├── secret_vtproto.pb.go │ │ ├── tls.pb.go │ │ ├── tls.pb.validate.go │ │ └── tls_vtproto.pb.go │ │ ├── cds.pb.go │ │ ├── cds.pb.validate.go │ │ ├── cds_grpc.pb.go │ │ ├── cds_vtproto.pb.go │ │ ├── cluster.pb.go │ │ ├── cluster.pb.validate.go │ │ ├── cluster │ │ ├── circuit_breaker.pb.go │ │ ├── circuit_breaker.pb.validate.go │ │ ├── circuit_breaker_vtproto.pb.go │ │ ├── filter.pb.go │ │ ├── filter.pb.validate.go │ │ ├── filter_vtproto.pb.go │ │ ├── outlier_detection.pb.go │ │ ├── outlier_detection.pb.validate.go │ │ └── outlier_detection_vtproto.pb.go │ │ ├── cluster_grpc.pb.go │ │ ├── cluster_vtproto.pb.go │ │ ├── core │ │ ├── address.pb.go │ │ ├── address.pb.validate.go │ │ ├── address_vtproto.pb.go │ │ ├── backoff.pb.go │ │ ├── backoff.pb.validate.go │ │ ├── backoff_vtproto.pb.go │ │ ├── base.pb.go │ │ ├── base.pb.validate.go │ │ ├── base_vtproto.pb.go │ │ ├── config_source.pb.go │ │ ├── config_source.pb.validate.go │ │ ├── config_source_vtproto.pb.go │ │ ├── event_service_config.pb.go │ │ ├── event_service_config.pb.validate.go │ │ ├── event_service_config_vtproto.pb.go │ │ ├── grpc_method_list.pb.go │ │ ├── grpc_method_list.pb.validate.go │ │ ├── grpc_method_list_vtproto.pb.go │ │ ├── grpc_service.pb.go │ │ ├── grpc_service.pb.validate.go │ │ ├── grpc_service_vtproto.pb.go │ │ ├── health_check.pb.go │ │ ├── health_check.pb.validate.go │ │ ├── health_check_vtproto.pb.go │ │ ├── http_uri.pb.go │ │ ├── http_uri.pb.validate.go │ │ ├── http_uri_vtproto.pb.go │ │ ├── protocol.pb.go │ │ ├── protocol.pb.validate.go │ │ ├── protocol_vtproto.pb.go │ │ ├── socket_option.pb.go │ │ ├── socket_option.pb.validate.go │ │ └── socket_option_vtproto.pb.go │ │ ├── discovery.pb.go │ │ ├── discovery.pb.validate.go │ │ ├── discovery_grpc.pb.go │ │ ├── discovery_vtproto.pb.go │ │ ├── eds.pb.go │ │ ├── eds.pb.validate.go │ │ ├── eds_grpc.pb.go │ │ ├── eds_vtproto.pb.go │ │ ├── endpoint.pb.go │ │ ├── endpoint.pb.validate.go │ │ ├── endpoint │ │ ├── endpoint.pb.go │ │ ├── endpoint.pb.validate.go │ │ ├── endpoint_components.pb.go │ │ ├── endpoint_components.pb.validate.go │ │ ├── endpoint_components_vtproto.pb.go │ │ ├── endpoint_vtproto.pb.go │ │ ├── load_report.pb.go │ │ ├── load_report.pb.validate.go │ │ └── load_report_vtproto.pb.go │ │ ├── endpoint_grpc.pb.go │ │ ├── endpoint_vtproto.pb.go │ │ ├── lds.pb.go │ │ ├── lds.pb.validate.go │ │ ├── lds_grpc.pb.go │ │ ├── lds_vtproto.pb.go │ │ ├── listener.pb.go │ │ ├── listener.pb.validate.go │ │ ├── listener │ │ ├── listener.pb.go │ │ ├── listener.pb.validate.go │ │ ├── listener_components.pb.go │ │ ├── listener_components.pb.validate.go │ │ ├── listener_components_vtproto.pb.go │ │ ├── listener_vtproto.pb.go │ │ ├── quic_config.pb.go │ │ ├── quic_config.pb.validate.go │ │ ├── quic_config_vtproto.pb.go │ │ ├── udp_listener_config.pb.go │ │ ├── udp_listener_config.pb.validate.go │ │ └── udp_listener_config_vtproto.pb.go │ │ ├── listener_grpc.pb.go │ │ ├── listener_vtproto.pb.go │ │ ├── ratelimit │ │ ├── ratelimit.pb.go │ │ ├── ratelimit.pb.validate.go │ │ └── ratelimit_vtproto.pb.go │ │ ├── rds.pb.go │ │ ├── rds.pb.validate.go │ │ ├── rds_grpc.pb.go │ │ ├── rds_vtproto.pb.go │ │ ├── route.pb.go │ │ ├── route.pb.validate.go │ │ ├── route │ │ ├── route.pb.go │ │ ├── route.pb.validate.go │ │ ├── route_components.pb.go │ │ ├── route_components.pb.validate.go │ │ ├── route_components_vtproto.pb.go │ │ └── route_vtproto.pb.go │ │ ├── route_grpc.pb.go │ │ ├── route_vtproto.pb.go │ │ ├── scoped_route.pb.go │ │ ├── scoped_route.pb.validate.go │ │ ├── scoped_route_grpc.pb.go │ │ ├── scoped_route_vtproto.pb.go │ │ ├── srds.pb.go │ │ ├── srds.pb.validate.go │ │ ├── srds_grpc.pb.go │ │ └── srds_vtproto.pb.go ├── config │ ├── accesslog │ │ ├── v2 │ │ │ ├── als.pb.go │ │ │ ├── als.pb.validate.go │ │ │ ├── als_vtproto.pb.go │ │ │ ├── file.pb.go │ │ │ ├── file.pb.validate.go │ │ │ └── file_vtproto.pb.go │ │ └── v3 │ │ │ ├── accesslog.pb.go │ │ │ ├── accesslog.pb.validate.go │ │ │ └── accesslog_vtproto.pb.go │ ├── bootstrap │ │ ├── v2 │ │ │ ├── bootstrap.pb.go │ │ │ ├── bootstrap.pb.validate.go │ │ │ └── bootstrap_vtproto.pb.go │ │ └── v3 │ │ │ ├── bootstrap.pb.go │ │ │ ├── bootstrap.pb.validate.go │ │ │ └── bootstrap_vtproto.pb.go │ ├── cluster │ │ ├── aggregate │ │ │ └── v2alpha │ │ │ │ ├── cluster.pb.go │ │ │ │ ├── cluster.pb.validate.go │ │ │ │ └── cluster_vtproto.pb.go │ │ ├── dynamic_forward_proxy │ │ │ └── v2alpha │ │ │ │ ├── cluster.pb.go │ │ │ │ ├── cluster.pb.validate.go │ │ │ │ └── cluster_vtproto.pb.go │ │ ├── redis │ │ │ ├── redis_cluster.pb.go │ │ │ ├── redis_cluster.pb.validate.go │ │ │ └── redis_cluster_vtproto.pb.go │ │ └── v3 │ │ │ ├── circuit_breaker.pb.go │ │ │ ├── circuit_breaker.pb.validate.go │ │ │ ├── circuit_breaker_vtproto.pb.go │ │ │ ├── cluster.pb.go │ │ │ ├── cluster.pb.validate.go │ │ │ ├── cluster_vtproto.pb.go │ │ │ ├── filter.pb.go │ │ │ ├── filter.pb.validate.go │ │ │ ├── filter_vtproto.pb.go │ │ │ ├── outlier_detection.pb.go │ │ │ ├── outlier_detection.pb.validate.go │ │ │ └── outlier_detection_vtproto.pb.go │ ├── common │ │ ├── dynamic_forward_proxy │ │ │ └── v2alpha │ │ │ │ ├── dns_cache.pb.go │ │ │ │ ├── dns_cache.pb.validate.go │ │ │ │ └── dns_cache_vtproto.pb.go │ │ ├── key_value │ │ │ └── v3 │ │ │ │ ├── config.pb.go │ │ │ │ ├── config.pb.validate.go │ │ │ │ └── config_vtproto.pb.go │ │ ├── matcher │ │ │ └── v3 │ │ │ │ ├── matcher.pb.go │ │ │ │ ├── matcher.pb.validate.go │ │ │ │ └── matcher_vtproto.pb.go │ │ ├── mutation_rules │ │ │ └── v3 │ │ │ │ ├── mutation_rules.pb.go │ │ │ │ ├── mutation_rules.pb.validate.go │ │ │ │ └── mutation_rules_vtproto.pb.go │ │ └── tap │ │ │ └── v2alpha │ │ │ ├── common.pb.go │ │ │ ├── common.pb.validate.go │ │ │ └── common_vtproto.pb.go │ ├── core │ │ └── v3 │ │ │ ├── address.pb.go │ │ │ ├── address.pb.validate.go │ │ │ ├── address_vtproto.pb.go │ │ │ ├── backoff.pb.go │ │ │ ├── backoff.pb.validate.go │ │ │ ├── backoff_vtproto.pb.go │ │ │ ├── base.pb.go │ │ │ ├── base.pb.validate.go │ │ │ ├── base_vtproto.pb.go │ │ │ ├── config_source.pb.go │ │ │ ├── config_source.pb.validate.go │ │ │ ├── config_source_vtproto.pb.go │ │ │ ├── event_service_config.pb.go │ │ │ ├── event_service_config.pb.validate.go │ │ │ ├── event_service_config_vtproto.pb.go │ │ │ ├── extension.pb.go │ │ │ ├── extension.pb.validate.go │ │ │ ├── extension_vtproto.pb.go │ │ │ ├── grpc_method_list.pb.go │ │ │ ├── grpc_method_list.pb.validate.go │ │ │ ├── grpc_method_list_vtproto.pb.go │ │ │ ├── grpc_service.pb.go │ │ │ ├── grpc_service.pb.validate.go │ │ │ ├── grpc_service_vtproto.pb.go │ │ │ ├── health_check.pb.go │ │ │ ├── health_check.pb.validate.go │ │ │ ├── health_check_vtproto.pb.go │ │ │ ├── http_service.pb.go │ │ │ ├── http_service.pb.validate.go │ │ │ ├── http_service_vtproto.pb.go │ │ │ ├── http_uri.pb.go │ │ │ ├── http_uri.pb.validate.go │ │ │ ├── http_uri_vtproto.pb.go │ │ │ ├── protocol.pb.go │ │ │ ├── protocol.pb.validate.go │ │ │ ├── protocol_vtproto.pb.go │ │ │ ├── proxy_protocol.pb.go │ │ │ ├── proxy_protocol.pb.validate.go │ │ │ ├── proxy_protocol_vtproto.pb.go │ │ │ ├── resolver.pb.go │ │ │ ├── resolver.pb.validate.go │ │ │ ├── resolver_vtproto.pb.go │ │ │ ├── socket_cmsg_headers.pb.go │ │ │ ├── socket_cmsg_headers.pb.validate.go │ │ │ ├── socket_cmsg_headers_vtproto.pb.go │ │ │ ├── socket_option.pb.go │ │ │ ├── socket_option.pb.validate.go │ │ │ ├── socket_option_vtproto.pb.go │ │ │ ├── substitution_format_string.pb.go │ │ │ ├── substitution_format_string.pb.validate.go │ │ │ ├── substitution_format_string_vtproto.pb.go │ │ │ ├── udp_socket_config.pb.go │ │ │ ├── udp_socket_config.pb.validate.go │ │ │ └── udp_socket_config_vtproto.pb.go │ ├── endpoint │ │ └── v3 │ │ │ ├── endpoint.pb.go │ │ │ ├── endpoint.pb.validate.go │ │ │ ├── endpoint_components.pb.go │ │ │ ├── endpoint_components.pb.validate.go │ │ │ ├── endpoint_components_vtproto.pb.go │ │ │ ├── endpoint_vtproto.pb.go │ │ │ ├── load_report.pb.go │ │ │ ├── load_report.pb.validate.go │ │ │ └── load_report_vtproto.pb.go │ ├── filter │ │ ├── accesslog │ │ │ └── v2 │ │ │ │ ├── accesslog.pb.go │ │ │ │ ├── accesslog.pb.validate.go │ │ │ │ └── accesslog_vtproto.pb.go │ │ ├── dubbo │ │ │ └── router │ │ │ │ └── v2alpha1 │ │ │ │ ├── router.pb.go │ │ │ │ ├── router.pb.validate.go │ │ │ │ └── router_vtproto.pb.go │ │ ├── fault │ │ │ └── v2 │ │ │ │ ├── fault.pb.go │ │ │ │ ├── fault.pb.validate.go │ │ │ │ └── fault_vtproto.pb.go │ │ ├── http │ │ │ ├── adaptive_concurrency │ │ │ │ └── v2alpha │ │ │ │ │ ├── adaptive_concurrency.pb.go │ │ │ │ │ ├── adaptive_concurrency.pb.validate.go │ │ │ │ │ └── adaptive_concurrency_vtproto.pb.go │ │ │ ├── aws_lambda │ │ │ │ └── v2alpha │ │ │ │ │ ├── aws_lambda.pb.go │ │ │ │ │ ├── aws_lambda.pb.validate.go │ │ │ │ │ └── aws_lambda_vtproto.pb.go │ │ │ ├── aws_request_signing │ │ │ │ └── v2alpha │ │ │ │ │ ├── aws_request_signing.pb.go │ │ │ │ │ ├── aws_request_signing.pb.validate.go │ │ │ │ │ └── aws_request_signing_vtproto.pb.go │ │ │ ├── buffer │ │ │ │ └── v2 │ │ │ │ │ ├── buffer.pb.go │ │ │ │ │ ├── buffer.pb.validate.go │ │ │ │ │ └── buffer_vtproto.pb.go │ │ │ ├── cache │ │ │ │ └── v2alpha │ │ │ │ │ ├── cache.pb.go │ │ │ │ │ ├── cache.pb.validate.go │ │ │ │ │ └── cache_vtproto.pb.go │ │ │ ├── compressor │ │ │ │ └── v2 │ │ │ │ │ ├── compressor.pb.go │ │ │ │ │ ├── compressor.pb.validate.go │ │ │ │ │ └── compressor_vtproto.pb.go │ │ │ ├── cors │ │ │ │ └── v2 │ │ │ │ │ ├── cors.pb.go │ │ │ │ │ ├── cors.pb.validate.go │ │ │ │ │ └── cors_vtproto.pb.go │ │ │ ├── csrf │ │ │ │ └── v2 │ │ │ │ │ ├── csrf.pb.go │ │ │ │ │ ├── csrf.pb.validate.go │ │ │ │ │ └── csrf_vtproto.pb.go │ │ │ ├── dynamic_forward_proxy │ │ │ │ └── v2alpha │ │ │ │ │ ├── dynamic_forward_proxy.pb.go │ │ │ │ │ ├── dynamic_forward_proxy.pb.validate.go │ │ │ │ │ └── dynamic_forward_proxy_vtproto.pb.go │ │ │ ├── dynamo │ │ │ │ └── v2 │ │ │ │ │ ├── dynamo.pb.go │ │ │ │ │ ├── dynamo.pb.validate.go │ │ │ │ │ └── dynamo_vtproto.pb.go │ │ │ ├── ext_authz │ │ │ │ └── v2 │ │ │ │ │ ├── ext_authz.pb.go │ │ │ │ │ ├── ext_authz.pb.validate.go │ │ │ │ │ └── ext_authz_vtproto.pb.go │ │ │ ├── fault │ │ │ │ └── v2 │ │ │ │ │ ├── fault.pb.go │ │ │ │ │ ├── fault.pb.validate.go │ │ │ │ │ └── fault_vtproto.pb.go │ │ │ ├── grpc_http1_bridge │ │ │ │ └── v2 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── grpc_http1_reverse_bridge │ │ │ │ └── v2alpha1 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── grpc_stats │ │ │ │ └── v2alpha │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── grpc_web │ │ │ │ └── v2 │ │ │ │ │ ├── grpc_web.pb.go │ │ │ │ │ ├── grpc_web.pb.validate.go │ │ │ │ │ └── grpc_web_vtproto.pb.go │ │ │ ├── gzip │ │ │ │ └── v2 │ │ │ │ │ ├── gzip.pb.go │ │ │ │ │ ├── gzip.pb.validate.go │ │ │ │ │ └── gzip_vtproto.pb.go │ │ │ ├── header_to_metadata │ │ │ │ └── v2 │ │ │ │ │ ├── header_to_metadata.pb.go │ │ │ │ │ ├── header_to_metadata.pb.validate.go │ │ │ │ │ └── header_to_metadata_vtproto.pb.go │ │ │ ├── health_check │ │ │ │ └── v2 │ │ │ │ │ ├── health_check.pb.go │ │ │ │ │ ├── health_check.pb.validate.go │ │ │ │ │ └── health_check_vtproto.pb.go │ │ │ ├── ip_tagging │ │ │ │ └── v2 │ │ │ │ │ ├── ip_tagging.pb.go │ │ │ │ │ ├── ip_tagging.pb.validate.go │ │ │ │ │ └── ip_tagging_vtproto.pb.go │ │ │ ├── jwt_authn │ │ │ │ └── v2alpha │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── lua │ │ │ │ └── v2 │ │ │ │ │ ├── lua.pb.go │ │ │ │ │ ├── lua.pb.validate.go │ │ │ │ │ └── lua_vtproto.pb.go │ │ │ ├── on_demand │ │ │ │ └── v2 │ │ │ │ │ ├── on_demand.pb.go │ │ │ │ │ ├── on_demand.pb.validate.go │ │ │ │ │ └── on_demand_vtproto.pb.go │ │ │ ├── original_src │ │ │ │ └── v2alpha1 │ │ │ │ │ ├── original_src.pb.go │ │ │ │ │ ├── original_src.pb.validate.go │ │ │ │ │ └── original_src_vtproto.pb.go │ │ │ ├── rate_limit │ │ │ │ └── v2 │ │ │ │ │ ├── rate_limit.pb.go │ │ │ │ │ ├── rate_limit.pb.validate.go │ │ │ │ │ └── rate_limit_vtproto.pb.go │ │ │ ├── rbac │ │ │ │ └── v2 │ │ │ │ │ ├── rbac.pb.go │ │ │ │ │ ├── rbac.pb.validate.go │ │ │ │ │ └── rbac_vtproto.pb.go │ │ │ ├── router │ │ │ │ └── v2 │ │ │ │ │ ├── router.pb.go │ │ │ │ │ ├── router.pb.validate.go │ │ │ │ │ └── router_vtproto.pb.go │ │ │ ├── squash │ │ │ │ └── v2 │ │ │ │ │ ├── squash.pb.go │ │ │ │ │ ├── squash.pb.validate.go │ │ │ │ │ └── squash_vtproto.pb.go │ │ │ ├── tap │ │ │ │ └── v2alpha │ │ │ │ │ ├── tap.pb.go │ │ │ │ │ ├── tap.pb.validate.go │ │ │ │ │ └── tap_vtproto.pb.go │ │ │ └── transcoder │ │ │ │ └── v2 │ │ │ │ ├── transcoder.pb.go │ │ │ │ ├── transcoder.pb.validate.go │ │ │ │ └── transcoder_vtproto.pb.go │ │ ├── listener │ │ │ ├── http_inspector │ │ │ │ └── v2 │ │ │ │ │ ├── http_inspector.pb.go │ │ │ │ │ ├── http_inspector.pb.validate.go │ │ │ │ │ └── http_inspector_vtproto.pb.go │ │ │ ├── original_dst │ │ │ │ └── v2 │ │ │ │ │ ├── original_dst.pb.go │ │ │ │ │ ├── original_dst.pb.validate.go │ │ │ │ │ └── original_dst_vtproto.pb.go │ │ │ ├── original_src │ │ │ │ └── v2alpha1 │ │ │ │ │ ├── original_src.pb.go │ │ │ │ │ ├── original_src.pb.validate.go │ │ │ │ │ └── original_src_vtproto.pb.go │ │ │ ├── proxy_protocol │ │ │ │ └── v2 │ │ │ │ │ ├── proxy_protocol.pb.go │ │ │ │ │ ├── proxy_protocol.pb.validate.go │ │ │ │ │ └── proxy_protocol_vtproto.pb.go │ │ │ └── tls_inspector │ │ │ │ └── v2 │ │ │ │ ├── tls_inspector.pb.go │ │ │ │ ├── tls_inspector.pb.validate.go │ │ │ │ └── tls_inspector_vtproto.pb.go │ │ ├── network │ │ │ ├── client_ssl_auth │ │ │ │ └── v2 │ │ │ │ │ ├── client_ssl_auth.pb.go │ │ │ │ │ ├── client_ssl_auth.pb.validate.go │ │ │ │ │ └── client_ssl_auth_vtproto.pb.go │ │ │ ├── direct_response │ │ │ │ └── v2 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── dubbo_proxy │ │ │ │ └── v2alpha1 │ │ │ │ │ ├── dubbo_proxy.pb.go │ │ │ │ │ ├── dubbo_proxy.pb.validate.go │ │ │ │ │ ├── dubbo_proxy_vtproto.pb.go │ │ │ │ │ ├── route.pb.go │ │ │ │ │ ├── route.pb.validate.go │ │ │ │ │ └── route_vtproto.pb.go │ │ │ ├── echo │ │ │ │ └── v2 │ │ │ │ │ ├── echo.pb.go │ │ │ │ │ ├── echo.pb.validate.go │ │ │ │ │ └── echo_vtproto.pb.go │ │ │ ├── ext_authz │ │ │ │ └── v2 │ │ │ │ │ ├── ext_authz.pb.go │ │ │ │ │ ├── ext_authz.pb.validate.go │ │ │ │ │ └── ext_authz_vtproto.pb.go │ │ │ ├── http_connection_manager │ │ │ │ └── v2 │ │ │ │ │ ├── http_connection_manager.pb.go │ │ │ │ │ ├── http_connection_manager.pb.validate.go │ │ │ │ │ └── http_connection_manager_vtproto.pb.go │ │ │ ├── kafka_broker │ │ │ │ └── v2alpha1 │ │ │ │ │ ├── kafka_broker.pb.go │ │ │ │ │ ├── kafka_broker.pb.validate.go │ │ │ │ │ └── kafka_broker_vtproto.pb.go │ │ │ ├── local_rate_limit │ │ │ │ └── v2alpha │ │ │ │ │ ├── local_rate_limit.pb.go │ │ │ │ │ ├── local_rate_limit.pb.validate.go │ │ │ │ │ └── local_rate_limit_vtproto.pb.go │ │ │ ├── mongo_proxy │ │ │ │ └── v2 │ │ │ │ │ ├── mongo_proxy.pb.go │ │ │ │ │ ├── mongo_proxy.pb.validate.go │ │ │ │ │ └── mongo_proxy_vtproto.pb.go │ │ │ ├── mysql_proxy │ │ │ │ └── v1alpha1 │ │ │ │ │ ├── mysql_proxy.pb.go │ │ │ │ │ ├── mysql_proxy.pb.validate.go │ │ │ │ │ └── mysql_proxy_vtproto.pb.go │ │ │ ├── rate_limit │ │ │ │ └── v2 │ │ │ │ │ ├── rate_limit.pb.go │ │ │ │ │ ├── rate_limit.pb.validate.go │ │ │ │ │ └── rate_limit_vtproto.pb.go │ │ │ ├── rbac │ │ │ │ └── v2 │ │ │ │ │ ├── rbac.pb.go │ │ │ │ │ ├── rbac.pb.validate.go │ │ │ │ │ └── rbac_vtproto.pb.go │ │ │ ├── redis_proxy │ │ │ │ └── v2 │ │ │ │ │ ├── redis_proxy.pb.go │ │ │ │ │ ├── redis_proxy.pb.validate.go │ │ │ │ │ └── redis_proxy_vtproto.pb.go │ │ │ ├── sni_cluster │ │ │ │ └── v2 │ │ │ │ │ ├── sni_cluster.pb.go │ │ │ │ │ ├── sni_cluster.pb.validate.go │ │ │ │ │ └── sni_cluster_vtproto.pb.go │ │ │ ├── tcp_proxy │ │ │ │ └── v2 │ │ │ │ │ ├── tcp_proxy.pb.go │ │ │ │ │ ├── tcp_proxy.pb.validate.go │ │ │ │ │ └── tcp_proxy_vtproto.pb.go │ │ │ ├── thrift_proxy │ │ │ │ └── v2alpha1 │ │ │ │ │ ├── route.pb.go │ │ │ │ │ ├── route.pb.validate.go │ │ │ │ │ ├── route_vtproto.pb.go │ │ │ │ │ ├── thrift_proxy.pb.go │ │ │ │ │ ├── thrift_proxy.pb.validate.go │ │ │ │ │ └── thrift_proxy_vtproto.pb.go │ │ │ └── zookeeper_proxy │ │ │ │ └── v1alpha1 │ │ │ │ ├── zookeeper_proxy.pb.go │ │ │ │ ├── zookeeper_proxy.pb.validate.go │ │ │ │ └── zookeeper_proxy_vtproto.pb.go │ │ ├── thrift │ │ │ ├── rate_limit │ │ │ │ └── v2alpha1 │ │ │ │ │ ├── rate_limit.pb.go │ │ │ │ │ ├── rate_limit.pb.validate.go │ │ │ │ │ └── rate_limit_vtproto.pb.go │ │ │ └── router │ │ │ │ └── v2alpha1 │ │ │ │ ├── router.pb.go │ │ │ │ ├── router.pb.validate.go │ │ │ │ └── router_vtproto.pb.go │ │ └── udp │ │ │ └── udp_proxy │ │ │ └── v2alpha │ │ │ ├── udp_proxy.pb.go │ │ │ ├── udp_proxy.pb.validate.go │ │ │ └── udp_proxy_vtproto.pb.go │ ├── grpc_credential │ │ ├── v2alpha │ │ │ ├── aws_iam.pb.go │ │ │ ├── aws_iam.pb.validate.go │ │ │ ├── aws_iam_vtproto.pb.go │ │ │ ├── file_based_metadata.pb.go │ │ │ ├── file_based_metadata.pb.validate.go │ │ │ └── file_based_metadata_vtproto.pb.go │ │ └── v3 │ │ │ ├── file_based_metadata.pb.go │ │ │ ├── file_based_metadata.pb.validate.go │ │ │ └── file_based_metadata_vtproto.pb.go │ ├── health_checker │ │ └── redis │ │ │ └── v2 │ │ │ ├── redis.pb.go │ │ │ ├── redis.pb.validate.go │ │ │ └── redis_vtproto.pb.go │ ├── listener │ │ ├── v2 │ │ │ ├── api_listener.pb.go │ │ │ ├── api_listener.pb.validate.go │ │ │ └── api_listener_vtproto.pb.go │ │ └── v3 │ │ │ ├── api_listener.pb.go │ │ │ ├── api_listener.pb.validate.go │ │ │ ├── api_listener_vtproto.pb.go │ │ │ ├── listener.pb.go │ │ │ ├── listener.pb.validate.go │ │ │ ├── listener_components.pb.go │ │ │ ├── listener_components.pb.validate.go │ │ │ ├── listener_components_vtproto.pb.go │ │ │ ├── listener_vtproto.pb.go │ │ │ ├── quic_config.pb.go │ │ │ ├── quic_config.pb.validate.go │ │ │ ├── quic_config_vtproto.pb.go │ │ │ ├── udp_listener_config.pb.go │ │ │ ├── udp_listener_config.pb.validate.go │ │ │ └── udp_listener_config_vtproto.pb.go │ ├── metrics │ │ ├── v2 │ │ │ ├── metrics_service.pb.go │ │ │ ├── metrics_service.pb.validate.go │ │ │ ├── metrics_service_vtproto.pb.go │ │ │ ├── stats.pb.go │ │ │ ├── stats.pb.validate.go │ │ │ └── stats_vtproto.pb.go │ │ └── v3 │ │ │ ├── metrics_service.pb.go │ │ │ ├── metrics_service.pb.validate.go │ │ │ ├── metrics_service_vtproto.pb.go │ │ │ ├── stats.pb.go │ │ │ ├── stats.pb.validate.go │ │ │ └── stats_vtproto.pb.go │ ├── overload │ │ ├── v2alpha │ │ │ ├── overload.pb.go │ │ │ ├── overload.pb.validate.go │ │ │ └── overload_vtproto.pb.go │ │ └── v3 │ │ │ ├── overload.pb.go │ │ │ ├── overload.pb.validate.go │ │ │ └── overload_vtproto.pb.go │ ├── ratelimit │ │ ├── v2 │ │ │ ├── rls.pb.go │ │ │ ├── rls.pb.validate.go │ │ │ └── rls_vtproto.pb.go │ │ └── v3 │ │ │ ├── rls.pb.go │ │ │ ├── rls.pb.validate.go │ │ │ └── rls_vtproto.pb.go │ ├── rbac │ │ ├── v2 │ │ │ ├── rbac.pb.go │ │ │ ├── rbac.pb.validate.go │ │ │ └── rbac_vtproto.pb.go │ │ └── v3 │ │ │ ├── rbac.pb.go │ │ │ ├── rbac.pb.validate.go │ │ │ └── rbac_vtproto.pb.go │ ├── resource_monitor │ │ ├── fixed_heap │ │ │ └── v2alpha │ │ │ │ ├── fixed_heap.pb.go │ │ │ │ ├── fixed_heap.pb.validate.go │ │ │ │ └── fixed_heap_vtproto.pb.go │ │ └── injected_resource │ │ │ └── v2alpha │ │ │ ├── injected_resource.pb.go │ │ │ ├── injected_resource.pb.validate.go │ │ │ └── injected_resource_vtproto.pb.go │ ├── retry │ │ ├── omit_canary_hosts │ │ │ └── v2 │ │ │ │ ├── omit_canary_hosts.pb.go │ │ │ │ ├── omit_canary_hosts.pb.validate.go │ │ │ │ └── omit_canary_hosts_vtproto.pb.go │ │ ├── omit_host_metadata │ │ │ └── v2 │ │ │ │ ├── omit_host_metadata_config.pb.go │ │ │ │ ├── omit_host_metadata_config.pb.validate.go │ │ │ │ └── omit_host_metadata_config_vtproto.pb.go │ │ ├── previous_hosts │ │ │ └── v2 │ │ │ │ ├── previous_hosts.pb.go │ │ │ │ ├── previous_hosts.pb.validate.go │ │ │ │ └── previous_hosts_vtproto.pb.go │ │ └── previous_priorities │ │ │ ├── previous_priorities_config.pb.go │ │ │ ├── previous_priorities_config.pb.validate.go │ │ │ └── previous_priorities_config_vtproto.pb.go │ ├── route │ │ └── v3 │ │ │ ├── route.pb.go │ │ │ ├── route.pb.validate.go │ │ │ ├── route_components.pb.go │ │ │ ├── route_components.pb.validate.go │ │ │ ├── route_components_vtproto.pb.go │ │ │ ├── route_vtproto.pb.go │ │ │ ├── scoped_route.pb.go │ │ │ ├── scoped_route.pb.validate.go │ │ │ └── scoped_route_vtproto.pb.go │ ├── tap │ │ └── v3 │ │ │ ├── common.pb.go │ │ │ ├── common.pb.validate.go │ │ │ └── common_vtproto.pb.go │ ├── trace │ │ ├── v2 │ │ │ ├── datadog.pb.go │ │ │ ├── datadog.pb.validate.go │ │ │ ├── datadog_vtproto.pb.go │ │ │ ├── dynamic_ot.pb.go │ │ │ ├── dynamic_ot.pb.validate.go │ │ │ ├── dynamic_ot_vtproto.pb.go │ │ │ ├── http_tracer.pb.go │ │ │ ├── http_tracer.pb.validate.go │ │ │ ├── http_tracer_vtproto.pb.go │ │ │ ├── lightstep.pb.go │ │ │ ├── lightstep.pb.validate.go │ │ │ ├── lightstep_vtproto.pb.go │ │ │ ├── service.pb.go │ │ │ ├── service.pb.validate.go │ │ │ ├── service_vtproto.pb.go │ │ │ ├── trace.pb.go │ │ │ ├── trace.pb.validate.go │ │ │ ├── trace_vtproto.pb.go │ │ │ ├── zipkin.pb.go │ │ │ ├── zipkin.pb.validate.go │ │ │ └── zipkin_vtproto.pb.go │ │ ├── v2alpha │ │ │ ├── xray.pb.go │ │ │ ├── xray.pb.validate.go │ │ │ └── xray_vtproto.pb.go │ │ └── v3 │ │ │ ├── datadog.pb.go │ │ │ ├── datadog.pb.validate.go │ │ │ ├── datadog_vtproto.pb.go │ │ │ ├── dynamic_ot.pb.go │ │ │ ├── dynamic_ot.pb.validate.go │ │ │ ├── dynamic_ot_vtproto.pb.go │ │ │ ├── http_tracer.pb.go │ │ │ ├── http_tracer.pb.validate.go │ │ │ ├── http_tracer_vtproto.pb.go │ │ │ ├── lightstep.pb.go │ │ │ ├── lightstep.pb.validate.go │ │ │ ├── lightstep_vtproto.pb.go │ │ │ ├── opentelemetry.pb.go │ │ │ ├── opentelemetry.pb.validate.go │ │ │ ├── opentelemetry_vtproto.pb.go │ │ │ ├── service.pb.go │ │ │ ├── service.pb.validate.go │ │ │ ├── service_vtproto.pb.go │ │ │ ├── skywalking.pb.go │ │ │ ├── skywalking.pb.validate.go │ │ │ ├── skywalking_vtproto.pb.go │ │ │ ├── trace.pb.go │ │ │ ├── trace.pb.validate.go │ │ │ ├── trace_vtproto.pb.go │ │ │ ├── xray.pb.go │ │ │ ├── xray.pb.validate.go │ │ │ ├── xray_vtproto.pb.go │ │ │ ├── zipkin.pb.go │ │ │ ├── zipkin.pb.validate.go │ │ │ └── zipkin_vtproto.pb.go │ ├── transport_socket │ │ ├── alts │ │ │ └── v2alpha │ │ │ │ ├── alts.pb.go │ │ │ │ ├── alts.pb.validate.go │ │ │ │ └── alts_vtproto.pb.go │ │ ├── raw_buffer │ │ │ └── v2 │ │ │ │ ├── raw_buffer.pb.go │ │ │ │ ├── raw_buffer.pb.validate.go │ │ │ │ └── raw_buffer_vtproto.pb.go │ │ └── tap │ │ │ └── v2alpha │ │ │ ├── tap.pb.go │ │ │ ├── tap.pb.validate.go │ │ │ └── tap_vtproto.pb.go │ └── upstream │ │ └── local_address_selector │ │ └── v3 │ │ ├── default_local_address_selector.pb.go │ │ ├── default_local_address_selector.pb.validate.go │ │ └── default_local_address_selector_vtproto.pb.go ├── data │ ├── accesslog │ │ ├── v2 │ │ │ ├── accesslog.pb.go │ │ │ ├── accesslog.pb.validate.go │ │ │ └── accesslog_vtproto.pb.go │ │ └── v3 │ │ │ ├── accesslog.pb.go │ │ │ ├── accesslog.pb.validate.go │ │ │ └── accesslog_vtproto.pb.go │ ├── cluster │ │ ├── v2alpha │ │ │ ├── outlier_detection_event.pb.go │ │ │ ├── outlier_detection_event.pb.validate.go │ │ │ └── outlier_detection_event_vtproto.pb.go │ │ └── v3 │ │ │ ├── outlier_detection_event.pb.go │ │ │ ├── outlier_detection_event.pb.validate.go │ │ │ └── outlier_detection_event_vtproto.pb.go │ ├── core │ │ ├── v2alpha │ │ │ ├── health_check_event.pb.go │ │ │ ├── health_check_event.pb.validate.go │ │ │ └── health_check_event_vtproto.pb.go │ │ └── v3 │ │ │ ├── health_check_event.pb.go │ │ │ ├── health_check_event.pb.validate.go │ │ │ ├── health_check_event_vtproto.pb.go │ │ │ ├── tlv_metadata.pb.go │ │ │ ├── tlv_metadata.pb.validate.go │ │ │ └── tlv_metadata_vtproto.pb.go │ ├── dns │ │ ├── v2alpha │ │ │ ├── dns_table.pb.go │ │ │ ├── dns_table.pb.validate.go │ │ │ └── dns_table_vtproto.pb.go │ │ └── v3 │ │ │ ├── dns_table.pb.go │ │ │ ├── dns_table.pb.validate.go │ │ │ └── dns_table_vtproto.pb.go │ └── tap │ │ ├── v2alpha │ │ ├── common.pb.go │ │ ├── common.pb.validate.go │ │ ├── common_vtproto.pb.go │ │ ├── http.pb.go │ │ ├── http.pb.validate.go │ │ ├── http_vtproto.pb.go │ │ ├── transport.pb.go │ │ ├── transport.pb.validate.go │ │ ├── transport_vtproto.pb.go │ │ ├── wrapper.pb.go │ │ ├── wrapper.pb.validate.go │ │ └── wrapper_vtproto.pb.go │ │ └── v3 │ │ ├── common.pb.go │ │ ├── common.pb.validate.go │ │ ├── common_vtproto.pb.go │ │ ├── http.pb.go │ │ ├── http.pb.validate.go │ │ ├── http_vtproto.pb.go │ │ ├── transport.pb.go │ │ ├── transport.pb.validate.go │ │ ├── transport_vtproto.pb.go │ │ ├── wrapper.pb.go │ │ ├── wrapper.pb.validate.go │ │ └── wrapper_vtproto.pb.go ├── empty.go ├── extensions │ ├── access_loggers │ │ ├── file │ │ │ └── v3 │ │ │ │ ├── file.pb.go │ │ │ │ ├── file.pb.validate.go │ │ │ │ └── file_vtproto.pb.go │ │ ├── filters │ │ │ └── cel │ │ │ │ └── v3 │ │ │ │ ├── cel.pb.go │ │ │ │ ├── cel.pb.validate.go │ │ │ │ └── cel_vtproto.pb.go │ │ ├── fluentd │ │ │ └── v3 │ │ │ │ ├── fluentd.pb.go │ │ │ │ ├── fluentd.pb.validate.go │ │ │ │ └── fluentd_vtproto.pb.go │ │ ├── grpc │ │ │ └── v3 │ │ │ │ ├── als.pb.go │ │ │ │ ├── als.pb.validate.go │ │ │ │ └── als_vtproto.pb.go │ │ ├── open_telemetry │ │ │ └── v3 │ │ │ │ ├── logs_service.pb.go │ │ │ │ ├── logs_service.pb.validate.go │ │ │ │ └── logs_service_vtproto.pb.go │ │ ├── stream │ │ │ └── v3 │ │ │ │ ├── stream.pb.go │ │ │ │ ├── stream.pb.validate.go │ │ │ │ └── stream_vtproto.pb.go │ │ └── wasm │ │ │ └── v3 │ │ │ ├── wasm.pb.go │ │ │ ├── wasm.pb.validate.go │ │ │ └── wasm_vtproto.pb.go │ ├── bootstrap │ │ └── internal_listener │ │ │ └── v3 │ │ │ ├── internal_listener.pb.go │ │ │ ├── internal_listener.pb.validate.go │ │ │ └── internal_listener_vtproto.pb.go │ ├── clusters │ │ ├── aggregate │ │ │ └── v3 │ │ │ │ ├── cluster.pb.go │ │ │ │ ├── cluster.pb.validate.go │ │ │ │ └── cluster_vtproto.pb.go │ │ ├── common │ │ │ └── dns │ │ │ │ └── v3 │ │ │ │ ├── dns.pb.go │ │ │ │ ├── dns.pb.validate.go │ │ │ │ └── dns_vtproto.pb.go │ │ ├── dns │ │ │ └── v3 │ │ │ │ ├── dns_cluster.pb.go │ │ │ │ ├── dns_cluster.pb.validate.go │ │ │ │ └── dns_cluster_vtproto.pb.go │ │ ├── dynamic_forward_proxy │ │ │ └── v3 │ │ │ │ ├── cluster.pb.go │ │ │ │ ├── cluster.pb.validate.go │ │ │ │ └── cluster_vtproto.pb.go │ │ └── redis │ │ │ └── v3 │ │ │ ├── redis_cluster.pb.go │ │ │ ├── redis_cluster.pb.validate.go │ │ │ └── redis_cluster_vtproto.pb.go │ ├── common │ │ ├── async_files │ │ │ └── v3 │ │ │ │ ├── async_file_manager.pb.go │ │ │ │ ├── async_file_manager.pb.validate.go │ │ │ │ └── async_file_manager_vtproto.pb.go │ │ ├── aws │ │ │ └── v3 │ │ │ │ ├── credential_provider.pb.go │ │ │ │ ├── credential_provider.pb.validate.go │ │ │ │ └── credential_provider_vtproto.pb.go │ │ ├── dynamic_forward_proxy │ │ │ └── v3 │ │ │ │ ├── dns_cache.pb.go │ │ │ │ ├── dns_cache.pb.validate.go │ │ │ │ └── dns_cache_vtproto.pb.go │ │ ├── matching │ │ │ └── v3 │ │ │ │ ├── extension_matcher.pb.go │ │ │ │ ├── extension_matcher.pb.validate.go │ │ │ │ └── extension_matcher_vtproto.pb.go │ │ ├── ratelimit │ │ │ └── v3 │ │ │ │ ├── ratelimit.pb.go │ │ │ │ ├── ratelimit.pb.validate.go │ │ │ │ └── ratelimit_vtproto.pb.go │ │ └── tap │ │ │ └── v3 │ │ │ ├── common.pb.go │ │ │ ├── common.pb.validate.go │ │ │ └── common_vtproto.pb.go │ ├── compression │ │ ├── brotli │ │ │ ├── compressor │ │ │ │ └── v3 │ │ │ │ │ ├── brotli.pb.go │ │ │ │ │ ├── brotli.pb.validate.go │ │ │ │ │ └── brotli_vtproto.pb.go │ │ │ └── decompressor │ │ │ │ └── v3 │ │ │ │ ├── brotli.pb.go │ │ │ │ ├── brotli.pb.validate.go │ │ │ │ └── brotli_vtproto.pb.go │ │ ├── gzip │ │ │ ├── compressor │ │ │ │ └── v3 │ │ │ │ │ ├── gzip.pb.go │ │ │ │ │ ├── gzip.pb.validate.go │ │ │ │ │ └── gzip_vtproto.pb.go │ │ │ └── decompressor │ │ │ │ └── v3 │ │ │ │ ├── gzip.pb.go │ │ │ │ ├── gzip.pb.validate.go │ │ │ │ └── gzip_vtproto.pb.go │ │ └── zstd │ │ │ ├── compressor │ │ │ └── v3 │ │ │ │ ├── zstd.pb.go │ │ │ │ ├── zstd.pb.validate.go │ │ │ │ └── zstd_vtproto.pb.go │ │ │ └── decompressor │ │ │ └── v3 │ │ │ ├── zstd.pb.go │ │ │ ├── zstd.pb.validate.go │ │ │ └── zstd_vtproto.pb.go │ ├── config │ │ └── validators │ │ │ └── minimum_clusters │ │ │ └── v3 │ │ │ ├── minimum_clusters.pb.go │ │ │ ├── minimum_clusters.pb.validate.go │ │ │ └── minimum_clusters_vtproto.pb.go │ ├── dynamic_modules │ │ └── v3 │ │ │ ├── dynamic_modules.pb.go │ │ │ ├── dynamic_modules.pb.validate.go │ │ │ └── dynamic_modules_vtproto.pb.go │ ├── early_data │ │ └── v3 │ │ │ ├── default_early_data_policy.pb.go │ │ │ ├── default_early_data_policy.pb.validate.go │ │ │ └── default_early_data_policy_vtproto.pb.go │ ├── filters │ │ ├── common │ │ │ ├── dependency │ │ │ │ └── v3 │ │ │ │ │ ├── dependency.pb.go │ │ │ │ │ ├── dependency.pb.validate.go │ │ │ │ │ └── dependency_vtproto.pb.go │ │ │ ├── fault │ │ │ │ └── v3 │ │ │ │ │ ├── fault.pb.go │ │ │ │ │ ├── fault.pb.validate.go │ │ │ │ │ └── fault_vtproto.pb.go │ │ │ ├── matcher │ │ │ │ └── action │ │ │ │ │ └── v3 │ │ │ │ │ ├── skip_action.pb.go │ │ │ │ │ ├── skip_action.pb.validate.go │ │ │ │ │ └── skip_action_vtproto.pb.go │ │ │ └── set_filter_state │ │ │ │ └── v3 │ │ │ │ ├── value.pb.go │ │ │ │ ├── value.pb.validate.go │ │ │ │ └── value_vtproto.pb.go │ │ ├── http │ │ │ ├── adaptive_concurrency │ │ │ │ └── v3 │ │ │ │ │ ├── adaptive_concurrency.pb.go │ │ │ │ │ ├── adaptive_concurrency.pb.validate.go │ │ │ │ │ └── adaptive_concurrency_vtproto.pb.go │ │ │ ├── admission_control │ │ │ │ └── v3 │ │ │ │ │ ├── admission_control.pb.go │ │ │ │ │ ├── admission_control.pb.validate.go │ │ │ │ │ └── admission_control_vtproto.pb.go │ │ │ ├── alternate_protocols_cache │ │ │ │ └── v3 │ │ │ │ │ ├── alternate_protocols_cache.pb.go │ │ │ │ │ ├── alternate_protocols_cache.pb.validate.go │ │ │ │ │ └── alternate_protocols_cache_vtproto.pb.go │ │ │ ├── api_key_auth │ │ │ │ └── v3 │ │ │ │ │ ├── api_key_auth.pb.go │ │ │ │ │ ├── api_key_auth.pb.validate.go │ │ │ │ │ └── api_key_auth_vtproto.pb.go │ │ │ ├── aws_lambda │ │ │ │ └── v3 │ │ │ │ │ ├── aws_lambda.pb.go │ │ │ │ │ ├── aws_lambda.pb.validate.go │ │ │ │ │ └── aws_lambda_vtproto.pb.go │ │ │ ├── aws_request_signing │ │ │ │ └── v3 │ │ │ │ │ ├── aws_request_signing.pb.go │ │ │ │ │ ├── aws_request_signing.pb.validate.go │ │ │ │ │ └── aws_request_signing_vtproto.pb.go │ │ │ ├── bandwidth_limit │ │ │ │ └── v3 │ │ │ │ │ ├── bandwidth_limit.pb.go │ │ │ │ │ ├── bandwidth_limit.pb.validate.go │ │ │ │ │ └── bandwidth_limit_vtproto.pb.go │ │ │ ├── basic_auth │ │ │ │ └── v3 │ │ │ │ │ ├── basic_auth.pb.go │ │ │ │ │ ├── basic_auth.pb.validate.go │ │ │ │ │ └── basic_auth_vtproto.pb.go │ │ │ ├── buffer │ │ │ │ └── v3 │ │ │ │ │ ├── buffer.pb.go │ │ │ │ │ ├── buffer.pb.validate.go │ │ │ │ │ └── buffer_vtproto.pb.go │ │ │ ├── cache │ │ │ │ └── v3 │ │ │ │ │ ├── cache.pb.go │ │ │ │ │ ├── cache.pb.validate.go │ │ │ │ │ └── cache_vtproto.pb.go │ │ │ ├── cdn_loop │ │ │ │ └── v3 │ │ │ │ │ ├── cdn_loop.pb.go │ │ │ │ │ ├── cdn_loop.pb.validate.go │ │ │ │ │ └── cdn_loop_vtproto.pb.go │ │ │ ├── composite │ │ │ │ └── v3 │ │ │ │ │ ├── composite.pb.go │ │ │ │ │ ├── composite.pb.validate.go │ │ │ │ │ └── composite_vtproto.pb.go │ │ │ ├── compressor │ │ │ │ └── v3 │ │ │ │ │ ├── compressor.pb.go │ │ │ │ │ ├── compressor.pb.validate.go │ │ │ │ │ └── compressor_vtproto.pb.go │ │ │ ├── connect_grpc_bridge │ │ │ │ └── v3 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── cors │ │ │ │ └── v3 │ │ │ │ │ ├── cors.pb.go │ │ │ │ │ ├── cors.pb.validate.go │ │ │ │ │ └── cors_vtproto.pb.go │ │ │ ├── credential_injector │ │ │ │ └── v3 │ │ │ │ │ ├── credential_injector.pb.go │ │ │ │ │ ├── credential_injector.pb.validate.go │ │ │ │ │ └── credential_injector_vtproto.pb.go │ │ │ ├── csrf │ │ │ │ └── v3 │ │ │ │ │ ├── csrf.pb.go │ │ │ │ │ ├── csrf.pb.validate.go │ │ │ │ │ └── csrf_vtproto.pb.go │ │ │ ├── custom_response │ │ │ │ └── v3 │ │ │ │ │ ├── custom_response.pb.go │ │ │ │ │ ├── custom_response.pb.validate.go │ │ │ │ │ └── custom_response_vtproto.pb.go │ │ │ ├── decompressor │ │ │ │ └── v3 │ │ │ │ │ ├── decompressor.pb.go │ │ │ │ │ ├── decompressor.pb.validate.go │ │ │ │ │ └── decompressor_vtproto.pb.go │ │ │ ├── dynamic_forward_proxy │ │ │ │ └── v3 │ │ │ │ │ ├── dynamic_forward_proxy.pb.go │ │ │ │ │ ├── dynamic_forward_proxy.pb.validate.go │ │ │ │ │ └── dynamic_forward_proxy_vtproto.pb.go │ │ │ ├── dynamic_modules │ │ │ │ └── v3 │ │ │ │ │ ├── dynamic_modules.pb.go │ │ │ │ │ ├── dynamic_modules.pb.validate.go │ │ │ │ │ └── dynamic_modules_vtproto.pb.go │ │ │ ├── ext_authz │ │ │ │ └── v3 │ │ │ │ │ ├── ext_authz.pb.go │ │ │ │ │ ├── ext_authz.pb.validate.go │ │ │ │ │ └── ext_authz_vtproto.pb.go │ │ │ ├── ext_proc │ │ │ │ └── v3 │ │ │ │ │ ├── ext_proc.pb.go │ │ │ │ │ ├── ext_proc.pb.validate.go │ │ │ │ │ ├── ext_proc_vtproto.pb.go │ │ │ │ │ ├── processing_mode.pb.go │ │ │ │ │ ├── processing_mode.pb.validate.go │ │ │ │ │ └── processing_mode_vtproto.pb.go │ │ │ ├── fault │ │ │ │ └── v3 │ │ │ │ │ ├── fault.pb.go │ │ │ │ │ ├── fault.pb.validate.go │ │ │ │ │ └── fault_vtproto.pb.go │ │ │ ├── file_system_buffer │ │ │ │ └── v3 │ │ │ │ │ ├── file_system_buffer.pb.go │ │ │ │ │ ├── file_system_buffer.pb.validate.go │ │ │ │ │ └── file_system_buffer_vtproto.pb.go │ │ │ ├── gcp_authn │ │ │ │ └── v3 │ │ │ │ │ ├── gcp_authn.pb.go │ │ │ │ │ ├── gcp_authn.pb.validate.go │ │ │ │ │ └── gcp_authn_vtproto.pb.go │ │ │ ├── geoip │ │ │ │ └── v3 │ │ │ │ │ ├── geoip.pb.go │ │ │ │ │ ├── geoip.pb.validate.go │ │ │ │ │ └── geoip_vtproto.pb.go │ │ │ ├── grpc_field_extraction │ │ │ │ └── v3 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── grpc_http1_bridge │ │ │ │ └── v3 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── grpc_http1_reverse_bridge │ │ │ │ └── v3 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── grpc_json_reverse_transcoder │ │ │ │ └── v3 │ │ │ │ │ ├── transcoder.pb.go │ │ │ │ │ ├── transcoder.pb.validate.go │ │ │ │ │ └── transcoder_vtproto.pb.go │ │ │ ├── grpc_json_transcoder │ │ │ │ └── v3 │ │ │ │ │ ├── transcoder.pb.go │ │ │ │ │ ├── transcoder.pb.validate.go │ │ │ │ │ └── transcoder_vtproto.pb.go │ │ │ ├── grpc_stats │ │ │ │ └── v3 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── grpc_web │ │ │ │ └── v3 │ │ │ │ │ ├── grpc_web.pb.go │ │ │ │ │ ├── grpc_web.pb.validate.go │ │ │ │ │ └── grpc_web_vtproto.pb.go │ │ │ ├── gzip │ │ │ │ └── v3 │ │ │ │ │ ├── gzip.pb.go │ │ │ │ │ ├── gzip.pb.validate.go │ │ │ │ │ └── gzip_vtproto.pb.go │ │ │ ├── header_mutation │ │ │ │ └── v3 │ │ │ │ │ ├── header_mutation.pb.go │ │ │ │ │ ├── header_mutation.pb.validate.go │ │ │ │ │ └── header_mutation_vtproto.pb.go │ │ │ ├── header_to_metadata │ │ │ │ └── v3 │ │ │ │ │ ├── header_to_metadata.pb.go │ │ │ │ │ ├── header_to_metadata.pb.validate.go │ │ │ │ │ └── header_to_metadata_vtproto.pb.go │ │ │ ├── health_check │ │ │ │ └── v3 │ │ │ │ │ ├── health_check.pb.go │ │ │ │ │ ├── health_check.pb.validate.go │ │ │ │ │ └── health_check_vtproto.pb.go │ │ │ ├── ip_tagging │ │ │ │ └── v3 │ │ │ │ │ ├── ip_tagging.pb.go │ │ │ │ │ ├── ip_tagging.pb.validate.go │ │ │ │ │ └── ip_tagging_vtproto.pb.go │ │ │ ├── json_to_metadata │ │ │ │ └── v3 │ │ │ │ │ ├── json_to_metadata.pb.go │ │ │ │ │ ├── json_to_metadata.pb.validate.go │ │ │ │ │ └── json_to_metadata_vtproto.pb.go │ │ │ ├── jwt_authn │ │ │ │ └── v3 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── kill_request │ │ │ │ └── v3 │ │ │ │ │ ├── kill_request.pb.go │ │ │ │ │ ├── kill_request.pb.validate.go │ │ │ │ │ └── kill_request_vtproto.pb.go │ │ │ ├── local_ratelimit │ │ │ │ └── v3 │ │ │ │ │ ├── local_rate_limit.pb.go │ │ │ │ │ ├── local_rate_limit.pb.validate.go │ │ │ │ │ └── local_rate_limit_vtproto.pb.go │ │ │ ├── lua │ │ │ │ └── v3 │ │ │ │ │ ├── lua.pb.go │ │ │ │ │ ├── lua.pb.validate.go │ │ │ │ │ └── lua_vtproto.pb.go │ │ │ ├── oauth2 │ │ │ │ └── v3 │ │ │ │ │ ├── oauth.pb.go │ │ │ │ │ ├── oauth.pb.validate.go │ │ │ │ │ └── oauth_vtproto.pb.go │ │ │ ├── on_demand │ │ │ │ └── v3 │ │ │ │ │ ├── on_demand.pb.go │ │ │ │ │ ├── on_demand.pb.validate.go │ │ │ │ │ └── on_demand_vtproto.pb.go │ │ │ ├── original_src │ │ │ │ └── v3 │ │ │ │ │ ├── original_src.pb.go │ │ │ │ │ ├── original_src.pb.validate.go │ │ │ │ │ └── original_src_vtproto.pb.go │ │ │ ├── proto_api_scrubber │ │ │ │ └── v3 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ ├── config_vtproto.pb.go │ │ │ │ │ ├── matcher_actions.pb.go │ │ │ │ │ ├── matcher_actions.pb.validate.go │ │ │ │ │ └── matcher_actions_vtproto.pb.go │ │ │ ├── proto_message_extraction │ │ │ │ └── v3 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── rate_limit_quota │ │ │ │ └── v3 │ │ │ │ │ ├── rate_limit_quota.pb.go │ │ │ │ │ ├── rate_limit_quota.pb.validate.go │ │ │ │ │ └── rate_limit_quota_vtproto.pb.go │ │ │ ├── ratelimit │ │ │ │ └── v3 │ │ │ │ │ ├── rate_limit.pb.go │ │ │ │ │ ├── rate_limit.pb.validate.go │ │ │ │ │ └── rate_limit_vtproto.pb.go │ │ │ ├── rbac │ │ │ │ └── v3 │ │ │ │ │ ├── rbac.pb.go │ │ │ │ │ ├── rbac.pb.validate.go │ │ │ │ │ └── rbac_vtproto.pb.go │ │ │ ├── router │ │ │ │ └── v3 │ │ │ │ │ ├── router.pb.go │ │ │ │ │ ├── router.pb.validate.go │ │ │ │ │ └── router_vtproto.pb.go │ │ │ ├── set_filter_state │ │ │ │ └── v3 │ │ │ │ │ ├── set_filter_state.pb.go │ │ │ │ │ ├── set_filter_state.pb.validate.go │ │ │ │ │ └── set_filter_state_vtproto.pb.go │ │ │ ├── set_metadata │ │ │ │ └── v3 │ │ │ │ │ ├── set_metadata.pb.go │ │ │ │ │ ├── set_metadata.pb.validate.go │ │ │ │ │ └── set_metadata_vtproto.pb.go │ │ │ ├── stateful_session │ │ │ │ └── v3 │ │ │ │ │ ├── stateful_session.pb.go │ │ │ │ │ ├── stateful_session.pb.validate.go │ │ │ │ │ └── stateful_session_vtproto.pb.go │ │ │ ├── tap │ │ │ │ └── v3 │ │ │ │ │ ├── tap.pb.go │ │ │ │ │ ├── tap.pb.validate.go │ │ │ │ │ └── tap_vtproto.pb.go │ │ │ ├── thrift_to_metadata │ │ │ │ └── v3 │ │ │ │ │ ├── thrift_to_metadata.pb.go │ │ │ │ │ ├── thrift_to_metadata.pb.validate.go │ │ │ │ │ └── thrift_to_metadata_vtproto.pb.go │ │ │ ├── upstream_codec │ │ │ │ └── v3 │ │ │ │ │ ├── upstream_codec.pb.go │ │ │ │ │ ├── upstream_codec.pb.validate.go │ │ │ │ │ └── upstream_codec_vtproto.pb.go │ │ │ └── wasm │ │ │ │ └── v3 │ │ │ │ ├── wasm.pb.go │ │ │ │ ├── wasm.pb.validate.go │ │ │ │ └── wasm_vtproto.pb.go │ │ ├── listener │ │ │ ├── http_inspector │ │ │ │ └── v3 │ │ │ │ │ ├── http_inspector.pb.go │ │ │ │ │ ├── http_inspector.pb.validate.go │ │ │ │ │ └── http_inspector_vtproto.pb.go │ │ │ ├── local_ratelimit │ │ │ │ └── v3 │ │ │ │ │ ├── local_ratelimit.pb.go │ │ │ │ │ ├── local_ratelimit.pb.validate.go │ │ │ │ │ └── local_ratelimit_vtproto.pb.go │ │ │ ├── original_dst │ │ │ │ └── v3 │ │ │ │ │ ├── original_dst.pb.go │ │ │ │ │ ├── original_dst.pb.validate.go │ │ │ │ │ └── original_dst_vtproto.pb.go │ │ │ ├── original_src │ │ │ │ └── v3 │ │ │ │ │ ├── original_src.pb.go │ │ │ │ │ ├── original_src.pb.validate.go │ │ │ │ │ └── original_src_vtproto.pb.go │ │ │ ├── proxy_protocol │ │ │ │ └── v3 │ │ │ │ │ ├── proxy_protocol.pb.go │ │ │ │ │ ├── proxy_protocol.pb.validate.go │ │ │ │ │ └── proxy_protocol_vtproto.pb.go │ │ │ └── tls_inspector │ │ │ │ └── v3 │ │ │ │ ├── tls_inspector.pb.go │ │ │ │ ├── tls_inspector.pb.validate.go │ │ │ │ └── tls_inspector_vtproto.pb.go │ │ ├── network │ │ │ ├── connection_limit │ │ │ │ └── v3 │ │ │ │ │ ├── connection_limit.pb.go │ │ │ │ │ ├── connection_limit.pb.validate.go │ │ │ │ │ └── connection_limit_vtproto.pb.go │ │ │ ├── direct_response │ │ │ │ └── v3 │ │ │ │ │ ├── config.pb.go │ │ │ │ │ ├── config.pb.validate.go │ │ │ │ │ └── config_vtproto.pb.go │ │ │ ├── dubbo_proxy │ │ │ │ ├── router │ │ │ │ │ └── v3 │ │ │ │ │ │ ├── router.pb.go │ │ │ │ │ │ ├── router.pb.validate.go │ │ │ │ │ │ └── router_vtproto.pb.go │ │ │ │ └── v3 │ │ │ │ │ ├── dubbo_proxy.pb.go │ │ │ │ │ ├── dubbo_proxy.pb.validate.go │ │ │ │ │ ├── dubbo_proxy_vtproto.pb.go │ │ │ │ │ ├── route.pb.go │ │ │ │ │ ├── route.pb.validate.go │ │ │ │ │ └── route_vtproto.pb.go │ │ │ ├── echo │ │ │ │ └── v3 │ │ │ │ │ ├── echo.pb.go │ │ │ │ │ ├── echo.pb.validate.go │ │ │ │ │ └── echo_vtproto.pb.go │ │ │ ├── ext_authz │ │ │ │ └── v3 │ │ │ │ │ ├── ext_authz.pb.go │ │ │ │ │ ├── ext_authz.pb.validate.go │ │ │ │ │ └── ext_authz_vtproto.pb.go │ │ │ ├── ext_proc │ │ │ │ └── v3 │ │ │ │ │ ├── ext_proc.pb.go │ │ │ │ │ ├── ext_proc.pb.validate.go │ │ │ │ │ └── ext_proc_vtproto.pb.go │ │ │ ├── generic_proxy │ │ │ │ ├── action │ │ │ │ │ └── v3 │ │ │ │ │ │ ├── action.pb.go │ │ │ │ │ │ ├── action.pb.validate.go │ │ │ │ │ │ └── action_vtproto.pb.go │ │ │ │ ├── codecs │ │ │ │ │ ├── dubbo │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ ├── dubbo.pb.go │ │ │ │ │ │ │ ├── dubbo.pb.validate.go │ │ │ │ │ │ │ └── dubbo_vtproto.pb.go │ │ │ │ │ └── http1 │ │ │ │ │ │ └── v3 │ │ │ │ │ │ ├── http1.pb.go │ │ │ │ │ │ ├── http1.pb.validate.go │ │ │ │ │ │ └── http1_vtproto.pb.go │ │ │ │ ├── matcher │ │ │ │ │ └── v3 │ │ │ │ │ │ ├── matcher.pb.go │ │ │ │ │ │ ├── matcher.pb.validate.go │ │ │ │ │ │ └── matcher_vtproto.pb.go │ │ │ │ ├── router │ │ │ │ │ └── v3 │ │ │ │ │ │ ├── router.pb.go │ │ │ │ │ │ ├── router.pb.validate.go │ │ │ │ │ │ └── router_vtproto.pb.go │ │ │ │ └── v3 │ │ │ │ │ ├── generic_proxy.pb.go │ │ │ │ │ ├── generic_proxy.pb.validate.go │ │ │ │ │ ├── generic_proxy_vtproto.pb.go │ │ │ │ │ ├── route.pb.go │ │ │ │ │ ├── route.pb.validate.go │ │ │ │ │ └── route_vtproto.pb.go │ │ │ ├── http_connection_manager │ │ │ │ └── v3 │ │ │ │ │ ├── http_connection_manager.pb.go │ │ │ │ │ ├── http_connection_manager.pb.validate.go │ │ │ │ │ └── http_connection_manager_vtproto.pb.go │ │ │ ├── local_ratelimit │ │ │ │ └── v3 │ │ │ │ │ ├── local_rate_limit.pb.go │ │ │ │ │ ├── local_rate_limit.pb.validate.go │ │ │ │ │ └── local_rate_limit_vtproto.pb.go │ │ │ ├── mongo_proxy │ │ │ │ └── v3 │ │ │ │ │ ├── mongo_proxy.pb.go │ │ │ │ │ ├── mongo_proxy.pb.validate.go │ │ │ │ │ └── mongo_proxy_vtproto.pb.go │ │ │ ├── ratelimit │ │ │ │ └── v3 │ │ │ │ │ ├── rate_limit.pb.go │ │ │ │ │ ├── rate_limit.pb.validate.go │ │ │ │ │ └── rate_limit_vtproto.pb.go │ │ │ ├── rbac │ │ │ │ └── v3 │ │ │ │ │ ├── rbac.pb.go │ │ │ │ │ ├── rbac.pb.validate.go │ │ │ │ │ └── rbac_vtproto.pb.go │ │ │ ├── redis_proxy │ │ │ │ └── v3 │ │ │ │ │ ├── redis_proxy.pb.go │ │ │ │ │ ├── redis_proxy.pb.validate.go │ │ │ │ │ └── redis_proxy_vtproto.pb.go │ │ │ ├── set_filter_state │ │ │ │ └── v3 │ │ │ │ │ ├── set_filter_state.pb.go │ │ │ │ │ ├── set_filter_state.pb.validate.go │ │ │ │ │ └── set_filter_state_vtproto.pb.go │ │ │ ├── sni_cluster │ │ │ │ └── v3 │ │ │ │ │ ├── sni_cluster.pb.go │ │ │ │ │ ├── sni_cluster.pb.validate.go │ │ │ │ │ └── sni_cluster_vtproto.pb.go │ │ │ ├── sni_dynamic_forward_proxy │ │ │ │ └── v3 │ │ │ │ │ ├── sni_dynamic_forward_proxy.pb.go │ │ │ │ │ ├── sni_dynamic_forward_proxy.pb.validate.go │ │ │ │ │ └── sni_dynamic_forward_proxy_vtproto.pb.go │ │ │ ├── tcp_proxy │ │ │ │ └── v3 │ │ │ │ │ ├── tcp_proxy.pb.go │ │ │ │ │ ├── tcp_proxy.pb.validate.go │ │ │ │ │ └── tcp_proxy_vtproto.pb.go │ │ │ ├── thrift_proxy │ │ │ │ ├── filters │ │ │ │ │ ├── header_to_metadata │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ ├── header_to_metadata.pb.go │ │ │ │ │ │ │ ├── header_to_metadata.pb.validate.go │ │ │ │ │ │ │ └── header_to_metadata_vtproto.pb.go │ │ │ │ │ ├── payload_to_metadata │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ ├── payload_to_metadata.pb.go │ │ │ │ │ │ │ ├── payload_to_metadata.pb.validate.go │ │ │ │ │ │ │ └── payload_to_metadata_vtproto.pb.go │ │ │ │ │ └── ratelimit │ │ │ │ │ │ └── v3 │ │ │ │ │ │ ├── rate_limit.pb.go │ │ │ │ │ │ ├── rate_limit.pb.validate.go │ │ │ │ │ │ └── rate_limit_vtproto.pb.go │ │ │ │ ├── router │ │ │ │ │ └── v3 │ │ │ │ │ │ ├── router.pb.go │ │ │ │ │ │ ├── router.pb.validate.go │ │ │ │ │ │ └── router_vtproto.pb.go │ │ │ │ └── v3 │ │ │ │ │ ├── route.pb.go │ │ │ │ │ ├── route.pb.validate.go │ │ │ │ │ ├── route_vtproto.pb.go │ │ │ │ │ ├── thrift_proxy.pb.go │ │ │ │ │ ├── thrift_proxy.pb.validate.go │ │ │ │ │ └── thrift_proxy_vtproto.pb.go │ │ │ ├── wasm │ │ │ │ └── v3 │ │ │ │ │ ├── wasm.pb.go │ │ │ │ │ ├── wasm.pb.validate.go │ │ │ │ │ └── wasm_vtproto.pb.go │ │ │ └── zookeeper_proxy │ │ │ │ └── v3 │ │ │ │ ├── zookeeper_proxy.pb.go │ │ │ │ ├── zookeeper_proxy.pb.validate.go │ │ │ │ └── zookeeper_proxy_vtproto.pb.go │ │ └── udp │ │ │ ├── dns_filter │ │ │ └── v3 │ │ │ │ ├── dns_filter.pb.go │ │ │ │ ├── dns_filter.pb.validate.go │ │ │ │ └── dns_filter_vtproto.pb.go │ │ │ └── udp_proxy │ │ │ ├── session │ │ │ ├── dynamic_forward_proxy │ │ │ │ └── v3 │ │ │ │ │ ├── dynamic_forward_proxy.pb.go │ │ │ │ │ ├── dynamic_forward_proxy.pb.validate.go │ │ │ │ │ └── dynamic_forward_proxy_vtproto.pb.go │ │ │ └── http_capsule │ │ │ │ └── v3 │ │ │ │ ├── http_capsule.pb.go │ │ │ │ ├── http_capsule.pb.validate.go │ │ │ │ └── http_capsule_vtproto.pb.go │ │ │ └── v3 │ │ │ ├── route.pb.go │ │ │ ├── route.pb.validate.go │ │ │ ├── route_vtproto.pb.go │ │ │ ├── udp_proxy.pb.go │ │ │ ├── udp_proxy.pb.validate.go │ │ │ └── udp_proxy_vtproto.pb.go │ ├── formatter │ │ ├── cel │ │ │ └── v3 │ │ │ │ ├── cel.pb.go │ │ │ │ ├── cel.pb.validate.go │ │ │ │ └── cel_vtproto.pb.go │ │ ├── metadata │ │ │ └── v3 │ │ │ │ ├── metadata.pb.go │ │ │ │ ├── metadata.pb.validate.go │ │ │ │ └── metadata_vtproto.pb.go │ │ └── req_without_query │ │ │ └── v3 │ │ │ ├── req_without_query.pb.go │ │ │ ├── req_without_query.pb.validate.go │ │ │ └── req_without_query_vtproto.pb.go │ ├── geoip_providers │ │ ├── common │ │ │ └── v3 │ │ │ │ ├── common.pb.go │ │ │ │ ├── common.pb.validate.go │ │ │ │ └── common_vtproto.pb.go │ │ └── maxmind │ │ │ └── v3 │ │ │ ├── maxmind.pb.go │ │ │ ├── maxmind.pb.validate.go │ │ │ └── maxmind_vtproto.pb.go │ ├── health_check │ │ └── event_sinks │ │ │ └── file │ │ │ └── v3 │ │ │ ├── file.pb.go │ │ │ ├── file.pb.validate.go │ │ │ └── file_vtproto.pb.go │ ├── health_checkers │ │ ├── redis │ │ │ └── v3 │ │ │ │ ├── redis.pb.go │ │ │ │ ├── redis.pb.validate.go │ │ │ │ └── redis_vtproto.pb.go │ │ └── thrift │ │ │ └── v3 │ │ │ ├── thrift.pb.go │ │ │ ├── thrift.pb.validate.go │ │ │ └── thrift_vtproto.pb.go │ ├── http │ │ ├── cache │ │ │ ├── file_system_http_cache │ │ │ │ └── v3 │ │ │ │ │ ├── file_system_http_cache.pb.go │ │ │ │ │ ├── file_system_http_cache.pb.validate.go │ │ │ │ │ └── file_system_http_cache_vtproto.pb.go │ │ │ └── simple_http_cache │ │ │ │ └── v3 │ │ │ │ ├── config.pb.go │ │ │ │ ├── config.pb.validate.go │ │ │ │ └── config_vtproto.pb.go │ │ ├── custom_response │ │ │ ├── local_response_policy │ │ │ │ └── v3 │ │ │ │ │ ├── local_response_policy.pb.go │ │ │ │ │ ├── local_response_policy.pb.validate.go │ │ │ │ │ └── local_response_policy_vtproto.pb.go │ │ │ └── redirect_policy │ │ │ │ └── v3 │ │ │ │ ├── redirect_policy.pb.go │ │ │ │ ├── redirect_policy.pb.validate.go │ │ │ │ └── redirect_policy_vtproto.pb.go │ │ ├── early_header_mutation │ │ │ └── header_mutation │ │ │ │ └── v3 │ │ │ │ ├── header_mutation.pb.go │ │ │ │ ├── header_mutation.pb.validate.go │ │ │ │ └── header_mutation_vtproto.pb.go │ │ ├── ext_proc │ │ │ └── response_processors │ │ │ │ └── save_processing_response │ │ │ │ └── v3 │ │ │ │ ├── save_processing_response.pb.go │ │ │ │ ├── save_processing_response.pb.validate.go │ │ │ │ └── save_processing_response_vtproto.pb.go │ │ ├── header_formatters │ │ │ └── preserve_case │ │ │ │ └── v3 │ │ │ │ ├── preserve_case.pb.go │ │ │ │ ├── preserve_case.pb.validate.go │ │ │ │ └── preserve_case_vtproto.pb.go │ │ ├── header_validators │ │ │ └── envoy_default │ │ │ │ └── v3 │ │ │ │ ├── header_validator.pb.go │ │ │ │ ├── header_validator.pb.validate.go │ │ │ │ └── header_validator_vtproto.pb.go │ │ ├── injected_credentials │ │ │ ├── generic │ │ │ │ └── v3 │ │ │ │ │ ├── generic.pb.go │ │ │ │ │ ├── generic.pb.validate.go │ │ │ │ │ └── generic_vtproto.pb.go │ │ │ └── oauth2 │ │ │ │ └── v3 │ │ │ │ ├── oauth2.pb.go │ │ │ │ ├── oauth2.pb.validate.go │ │ │ │ └── oauth2_vtproto.pb.go │ │ ├── original_ip_detection │ │ │ ├── custom_header │ │ │ │ └── v3 │ │ │ │ │ ├── custom_header.pb.go │ │ │ │ │ ├── custom_header.pb.validate.go │ │ │ │ │ └── custom_header_vtproto.pb.go │ │ │ └── xff │ │ │ │ └── v3 │ │ │ │ ├── xff.pb.go │ │ │ │ ├── xff.pb.validate.go │ │ │ │ └── xff_vtproto.pb.go │ │ └── stateful_session │ │ │ ├── cookie │ │ │ └── v3 │ │ │ │ ├── cookie.pb.go │ │ │ │ ├── cookie.pb.validate.go │ │ │ │ └── cookie_vtproto.pb.go │ │ │ ├── envelope │ │ │ └── v3 │ │ │ │ ├── envelope.pb.go │ │ │ │ ├── envelope.pb.validate.go │ │ │ │ └── envelope_vtproto.pb.go │ │ │ └── header │ │ │ └── v3 │ │ │ ├── header.pb.go │ │ │ ├── header.pb.validate.go │ │ │ └── header_vtproto.pb.go │ ├── internal_redirect │ │ ├── allow_listed_routes │ │ │ └── v3 │ │ │ │ ├── allow_listed_routes_config.pb.go │ │ │ │ ├── allow_listed_routes_config.pb.validate.go │ │ │ │ └── allow_listed_routes_config_vtproto.pb.go │ │ ├── previous_routes │ │ │ └── v3 │ │ │ │ ├── previous_routes_config.pb.go │ │ │ │ ├── previous_routes_config.pb.validate.go │ │ │ │ └── previous_routes_config_vtproto.pb.go │ │ └── safe_cross_scheme │ │ │ └── v3 │ │ │ ├── safe_cross_scheme_config.pb.go │ │ │ ├── safe_cross_scheme_config.pb.validate.go │ │ │ └── safe_cross_scheme_config_vtproto.pb.go │ ├── key_value │ │ └── file_based │ │ │ └── v3 │ │ │ ├── config.pb.go │ │ │ ├── config.pb.validate.go │ │ │ └── config_vtproto.pb.go │ ├── load_balancing_policies │ │ ├── client_side_weighted_round_robin │ │ │ └── v3 │ │ │ │ ├── client_side_weighted_round_robin.pb.go │ │ │ │ ├── client_side_weighted_round_robin.pb.validate.go │ │ │ │ └── client_side_weighted_round_robin_vtproto.pb.go │ │ ├── cluster_provided │ │ │ └── v3 │ │ │ │ ├── cluster_provided.pb.go │ │ │ │ ├── cluster_provided.pb.validate.go │ │ │ │ └── cluster_provided_vtproto.pb.go │ │ ├── common │ │ │ └── v3 │ │ │ │ ├── common.pb.go │ │ │ │ ├── common.pb.validate.go │ │ │ │ └── common_vtproto.pb.go │ │ ├── least_request │ │ │ └── v3 │ │ │ │ ├── least_request.pb.go │ │ │ │ ├── least_request.pb.validate.go │ │ │ │ └── least_request_vtproto.pb.go │ │ ├── maglev │ │ │ └── v3 │ │ │ │ ├── maglev.pb.go │ │ │ │ ├── maglev.pb.validate.go │ │ │ │ └── maglev_vtproto.pb.go │ │ ├── override_host │ │ │ └── v3 │ │ │ │ ├── override_host.pb.go │ │ │ │ ├── override_host.pb.validate.go │ │ │ │ └── override_host_vtproto.pb.go │ │ ├── pick_first │ │ │ └── v3 │ │ │ │ ├── pick_first.pb.go │ │ │ │ ├── pick_first.pb.validate.go │ │ │ │ └── pick_first_vtproto.pb.go │ │ ├── random │ │ │ └── v3 │ │ │ │ ├── random.pb.go │ │ │ │ ├── random.pb.validate.go │ │ │ │ └── random_vtproto.pb.go │ │ ├── ring_hash │ │ │ └── v3 │ │ │ │ ├── ring_hash.pb.go │ │ │ │ ├── ring_hash.pb.validate.go │ │ │ │ └── ring_hash_vtproto.pb.go │ │ ├── round_robin │ │ │ └── v3 │ │ │ │ ├── round_robin.pb.go │ │ │ │ ├── round_robin.pb.validate.go │ │ │ │ └── round_robin_vtproto.pb.go │ │ ├── subset │ │ │ └── v3 │ │ │ │ ├── subset.pb.go │ │ │ │ ├── subset.pb.validate.go │ │ │ │ └── subset_vtproto.pb.go │ │ └── wrr_locality │ │ │ └── v3 │ │ │ ├── wrr_locality.pb.go │ │ │ ├── wrr_locality.pb.validate.go │ │ │ └── wrr_locality_vtproto.pb.go │ ├── matching │ │ ├── common_inputs │ │ │ ├── environment_variable │ │ │ │ └── v3 │ │ │ │ │ ├── input.pb.go │ │ │ │ │ ├── input.pb.validate.go │ │ │ │ │ └── input_vtproto.pb.go │ │ │ ├── network │ │ │ │ └── v3 │ │ │ │ │ ├── network_inputs.pb.go │ │ │ │ │ ├── network_inputs.pb.validate.go │ │ │ │ │ └── network_inputs_vtproto.pb.go │ │ │ └── ssl │ │ │ │ └── v3 │ │ │ │ ├── ssl_inputs.pb.go │ │ │ │ ├── ssl_inputs.pb.validate.go │ │ │ │ └── ssl_inputs_vtproto.pb.go │ │ └── input_matchers │ │ │ ├── consistent_hashing │ │ │ └── v3 │ │ │ │ ├── consistent_hashing.pb.go │ │ │ │ ├── consistent_hashing.pb.validate.go │ │ │ │ └── consistent_hashing_vtproto.pb.go │ │ │ ├── ip │ │ │ └── v3 │ │ │ │ ├── ip.pb.go │ │ │ │ ├── ip.pb.validate.go │ │ │ │ └── ip_vtproto.pb.go │ │ │ ├── metadata │ │ │ └── v3 │ │ │ │ ├── metadata.pb.go │ │ │ │ ├── metadata.pb.validate.go │ │ │ │ └── metadata_vtproto.pb.go │ │ │ └── runtime_fraction │ │ │ └── v3 │ │ │ ├── runtime_fraction.pb.go │ │ │ ├── runtime_fraction.pb.validate.go │ │ │ └── runtime_fraction_vtproto.pb.go │ ├── network │ │ ├── dns_resolver │ │ │ ├── apple │ │ │ │ └── v3 │ │ │ │ │ ├── apple_dns_resolver.pb.go │ │ │ │ │ ├── apple_dns_resolver.pb.validate.go │ │ │ │ │ └── apple_dns_resolver_vtproto.pb.go │ │ │ ├── cares │ │ │ │ └── v3 │ │ │ │ │ ├── cares_dns_resolver.pb.go │ │ │ │ │ ├── cares_dns_resolver.pb.validate.go │ │ │ │ │ └── cares_dns_resolver_vtproto.pb.go │ │ │ └── getaddrinfo │ │ │ │ └── v3 │ │ │ │ ├── getaddrinfo_dns_resolver.pb.go │ │ │ │ ├── getaddrinfo_dns_resolver.pb.validate.go │ │ │ │ └── getaddrinfo_dns_resolver_vtproto.pb.go │ │ └── socket_interface │ │ │ └── v3 │ │ │ ├── default_socket_interface.pb.go │ │ │ ├── default_socket_interface.pb.validate.go │ │ │ └── default_socket_interface_vtproto.pb.go │ ├── outlier_detection_monitors │ │ ├── common │ │ │ └── v3 │ │ │ │ ├── error_types.pb.go │ │ │ │ ├── error_types.pb.validate.go │ │ │ │ └── error_types_vtproto.pb.go │ │ └── consecutive_errors │ │ │ └── v3 │ │ │ ├── consecutive_errors.pb.go │ │ │ ├── consecutive_errors.pb.validate.go │ │ │ └── consecutive_errors_vtproto.pb.go │ ├── path │ │ ├── match │ │ │ └── uri_template │ │ │ │ └── v3 │ │ │ │ ├── uri_template_match.pb.go │ │ │ │ ├── uri_template_match.pb.validate.go │ │ │ │ └── uri_template_match_vtproto.pb.go │ │ └── rewrite │ │ │ └── uri_template │ │ │ └── v3 │ │ │ ├── uri_template_rewrite.pb.go │ │ │ ├── uri_template_rewrite.pb.validate.go │ │ │ └── uri_template_rewrite_vtproto.pb.go │ ├── quic │ │ ├── connection_debug_visitor │ │ │ ├── quic_stats │ │ │ │ └── v3 │ │ │ │ │ ├── quic_stats.pb.go │ │ │ │ │ ├── quic_stats.pb.validate.go │ │ │ │ │ └── quic_stats_vtproto.pb.go │ │ │ └── v3 │ │ │ │ ├── connection_debug_visitor_basic.pb.go │ │ │ │ ├── connection_debug_visitor_basic.pb.validate.go │ │ │ │ └── connection_debug_visitor_basic_vtproto.pb.go │ │ ├── connection_id_generator │ │ │ ├── quic_lb │ │ │ │ └── v3 │ │ │ │ │ ├── quic_lb.pb.go │ │ │ │ │ ├── quic_lb.pb.validate.go │ │ │ │ │ └── quic_lb_vtproto.pb.go │ │ │ └── v3 │ │ │ │ ├── envoy_deterministic_connection_id_generator.pb.go │ │ │ │ ├── envoy_deterministic_connection_id_generator.pb.validate.go │ │ │ │ └── envoy_deterministic_connection_id_generator_vtproto.pb.go │ │ ├── crypto_stream │ │ │ └── v3 │ │ │ │ ├── crypto_stream.pb.go │ │ │ │ ├── crypto_stream.pb.validate.go │ │ │ │ └── crypto_stream_vtproto.pb.go │ │ ├── proof_source │ │ │ └── v3 │ │ │ │ ├── proof_source.pb.go │ │ │ │ ├── proof_source.pb.validate.go │ │ │ │ └── proof_source_vtproto.pb.go │ │ └── server_preferred_address │ │ │ └── v3 │ │ │ ├── datasource.pb.go │ │ │ ├── datasource.pb.validate.go │ │ │ ├── datasource_vtproto.pb.go │ │ │ ├── fixed_server_preferred_address_config.pb.go │ │ │ ├── fixed_server_preferred_address_config.pb.validate.go │ │ │ └── fixed_server_preferred_address_config_vtproto.pb.go │ ├── rate_limit_descriptors │ │ └── expr │ │ │ └── v3 │ │ │ ├── expr.pb.go │ │ │ ├── expr.pb.validate.go │ │ │ └── expr_vtproto.pb.go │ ├── rbac │ │ ├── audit_loggers │ │ │ └── stream │ │ │ │ └── v3 │ │ │ │ ├── stream.pb.go │ │ │ │ ├── stream.pb.validate.go │ │ │ │ └── stream_vtproto.pb.go │ │ ├── matchers │ │ │ └── upstream_ip_port │ │ │ │ └── v3 │ │ │ │ ├── upstream_ip_port_matcher.pb.go │ │ │ │ ├── upstream_ip_port_matcher.pb.validate.go │ │ │ │ └── upstream_ip_port_matcher_vtproto.pb.go │ │ └── principals │ │ │ └── mtls_authenticated │ │ │ └── v3 │ │ │ ├── mtls_authenticated.pb.go │ │ │ ├── mtls_authenticated.pb.validate.go │ │ │ └── mtls_authenticated_vtproto.pb.go │ ├── regex_engines │ │ └── v3 │ │ │ ├── google_re2.pb.go │ │ │ ├── google_re2.pb.validate.go │ │ │ └── google_re2_vtproto.pb.go │ ├── request_id │ │ └── uuid │ │ │ └── v3 │ │ │ ├── uuid.pb.go │ │ │ ├── uuid.pb.validate.go │ │ │ └── uuid_vtproto.pb.go │ ├── resource_monitors │ │ ├── cgroup_memory │ │ │ └── v3 │ │ │ │ ├── cgroup_memory.pb.go │ │ │ │ ├── cgroup_memory.pb.validate.go │ │ │ │ └── cgroup_memory_vtproto.pb.go │ │ ├── cpu_utilization │ │ │ └── v3 │ │ │ │ ├── cpu_utilization.pb.go │ │ │ │ ├── cpu_utilization.pb.validate.go │ │ │ │ └── cpu_utilization_vtproto.pb.go │ │ ├── downstream_connections │ │ │ └── v3 │ │ │ │ ├── downstream_connections.pb.go │ │ │ │ ├── downstream_connections.pb.validate.go │ │ │ │ └── downstream_connections_vtproto.pb.go │ │ ├── fixed_heap │ │ │ └── v3 │ │ │ │ ├── fixed_heap.pb.go │ │ │ │ ├── fixed_heap.pb.validate.go │ │ │ │ └── fixed_heap_vtproto.pb.go │ │ └── injected_resource │ │ │ └── v3 │ │ │ ├── injected_resource.pb.go │ │ │ ├── injected_resource.pb.validate.go │ │ │ └── injected_resource_vtproto.pb.go │ ├── retry │ │ ├── host │ │ │ ├── omit_canary_hosts │ │ │ │ └── v3 │ │ │ │ │ ├── omit_canary_hosts.pb.go │ │ │ │ │ ├── omit_canary_hosts.pb.validate.go │ │ │ │ │ └── omit_canary_hosts_vtproto.pb.go │ │ │ ├── omit_host_metadata │ │ │ │ └── v3 │ │ │ │ │ ├── omit_host_metadata_config.pb.go │ │ │ │ │ ├── omit_host_metadata_config.pb.validate.go │ │ │ │ │ └── omit_host_metadata_config_vtproto.pb.go │ │ │ └── previous_hosts │ │ │ │ └── v3 │ │ │ │ ├── previous_hosts.pb.go │ │ │ │ ├── previous_hosts.pb.validate.go │ │ │ │ └── previous_hosts_vtproto.pb.go │ │ └── priority │ │ │ └── previous_priorities │ │ │ └── v3 │ │ │ ├── previous_priorities_config.pb.go │ │ │ ├── previous_priorities_config.pb.validate.go │ │ │ └── previous_priorities_config_vtproto.pb.go │ ├── router │ │ └── cluster_specifiers │ │ │ ├── lua │ │ │ └── v3 │ │ │ │ ├── lua.pb.go │ │ │ │ ├── lua.pb.validate.go │ │ │ │ └── lua_vtproto.pb.go │ │ │ └── matcher │ │ │ └── v3 │ │ │ ├── matcher.pb.go │ │ │ ├── matcher.pb.validate.go │ │ │ └── matcher_vtproto.pb.go │ ├── stat_sinks │ │ ├── graphite_statsd │ │ │ └── v3 │ │ │ │ ├── graphite_statsd.pb.go │ │ │ │ ├── graphite_statsd.pb.validate.go │ │ │ │ └── graphite_statsd_vtproto.pb.go │ │ ├── open_telemetry │ │ │ └── v3 │ │ │ │ ├── open_telemetry.pb.go │ │ │ │ ├── open_telemetry.pb.validate.go │ │ │ │ └── open_telemetry_vtproto.pb.go │ │ └── wasm │ │ │ └── v3 │ │ │ ├── wasm.pb.go │ │ │ ├── wasm.pb.validate.go │ │ │ └── wasm_vtproto.pb.go │ ├── string_matcher │ │ └── lua │ │ │ └── v3 │ │ │ ├── lua.pb.go │ │ │ ├── lua.pb.validate.go │ │ │ └── lua_vtproto.pb.go │ ├── tracers │ │ ├── fluentd │ │ │ └── v3 │ │ │ │ ├── fluentd.pb.go │ │ │ │ ├── fluentd.pb.validate.go │ │ │ │ └── fluentd_vtproto.pb.go │ │ └── opentelemetry │ │ │ ├── resource_detectors │ │ │ └── v3 │ │ │ │ ├── dynatrace_resource_detector.pb.go │ │ │ │ ├── dynatrace_resource_detector.pb.validate.go │ │ │ │ ├── dynatrace_resource_detector_vtproto.pb.go │ │ │ │ ├── environment_resource_detector.pb.go │ │ │ │ ├── environment_resource_detector.pb.validate.go │ │ │ │ ├── environment_resource_detector_vtproto.pb.go │ │ │ │ ├── static_config_resource_detector.pb.go │ │ │ │ ├── static_config_resource_detector.pb.validate.go │ │ │ │ └── static_config_resource_detector_vtproto.pb.go │ │ │ └── samplers │ │ │ └── v3 │ │ │ ├── always_on_sampler.pb.go │ │ │ ├── always_on_sampler.pb.validate.go │ │ │ ├── always_on_sampler_vtproto.pb.go │ │ │ ├── cel_sampler.pb.go │ │ │ ├── cel_sampler.pb.validate.go │ │ │ ├── cel_sampler_vtproto.pb.go │ │ │ ├── dynatrace_sampler.pb.go │ │ │ ├── dynatrace_sampler.pb.validate.go │ │ │ ├── dynatrace_sampler_vtproto.pb.go │ │ │ ├── parent_based_sampler.pb.go │ │ │ ├── parent_based_sampler.pb.validate.go │ │ │ ├── parent_based_sampler_vtproto.pb.go │ │ │ ├── trace_id_ratio_based_sampler.pb.go │ │ │ ├── trace_id_ratio_based_sampler.pb.validate.go │ │ │ └── trace_id_ratio_based_sampler_vtproto.pb.go │ ├── transport_sockets │ │ ├── alts │ │ │ └── v3 │ │ │ │ ├── alts.pb.go │ │ │ │ ├── alts.pb.validate.go │ │ │ │ └── alts_vtproto.pb.go │ │ ├── http_11_proxy │ │ │ └── v3 │ │ │ │ ├── upstream_http_11_connect.pb.go │ │ │ │ ├── upstream_http_11_connect.pb.validate.go │ │ │ │ └── upstream_http_11_connect_vtproto.pb.go │ │ ├── internal_upstream │ │ │ └── v3 │ │ │ │ ├── internal_upstream.pb.go │ │ │ │ ├── internal_upstream.pb.validate.go │ │ │ │ └── internal_upstream_vtproto.pb.go │ │ ├── proxy_protocol │ │ │ └── v3 │ │ │ │ ├── upstream_proxy_protocol.pb.go │ │ │ │ ├── upstream_proxy_protocol.pb.validate.go │ │ │ │ └── upstream_proxy_protocol_vtproto.pb.go │ │ ├── quic │ │ │ └── v3 │ │ │ │ ├── quic_transport.pb.go │ │ │ │ ├── quic_transport.pb.validate.go │ │ │ │ └── quic_transport_vtproto.pb.go │ │ ├── raw_buffer │ │ │ └── v3 │ │ │ │ ├── raw_buffer.pb.go │ │ │ │ ├── raw_buffer.pb.validate.go │ │ │ │ └── raw_buffer_vtproto.pb.go │ │ ├── s2a │ │ │ └── v3 │ │ │ │ ├── s2a.pb.go │ │ │ │ ├── s2a.pb.validate.go │ │ │ │ └── s2a_vtproto.pb.go │ │ ├── starttls │ │ │ └── v3 │ │ │ │ ├── starttls.pb.go │ │ │ │ ├── starttls.pb.validate.go │ │ │ │ └── starttls_vtproto.pb.go │ │ ├── tap │ │ │ └── v3 │ │ │ │ ├── tap.pb.go │ │ │ │ ├── tap.pb.validate.go │ │ │ │ └── tap_vtproto.pb.go │ │ ├── tcp_stats │ │ │ └── v3 │ │ │ │ ├── tcp_stats.pb.go │ │ │ │ ├── tcp_stats.pb.validate.go │ │ │ │ └── tcp_stats_vtproto.pb.go │ │ └── tls │ │ │ └── v3 │ │ │ ├── cert.pb.go │ │ │ ├── cert.pb.validate.go │ │ │ ├── cert_vtproto.pb.go │ │ │ ├── common.pb.go │ │ │ ├── common.pb.validate.go │ │ │ ├── common_vtproto.pb.go │ │ │ ├── secret.pb.go │ │ │ ├── secret.pb.validate.go │ │ │ ├── secret_vtproto.pb.go │ │ │ ├── tls.pb.go │ │ │ ├── tls.pb.validate.go │ │ │ ├── tls_spiffe_validator_config.pb.go │ │ │ ├── tls_spiffe_validator_config.pb.validate.go │ │ │ ├── tls_spiffe_validator_config_vtproto.pb.go │ │ │ └── tls_vtproto.pb.go │ ├── udp_packet_writer │ │ └── v3 │ │ │ ├── udp_default_writer_factory.pb.go │ │ │ ├── udp_default_writer_factory.pb.validate.go │ │ │ ├── udp_default_writer_factory_vtproto.pb.go │ │ │ ├── udp_gso_batch_writer_factory.pb.go │ │ │ ├── udp_gso_batch_writer_factory.pb.validate.go │ │ │ └── udp_gso_batch_writer_factory_vtproto.pb.go │ ├── upstreams │ │ ├── http │ │ │ ├── generic │ │ │ │ └── v3 │ │ │ │ │ ├── generic_connection_pool.pb.go │ │ │ │ │ ├── generic_connection_pool.pb.validate.go │ │ │ │ │ └── generic_connection_pool_vtproto.pb.go │ │ │ ├── http │ │ │ │ └── v3 │ │ │ │ │ ├── http_connection_pool.pb.go │ │ │ │ │ ├── http_connection_pool.pb.validate.go │ │ │ │ │ └── http_connection_pool_vtproto.pb.go │ │ │ ├── tcp │ │ │ │ └── v3 │ │ │ │ │ ├── tcp_connection_pool.pb.go │ │ │ │ │ ├── tcp_connection_pool.pb.validate.go │ │ │ │ │ └── tcp_connection_pool_vtproto.pb.go │ │ │ ├── udp │ │ │ │ └── v3 │ │ │ │ │ ├── udp_connection_pool.pb.go │ │ │ │ │ ├── udp_connection_pool.pb.validate.go │ │ │ │ │ └── udp_connection_pool_vtproto.pb.go │ │ │ └── v3 │ │ │ │ ├── http_protocol_options.pb.go │ │ │ │ ├── http_protocol_options.pb.validate.go │ │ │ │ └── http_protocol_options_vtproto.pb.go │ │ └── tcp │ │ │ ├── generic │ │ │ └── v3 │ │ │ │ ├── generic_connection_pool.pb.go │ │ │ │ ├── generic_connection_pool.pb.validate.go │ │ │ │ └── generic_connection_pool_vtproto.pb.go │ │ │ └── v3 │ │ │ ├── tcp_protocol_options.pb.go │ │ │ ├── tcp_protocol_options.pb.validate.go │ │ │ └── tcp_protocol_options_vtproto.pb.go │ ├── wasm │ │ └── v3 │ │ │ ├── wasm.pb.go │ │ │ ├── wasm.pb.validate.go │ │ │ └── wasm_vtproto.pb.go │ └── watchdog │ │ └── profile_action │ │ └── v3 │ │ ├── profile_action.pb.go │ │ ├── profile_action.pb.validate.go │ │ └── profile_action_vtproto.pb.go ├── go.mod ├── go.sum ├── service │ ├── accesslog │ │ ├── v2 │ │ │ ├── als.pb.go │ │ │ ├── als.pb.validate.go │ │ │ ├── als_grpc.pb.go │ │ │ └── als_vtproto.pb.go │ │ └── v3 │ │ │ ├── als.pb.go │ │ │ ├── als.pb.validate.go │ │ │ ├── als_grpc.pb.go │ │ │ └── als_vtproto.pb.go │ ├── auth │ │ ├── v2 │ │ │ ├── attribute_context.pb.go │ │ │ ├── attribute_context.pb.validate.go │ │ │ ├── attribute_context_grpc.pb.go │ │ │ ├── attribute_context_vtproto.pb.go │ │ │ ├── external_auth.pb.go │ │ │ ├── external_auth.pb.validate.go │ │ │ ├── external_auth_grpc.pb.go │ │ │ └── external_auth_vtproto.pb.go │ │ ├── v2alpha │ │ │ ├── external_auth.pb.go │ │ │ ├── external_auth.pb.validate.go │ │ │ ├── external_auth_grpc.pb.go │ │ │ └── external_auth_vtproto.pb.go │ │ └── v3 │ │ │ ├── attribute_context.pb.go │ │ │ ├── attribute_context.pb.validate.go │ │ │ ├── attribute_context_grpc.pb.go │ │ │ ├── attribute_context_vtproto.pb.go │ │ │ ├── external_auth.pb.go │ │ │ ├── external_auth.pb.validate.go │ │ │ ├── external_auth_grpc.pb.go │ │ │ └── external_auth_vtproto.pb.go │ ├── cluster │ │ └── v3 │ │ │ ├── cds.pb.go │ │ │ ├── cds.pb.validate.go │ │ │ ├── cds_grpc.pb.go │ │ │ └── cds_vtproto.pb.go │ ├── discovery │ │ ├── v2 │ │ │ ├── ads.pb.go │ │ │ ├── ads.pb.validate.go │ │ │ ├── ads_grpc.pb.go │ │ │ ├── ads_vtproto.pb.go │ │ │ ├── hds.pb.go │ │ │ ├── hds.pb.validate.go │ │ │ ├── hds_grpc.pb.go │ │ │ ├── hds_vtproto.pb.go │ │ │ ├── rtds.pb.go │ │ │ ├── rtds.pb.validate.go │ │ │ ├── rtds_grpc.pb.go │ │ │ ├── rtds_vtproto.pb.go │ │ │ ├── sds.pb.go │ │ │ ├── sds.pb.validate.go │ │ │ ├── sds_grpc.pb.go │ │ │ └── sds_vtproto.pb.go │ │ └── v3 │ │ │ ├── ads.pb.go │ │ │ ├── ads.pb.validate.go │ │ │ ├── ads_grpc.pb.go │ │ │ ├── ads_vtproto.pb.go │ │ │ ├── discovery.pb.go │ │ │ ├── discovery.pb.validate.go │ │ │ ├── discovery_grpc.pb.go │ │ │ └── discovery_vtproto.pb.go │ ├── endpoint │ │ └── v3 │ │ │ ├── eds.pb.go │ │ │ ├── eds.pb.validate.go │ │ │ ├── eds_grpc.pb.go │ │ │ ├── eds_vtproto.pb.go │ │ │ ├── leds.pb.go │ │ │ ├── leds.pb.validate.go │ │ │ ├── leds_grpc.pb.go │ │ │ └── leds_vtproto.pb.go │ ├── event_reporting │ │ ├── v2alpha │ │ │ ├── event_reporting_service.pb.go │ │ │ ├── event_reporting_service.pb.validate.go │ │ │ ├── event_reporting_service_grpc.pb.go │ │ │ └── event_reporting_service_vtproto.pb.go │ │ └── v3 │ │ │ ├── event_reporting_service.pb.go │ │ │ ├── event_reporting_service.pb.validate.go │ │ │ ├── event_reporting_service_grpc.pb.go │ │ │ └── event_reporting_service_vtproto.pb.go │ ├── ext_proc │ │ └── v3 │ │ │ ├── external_processor.pb.go │ │ │ ├── external_processor.pb.validate.go │ │ │ ├── external_processor_grpc.pb.go │ │ │ └── external_processor_vtproto.pb.go │ ├── extension │ │ └── v3 │ │ │ ├── config_discovery.pb.go │ │ │ ├── config_discovery.pb.validate.go │ │ │ ├── config_discovery_grpc.pb.go │ │ │ └── config_discovery_vtproto.pb.go │ ├── health │ │ └── v3 │ │ │ ├── hds.pb.go │ │ │ ├── hds.pb.validate.go │ │ │ ├── hds_grpc.pb.go │ │ │ └── hds_vtproto.pb.go │ ├── listener │ │ └── v3 │ │ │ ├── lds.pb.go │ │ │ ├── lds.pb.validate.go │ │ │ ├── lds_grpc.pb.go │ │ │ └── lds_vtproto.pb.go │ ├── load_stats │ │ ├── v2 │ │ │ ├── lrs.pb.go │ │ │ ├── lrs.pb.validate.go │ │ │ ├── lrs_grpc.pb.go │ │ │ └── lrs_vtproto.pb.go │ │ └── v3 │ │ │ ├── lrs.pb.go │ │ │ ├── lrs.pb.validate.go │ │ │ ├── lrs_grpc.pb.go │ │ │ └── lrs_vtproto.pb.go │ ├── metrics │ │ ├── v2 │ │ │ ├── metrics_service.pb.go │ │ │ ├── metrics_service.pb.validate.go │ │ │ ├── metrics_service_grpc.pb.go │ │ │ └── metrics_service_vtproto.pb.go │ │ └── v3 │ │ │ ├── metrics_service.pb.go │ │ │ ├── metrics_service.pb.validate.go │ │ │ ├── metrics_service_grpc.pb.go │ │ │ └── metrics_service_vtproto.pb.go │ ├── network_ext_proc │ │ └── v3 │ │ │ ├── network_external_processor.pb.go │ │ │ ├── network_external_processor.pb.validate.go │ │ │ ├── network_external_processor_grpc.pb.go │ │ │ └── network_external_processor_vtproto.pb.go │ ├── rate_limit_quota │ │ └── v3 │ │ │ ├── rlqs.pb.go │ │ │ ├── rlqs.pb.validate.go │ │ │ ├── rlqs_grpc.pb.go │ │ │ └── rlqs_vtproto.pb.go │ ├── ratelimit │ │ ├── v2 │ │ │ ├── rls.pb.go │ │ │ ├── rls.pb.validate.go │ │ │ ├── rls_grpc.pb.go │ │ │ └── rls_vtproto.pb.go │ │ └── v3 │ │ │ ├── rls.pb.go │ │ │ ├── rls.pb.validate.go │ │ │ ├── rls_grpc.pb.go │ │ │ └── rls_vtproto.pb.go │ ├── redis_auth │ │ └── v3 │ │ │ ├── redis_external_auth.pb.go │ │ │ ├── redis_external_auth.pb.validate.go │ │ │ ├── redis_external_auth_grpc.pb.go │ │ │ └── redis_external_auth_vtproto.pb.go │ ├── route │ │ └── v3 │ │ │ ├── rds.pb.go │ │ │ ├── rds.pb.validate.go │ │ │ ├── rds_grpc.pb.go │ │ │ ├── rds_vtproto.pb.go │ │ │ ├── srds.pb.go │ │ │ ├── srds.pb.validate.go │ │ │ ├── srds_grpc.pb.go │ │ │ └── srds_vtproto.pb.go │ ├── runtime │ │ └── v3 │ │ │ ├── rtds.pb.go │ │ │ ├── rtds.pb.validate.go │ │ │ ├── rtds_grpc.pb.go │ │ │ └── rtds_vtproto.pb.go │ ├── secret │ │ └── v3 │ │ │ ├── sds.pb.go │ │ │ ├── sds.pb.validate.go │ │ │ ├── sds_grpc.pb.go │ │ │ └── sds_vtproto.pb.go │ ├── status │ │ ├── v2 │ │ │ ├── csds.pb.go │ │ │ ├── csds.pb.validate.go │ │ │ ├── csds_grpc.pb.go │ │ │ └── csds_vtproto.pb.go │ │ └── v3 │ │ │ ├── csds.pb.go │ │ │ ├── csds.pb.validate.go │ │ │ ├── csds_grpc.pb.go │ │ │ └── csds_vtproto.pb.go │ └── tap │ │ ├── v2alpha │ │ ├── common.pb.go │ │ ├── common.pb.validate.go │ │ ├── common_grpc.pb.go │ │ ├── common_vtproto.pb.go │ │ ├── tap.pb.go │ │ ├── tap.pb.validate.go │ │ ├── tap_grpc.pb.go │ │ └── tap_vtproto.pb.go │ │ └── v3 │ │ ├── tap.pb.go │ │ ├── tap.pb.validate.go │ │ ├── tap_grpc.pb.go │ │ └── tap_vtproto.pb.go ├── type │ ├── hash_policy.pb.go │ ├── hash_policy.pb.validate.go │ ├── hash_policy_vtproto.pb.go │ ├── http.pb.go │ ├── http.pb.validate.go │ ├── http │ │ └── v3 │ │ │ ├── cookie.pb.go │ │ │ ├── cookie.pb.validate.go │ │ │ ├── cookie_vtproto.pb.go │ │ │ ├── path_transformation.pb.go │ │ │ ├── path_transformation.pb.validate.go │ │ │ └── path_transformation_vtproto.pb.go │ ├── http_status.pb.go │ ├── http_status.pb.validate.go │ ├── http_status_vtproto.pb.go │ ├── http_vtproto.pb.go │ ├── matcher │ │ ├── metadata.pb.go │ │ ├── metadata.pb.validate.go │ │ ├── metadata_vtproto.pb.go │ │ ├── node.pb.go │ │ ├── node.pb.validate.go │ │ ├── node_vtproto.pb.go │ │ ├── number.pb.go │ │ ├── number.pb.validate.go │ │ ├── number_vtproto.pb.go │ │ ├── path.pb.go │ │ ├── path.pb.validate.go │ │ ├── path_vtproto.pb.go │ │ ├── regex.pb.go │ │ ├── regex.pb.validate.go │ │ ├── regex_vtproto.pb.go │ │ ├── string.pb.go │ │ ├── string.pb.validate.go │ │ ├── string_vtproto.pb.go │ │ ├── struct.pb.go │ │ ├── struct.pb.validate.go │ │ ├── struct_vtproto.pb.go │ │ ├── v3 │ │ │ ├── address.pb.go │ │ │ ├── address.pb.validate.go │ │ │ ├── address_vtproto.pb.go │ │ │ ├── filter_state.pb.go │ │ │ ├── filter_state.pb.validate.go │ │ │ ├── filter_state_vtproto.pb.go │ │ │ ├── http_inputs.pb.go │ │ │ ├── http_inputs.pb.validate.go │ │ │ ├── http_inputs_vtproto.pb.go │ │ │ ├── metadata.pb.go │ │ │ ├── metadata.pb.validate.go │ │ │ ├── metadata_vtproto.pb.go │ │ │ ├── node.pb.go │ │ │ ├── node.pb.validate.go │ │ │ ├── node_vtproto.pb.go │ │ │ ├── number.pb.go │ │ │ ├── number.pb.validate.go │ │ │ ├── number_vtproto.pb.go │ │ │ ├── path.pb.go │ │ │ ├── path.pb.validate.go │ │ │ ├── path_vtproto.pb.go │ │ │ ├── regex.pb.go │ │ │ ├── regex.pb.validate.go │ │ │ ├── regex_vtproto.pb.go │ │ │ ├── status_code_input.pb.go │ │ │ ├── status_code_input.pb.validate.go │ │ │ ├── status_code_input_vtproto.pb.go │ │ │ ├── string.pb.go │ │ │ ├── string.pb.validate.go │ │ │ ├── string_vtproto.pb.go │ │ │ ├── struct.pb.go │ │ │ ├── struct.pb.validate.go │ │ │ ├── struct_vtproto.pb.go │ │ │ ├── value.pb.go │ │ │ ├── value.pb.validate.go │ │ │ └── value_vtproto.pb.go │ │ ├── value.pb.go │ │ ├── value.pb.validate.go │ │ └── value_vtproto.pb.go │ ├── metadata │ │ ├── v2 │ │ │ ├── metadata.pb.go │ │ │ ├── metadata.pb.validate.go │ │ │ └── metadata_vtproto.pb.go │ │ └── v3 │ │ │ ├── metadata.pb.go │ │ │ ├── metadata.pb.validate.go │ │ │ └── metadata_vtproto.pb.go │ ├── percent.pb.go │ ├── percent.pb.validate.go │ ├── percent_vtproto.pb.go │ ├── range.pb.go │ ├── range.pb.validate.go │ ├── range_vtproto.pb.go │ ├── semantic_version.pb.go │ ├── semantic_version.pb.validate.go │ ├── semantic_version_vtproto.pb.go │ ├── token_bucket.pb.go │ ├── token_bucket.pb.validate.go │ ├── token_bucket_vtproto.pb.go │ ├── tracing │ │ ├── v2 │ │ │ ├── custom_tag.pb.go │ │ │ ├── custom_tag.pb.validate.go │ │ │ └── custom_tag_vtproto.pb.go │ │ └── v3 │ │ │ ├── custom_tag.pb.go │ │ │ ├── custom_tag.pb.validate.go │ │ │ └── custom_tag_vtproto.pb.go │ └── v3 │ │ ├── hash_policy.pb.go │ │ ├── hash_policy.pb.validate.go │ │ ├── hash_policy_vtproto.pb.go │ │ ├── http.pb.go │ │ ├── http.pb.validate.go │ │ ├── http_status.pb.go │ │ ├── http_status.pb.validate.go │ │ ├── http_status_vtproto.pb.go │ │ ├── http_vtproto.pb.go │ │ ├── percent.pb.go │ │ ├── percent.pb.validate.go │ │ ├── percent_vtproto.pb.go │ │ ├── range.pb.go │ │ ├── range.pb.validate.go │ │ ├── range_vtproto.pb.go │ │ ├── ratelimit_strategy.pb.go │ │ ├── ratelimit_strategy.pb.validate.go │ │ ├── ratelimit_strategy_vtproto.pb.go │ │ ├── ratelimit_unit.pb.go │ │ ├── ratelimit_unit.pb.validate.go │ │ ├── ratelimit_unit_vtproto.pb.go │ │ ├── semantic_version.pb.go │ │ ├── semantic_version.pb.validate.go │ │ ├── semantic_version_vtproto.pb.go │ │ ├── token_bucket.pb.go │ │ ├── token_bucket.pb.validate.go │ │ └── token_bucket_vtproto.pb.go └── watchdog │ └── v3 │ ├── abort_action.pb.go │ ├── abort_action.pb.validate.go │ └── abort_action_vtproto.pb.go ├── examples └── dyplomat │ ├── Dockerfile │ ├── Makefile │ ├── auth.go │ ├── bootstrap.go │ ├── bootstrap.yaml │ ├── go.mod │ ├── go.sum │ ├── main.go │ ├── readme.md │ └── terraform │ ├── apps │ ├── dyplomat.tf │ ├── envoysidecar.yaml │ ├── frontenvoy.tf │ ├── frontenvoy.yaml │ ├── namespace.tf │ ├── serviceone.tf │ ├── servicetwo.tf │ └── variables.tf │ ├── eks │ ├── eks-cluster-1.tf │ ├── eks-cluster-2.tf │ └── variables.tf │ ├── modules.tf │ └── rbac │ ├── rbac.tf │ └── variables.tf ├── go.mod ├── go.sum ├── internal ├── example │ ├── README.md │ ├── logger.go │ ├── main │ │ └── main.go │ ├── resource.go │ └── server.go ├── tools │ ├── Makefile │ ├── go.mod │ ├── go.sum │ └── tools.go └── upstream │ ├── README.md │ └── main.go ├── pkg ├── Makefile ├── cache │ ├── types │ │ └── types.go │ └── v3 │ │ ├── cache.go │ │ ├── cache_test.go │ │ ├── delta.go │ │ ├── delta_test.go │ │ ├── fixtures_test.go │ │ ├── linear.go │ │ ├── linear_test.go │ │ ├── mux.go │ │ ├── order.go │ │ ├── order_test.go │ │ ├── resource.go │ │ ├── resource_test.go │ │ ├── resources.go │ │ ├── resources_test.go │ │ ├── simple.go │ │ ├── simple_test.go │ │ ├── snapshot.go │ │ ├── snapshot_test.go │ │ ├── status.go │ │ └── status_test.go ├── client │ └── sotw │ │ └── v3 │ │ ├── client.go │ │ └── client_test.go ├── conversion │ ├── struct.go │ └── struct_test.go ├── integration │ └── ttl_integration_test.go ├── log │ ├── default.go │ ├── log.go │ └── log_test.go ├── resource │ └── v3 │ │ └── resource.go ├── server │ ├── config │ │ ├── config.go │ │ └── doc.go │ ├── delta │ │ └── v3 │ │ │ ├── server.go │ │ │ ├── watches.go │ │ │ └── watches_test.go │ ├── rest │ │ └── v3 │ │ │ └── server.go │ ├── sotw │ │ └── v3 │ │ │ ├── ads.go │ │ │ ├── server.go │ │ │ ├── watches.go │ │ │ └── xds.go │ ├── stream │ │ └── v3 │ │ │ └── stream.go │ └── v3 │ │ ├── delta_test.go │ │ ├── gateway.go │ │ ├── gateway_test.go │ │ ├── server.go │ │ └── server_test.go ├── test │ ├── main │ │ ├── README.md │ │ └── main.go │ ├── resource │ │ └── v3 │ │ │ ├── resource.go │ │ │ └── secret.go │ ├── server.go │ └── v3 │ │ ├── accesslog.go │ │ ├── callbacks.go │ │ └── register.go └── wellknown │ └── wellknown.go ├── ratelimit ├── Makefile ├── config │ └── ratelimit │ │ └── v3 │ │ └── rls_conf.pb.go ├── go.mod ├── go.sum └── service │ └── ratelimit │ └── v3 │ └── rls_conf_ds.pb.go ├── repokitteh.star ├── sample ├── bootstrap-ads.yaml ├── bootstrap-delta-ads.yaml ├── bootstrap-delta.yaml ├── bootstrap-rest.yaml └── bootstrap-xds.yaml ├── scripts ├── coverage.sh ├── do_ci.sh ├── example.sh └── integration.sh ├── support ├── README.md ├── bootstrap └── hooks │ ├── pre-push │ └── prepare-commit-msg ├── versions.yaml └── xdsmatcher ├── .gitignore ├── Makefile ├── README.md ├── go.mod ├── go.sum ├── internal └── proto │ └── proto.go ├── pkg └── matcher │ ├── matcher.go │ ├── matcher_test.go │ ├── registry │ └── registry.go │ └── types │ └── types.go └── test ├── extensions.go └── proto ├── test.pb.go └── test.proto /.codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | ignore: 3 | - "pkg/test/" # Test infrastructure coverage does not affect core coverage 4 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: docker 9 | directories: 10 | - / 11 | - /examples/dyplomat 12 | schedule: 13 | interval: weekly 14 | - package-ecosystem: github-actions 15 | directory: / 16 | schedule: 17 | interval: weekly 18 | - package-ecosystem: gomod 19 | directories: 20 | - / 21 | - /contrib 22 | - /envoy 23 | - /examples/dyplomat 24 | - /ratelimit 25 | - /xdsmatcher 26 | schedule: 27 | interval: weekly 28 | groups: 29 | k8s.io: 30 | patterns: 31 | - "k8s.io/*" 32 | - package-ecosystem: gomod 33 | directory: /internal/tools 34 | allow: 35 | - dependency-type: direct 36 | schedule: 37 | interval: weekly 38 | -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- 1 | name: CI Build and Test 2 | 3 | permissions: 4 | contents: read 5 | 6 | on: 7 | pull_request: 8 | push: 9 | branches: 10 | - main 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 17 | - name: build and test 18 | run: make docker_tests 19 | -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- 1 | name: "CodeQL" 2 | 3 | permissions: 4 | contents: read 5 | 6 | on: 7 | push: 8 | branches: 9 | - "main" 10 | pull_request: 11 | branches: 12 | - "main" 13 | schedule: 14 | - cron: '16 11 * * 5' 15 | 16 | jobs: 17 | analyze: 18 | name: Analyze 19 | runs-on: ubuntu-22.04 20 | timeout-minutes: 360 21 | permissions: 22 | actions: read 23 | contents: read 24 | security-events: write 25 | 26 | steps: 27 | - name: Checkout repository 28 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 29 | 30 | - name: Initialize CodeQL 31 | uses: github/codeql-action/init@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19 32 | with: 33 | languages: go 34 | 35 | - name: Build 36 | run: make build 37 | 38 | - name: Perform CodeQL Analysis 39 | uses: github/codeql-action/analyze@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19 40 | with: 41 | category: "/language:go" 42 | -------------------------------------------------------------------------------- /.github/workflows/envoy-sync.yaml: -------------------------------------------------------------------------------- 1 | name: Sync Envoy 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | concurrency: 7 | group: ${{ github.workflow }} 8 | cancel-in-progress: true 9 | 10 | permissions: 11 | contents: read 12 | 13 | jobs: 14 | sync: 15 | runs-on: ubuntu-22.04 16 | permissions: 17 | contents: write 18 | if: | 19 | ${{ 20 | !contains(github.actor, '[bot]') 21 | || github.actor == 'sync-envoy[bot]' 22 | }} 23 | steps: 24 | - id: appauth 25 | uses: envoyproxy/toolshed/gh-actions/appauth@5ef04d5f8144dc3a1a8c05bd81b0ef267c0849f5 # actions-v0.1.83 26 | with: 27 | key: ${{ secrets.ENVOY_CI_UPDATE_BOT_KEY }} 28 | app_id: ${{ secrets.ENVOY_CI_UPDATE_APP_ID }} 29 | 30 | # Checkout the repo 31 | - name: 'Checkout Repository' 32 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 33 | with: 34 | ref: main 35 | fetch-depth: 0 36 | token: ${{ steps.appauth.outputs.token }} 37 | 38 | # Checkout the Envoy repo 39 | - name: 'Checkout Repository' 40 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 41 | with: 42 | repository: envoyproxy/envoy 43 | ref: main 44 | fetch-depth: 0 45 | path: upstream 46 | 47 | - run: mv upstream ../envoy 48 | - run: ci/sync_envoy.sh 49 | env: 50 | ENVOY_SRC_DIR: ../envoy 51 | -------------------------------------------------------------------------------- /.github/workflows/golangci-lint.yaml: -------------------------------------------------------------------------------- 1 | name: golangci-lint 2 | 3 | permissions: 4 | contents: read 5 | 6 | on: [push, pull_request] 7 | 8 | jobs: 9 | golangci: 10 | permissions: 11 | contents: read # for actions/checkout to fetch code 12 | pull-requests: read # for golangci/golangci-lint-action to fetch pull requests 13 | name: lint 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 17 | - name: golangci-lint 18 | uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0 19 | with: 20 | version: latest 21 | only-new-issues: false 22 | 23 | # Optional: golangci-lint command line arguments. 24 | args: --verbose 25 | -------------------------------------------------------------------------------- /.github/workflows/scorecard.yml: -------------------------------------------------------------------------------- 1 | name: Scorecard supply-chain security 2 | on: 3 | branch_protection_rule: 4 | schedule: 5 | - cron: '33 13 * * 5' 6 | push: 7 | branches: 8 | - "main" 9 | 10 | permissions: 11 | contents: read 12 | 13 | 14 | jobs: 15 | analysis: 16 | name: Scorecard analysis 17 | runs-on: ubuntu-22.04 18 | permissions: 19 | security-events: write 20 | id-token: write 21 | 22 | steps: 23 | - name: "Checkout code" 24 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 25 | with: 26 | persist-credentials: false 27 | 28 | - name: "Run analysis" 29 | uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2 30 | with: 31 | results_file: results.sarif 32 | results_format: sarif 33 | publish_results: true 34 | 35 | - name: "Upload artifact" 36 | uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 37 | with: 38 | name: SARIF file 39 | path: results.sarif 40 | retention-days: 5 41 | 42 | - name: "Upload to code-scanning" 43 | uses: github/codeql-action/upload-sarif@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19 44 | with: 45 | sarif_file: results.sarif 46 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /bin 3 | .idea* 4 | *.iml 5 | *.bak 6 | .vagrant 7 | examples/dyplomat/dyplomat 8 | 9 | # Eclipse artifacts 10 | /.project 11 | 12 | # codecov.io test coverage 13 | /coverage.out 14 | 15 | # auto-generated test files, e.g. mockgen 16 | *_gen_test.go 17 | 18 | /envoy*.log 19 | 20 | .tools/ 21 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- 1 | formatters: 2 | enable: 3 | - gofumpt 4 | - goimports 5 | exclusions: 6 | generated: lax 7 | settings: 8 | gofumpt: 9 | extra-rules: true 10 | goimports: 11 | local-prefixes: 12 | - github.com/envoyproxy/go-control-plane 13 | issues: 14 | max-issues-per-linter: 0 15 | max-same-issues: 0 16 | linters: 17 | enable: 18 | - bodyclose 19 | - contextcheck 20 | - errorlint 21 | - gosec 22 | - misspell 23 | - perfsprint 24 | - revive 25 | - testifylint 26 | - unconvert 27 | - unparam 28 | - whitespace 29 | exclusions: 30 | generated: lax 31 | presets: 32 | - comments 33 | - common-false-positives 34 | - legacy 35 | - std-error-handling 36 | rules: 37 | - linters: 38 | - gosec 39 | path: pkg/test/resource/v3/secret.go 40 | text: G101 41 | settings: 42 | exhaustive: 43 | default-signifies-exhaustive: true 44 | gosec: 45 | excludes: 46 | - G115 47 | misspell: 48 | locale: US 49 | perfsprint: 50 | int-conversion: true 51 | err-error: true 52 | errorf: true 53 | sprintf1: true 54 | strconcat: true 55 | testifylint: 56 | disable: 57 | - float-compare 58 | - go-require 59 | enable-all: true 60 | unparam: 61 | check-exported: false 62 | version: "2" 63 | -------------------------------------------------------------------------------- /Dockerfile.ci: -------------------------------------------------------------------------------- 1 | FROM golang:1.23@sha256:77a21b3e354c03e9f66b13bc39f4f0db8085c70f8414406af66b29c6d6c4dd85 2 | 3 | COPY --from=envoyproxy/envoy-dev:latest /usr/local/bin/envoy /usr/local/bin/envoy 4 | -------------------------------------------------------------------------------- /Makefile.common: -------------------------------------------------------------------------------- 1 | SHELL = /bin/bash 2 | .SHELLFLAGS = -o pipefail -c 3 | 4 | SRC_ROOT := $(shell git rev-parse --show-toplevel) 5 | 6 | GOCMD?= go 7 | 8 | TOOLS_MOD_DIR := $(SRC_ROOT)/internal/tools 9 | TOOLS_MOD_REGEX := "\s+_\s+\".*\"" 10 | TOOLS_PKG_NAMES := $(shell grep -E $(TOOLS_MOD_REGEX) < $(TOOLS_MOD_DIR)/tools.go | tr -d " _\"") 11 | TOOLS_BIN_DIR := $(SRC_ROOT)/.tools 12 | TOOLS_BIN_NAMES := $(addprefix $(TOOLS_BIN_DIR)/, $(notdir $(TOOLS_PKG_NAMES))) 13 | 14 | $(TOOLS_BIN_DIR): 15 | mkdir -p $@ 16 | 17 | $(TOOLS_BIN_NAMES): $(TOOLS_BIN_DIR) $(TOOLS_MOD_DIR)/go.mod 18 | cd $(TOOLS_MOD_DIR) && GOOS="" GOARCH="" $(GOCMD) build -o $@ -trimpath $(filter %/$(notdir $@),$(TOOLS_PKG_NAMES)) 19 | 20 | MULTIMOD := $(TOOLS_BIN_DIR)/multimod 21 | GOLANGCI_LINT := $(TOOLS_BIN_DIR)/golangci-lint 22 | 23 | .PHONY: common/build 24 | common/build: 25 | @go build ./... 26 | 27 | .PHONY: common/coverage 28 | common/coverage: 29 | $(GOCMD) test ./... -race -covermode=atomic -coverprofile=coverage.out 30 | common/coverage_html: common/coverage 31 | $(GOCMD) tool cover -html=coverage.out 32 | 33 | .PHONY: common/test 34 | common/test: 35 | $(GOCMD) test ./... -race 36 | 37 | .PHONY: common/tidy 38 | common/tidy: 39 | $(GOCMD) mod tidy 40 | -------------------------------------------------------------------------------- /OWNERS.md: -------------------------------------------------------------------------------- 1 | This page lists all active maintainers. This can be used for routing PRs, questions, etc. to the 2 | right place. 3 | 4 | # Maintainers 5 | 6 | * Kuat Yessenov ([kyessenov](https://github.com/kyessenov)) (kuat@google.com) 7 | * Yangmin Zhu ([yangminzhu](https://github.com/yangminzhu)) (ymzhu@google.com) 8 | * Snow Pettersen ([snowp](https://github.com/snowp)) (snowp@lyft.com) 9 | * Alec Holmes ([alecholmez](https://github.com/alecholmez)) (alec.holmes@greymatter.io) 10 | * James Peach ([jpeach](https://github.com/jpeach)) (jpeach@apache.org) 11 | * Sunjay Bhatia ([sunjayBhatia](https://github.com/sunjayBhatia))(sunjayb@vmware.com) 12 | * Valerian Roche ([valerian-roche](https://github.com/valerian-roche))(valerian.roche@datadoghq.com) 13 | * Ryan Northey ([phlax](https://github.com/phlax)) (ryan@synca.io) 14 | -------------------------------------------------------------------------------- /contrib/Makefile: -------------------------------------------------------------------------------- 1 | include ../Makefile.common 2 | -------------------------------------------------------------------------------- /contrib/envoy/extensions/filters/http/dynamo/v3/dynamo_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: contrib/envoy/extensions/filters/http/dynamo/v3/dynamo.proto 6 | 7 | package dynamov3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Dynamo) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Dynamo) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Dynamo) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Dynamo) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /contrib/envoy/extensions/filters/network/generic_proxy/codecs/kafka/v3/kafka_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: contrib/envoy/extensions/filters/network/generic_proxy/codecs/kafka/v3/kafka.proto 6 | 7 | package kafkav3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *KafkaCodecConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *KafkaCodecConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *KafkaCodecConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *KafkaCodecConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /contrib/envoy/extensions/filters/network/sip_proxy/router/v3alpha/router_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: contrib/envoy/extensions/filters/network/sip_proxy/router/v3alpha/router.proto 6 | 7 | package v3alpha 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Router) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Router) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Router) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Router) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /contrib/envoy/extensions/regex_engines/hyperscan/v3alpha/hyperscan_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: contrib/envoy/extensions/regex_engines/hyperscan/v3alpha/hyperscan.proto 6 | 7 | package v3alpha 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Hyperscan) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Hyperscan) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Hyperscan) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Hyperscan) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /contrib/envoy/extensions/vcl/v3alpha/vcl_socket_interface_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: contrib/envoy/extensions/vcl/v3alpha/vcl_socket_interface.proto 6 | 7 | package v3alpha 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *VclSocketInterface) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *VclSocketInterface) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *VclSocketInterface) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *VclSocketInterface) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /contrib/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/envoyproxy/go-control-plane/contrib 2 | 3 | go 1.23.0 4 | 5 | toolchain go1.23.6 6 | 7 | replace github.com/envoyproxy/go-control-plane/envoy => ../envoy 8 | 9 | require ( 10 | github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 11 | github.com/envoyproxy/go-control-plane/envoy v1.32.4 12 | github.com/envoyproxy/protoc-gen-validate v1.2.1 13 | github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 14 | google.golang.org/grpc v1.72.2 15 | google.golang.org/protobuf v1.36.6 16 | ) 17 | 18 | require ( 19 | cel.dev/expr v0.20.0 // indirect 20 | golang.org/x/net v0.40.0 // indirect 21 | golang.org/x/sys v0.33.0 // indirect 22 | golang.org/x/text v0.25.0 // indirect 23 | google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a // indirect 24 | google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect 25 | ) 26 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # Knowledge Base 2 | 3 | Below lies a list of resources that may be helpful to those looking to understand the go-control-plane API. 4 | 5 | ## Implementations 6 | The following guides may be helpful on how to use go-control-plane's Snapshot Cache: 7 | - [cache.md](cache.md) 8 | - [server.md](server.md) 9 | 10 | ## Getting Started 11 | 12 | A fully functional server/cache example is provided inside `internal/example`. Head there to see how a basic control-plane is initialized with a go-control-plane backed cache and server. -------------------------------------------------------------------------------- /envoy/COMMIT: -------------------------------------------------------------------------------- 1 | 70bc725c8e79749622a6da9ff3dd70defa60709b 2 | -------------------------------------------------------------------------------- /envoy/Makefile: -------------------------------------------------------------------------------- 1 | include ../Makefile.common 2 | -------------------------------------------------------------------------------- /envoy/annotations/deprecation.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/annotations/deprecation.proto 4 | 5 | package annotations 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/annotations/deprecation_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/api/v2/auth/cert.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/api/v2/auth/cert.proto 4 | 5 | package auth 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/api/v2/auth/cert_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/api/v2/cds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/api/v2/cds.proto 6 | 7 | package apiv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *CdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *CdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *CdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *CdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/api/v2/cluster_grpc.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/api/v2/discovery_grpc.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/api/v2/eds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/api/v2/eds.proto 6 | 7 | package apiv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *EdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *EdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *EdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *EdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/api/v2/endpoint/endpoint.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/api/v2/endpoint/endpoint.proto 4 | 5 | package endpoint 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/api/v2/endpoint/endpoint_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/api/v2/endpoint_grpc.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/api/v2/lds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/api/v2/lds.proto 6 | 7 | package apiv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *LdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *LdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *LdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *LdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/api/v2/listener/listener.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/api/v2/listener/listener.proto 4 | 5 | package listener 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/api/v2/listener/listener_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/api/v2/listener_grpc.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/api/v2/rds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/api/v2/rds.proto 6 | 7 | package apiv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *RdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *RdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *RdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *RdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/api/v2/route/route.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/api/v2/route/route.proto 4 | 5 | package route 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/api/v2/route/route_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/api/v2/route_grpc.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/api/v2/scoped_route_grpc.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/api/v2/srds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/api/v2/srds.proto 6 | 7 | package apiv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *SrdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *SrdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *SrdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *SrdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/dubbo/router/v2alpha1/router_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/dubbo/router/v2alpha1/router.proto 6 | 7 | package v2alpha1 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Router) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Router) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Router) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Router) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/http/cors/v2/cors_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/http/cors/v2/cors.proto 6 | 7 | package corsv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Cors) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Cors) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Cors) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Cors) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/http/dynamo/v2/dynamo_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/http/dynamo/v2/dynamo.proto 6 | 7 | package dynamov2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Dynamo) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Dynamo) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Dynamo) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Dynamo) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/http/grpc_http1_bridge/v2/config_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/http/grpc_http1_bridge/v2/config.proto 6 | 7 | package grpc_http1_bridgev2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Config) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Config) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Config) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Config) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/http/grpc_web/v2/grpc_web_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/http/grpc_web/v2/grpc_web.proto 6 | 7 | package grpc_webv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *GrpcWeb) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *GrpcWeb) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *GrpcWeb) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *GrpcWeb) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/http/lua/v2/lua_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/http/lua/v2/lua.proto 6 | 7 | package luav2 8 | 9 | import ( 10 | protohelpers "github.com/planetscale/vtprotobuf/protohelpers" 11 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 | ) 13 | 14 | const ( 15 | // Verify that this generated code is sufficiently up-to-date. 16 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 17 | // Verify that runtime/protoimpl is sufficiently up-to-date. 18 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 19 | ) 20 | 21 | func (m *Lua) MarshalVTStrict() (dAtA []byte, err error) { 22 | if m == nil { 23 | return nil, nil 24 | } 25 | size := m.SizeVT() 26 | dAtA = make([]byte, size) 27 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 28 | if err != nil { 29 | return nil, err 30 | } 31 | return dAtA[:n], nil 32 | } 33 | 34 | func (m *Lua) MarshalToVTStrict(dAtA []byte) (int, error) { 35 | size := m.SizeVT() 36 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 37 | } 38 | 39 | func (m *Lua) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 40 | if m == nil { 41 | return 0, nil 42 | } 43 | i := len(dAtA) 44 | _ = i 45 | var l int 46 | _ = l 47 | if m.unknownFields != nil { 48 | i -= len(m.unknownFields) 49 | copy(dAtA[i:], m.unknownFields) 50 | } 51 | if len(m.InlineCode) > 0 { 52 | i -= len(m.InlineCode) 53 | copy(dAtA[i:], m.InlineCode) 54 | i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.InlineCode))) 55 | i-- 56 | dAtA[i] = 0xa 57 | } 58 | return len(dAtA) - i, nil 59 | } 60 | 61 | func (m *Lua) SizeVT() (n int) { 62 | if m == nil { 63 | return 0 64 | } 65 | var l int 66 | _ = l 67 | l = len(m.InlineCode) 68 | if l > 0 { 69 | n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) 70 | } 71 | n += len(m.unknownFields) 72 | return n 73 | } 74 | -------------------------------------------------------------------------------- /envoy/config/filter/http/on_demand/v2/on_demand_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/http/on_demand/v2/on_demand.proto 6 | 7 | package on_demandv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *OnDemand) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *OnDemand) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *OnDemand) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *OnDemand) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/http/original_src/v2alpha1/original_src_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/http/original_src/v2alpha1/original_src.proto 6 | 7 | package v2alpha1 8 | 9 | import ( 10 | protohelpers "github.com/planetscale/vtprotobuf/protohelpers" 11 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 | ) 13 | 14 | const ( 15 | // Verify that this generated code is sufficiently up-to-date. 16 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 17 | // Verify that runtime/protoimpl is sufficiently up-to-date. 18 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 19 | ) 20 | 21 | func (m *OriginalSrc) MarshalVTStrict() (dAtA []byte, err error) { 22 | if m == nil { 23 | return nil, nil 24 | } 25 | size := m.SizeVT() 26 | dAtA = make([]byte, size) 27 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 28 | if err != nil { 29 | return nil, err 30 | } 31 | return dAtA[:n], nil 32 | } 33 | 34 | func (m *OriginalSrc) MarshalToVTStrict(dAtA []byte) (int, error) { 35 | size := m.SizeVT() 36 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 37 | } 38 | 39 | func (m *OriginalSrc) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 40 | if m == nil { 41 | return 0, nil 42 | } 43 | i := len(dAtA) 44 | _ = i 45 | var l int 46 | _ = l 47 | if m.unknownFields != nil { 48 | i -= len(m.unknownFields) 49 | copy(dAtA[i:], m.unknownFields) 50 | } 51 | if m.Mark != 0 { 52 | i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Mark)) 53 | i-- 54 | dAtA[i] = 0x8 55 | } 56 | return len(dAtA) - i, nil 57 | } 58 | 59 | func (m *OriginalSrc) SizeVT() (n int) { 60 | if m == nil { 61 | return 0 62 | } 63 | var l int 64 | _ = l 65 | if m.Mark != 0 { 66 | n += 1 + protohelpers.SizeOfVarint(uint64(m.Mark)) 67 | } 68 | n += len(m.unknownFields) 69 | return n 70 | } 71 | -------------------------------------------------------------------------------- /envoy/config/filter/listener/http_inspector/v2/http_inspector_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/listener/http_inspector/v2/http_inspector.proto 6 | 7 | package http_inspectorv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *HttpInspector) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *HttpInspector) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *HttpInspector) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *HttpInspector) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/listener/original_dst/v2/original_dst_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/listener/original_dst/v2/original_dst.proto 6 | 7 | package original_dstv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *OriginalDst) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *OriginalDst) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *OriginalDst) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *OriginalDst) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/listener/proxy_protocol/v2/proxy_protocol_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/listener/proxy_protocol/v2/proxy_protocol.proto 6 | 7 | package proxy_protocolv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *ProxyProtocol) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *ProxyProtocol) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *ProxyProtocol) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *ProxyProtocol) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/listener/tls_inspector/v2/tls_inspector_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/listener/tls_inspector/v2/tls_inspector.proto 6 | 7 | package tls_inspectorv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *TlsInspector) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *TlsInspector) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *TlsInspector) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *TlsInspector) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/network/echo/v2/echo_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/network/echo/v2/echo.proto 6 | 7 | package echov2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Echo) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Echo) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Echo) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Echo) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/network/sni_cluster/v2/sni_cluster_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/network/sni_cluster/v2/sni_cluster.proto 6 | 7 | package sni_clusterv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *SniCluster) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *SniCluster) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *SniCluster) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *SniCluster) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/filter/thrift/router/v2alpha1/router_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/filter/thrift/router/v2alpha1/router.proto 6 | 7 | package v2alpha1 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Router) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Router) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Router) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Router) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/health_checker/redis/v2/redis_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/health_checker/redis/v2/redis.proto 6 | 7 | package redisv2 8 | 9 | import ( 10 | protohelpers "github.com/planetscale/vtprotobuf/protohelpers" 11 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 | ) 13 | 14 | const ( 15 | // Verify that this generated code is sufficiently up-to-date. 16 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 17 | // Verify that runtime/protoimpl is sufficiently up-to-date. 18 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 19 | ) 20 | 21 | func (m *Redis) MarshalVTStrict() (dAtA []byte, err error) { 22 | if m == nil { 23 | return nil, nil 24 | } 25 | size := m.SizeVT() 26 | dAtA = make([]byte, size) 27 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 28 | if err != nil { 29 | return nil, err 30 | } 31 | return dAtA[:n], nil 32 | } 33 | 34 | func (m *Redis) MarshalToVTStrict(dAtA []byte) (int, error) { 35 | size := m.SizeVT() 36 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 37 | } 38 | 39 | func (m *Redis) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 40 | if m == nil { 41 | return 0, nil 42 | } 43 | i := len(dAtA) 44 | _ = i 45 | var l int 46 | _ = l 47 | if m.unknownFields != nil { 48 | i -= len(m.unknownFields) 49 | copy(dAtA[i:], m.unknownFields) 50 | } 51 | if len(m.Key) > 0 { 52 | i -= len(m.Key) 53 | copy(dAtA[i:], m.Key) 54 | i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Key))) 55 | i-- 56 | dAtA[i] = 0xa 57 | } 58 | return len(dAtA) - i, nil 59 | } 60 | 61 | func (m *Redis) SizeVT() (n int) { 62 | if m == nil { 63 | return 0 64 | } 65 | var l int 66 | _ = l 67 | l = len(m.Key) 68 | if l > 0 { 69 | n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) 70 | } 71 | n += len(m.unknownFields) 72 | return n 73 | } 74 | -------------------------------------------------------------------------------- /envoy/config/retry/omit_canary_hosts/v2/omit_canary_hosts_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/retry/omit_canary_hosts/v2/omit_canary_hosts.proto 6 | 7 | package omit_canary_hostsv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *OmitCanaryHostsPredicate) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *OmitCanaryHostsPredicate) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *OmitCanaryHostsPredicate) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *OmitCanaryHostsPredicate) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/retry/previous_hosts/v2/previous_hosts_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/retry/previous_hosts/v2/previous_hosts.proto 6 | 7 | package previous_hostsv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *PreviousHostsPredicate) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *PreviousHostsPredicate) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *PreviousHostsPredicate) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *PreviousHostsPredicate) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/trace/v2/trace.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/config/trace/v2/trace.proto 4 | 5 | package tracev2 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/config/trace/v2/trace_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/config/trace/v3/trace.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/config/trace/v3/trace.proto 4 | 5 | package tracev3 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/config/trace/v3/trace_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/config/transport_socket/raw_buffer/v2/raw_buffer_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/transport_socket/raw_buffer/v2/raw_buffer.proto 6 | 7 | package raw_bufferv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *RawBuffer) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *RawBuffer) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *RawBuffer) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *RawBuffer) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/config/upstream/local_address_selector/v3/default_local_address_selector_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/config/upstream/local_address_selector/v3/default_local_address_selector.proto 6 | 7 | package local_address_selectorv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *DefaultLocalAddressSelector) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *DefaultLocalAddressSelector) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *DefaultLocalAddressSelector) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *DefaultLocalAddressSelector) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/empty.go: -------------------------------------------------------------------------------- 1 | package envoy 2 | 3 | // Used to resolve import issues related to go-control-plane package split 4 | import _ "github.com/envoyproxy/go-control-plane/pkg/cache/v3" 5 | -------------------------------------------------------------------------------- /envoy/extensions/clusters/common/dns/v3/dns.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/extensions/clusters/common/dns/v3/dns.proto 4 | 5 | package dnsv3 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/extensions/clusters/common/dns/v3/dns_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/extensions/early_data/v3/default_early_data_policy_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/early_data/v3/default_early_data_policy.proto 6 | 7 | package early_datav3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *DefaultEarlyDataPolicy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *DefaultEarlyDataPolicy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *DefaultEarlyDataPolicy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *DefaultEarlyDataPolicy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/common/matcher/action/v3/skip_action_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/common/matcher/action/v3/skip_action.proto 6 | 7 | package actionv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *SkipFilter) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *SkipFilter) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *SkipFilter) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *SkipFilter) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/http/connect_grpc_bridge/v3/config_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/http/connect_grpc_bridge/v3/config.proto 6 | 7 | package connect_grpc_bridgev3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *FilterConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *FilterConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *FilterConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *FilterConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/http/grpc_web/v3/grpc_web_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/http/grpc_web/v3/grpc_web.proto 6 | 7 | package grpc_webv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *GrpcWeb) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *GrpcWeb) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *GrpcWeb) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *GrpcWeb) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/http/original_src/v3/original_src_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/http/original_src/v3/original_src.proto 6 | 7 | package original_srcv3 8 | 9 | import ( 10 | protohelpers "github.com/planetscale/vtprotobuf/protohelpers" 11 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 | ) 13 | 14 | const ( 15 | // Verify that this generated code is sufficiently up-to-date. 16 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 17 | // Verify that runtime/protoimpl is sufficiently up-to-date. 18 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 19 | ) 20 | 21 | func (m *OriginalSrc) MarshalVTStrict() (dAtA []byte, err error) { 22 | if m == nil { 23 | return nil, nil 24 | } 25 | size := m.SizeVT() 26 | dAtA = make([]byte, size) 27 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 28 | if err != nil { 29 | return nil, err 30 | } 31 | return dAtA[:n], nil 32 | } 33 | 34 | func (m *OriginalSrc) MarshalToVTStrict(dAtA []byte) (int, error) { 35 | size := m.SizeVT() 36 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 37 | } 38 | 39 | func (m *OriginalSrc) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 40 | if m == nil { 41 | return 0, nil 42 | } 43 | i := len(dAtA) 44 | _ = i 45 | var l int 46 | _ = l 47 | if m.unknownFields != nil { 48 | i -= len(m.unknownFields) 49 | copy(dAtA[i:], m.unknownFields) 50 | } 51 | if m.Mark != 0 { 52 | i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Mark)) 53 | i-- 54 | dAtA[i] = 0x8 55 | } 56 | return len(dAtA) - i, nil 57 | } 58 | 59 | func (m *OriginalSrc) SizeVT() (n int) { 60 | if m == nil { 61 | return 0 62 | } 63 | var l int 64 | _ = l 65 | if m.Mark != 0 { 66 | n += 1 + protohelpers.SizeOfVarint(uint64(m.Mark)) 67 | } 68 | n += len(m.unknownFields) 69 | return n 70 | } 71 | -------------------------------------------------------------------------------- /envoy/extensions/filters/http/proto_api_scrubber/v3/matcher_actions_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/http/proto_api_scrubber/v3/matcher_actions.proto 6 | 7 | package proto_api_scrubberv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *RemoveFieldAction) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *RemoveFieldAction) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *RemoveFieldAction) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *RemoveFieldAction) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/http/upstream_codec/v3/upstream_codec_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/http/upstream_codec/v3/upstream_codec.proto 6 | 7 | package upstream_codecv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *UpstreamCodec) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *UpstreamCodec) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *UpstreamCodec) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *UpstreamCodec) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/listener/http_inspector/v3/http_inspector_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/listener/http_inspector/v3/http_inspector.proto 6 | 7 | package http_inspectorv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *HttpInspector) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *HttpInspector) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *HttpInspector) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *HttpInspector) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/listener/original_dst/v3/original_dst_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/listener/original_dst/v3/original_dst.proto 6 | 7 | package original_dstv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *OriginalDst) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *OriginalDst) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *OriginalDst) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *OriginalDst) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/network/dubbo_proxy/router/v3/router_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/network/dubbo_proxy/router/v3/router.proto 6 | 7 | package routerv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Router) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Router) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Router) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Router) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/network/echo/v3/echo_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/network/echo/v3/echo.proto 6 | 7 | package echov3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Echo) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Echo) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Echo) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Echo) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/network/generic_proxy/codecs/dubbo/v3/dubbo_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/network/generic_proxy/codecs/dubbo/v3/dubbo.proto 6 | 7 | package dubbov3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *DubboCodecConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *DubboCodecConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *DubboCodecConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *DubboCodecConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/network/generic_proxy/router/v3/router_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/network/generic_proxy/router/v3/router.proto 6 | 7 | package routerv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Router) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Router) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Router) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | if m.BindUpstreamConnection { 51 | i-- 52 | if m.BindUpstreamConnection { 53 | dAtA[i] = 1 54 | } else { 55 | dAtA[i] = 0 56 | } 57 | i-- 58 | dAtA[i] = 0x8 59 | } 60 | return len(dAtA) - i, nil 61 | } 62 | 63 | func (m *Router) SizeVT() (n int) { 64 | if m == nil { 65 | return 0 66 | } 67 | var l int 68 | _ = l 69 | if m.BindUpstreamConnection { 70 | n += 2 71 | } 72 | n += len(m.unknownFields) 73 | return n 74 | } 75 | -------------------------------------------------------------------------------- /envoy/extensions/filters/network/sni_cluster/v3/sni_cluster_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/network/sni_cluster/v3/sni_cluster.proto 6 | 7 | package sni_clusterv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *SniCluster) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *SniCluster) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *SniCluster) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *SniCluster) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/filters/udp/udp_proxy/session/http_capsule/v3/http_capsule_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/filters/udp/udp_proxy/session/http_capsule/v3/http_capsule.proto 6 | 7 | package http_capsulev3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *FilterConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *FilterConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *FilterConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *FilterConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/formatter/cel/v3/cel_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/formatter/cel/v3/cel.proto 6 | 7 | package celv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Cel) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Cel) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Cel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Cel) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/formatter/metadata/v3/metadata_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/formatter/metadata/v3/metadata.proto 6 | 7 | package metadatav3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *Metadata) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *Metadata) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *Metadata) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *Metadata) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/formatter/req_without_query/v3/req_without_query_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/formatter/req_without_query/v3/req_without_query.proto 6 | 7 | package req_without_queryv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *ReqWithoutQuery) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *ReqWithoutQuery) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *ReqWithoutQuery) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *ReqWithoutQuery) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/http/cache/simple_http_cache/v3/config_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/http/cache/simple_http_cache/v3/config.proto 6 | 7 | package simple_http_cachev3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *SimpleHttpCacheConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *SimpleHttpCacheConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *SimpleHttpCacheConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *SimpleHttpCacheConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/internal_redirect/previous_routes/v3/previous_routes_config_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/internal_redirect/previous_routes/v3/previous_routes_config.proto 6 | 7 | package previous_routesv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *PreviousRoutesConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *PreviousRoutesConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *PreviousRoutesConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *PreviousRoutesConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/internal_redirect/safe_cross_scheme/v3/safe_cross_scheme_config_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/internal_redirect/safe_cross_scheme/v3/safe_cross_scheme_config.proto 6 | 7 | package safe_cross_schemev3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *SafeCrossSchemeConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *SafeCrossSchemeConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *SafeCrossSchemeConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *SafeCrossSchemeConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/load_balancing_policies/cluster_provided/v3/cluster_provided_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/load_balancing_policies/cluster_provided/v3/cluster_provided.proto 6 | 7 | package cluster_providedv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *ClusterProvided) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *ClusterProvided) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *ClusterProvided) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *ClusterProvided) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/load_balancing_policies/pick_first/v3/pick_first_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.proto 6 | 7 | package pick_firstv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *PickFirst) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *PickFirst) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *PickFirst) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | if m.ShuffleAddressList { 51 | i-- 52 | if m.ShuffleAddressList { 53 | dAtA[i] = 1 54 | } else { 55 | dAtA[i] = 0 56 | } 57 | i-- 58 | dAtA[i] = 0x8 59 | } 60 | return len(dAtA) - i, nil 61 | } 62 | 63 | func (m *PickFirst) SizeVT() (n int) { 64 | if m == nil { 65 | return 0 66 | } 67 | var l int 68 | _ = l 69 | if m.ShuffleAddressList { 70 | n += 2 71 | } 72 | n += len(m.unknownFields) 73 | return n 74 | } 75 | -------------------------------------------------------------------------------- /envoy/extensions/quic/connection_debug_visitor/v3/connection_debug_visitor_basic_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/quic/connection_debug_visitor/v3/connection_debug_visitor_basic.proto 6 | 7 | package connection_debug_visitorv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *BasicConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *BasicConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *BasicConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *BasicConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/quic/connection_id_generator/v3/envoy_deterministic_connection_id_generator_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/quic/connection_id_generator/v3/envoy_deterministic_connection_id_generator.proto 6 | 7 | package connection_id_generatorv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *DeterministicConnectionIdGeneratorConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *DeterministicConnectionIdGeneratorConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *DeterministicConnectionIdGeneratorConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *DeterministicConnectionIdGeneratorConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/quic/crypto_stream/v3/crypto_stream_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/quic/crypto_stream/v3/crypto_stream.proto 6 | 7 | package crypto_streamv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *CryptoServerStreamConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *CryptoServerStreamConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *CryptoServerStreamConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *CryptoServerStreamConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/quic/proof_source/v3/proof_source_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/quic/proof_source/v3/proof_source.proto 6 | 7 | package proof_sourcev3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *ProofSourceConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *ProofSourceConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *ProofSourceConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *ProofSourceConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/rbac/audit_loggers/stream/v3/stream_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/rbac/audit_loggers/stream/v3/stream.proto 6 | 7 | package streamv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *StdoutAuditLog) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *StdoutAuditLog) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *StdoutAuditLog) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *StdoutAuditLog) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/regex_engines/v3/google_re2_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/regex_engines/v3/google_re2.proto 6 | 7 | package regex_enginesv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *GoogleRE2) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *GoogleRE2) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *GoogleRE2) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *GoogleRE2) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/retry/host/omit_canary_hosts/v3/omit_canary_hosts_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/retry/host/omit_canary_hosts/v3/omit_canary_hosts.proto 6 | 7 | package omit_canary_hostsv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *OmitCanaryHostsPredicate) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *OmitCanaryHostsPredicate) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *OmitCanaryHostsPredicate) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *OmitCanaryHostsPredicate) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/retry/host/previous_hosts/v3/previous_hosts_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/retry/host/previous_hosts/v3/previous_hosts.proto 6 | 7 | package previous_hostsv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *PreviousHostsPredicate) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *PreviousHostsPredicate) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *PreviousHostsPredicate) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *PreviousHostsPredicate) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/tracers/opentelemetry/resource_detectors/v3/dynatrace_resource_detector_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/tracers/opentelemetry/resource_detectors/v3/dynatrace_resource_detector.proto 6 | 7 | package resource_detectorsv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *DynatraceResourceDetectorConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *DynatraceResourceDetectorConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *DynatraceResourceDetectorConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *DynatraceResourceDetectorConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/tracers/opentelemetry/resource_detectors/v3/environment_resource_detector_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/tracers/opentelemetry/resource_detectors/v3/environment_resource_detector.proto 6 | 7 | package resource_detectorsv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *EnvironmentResourceDetectorConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *EnvironmentResourceDetectorConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *EnvironmentResourceDetectorConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *EnvironmentResourceDetectorConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/tracers/opentelemetry/samplers/v3/always_on_sampler_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/tracers/opentelemetry/samplers/v3/always_on_sampler.proto 6 | 7 | package samplersv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *AlwaysOnSamplerConfig) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *AlwaysOnSamplerConfig) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *AlwaysOnSamplerConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *AlwaysOnSamplerConfig) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/transport_sockets/raw_buffer/v3/raw_buffer_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/transport_sockets/raw_buffer/v3/raw_buffer.proto 6 | 7 | package raw_bufferv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *RawBuffer) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *RawBuffer) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *RawBuffer) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *RawBuffer) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/transport_sockets/tls/v3/cert.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/extensions/transport_sockets/tls/v3/cert.proto 4 | 5 | package tlsv3 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/extensions/transport_sockets/tls/v3/cert_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/extensions/udp_packet_writer/v3/udp_default_writer_factory_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/udp_packet_writer/v3/udp_default_writer_factory.proto 6 | 7 | package udp_packet_writerv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *UdpDefaultWriterFactory) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *UdpDefaultWriterFactory) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *UdpDefaultWriterFactory) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *UdpDefaultWriterFactory) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/udp_packet_writer/v3/udp_gso_batch_writer_factory_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/udp_packet_writer/v3/udp_gso_batch_writer_factory.proto 6 | 7 | package udp_packet_writerv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *UdpGsoBatchWriterFactory) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *UdpGsoBatchWriterFactory) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *UdpGsoBatchWriterFactory) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *UdpGsoBatchWriterFactory) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/upstreams/http/generic/v3/generic_connection_pool_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/upstreams/http/generic/v3/generic_connection_pool.proto 6 | 7 | package genericv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *GenericConnectionPoolProto) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *GenericConnectionPoolProto) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *GenericConnectionPoolProto) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *GenericConnectionPoolProto) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/upstreams/http/http/v3/http_connection_pool_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/upstreams/http/http/v3/http_connection_pool.proto 6 | 7 | package httpv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *HttpConnectionPoolProto) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *HttpConnectionPoolProto) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *HttpConnectionPoolProto) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *HttpConnectionPoolProto) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/upstreams/http/tcp/v3/tcp_connection_pool_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/upstreams/http/tcp/v3/tcp_connection_pool.proto 6 | 7 | package tcpv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *TcpConnectionPoolProto) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *TcpConnectionPoolProto) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *TcpConnectionPoolProto) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *TcpConnectionPoolProto) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/upstreams/http/udp/v3/udp_connection_pool_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/upstreams/http/udp/v3/udp_connection_pool.proto 6 | 7 | package udpv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *UdpConnectionPoolProto) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *UdpConnectionPoolProto) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *UdpConnectionPoolProto) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *UdpConnectionPoolProto) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/extensions/upstreams/tcp/generic/v3/generic_connection_pool_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/extensions/upstreams/tcp/generic/v3/generic_connection_pool.proto 6 | 7 | package genericv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *GenericConnectionPoolProto) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *GenericConnectionPoolProto) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *GenericConnectionPoolProto) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *GenericConnectionPoolProto) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/envoyproxy/go-control-plane/envoy 2 | 3 | go 1.23.0 4 | 5 | toolchain go1.23.6 6 | 7 | // Used to resolve import issues related to go-control-plane package split (https://github.com/envoyproxy/go-control-plane/issues/1074) 8 | replace github.com/envoyproxy/go-control-plane@v0.13.4 => ../ 9 | 10 | require ( 11 | github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 12 | github.com/envoyproxy/go-control-plane v0.13.4 13 | github.com/envoyproxy/protoc-gen-validate v1.2.1 14 | github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 15 | github.com/prometheus/client_model v0.6.2 16 | go.opentelemetry.io/proto/otlp v1.7.0 17 | google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a 18 | google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a 19 | google.golang.org/grpc v1.72.2 20 | google.golang.org/protobuf v1.36.6 21 | ) 22 | 23 | require ( 24 | cel.dev/expr v0.20.0 // indirect 25 | golang.org/x/net v0.40.0 // indirect 26 | golang.org/x/sys v0.33.0 // indirect 27 | golang.org/x/text v0.25.0 // indirect 28 | ) 29 | -------------------------------------------------------------------------------- /envoy/service/auth/v2/attribute_context_grpc.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/service/auth/v2alpha/external_auth.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/service/auth/v2alpha/external_auth.proto 4 | 5 | package v2alpha 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/service/auth/v2alpha/external_auth_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/service/auth/v3/attribute_context_grpc.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/service/cluster/v3/cds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/service/cluster/v3/cds.proto 6 | 7 | package clusterv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *CdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *CdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *CdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *CdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/service/discovery/v2/ads_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/service/discovery/v2/ads.proto 6 | 7 | package discoveryv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *AdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *AdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *AdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *AdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/service/discovery/v2/sds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/service/discovery/v2/sds.proto 6 | 7 | package discoveryv2 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *SdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *SdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *SdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *SdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/service/discovery/v3/ads_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/service/discovery/v3/ads.proto 6 | 7 | package discoveryv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *AdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *AdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *AdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *AdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/service/discovery/v3/discovery_grpc.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/service/endpoint/v3/eds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/service/endpoint/v3/eds.proto 6 | 7 | package endpointv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *EdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *EdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *EdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *EdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/service/endpoint/v3/leds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/service/endpoint/v3/leds.proto 6 | 7 | package endpointv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *LedsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *LedsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *LedsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *LedsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/service/extension/v3/config_discovery_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/service/extension/v3/config_discovery.proto 6 | 7 | package extensionv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *EcdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *EcdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *EcdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *EcdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/service/listener/v3/lds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/service/listener/v3/lds.proto 6 | 7 | package listenerv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *LdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *LdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *LdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *LdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/service/route/v3/rds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/service/route/v3/rds.proto 6 | 7 | package routev3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *RdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *RdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *RdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *RdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/service/route/v3/srds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/service/route/v3/srds.proto 6 | 7 | package routev3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *SrdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *SrdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *SrdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *SrdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/service/secret/v3/sds_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/service/secret/v3/sds.proto 6 | 7 | package secretv3 8 | 9 | import ( 10 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 11 | ) 12 | 13 | const ( 14 | // Verify that this generated code is sufficiently up-to-date. 15 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 16 | // Verify that runtime/protoimpl is sufficiently up-to-date. 17 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 18 | ) 19 | 20 | func (m *SdsDummy) MarshalVTStrict() (dAtA []byte, err error) { 21 | if m == nil { 22 | return nil, nil 23 | } 24 | size := m.SizeVT() 25 | dAtA = make([]byte, size) 26 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 27 | if err != nil { 28 | return nil, err 29 | } 30 | return dAtA[:n], nil 31 | } 32 | 33 | func (m *SdsDummy) MarshalToVTStrict(dAtA []byte) (int, error) { 34 | size := m.SizeVT() 35 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 36 | } 37 | 38 | func (m *SdsDummy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 39 | if m == nil { 40 | return 0, nil 41 | } 42 | i := len(dAtA) 43 | _ = i 44 | var l int 45 | _ = l 46 | if m.unknownFields != nil { 47 | i -= len(m.unknownFields) 48 | copy(dAtA[i:], m.unknownFields) 49 | } 50 | return len(dAtA) - i, nil 51 | } 52 | 53 | func (m *SdsDummy) SizeVT() (n int) { 54 | if m == nil { 55 | return 0 56 | } 57 | var l int 58 | _ = l 59 | n += len(m.unknownFields) 60 | return n 61 | } 62 | -------------------------------------------------------------------------------- /envoy/service/tap/v2alpha/common_grpc.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/type/http.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/type/http.proto 4 | 5 | package _type 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/type/http_status_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/type/http_status.proto 6 | 7 | package _type 8 | 9 | import ( 10 | protohelpers "github.com/planetscale/vtprotobuf/protohelpers" 11 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 | ) 13 | 14 | const ( 15 | // Verify that this generated code is sufficiently up-to-date. 16 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 17 | // Verify that runtime/protoimpl is sufficiently up-to-date. 18 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 19 | ) 20 | 21 | func (m *HttpStatus) MarshalVTStrict() (dAtA []byte, err error) { 22 | if m == nil { 23 | return nil, nil 24 | } 25 | size := m.SizeVT() 26 | dAtA = make([]byte, size) 27 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 28 | if err != nil { 29 | return nil, err 30 | } 31 | return dAtA[:n], nil 32 | } 33 | 34 | func (m *HttpStatus) MarshalToVTStrict(dAtA []byte) (int, error) { 35 | size := m.SizeVT() 36 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 37 | } 38 | 39 | func (m *HttpStatus) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 40 | if m == nil { 41 | return 0, nil 42 | } 43 | i := len(dAtA) 44 | _ = i 45 | var l int 46 | _ = l 47 | if m.unknownFields != nil { 48 | i -= len(m.unknownFields) 49 | copy(dAtA[i:], m.unknownFields) 50 | } 51 | if m.Code != 0 { 52 | i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Code)) 53 | i-- 54 | dAtA[i] = 0x8 55 | } 56 | return len(dAtA) - i, nil 57 | } 58 | 59 | func (m *HttpStatus) SizeVT() (n int) { 60 | if m == nil { 61 | return 0 62 | } 63 | var l int 64 | _ = l 65 | if m.Code != 0 { 66 | n += 1 + protohelpers.SizeOfVarint(uint64(m.Code)) 67 | } 68 | n += len(m.unknownFields) 69 | return n 70 | } 71 | -------------------------------------------------------------------------------- /envoy/type/http_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/type/v3/http.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/type/v3/http.proto 4 | 5 | package typev3 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/type/v3/http_status_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | //go:build vtprotobuf 2 | // +build vtprotobuf 3 | 4 | // Code generated by protoc-gen-go-vtproto. DO NOT EDIT. 5 | // source: envoy/type/v3/http_status.proto 6 | 7 | package typev3 8 | 9 | import ( 10 | protohelpers "github.com/planetscale/vtprotobuf/protohelpers" 11 | protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 | ) 13 | 14 | const ( 15 | // Verify that this generated code is sufficiently up-to-date. 16 | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 17 | // Verify that runtime/protoimpl is sufficiently up-to-date. 18 | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 19 | ) 20 | 21 | func (m *HttpStatus) MarshalVTStrict() (dAtA []byte, err error) { 22 | if m == nil { 23 | return nil, nil 24 | } 25 | size := m.SizeVT() 26 | dAtA = make([]byte, size) 27 | n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) 28 | if err != nil { 29 | return nil, err 30 | } 31 | return dAtA[:n], nil 32 | } 33 | 34 | func (m *HttpStatus) MarshalToVTStrict(dAtA []byte) (int, error) { 35 | size := m.SizeVT() 36 | return m.MarshalToSizedBufferVTStrict(dAtA[:size]) 37 | } 38 | 39 | func (m *HttpStatus) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { 40 | if m == nil { 41 | return 0, nil 42 | } 43 | i := len(dAtA) 44 | _ = i 45 | var l int 46 | _ = l 47 | if m.unknownFields != nil { 48 | i -= len(m.unknownFields) 49 | copy(dAtA[i:], m.unknownFields) 50 | } 51 | if m.Code != 0 { 52 | i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Code)) 53 | i-- 54 | dAtA[i] = 0x8 55 | } 56 | return len(dAtA) - i, nil 57 | } 58 | 59 | func (m *HttpStatus) SizeVT() (n int) { 60 | if m == nil { 61 | return 0 62 | } 63 | var l int 64 | _ = l 65 | if m.Code != 0 { 66 | n += 1 + protohelpers.SizeOfVarint(uint64(m.Code)) 67 | } 68 | n += len(m.unknownFields) 69 | return n 70 | } 71 | -------------------------------------------------------------------------------- /envoy/type/v3/http_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /envoy/type/v3/ratelimit_unit.pb.validate.go: -------------------------------------------------------------------------------- 1 | //go:build !disable_pgv 2 | // Code generated by protoc-gen-validate. DO NOT EDIT. 3 | // source: envoy/type/v3/ratelimit_unit.proto 4 | 5 | package typev3 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | "net" 12 | "net/mail" 13 | "net/url" 14 | "regexp" 15 | "sort" 16 | "strings" 17 | "time" 18 | "unicode/utf8" 19 | 20 | "google.golang.org/protobuf/types/known/anypb" 21 | ) 22 | 23 | // ensure the imports are used 24 | var ( 25 | _ = bytes.MinRead 26 | _ = errors.New("") 27 | _ = fmt.Print 28 | _ = utf8.UTFMax 29 | _ = (*regexp.Regexp)(nil) 30 | _ = (*strings.Reader)(nil) 31 | _ = net.IPv4len 32 | _ = time.Duration(0) 33 | _ = (*url.URL)(nil) 34 | _ = (*mail.Address)(nil) 35 | _ = anypb.Any{} 36 | _ = sort.Sort 37 | ) 38 | -------------------------------------------------------------------------------- /envoy/type/v3/ratelimit_unit_vtproto.pb.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | package ignore -------------------------------------------------------------------------------- /examples/dyplomat/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.23@sha256:77a21b3e354c03e9f66b13bc39f4f0db8085c70f8414406af66b29c6d6c4dd85 2 | 3 | WORKDIR /go/src/dyplomat 4 | COPY . /go/src/dyplomat 5 | 6 | RUN go install -v ./... 7 | CMD ["dyplomat"] 8 | -------------------------------------------------------------------------------- /examples/dyplomat/Makefile: -------------------------------------------------------------------------------- 1 | include ../../Makefile.common 2 | -------------------------------------------------------------------------------- /examples/dyplomat/bootstrap.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "encoding/base64" 5 | "io/ioutil" 6 | "net/http" 7 | "strings" 8 | "time" 9 | 10 | yaml "gopkg.in/yaml.v2" 11 | 12 | "k8s.io/client-go/kubernetes" 13 | "k8s.io/client-go/rest" 14 | ) 15 | 16 | type BootstrapConfig struct { 17 | Name string 18 | Server string 19 | CA string // CA is expected to be base64 encoded PEM file 20 | } 21 | 22 | var bootstrapConfigs []BootstrapConfig 23 | 24 | func CreateBootstrapClients() ([]kubernetes.Interface, error) { 25 | var bootstrapClients []kubernetes.Interface 26 | 27 | bootstrapYaml, err := ioutil.ReadFile("./bootstrap.yaml") 28 | if err != nil { 29 | panic(err) 30 | } 31 | 32 | err = yaml.Unmarshal(bootstrapYaml, &bootstrapConfigs) 33 | if err != nil { 34 | panic(err) 35 | } 36 | 37 | for _, cluster := range bootstrapConfigs { 38 | // CA is base64 encoded, so we decode 39 | caReader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(cluster.CA)) 40 | caBytes, _ := ioutil.ReadAll(caReader) 41 | 42 | var restConfig *rest.Config 43 | restConfig = &rest.Config{ 44 | Host: cluster.Server, 45 | TLSClientConfig: rest.TLSClientConfig{ 46 | CAData: caBytes, 47 | }, 48 | } 49 | 50 | previousWrappedTransport := restConfig.WrapTransport 51 | restConfig.WrapTransport = func(rt http.RoundTripper) http.RoundTripper { 52 | if previousWrappedTransport != nil { 53 | rt = previousWrappedTransport(rt) 54 | } 55 | return &TokenRoundtripper{ 56 | TokenProvider: NewHeptioProvider(cluster.Name), 57 | RoundTripper: rt, 58 | } 59 | } 60 | 61 | restConfig.Timeout = time.Second * 5 62 | 63 | client, err := kubernetes.NewForConfig(restConfig) 64 | if err != nil { 65 | return nil, err 66 | } 67 | bootstrapClients = append(bootstrapClients, client) 68 | } 69 | return bootstrapClients, nil 70 | } 71 | -------------------------------------------------------------------------------- /examples/dyplomat/bootstrap.yaml: -------------------------------------------------------------------------------- 1 | # bootstrapYaml is a simple cluster discovery mechanism to register the Kubernetes clusters we will be extending the mesh to. 2 | - name: demo1-eks 3 | server: DEMO1_API_SERVER_URL 4 | ca: DEMO1_BASE_64_ENCODED_CA 5 | - name: demo2-eks 6 | server: DEMO2_API_SERVER_URL 7 | ca: DEMO2_BASE_64_ENCODED_CA 8 | -------------------------------------------------------------------------------- /examples/dyplomat/terraform/apps/namespace.tf: -------------------------------------------------------------------------------- 1 | provider "kubernetes" { 2 | version = "~> 1.11" 3 | } 4 | 5 | resource "kubernetes_namespace" "namespace" { 6 | metadata { 7 | name = "demo" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /examples/dyplomat/terraform/apps/variables.tf: -------------------------------------------------------------------------------- 1 | variable "dyplomat_image" { 2 | description = "Registry and path for your dyplomat image" 3 | default = "myregistry/dyplomat:latest" 4 | } 5 | 6 | variable "dyplomat_role_arn" { 7 | description = "role ARN for dyplomat IAM role" 8 | default = "arn:aws:iam::ACCOUNT_NO:role/dyplomat" 9 | } 10 | -------------------------------------------------------------------------------- /examples/dyplomat/terraform/eks/variables.tf: -------------------------------------------------------------------------------- 1 | variable "region" { 2 | description = "AWS region" 3 | default = "us-east-1" 4 | } 5 | 6 | variable "profile_name" { 7 | description = "AWS auth profile to use" 8 | default = "" 9 | } 10 | 11 | variable "eks_subnets" { 12 | description = "List of CIDR subnet ids the eks cluster will be created with. Must be in 2 different AZs." 13 | default = ["", ""] 14 | } 15 | -------------------------------------------------------------------------------- /examples/dyplomat/terraform/modules.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 0.12" 3 | backend "local" { 4 | path = "" 5 | } 6 | } 7 | module "eks" { 8 | source = "./eks" 9 | } 10 | 11 | module "rbac" { 12 | source = "./rbac" 13 | } 14 | 15 | module "apps" { 16 | source = "./apps" 17 | } 18 | -------------------------------------------------------------------------------- /examples/dyplomat/terraform/rbac/rbac.tf: -------------------------------------------------------------------------------- 1 | data "aws_iam_policy_document" "dyplomat-policy" { 2 | statement { 3 | actions = [ 4 | "sts:AssumeRoleWithWebIdentity" 5 | ] 6 | 7 | principals { 8 | type = "Federated" 9 | identifiers = [vars.oidc_provider_demo2] 10 | } 11 | 12 | effect = "Allow" 13 | } 14 | 15 | statement { 16 | actions = [ 17 | "sts:AssumeRoleWithWebIdentity" 18 | ] 19 | 20 | principals { 21 | type = "Federated" 22 | identifiers = [vars.oidc_provider_demo1] 23 | } 24 | 25 | effect = "Allow" 26 | } 27 | } 28 | 29 | resource "aws_iam_role" "dyploymat" { 30 | name = "dyplomat" 31 | 32 | assume_role_policy = "${data.aws_iam_policy_document.dyplomat-policy.json}" 33 | 34 | tags = { 35 | service = "dyplomat" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /examples/dyplomat/terraform/rbac/variables.tf: -------------------------------------------------------------------------------- 1 | variable "oidc_provider_demo1" { 2 | description = "demo1-eks cluster oidc provider for EKS pod identity webhook" 3 | default = "arn:aws:iam::ACCOUNT_NO:oidc-provider/oidc.eks.REGION.amazonaws.com/id/DEMO1_ID" 4 | } 5 | 6 | variable "oidc_provider_demo2" { 7 | description = "demo2-eks cluster oidc provider for EKS pod identity webhook" 8 | default = "arn:aws:iam::ACCOUNT_NO:oidc-provider/oidc.eks.REGION.amazonaws.com/id/DEMO2_ID" 9 | } 10 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/envoyproxy/go-control-plane 2 | 3 | go 1.23.0 4 | 5 | toolchain go1.23.6 6 | 7 | replace ( 8 | github.com/envoyproxy/go-control-plane/envoy => ./envoy 9 | github.com/envoyproxy/go-control-plane/ratelimit => ./ratelimit 10 | ) 11 | 12 | require ( 13 | github.com/envoyproxy/go-control-plane/envoy v1.32.4 14 | github.com/envoyproxy/go-control-plane/ratelimit v0.1.0 15 | github.com/google/go-cmp v0.7.0 16 | github.com/stretchr/testify v1.10.0 17 | go.uber.org/goleak v1.3.0 18 | google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a 19 | google.golang.org/grpc v1.72.2 20 | google.golang.org/protobuf v1.36.6 21 | ) 22 | 23 | require ( 24 | cel.dev/expr v0.20.0 // indirect 25 | github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 // indirect 26 | github.com/davecgh/go-spew v1.1.1 // indirect 27 | github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect 28 | github.com/kr/pretty v0.3.1 // indirect 29 | github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect 30 | github.com/pmezard/go-difflib v1.0.0 // indirect 31 | github.com/rogpeppe/go-internal v1.12.0 // indirect 32 | golang.org/x/net v0.40.0 // indirect 33 | golang.org/x/sys v0.33.0 // indirect 34 | golang.org/x/text v0.25.0 // indirect 35 | google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a // indirect 36 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect 37 | gopkg.in/yaml.v3 v3.0.1 // indirect 38 | ) 39 | -------------------------------------------------------------------------------- /internal/example/README.md: -------------------------------------------------------------------------------- 1 | # Example xDS Server 2 | 3 | This is an example of a trivial xDS V3 control plane server. It serves an Envoy configuration that's roughly equivalent to the one used by the Envoy ["Quick Start"](https://www.envoyproxy.io/docs/envoy/latest/start/start#quick-start-to-run-simple-example) docs: a simple http proxy. You can run the example using the project top-level Makefile, e.g.: 4 | 5 | ``` 6 | $ make example 7 | ``` 8 | 9 | The Makefile builds the example server and then runs `scripts/example.sh` which runs both Envoy and the example server. The example server serves a configuration defined in `internal/example/resource.go`. If everything works correctly, you should be able to open a browser to [http://localhost:10000](http://localhost:10000) and see Envoy's website. 10 | 11 | ## Files 12 | 13 | * [main/main.go](main/main.go) is the example program entrypoint. It instantiates the cache and xDS server and runs the xDS server process. 14 | * [resource.go](resource.go) generates a `Snapshot` structure which describes the configuration that the xDS server serves to Envoy. 15 | * [server.go](server.go) runs the xDS control plane server. 16 | * [logger.go](logger.go) implements the `pkg/log/Logger` interface which provides logging services to the cache. 17 | -------------------------------------------------------------------------------- /internal/example/logger.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 Envoyproxy Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package example 16 | 17 | import ( 18 | "log" 19 | ) 20 | 21 | // An example of a logger that implements `pkg/log/Logger`. Logs to 22 | // stdout. If Debug == false then Debugf() and Infof() won't output 23 | // anything. 24 | type Logger struct { 25 | Debug bool 26 | } 27 | 28 | // Log to stdout only if Debug is true. 29 | func (logger Logger) Debugf(format string, args ...interface{}) { 30 | if logger.Debug { 31 | log.Printf(format+"\n", args...) 32 | } 33 | } 34 | 35 | // Log to stdout only if Debug is true. 36 | func (logger Logger) Infof(format string, args ...interface{}) { 37 | if logger.Debug { 38 | log.Printf(format+"\n", args...) 39 | } 40 | } 41 | 42 | // Log to stdout always. 43 | func (logger Logger) Warnf(format string, args ...interface{}) { 44 | log.Printf(format+"\n", args...) 45 | } 46 | 47 | // Log to stdout always. 48 | func (logger Logger) Errorf(format string, args ...interface{}) { 49 | log.Printf(format+"\n", args...) 50 | } 51 | -------------------------------------------------------------------------------- /internal/tools/Makefile: -------------------------------------------------------------------------------- 1 | include ../../Makefile.common 2 | -------------------------------------------------------------------------------- /internal/tools/tools.go: -------------------------------------------------------------------------------- 1 | //go:build tools 2 | 3 | package tools 4 | 5 | import ( 6 | _ "github.com/golangci/golangci-lint/v2/cmd/golangci-lint" 7 | _ "go.opentelemetry.io/build-tools/multimod" 8 | ) 9 | -------------------------------------------------------------------------------- /internal/upstream/README.md: -------------------------------------------------------------------------------- 1 | # HTTP Upstream Test Server 2 | 3 | This server is used by the integration tests as an upstream server. 4 | It simply responds to HTTP GET requests with a canned message that is 5 | then proxied to the test framework via Envoy. 6 | 7 | For more info see the ```scripts/integration.sh``` script which runs the 8 | upstream server, and ```pkg/test/main/main.go``` for the test 9 | framework that sends and checks the requests. 10 | -------------------------------------------------------------------------------- /internal/upstream/main.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 Envoyproxy Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package main 16 | 17 | import ( 18 | "flag" 19 | "fmt" 20 | "log" 21 | "net/http" 22 | ) 23 | 24 | func main() { 25 | var ( 26 | upstreamPort uint 27 | hello string 28 | ) 29 | 30 | flag.UintVar(&upstreamPort, "upstream", 18080, "Upstream HTTP/1.1 port") 31 | flag.StringVar(&hello, "message", "Default message", "Message to send in response") 32 | flag.Parse() 33 | 34 | log.Printf("upstream listening HTTP/1.1 on %d\n", upstreamPort) 35 | http.HandleFunc("/", func(w http.ResponseWriter, _ *http.Request) { 36 | if _, err := w.Write([]byte(hello)); err != nil { 37 | log.Println(err) 38 | } 39 | }) 40 | // Ignore: G114: Use of net/http serve function that has no support for setting timeouts 41 | // nolint:gosec 42 | if err := http.ListenAndServe(fmt.Sprintf(":%d", upstreamPort), nil); err != nil { 43 | log.Println(err) 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /pkg/Makefile: -------------------------------------------------------------------------------- 1 | include ../Makefile.common 2 | -------------------------------------------------------------------------------- /pkg/cache/types/types.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | "time" 5 | 6 | "google.golang.org/protobuf/proto" 7 | ) 8 | 9 | // Resource is the base interface for the xDS payload. 10 | type Resource interface { 11 | proto.Message 12 | } 13 | 14 | // ResourceWithTTL is a Resource with an optional TTL. 15 | type ResourceWithTTL struct { 16 | Resource Resource 17 | TTL *time.Duration 18 | } 19 | 20 | // ResourceWithName provides a name for out-of-tree resources. 21 | type ResourceWithName interface { 22 | proto.Message 23 | GetName() string 24 | } 25 | 26 | // MarshaledResource is an alias for the serialized binary array. 27 | type MarshaledResource = []byte 28 | 29 | // SkipFetchError is the error returned when the cache fetch is short 30 | // circuited due to the client's version already being up-to-date. 31 | type SkipFetchError struct{} 32 | 33 | // Error satisfies the error interface 34 | func (e SkipFetchError) Error() string { 35 | return "skip fetch: version up to date" 36 | } 37 | 38 | // ResponseType enumeration of supported response types 39 | type ResponseType int 40 | 41 | // NOTE: The order of this enum MATTERS! 42 | // https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol#aggregated-discovery-service 43 | // ADS expects things to be returned in a specific order. 44 | // See the following issue for details: https://github.com/envoyproxy/go-control-plane/issues/526 45 | const ( 46 | Cluster ResponseType = iota 47 | Endpoint 48 | Listener 49 | Route 50 | ScopedRoute 51 | VirtualHost 52 | Secret 53 | Runtime 54 | ExtensionConfig 55 | RateLimitConfig 56 | UnknownType // token to count the total number of supported types 57 | ) 58 | -------------------------------------------------------------------------------- /pkg/cache/v3/fixtures_test.go: -------------------------------------------------------------------------------- 1 | package cache_test 2 | 3 | import ( 4 | "github.com/envoyproxy/go-control-plane/pkg/cache/types" 5 | "github.com/envoyproxy/go-control-plane/pkg/cache/v3" 6 | rsrc "github.com/envoyproxy/go-control-plane/pkg/resource/v3" 7 | ) 8 | 9 | var fixture = &fixtureGenerator{ 10 | version: "x", 11 | version2: "y", 12 | } 13 | 14 | type fixtureGenerator struct { 15 | version string 16 | version2 string 17 | } 18 | 19 | func (f *fixtureGenerator) snapshot() *cache.Snapshot { 20 | snapshot, err := cache.NewSnapshot( 21 | f.version, 22 | map[rsrc.Type][]types.Resource{ 23 | rsrc.EndpointType: {testEndpoint}, 24 | rsrc.ClusterType: {testCluster}, 25 | rsrc.RouteType: {testRoute, testEmbeddedRoute}, 26 | rsrc.ScopedRouteType: {testScopedRoute}, 27 | rsrc.VirtualHostType: {testVirtualHost}, 28 | rsrc.ListenerType: {testScopedListener, testListener}, 29 | rsrc.RuntimeType: {testRuntime}, 30 | rsrc.SecretType: {testSecret[0]}, 31 | rsrc.ExtensionConfigType: {testExtensionConfig}, 32 | }, 33 | ) 34 | if err != nil { 35 | panic(err.Error()) 36 | } 37 | 38 | return snapshot 39 | } 40 | -------------------------------------------------------------------------------- /pkg/cache/v3/order.go: -------------------------------------------------------------------------------- 1 | package cache 2 | 3 | // Key is an internal sorting data structure we can use to 4 | // order responses by Type and their associated watch IDs. 5 | type key struct { 6 | ID int64 7 | TypeURL string 8 | } 9 | 10 | // Keys implements Go's sorting.Sort interface 11 | type keys []key 12 | 13 | func (k keys) Len() int { 14 | return len(k) 15 | } 16 | 17 | // Less compares the typeURL and determines what order things should be sent. 18 | func (k keys) Less(i, j int) bool { 19 | return GetResponseType(k[i].TypeURL) < GetResponseType(k[j].TypeURL) 20 | } 21 | 22 | func (k keys) Swap(i, j int) { 23 | k[i], k[j] = k[j], k[i] 24 | } 25 | -------------------------------------------------------------------------------- /pkg/cache/v3/order_test.go: -------------------------------------------------------------------------------- 1 | package cache 2 | 3 | import ( 4 | "sort" 5 | "testing" 6 | 7 | "github.com/stretchr/testify/assert" 8 | 9 | "github.com/envoyproxy/go-control-plane/pkg/resource/v3" 10 | ) 11 | 12 | func TestOrderKeys(t *testing.T) { 13 | unorderedKeys := keys{ 14 | { 15 | ID: 1, 16 | TypeURL: resource.EndpointType, 17 | }, 18 | { 19 | ID: 2, 20 | TypeURL: resource.ClusterType, 21 | }, 22 | { 23 | ID: 4, 24 | TypeURL: resource.ListenerType, 25 | }, 26 | { 27 | ID: 3, 28 | TypeURL: resource.RouteType, 29 | }, 30 | { 31 | ID: 5, 32 | TypeURL: resource.ScopedRouteType, 33 | }, 34 | } 35 | expected := keys{ 36 | { 37 | ID: 2, 38 | TypeURL: resource.ClusterType, 39 | }, 40 | { 41 | ID: 1, 42 | TypeURL: resource.EndpointType, 43 | }, 44 | { 45 | ID: 4, 46 | TypeURL: resource.ListenerType, 47 | }, 48 | { 49 | ID: 3, 50 | TypeURL: resource.RouteType, 51 | }, 52 | { 53 | ID: 5, 54 | TypeURL: resource.ScopedRouteType, 55 | }, 56 | } 57 | 58 | orderedKeys := unorderedKeys 59 | sort.Sort(orderedKeys) 60 | 61 | assert.True(t, sort.IsSorted(orderedKeys)) 62 | assert.NotEqual(t, unorderedKeys, &orderedKeys) 63 | assert.Equal(t, expected, orderedKeys) 64 | 65 | // Ordering: 66 | // === RUN TestOrderKeys 67 | // order_test.go:43: {ID:2 TypeURL:type.googleapis.com/envoy.config.cluster.v3.Cluster} 68 | // order_test.go:43: {ID:1 TypeURL:type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment} 69 | // order_test.go:43: {ID:4 TypeURL:type.googleapis.com/envoy.config.listener.v3.Listener} 70 | // order_test.go:43: {ID:3 TypeURL:type.googleapis.com/envoy.config.route.v3.RouteConfiguration} 71 | // order_test.go:43: {ID:5 TypeURL:type.googleapis.com/envoy.config.route.v3.ScopedRouteConfiguration} 72 | } 73 | -------------------------------------------------------------------------------- /pkg/cache/v3/resources.go: -------------------------------------------------------------------------------- 1 | package cache 2 | 3 | import "github.com/envoyproxy/go-control-plane/pkg/cache/types" 4 | 5 | // Resources is a versioned group of resources. 6 | type Resources struct { 7 | // Version information. 8 | Version string 9 | 10 | // Items in the group indexed by name. 11 | Items map[string]types.ResourceWithTTL 12 | } 13 | 14 | // IndexResourcesByName creates a map from the resource name to the resource. 15 | func IndexResourcesByName(items []types.ResourceWithTTL) map[string]types.ResourceWithTTL { 16 | indexed := make(map[string]types.ResourceWithTTL, len(items)) 17 | for _, item := range items { 18 | indexed[GetResourceName(item.Resource)] = item 19 | } 20 | return indexed 21 | } 22 | 23 | // IndexRawResourcesByName creates a map from the resource name to the resource. 24 | func IndexRawResourcesByName(items []types.Resource) map[string]types.Resource { 25 | indexed := make(map[string]types.Resource, len(items)) 26 | for _, item := range items { 27 | indexed[GetResourceName(item)] = item 28 | } 29 | return indexed 30 | } 31 | 32 | // NewResources creates a new resource group. 33 | func NewResources(version string, items []types.Resource) Resources { 34 | itemsWithTTL := make([]types.ResourceWithTTL, 0, len(items)) 35 | for _, item := range items { 36 | itemsWithTTL = append(itemsWithTTL, types.ResourceWithTTL{Resource: item}) 37 | } 38 | return NewResourcesWithTTL(version, itemsWithTTL) 39 | } 40 | 41 | // NewResourcesWithTTL creates a new resource group. 42 | func NewResourcesWithTTL(version string, items []types.ResourceWithTTL) Resources { 43 | return Resources{ 44 | Version: version, 45 | Items: IndexResourcesByName(items), 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /pkg/log/default.go: -------------------------------------------------------------------------------- 1 | //nolint:all 2 | package log 3 | 4 | // DefaultLogger is enabled when no consuming clients provide 5 | // a logger to the server/cache subsystem 6 | type DefaultLogger struct { 7 | } 8 | 9 | // NewDefaultLogger creates a DefaultLogger which is a no-op to maintain current functionality 10 | func NewDefaultLogger() *DefaultLogger { 11 | return &DefaultLogger{} 12 | } 13 | 14 | // Debugf logs a message at level debug on the standard logger. 15 | func (l *DefaultLogger) Debugf(string, ...interface{}) { 16 | } 17 | 18 | // Infof logs a message at level info on the standard logger. 19 | func (l *DefaultLogger) Infof(string, ...interface{}) { 20 | } 21 | 22 | // Warnf logs a message at level warn on the standard logger. 23 | func (l *DefaultLogger) Warnf(string, ...interface{}) { 24 | } 25 | 26 | // Errorf logs a message at level error on the standard logger. 27 | func (l *DefaultLogger) Errorf(string, ...interface{}) { 28 | } 29 | -------------------------------------------------------------------------------- /pkg/server/config/config.go: -------------------------------------------------------------------------------- 1 | package config 2 | 3 | // Opts for individual xDS implementations that can be 4 | // utilized through the functional opts pattern. 5 | type Opts struct { 6 | // If true respond to ADS requests with a guaranteed resource ordering 7 | Ordered bool 8 | } 9 | 10 | func NewOpts() Opts { 11 | return Opts{ 12 | Ordered: false, 13 | } 14 | } 15 | 16 | // Each xDS implementation should implement their own functional opts. 17 | // It is recommended that config values be added in this package specifically, 18 | // but the individual opts functions should be in their respective 19 | // implementation package so the import looks like the following: 20 | // 21 | // `sotw.WithOrderedADS()` 22 | // `delta.WithOrderedADS()` 23 | // 24 | // this allows for easy inference as to which opt applies to what implementation. 25 | type XDSOption func(*Opts) 26 | -------------------------------------------------------------------------------- /pkg/server/config/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Config abstracts xDS server options into a unified configuration package 3 | that allows for easy manipulation as well as unified passage of options 4 | to individual xDS server implementations. 5 | 6 | This enables code reduction as well as a unified source of config. Delta 7 | and SOTW might have similar ordered responses through ADS and rather than 8 | duplicating the logic across server implementations, we add the options 9 | in this package which are passed down to each individual spec. 10 | 11 | Each xDS implementation should implement their own functional opts. 12 | It is recommended that config values be added in this package specifically, 13 | but the individual opts functions should be in their respective 14 | implementation package so the import looks like the following: 15 | 16 | `sotw.WithOrderedADS()` 17 | `delta.WithOrderedADS()` 18 | 19 | this allows for easy inference as to which opt applies to what implementation. 20 | */ 21 | 22 | package config 23 | -------------------------------------------------------------------------------- /pkg/server/delta/v3/watches.go: -------------------------------------------------------------------------------- 1 | package delta 2 | 3 | import ( 4 | "github.com/envoyproxy/go-control-plane/pkg/cache/types" 5 | "github.com/envoyproxy/go-control-plane/pkg/cache/v3" 6 | "github.com/envoyproxy/go-control-plane/pkg/server/stream/v3" 7 | ) 8 | 9 | // watches for all delta xDS resource types 10 | type watches struct { 11 | deltaWatches map[string]watch 12 | 13 | // Opaque resources share a muxed channel 14 | deltaMuxedResponses chan cache.DeltaResponse 15 | } 16 | 17 | // newWatches creates and initializes watches. 18 | func newWatches() watches { 19 | // deltaMuxedResponses needs a buffer to release go-routines populating it 20 | // 21 | // because deltaMuxedResponses can be populated by an update from the cache 22 | // and a request from the client, we need to create the channel with a buffer 23 | // size of 2x the number of types to avoid deadlocks. 24 | return watches{ 25 | deltaWatches: make(map[string]watch, int(types.UnknownType)), 26 | deltaMuxedResponses: make(chan cache.DeltaResponse, int(types.UnknownType)*2), 27 | } 28 | } 29 | 30 | // Cancel all watches 31 | func (w *watches) Cancel() { 32 | for _, watch := range w.deltaWatches { 33 | watch.Cancel() 34 | } 35 | 36 | close(w.deltaMuxedResponses) 37 | } 38 | 39 | // watch contains the necessary modifiables for receiving resource responses 40 | type watch struct { 41 | cancel func() 42 | nonce string 43 | 44 | state stream.StreamState 45 | } 46 | 47 | // Cancel calls terminate and cancel 48 | func (w *watch) Cancel() { 49 | if w.cancel != nil { 50 | w.cancel() 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /pkg/server/delta/v3/watches_test.go: -------------------------------------------------------------------------------- 1 | package delta 2 | 3 | import ( 4 | "strconv" 5 | "testing" 6 | 7 | "github.com/stretchr/testify/assert" 8 | ) 9 | 10 | func TestDeltaWatches(t *testing.T) { 11 | t.Run("watches response channels are properly closed when the watches are canceled", func(t *testing.T) { 12 | watches := newWatches() 13 | 14 | cancelCount := 0 15 | // create a few watches, and ensure that the cancel function are called and the channels are closed 16 | for i := 0; i < 5; i++ { 17 | newWatch := watch{} 18 | if i%2 == 0 { 19 | newWatch.cancel = func() { cancelCount++ } 20 | } 21 | 22 | watches.deltaWatches[strconv.Itoa(i)] = newWatch 23 | } 24 | 25 | watches.Cancel() 26 | 27 | assert.Equal(t, 3, cancelCount) 28 | }) 29 | } 30 | -------------------------------------------------------------------------------- /ratelimit/Makefile: -------------------------------------------------------------------------------- 1 | include ../Makefile.common 2 | -------------------------------------------------------------------------------- /ratelimit/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/envoyproxy/go-control-plane/ratelimit 2 | 3 | go 1.23.0 4 | 5 | toolchain go1.23.6 6 | 7 | replace github.com/envoyproxy/go-control-plane/envoy => ../envoy 8 | 9 | require ( 10 | github.com/envoyproxy/go-control-plane/envoy v1.32.4 11 | google.golang.org/grpc v1.72.2 12 | google.golang.org/protobuf v1.36.6 13 | ) 14 | 15 | require ( 16 | github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 // indirect 17 | github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect 18 | github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect 19 | golang.org/x/net v0.40.0 // indirect 20 | golang.org/x/sys v0.33.0 // indirect 21 | golang.org/x/text v0.25.0 // indirect 22 | google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect 23 | ) 24 | -------------------------------------------------------------------------------- /repokitteh.star: -------------------------------------------------------------------------------- 1 | pin("github.com/repokitteh/modules", "4ee2ed0c3622aad7fcddc04cb5dc866e44a541e6") 2 | 3 | use("github.com/repokitteh/modules/wait.star") -------------------------------------------------------------------------------- /sample/bootstrap-ads.yaml: -------------------------------------------------------------------------------- 1 | # Base config for an ADS management server on 18000, admin port on 19000 2 | admin: 3 | access_log_path: /dev/null 4 | address: 5 | socket_address: 6 | address: 127.0.0.1 7 | port_value: 19000 8 | dynamic_resources: 9 | ads_config: 10 | api_type: GRPC 11 | transport_api_version: V3 12 | grpc_services: 13 | - envoy_grpc: 14 | cluster_name: xds_cluster 15 | set_node_on_first_message_only: true 16 | cds_config: 17 | resource_api_version: V3 18 | ads: {} 19 | lds_config: 20 | resource_api_version: V3 21 | ads: {} 22 | node: 23 | cluster: test-cluster 24 | id: test-id 25 | static_resources: 26 | clusters: 27 | - connect_timeout: 1s 28 | load_assignment: 29 | cluster_name: xds_cluster 30 | endpoints: 31 | - lb_endpoints: 32 | - endpoint: 33 | address: 34 | socket_address: 35 | address: 127.0.0.1 36 | port_value: 18000 37 | http2_protocol_options: {} 38 | name: xds_cluster 39 | - connect_timeout: 1s 40 | load_assignment: 41 | cluster_name: als_cluster 42 | endpoints: 43 | - lb_endpoints: 44 | - endpoint: 45 | address: 46 | socket_address: 47 | address: 127.0.0.1 48 | port_value: 18090 49 | http2_protocol_options: {} 50 | name: als_cluster 51 | -------------------------------------------------------------------------------- /sample/bootstrap-delta-ads.yaml: -------------------------------------------------------------------------------- 1 | # Base config for an ADS management server on 18000, admin port on 19000 2 | admin: 3 | access_log_path: /dev/null 4 | address: 5 | socket_address: 6 | address: 127.0.0.1 7 | port_value: 19000 8 | dynamic_resources: 9 | ads_config: 10 | api_type: DELTA_GRPC 11 | transport_api_version: V3 12 | grpc_services: 13 | - envoy_grpc: 14 | cluster_name: xds_cluster 15 | set_node_on_first_message_only: true 16 | cds_config: 17 | resource_api_version: V3 18 | ads: {} 19 | lds_config: 20 | resource_api_version: V3 21 | ads: {} 22 | node: 23 | cluster: test-cluster 24 | id: test-id 25 | static_resources: 26 | clusters: 27 | - connect_timeout: 1s 28 | load_assignment: 29 | cluster_name: xds_cluster 30 | endpoints: 31 | - lb_endpoints: 32 | - endpoint: 33 | address: 34 | socket_address: 35 | address: 127.0.0.1 36 | port_value: 18000 37 | http2_protocol_options: {} 38 | name: xds_cluster 39 | - connect_timeout: 1s 40 | load_assignment: 41 | cluster_name: als_cluster 42 | endpoints: 43 | - lb_endpoints: 44 | - endpoint: 45 | address: 46 | socket_address: 47 | address: 127.0.0.1 48 | port_value: 18090 49 | http2_protocol_options: {} 50 | name: als_cluster 51 | -------------------------------------------------------------------------------- /sample/bootstrap-rest.yaml: -------------------------------------------------------------------------------- 1 | # Base config for a REST xDS management server on 18001, admin port on 19000 2 | admin: 3 | access_log_path: /dev/null 4 | address: 5 | socket_address: 6 | address: 127.0.0.1 7 | port_value: 19000 8 | dynamic_resources: 9 | cds_config: 10 | resource_api_version: V3 11 | api_config_source: 12 | api_type: REST 13 | transport_api_version: V3 14 | refresh_delay: {nanos: 500000000} # 1/2s 15 | cluster_names: 16 | - xds_cluster 17 | lds_config: 18 | resource_api_version: V3 19 | api_config_source: 20 | api_type: REST 21 | transport_api_version: V3 22 | refresh_delay: {nanos: 500000000} # 1/2s 23 | cluster_names: 24 | - xds_cluster 25 | node: 26 | cluster: test-cluster 27 | id: test-id 28 | static_resources: 29 | clusters: 30 | - connect_timeout: 1s 31 | load_assignment: 32 | cluster_name: xds_cluster 33 | endpoints: 34 | - lb_endpoints: 35 | - endpoint: 36 | address: 37 | socket_address: 38 | address: 127.0.0.1 39 | port_value: 18001 40 | name: xds_cluster 41 | - connect_timeout: 1s 42 | load_assignment: 43 | cluster_name: als_cluster 44 | endpoints: 45 | - lb_endpoints: 46 | - endpoint: 47 | address: 48 | socket_address: 49 | address: 127.0.0.1 50 | port_value: 18090 51 | name: als_cluster 52 | layered_runtime: 53 | layers: 54 | - name: runtime-0 55 | rtds_layer: 56 | rtds_config: 57 | resource_api_version: V3 58 | api_config_source: 59 | api_type: REST 60 | transport_api_version: V3 61 | refresh_delay: {nanos: 500000000} # 1/2s 62 | cluster_names: 63 | - xds_cluster 64 | name: runtime-0 65 | -------------------------------------------------------------------------------- /scripts/coverage.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | echo "" > coverage.out 4 | 5 | for d in $(go list ./pkg/...); do 6 | go test -race -coverprofile=profile.out -covermode=atomic $d 7 | if [ -f profile.out ]; then 8 | cat profile.out >> coverage.out 9 | rm profile.out 10 | fi 11 | done 12 | -------------------------------------------------------------------------------- /scripts/do_ci.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | set -x 5 | 6 | # Needed to avoid issues with go version stamping in CI build 7 | git config --global --add safe.directory /go-control-plane 8 | 9 | cd /go-control-plane 10 | 11 | make build 12 | make bin/example 13 | make examples 14 | make test 15 | make integration 16 | 17 | make -C xdsmatcher common/test 18 | # TODO(snowp): Output coverage in CI 19 | 20 | make -C examples/dyplomat common/test 21 | -------------------------------------------------------------------------------- /scripts/example.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -o errexit 3 | set -o nounset 4 | set -o pipefail 5 | 6 | ## 7 | ## Runs Envoy and the example control plane server. See 8 | ## `internal/example` for the go source. 9 | ## 10 | 11 | # Envoy start-up command 12 | ENVOY=${ENVOY:-/usr/local/bin/envoy} 13 | 14 | # Start envoy: important to keep drain time short 15 | (${ENVOY} -c sample/bootstrap-xds.yaml --drain-time-s 1 -l debug)& 16 | ENVOY_PID=$! 17 | 18 | function cleanup() { 19 | kill ${ENVOY_PID} 20 | } 21 | trap cleanup EXIT 22 | 23 | # Run the control plane 24 | bin/example -debug $@ 25 | -------------------------------------------------------------------------------- /scripts/integration.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -o errexit 3 | set -o nounset 4 | set -o pipefail 5 | 6 | ## 7 | ## Integration testing script for the control plane library against the Envoy binary. 8 | ## This is a wrapper around the test app `pkg/test/main` that spawns/kills Envoy. 9 | ## 10 | 11 | MESSAGE=$'Hi, there!\n' 12 | 13 | # Management server type. Valid values are "ads", "xds", "rest", "delta", or "delta-ads" 14 | XDS=${XDS:-ads} 15 | 16 | # pprof profiler. True means turn on profiling 17 | PPROF=${PPROF:-false} 18 | 19 | # Number of RTDS layers. 20 | if [ "$XDS" = "ads" ]; then 21 | RUNTIMES=2 22 | else 23 | RUNTIMES=1 24 | fi 25 | 26 | # Start the http server that sits upstream of Envoy 27 | (bin/upstream -message="$MESSAGE")& 28 | UPSTREAM_PID=$! 29 | 30 | # Envoy start-up command 31 | ENVOY=${ENVOY:-/usr/local/bin/envoy} 32 | ENVOY_LOG="envoy.${XDS}$@.log" 33 | echo Envoy log: ${ENVOY_LOG} 34 | 35 | # Start envoy: important to keep drain time short 36 | (${ENVOY} -c sample/bootstrap-${XDS}.yaml --drain-time-s 1 -l debug 2> ${ENVOY_LOG})& 37 | ENVOY_PID=$! 38 | 39 | function cleanup() { 40 | kill ${ENVOY_PID} ${UPSTREAM_PID} 41 | wait ${ENVOY_PID} ${UPSTREAM_PID} 2> /dev/null || true 42 | } 43 | trap cleanup EXIT 44 | 45 | # run the test suite (which also contains the control plane) 46 | bin/test --xds=${XDS} --runtimes=${RUNTIMES} --pprof=${PPROF} -debug -message="$MESSAGE" "$@" 47 | -------------------------------------------------------------------------------- /support/README.md: -------------------------------------------------------------------------------- 1 | # Support tools 2 | 3 | A collection of CLI tools meant to support and automate various aspects of 4 | developing Envoy, particularly those related to code review. For example, 5 | automatic DCO signoff and pre-commit format checking. 6 | 7 | ## Usage 8 | 9 | To get started, you need only navigate to the Envoy project root and run: 10 | 11 | ```bash 12 | ./support/bootstrap 13 | ``` 14 | 15 | This will set up the development support toolchain automatically. The toolchain 16 | uses git hooks extensively, copying them from `support/hooks` to the `.git` 17 | folder. 18 | 19 | The commit hook checks can be skipped using the `-n` / `--no-verify` flags, as 20 | so: 21 | 22 | ```bash 23 | git commit --no-verify 24 | ``` 25 | 26 | ## Functionality 27 | 28 | Currently the development support toolchain exposes two main pieces of 29 | functionality: 30 | 31 | * Automatically appending DCO signoff to the end of a commit message if it 32 | doesn't exist yet. Correctly covers edge cases like `commit --amend` and 33 | `rebase`. 34 | * Automatically running DCO and format checks on all files in the diff, before 35 | push. -------------------------------------------------------------------------------- /support/hooks/prepare-commit-msg: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # A git commit hook that will automatically append a DCO signoff to the bottom 4 | # of any commit message that doesn't have one. This append happens after the git 5 | # default message is generated, but before the user is dropped into the commit 6 | # message editor. 7 | # 8 | # To enable this hook, run `bootstrap`, or run the following from the root of 9 | # the repo. (Note that `bootstrap` will correctly install this even if this code 10 | # is located in a submodule, while the following won't.) 11 | # 12 | # $ ln -s ../../support/hooks/prepare-commit-msg .git/hooks/prepare-commit-msg 13 | 14 | COMMIT_MESSAGE_FILE="$1" 15 | AUTHOR=$(git var GIT_AUTHOR_IDENT) 16 | SIGNOFF=$(echo $AUTHOR | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') 17 | 18 | # Check for DCO signoff message. If one doesn't exist, append one and then warn 19 | # the user that you did so. 20 | if ! $(grep -qs "^$SIGNOFF" "$COMMIT_MESSAGE_FILE") ; then 21 | echo -e "\n$SIGNOFF" >> "$COMMIT_MESSAGE_FILE" 22 | echo -e "Appended the following signoff to the end of the commit message:\n $SIGNOFF\n" 23 | fi 24 | -------------------------------------------------------------------------------- /versions.yaml: -------------------------------------------------------------------------------- 1 | module-sets: 2 | go-control-plane: 3 | version: v0.13.4 4 | modules: 5 | - github.com/envoyproxy/go-control-plane 6 | - github.com/envoyproxy/go-control-plane/xdsmatcher 7 | envoy: 8 | version: v1.32.4 9 | modules: 10 | - github.com/envoyproxy/go-control-plane/envoy 11 | - github.com/envoyproxy/go-control-plane/contrib 12 | ratelimit: 13 | version: v0.1.0 14 | modules: 15 | - github.com/envoyproxy/go-control-plane/ratelimit 16 | excluded-modules: 17 | - github.com/envoyproxy/go-control-plane/examples/dyplomat 18 | - github.com/envoyproxy/go-control-plane/internal/tools 19 | -------------------------------------------------------------------------------- /xdsmatcher/.gitignore: -------------------------------------------------------------------------------- 1 | coverage.out 2 | -------------------------------------------------------------------------------- /xdsmatcher/Makefile: -------------------------------------------------------------------------------- 1 | include ../Makefile.common 2 | 3 | .PHONY: proto 4 | proto: test/proto/* 5 | protoc --proto_path=test/proto --go_out=test/proto --go_opt=paths=source_relative test.proto 6 | -------------------------------------------------------------------------------- /xdsmatcher/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/envoyproxy/go-control-plane/xdsmatcher 2 | 3 | go 1.23.0 4 | 5 | toolchain go1.23.6 6 | 7 | replace github.com/envoyproxy/go-control-plane/envoy => ../envoy 8 | 9 | require ( 10 | github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 11 | github.com/envoyproxy/go-control-plane/envoy v1.32.4 12 | github.com/stretchr/testify v1.10.0 13 | google.golang.org/protobuf v1.36.6 14 | gopkg.in/yaml.v2 v2.4.0 15 | ) 16 | 17 | require ( 18 | cel.dev/expr v0.20.0 // indirect 19 | github.com/davecgh/go-spew v1.1.1 // indirect 20 | github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect 21 | github.com/kr/pretty v0.3.1 // indirect 22 | github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect 23 | github.com/pmezard/go-difflib v1.0.0 // indirect 24 | github.com/rogpeppe/go-internal v1.12.0 // indirect 25 | google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a // indirect 26 | google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect 27 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect 28 | gopkg.in/yaml.v3 v3.0.1 // indirect 29 | ) 30 | -------------------------------------------------------------------------------- /xdsmatcher/internal/proto/proto.go: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | import ( 4 | "encoding/json" 5 | 6 | "google.golang.org/protobuf/encoding/protojson" 7 | "google.golang.org/protobuf/proto" 8 | "gopkg.in/yaml.v2" 9 | ) 10 | 11 | // ProtoFromYaml converts a YAML string into the specific protobuf message. 12 | func ProtoFromYaml(s []byte, m proto.Message) error { 13 | var obj interface{} 14 | if err := yaml.Unmarshal(s, &obj); err != nil { 15 | return err 16 | } 17 | 18 | obj = convert(obj) 19 | // Encode YAML to JSON. 20 | rawJSON, err := json.Marshal(obj) 21 | if err != nil { 22 | return err 23 | } 24 | 25 | // Use protojson to convert the JSON into the desired proto. 26 | err = protojson.Unmarshal(rawJSON, m) 27 | if err != nil { 28 | return err 29 | } 30 | return nil 31 | } 32 | 33 | // This is necessary because yaml.Unmarshal gives us map[interface{}]interface{} and we need 34 | // to cast the types in order to make json.Marshal accept it. 35 | func convert(i interface{}) interface{} { 36 | switch x := i.(type) { 37 | case map[interface{}]interface{}: 38 | m2 := map[string]interface{}{} 39 | for k, v := range x { 40 | m2[k.(string)] = convert(v) 41 | } 42 | return m2 43 | case []interface{}: 44 | for i, v := range x { 45 | x[i] = convert(v) 46 | } 47 | } 48 | return i 49 | } 50 | -------------------------------------------------------------------------------- /xdsmatcher/pkg/matcher/registry/registry.go: -------------------------------------------------------------------------------- 1 | package registry 2 | 3 | import ( 4 | "errors" 5 | 6 | "google.golang.org/protobuf/proto" 7 | "google.golang.org/protobuf/types/known/anypb" 8 | 9 | pbcore "github.com/cncf/xds/go/xds/core/v3" 10 | "github.com/envoyproxy/go-control-plane/xdsmatcher/pkg/matcher/types" 11 | ) 12 | 13 | type RegistryType map[string]func(proto.Message) (interface{}, error) 14 | 15 | var InputExtensions = make(RegistryType) 16 | var ActionExtensions = make(RegistryType) 17 | 18 | func ResolveInputExtension(tec *pbcore.TypedExtensionConfig) (types.DataInput, error) { 19 | out, err := resolveExtension(tec, InputExtensions) 20 | if err != nil { 21 | return nil, err 22 | } 23 | 24 | return out.(types.DataInput), nil 25 | } 26 | 27 | func ResolveActionExtension(tec *pbcore.TypedExtensionConfig) (types.Action, error) { 28 | return resolveExtension(tec, ActionExtensions) 29 | } 30 | 31 | func resolveExtension(tec *pbcore.TypedExtensionConfig, registry RegistryType) (interface{}, error) { 32 | factory, ok := registry[tec.TypedConfig.TypeUrl] 33 | if !ok { 34 | return nil, errors.New("extension not implemented: extension " + tec.TypedConfig.TypeUrl) 35 | } 36 | 37 | m, err := anypb.UnmarshalNew(tec.TypedConfig, proto.UnmarshalOptions{}) 38 | if err != nil { 39 | return nil, err 40 | } 41 | 42 | return factory(m) 43 | } 44 | -------------------------------------------------------------------------------- /xdsmatcher/test/proto/test.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package xdsmatcher.test.proto; 4 | 5 | option go_package = "github.com/envoyproxy/go-control-plane/xdsmatcher/test/proto"; 6 | 7 | // This file contains a number of proto definitions used for registration of actions and inputs for testing. 8 | message TestData { 9 | string foo = 1; 10 | repeated string bar = 2; 11 | } 12 | 13 | message FooInput {} 14 | 15 | message BarInput { 16 | uint32 index = 1; 17 | } 18 | 19 | message MatchAction {} 20 | 21 | message MoreDataAvailableInput {} 22 | 23 | message NoDataAvailableInput {} 24 | 25 | message ErrorInput {} 26 | 27 | message NotRegistered {} 28 | --------------------------------------------------------------------------------