diff --git a/go.mod b/go.mod index 278d1cb2..71a2bd35 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/containernetworking/plugins v1.9.1 github.com/coreos/go-oidc/v3 v3.20.0 github.com/envoyproxy/go-control-plane v0.14.0 - github.com/envoyproxy/go-control-plane/envoy v1.37.0 + github.com/envoyproxy/go-control-plane/envoy v1.39.0 github.com/exaring/otelpgx v0.11.1 github.com/goccy/go-yaml v1.19.2 github.com/gogo/protobuf v1.3.2 diff --git a/go.sum b/go.sum index d11c0b44..48de54df 100644 --- a/go.sum +++ b/go.sum @@ -210,6 +210,8 @@ github.com/envoyproxy/go-control-plane v0.14.0 h1:hbG2kr4RuFj222B6+7T83thSPqLjwB github.com/envoyproxy/go-control-plane v0.14.0/go.mod h1:NcS5X47pLl/hfqxU70yPwL9ZMkUlwlKxtAohpi2wBEU= github.com/envoyproxy/go-control-plane/envoy v1.37.0 h1:u3riX6BoYRfF4Dr7dwSOroNfdSbEPe9Yyl09/B6wBrQ= github.com/envoyproxy/go-control-plane/envoy v1.37.0/go.mod h1:DReE9MMrmecPy+YvQOAOHNYMALuowAnbjjEMkkWOi6A= +github.com/envoyproxy/go-control-plane/envoy v1.39.0 h1:1uwRDYPYG8BIBU9Mj1sUAebNmlM6beu/ZKKweSLDxk8= +github.com/envoyproxy/go-control-plane/envoy v1.39.0/go.mod h1:5e4ylfTZO723MEEFsCpSW4ZEBWR8mwkEyXfwJBTCZ9c= github.com/envoyproxy/go-control-plane/ratelimit v0.1.0 h1:/G9QYbddjL25KvtKTv3an9lx6VBE2cnb8wp1vEGNYGI= github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4= github.com/envoyproxy/protoc-gen-validate v1.3.3 h1:MVQghNeW+LZcmXe7SY1V36Z+WFMDjpqGAGacLe2T0ds= @@ -450,6 +452,7 @@ github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/riverqueue/river v0.41.0 h1:E7Yfyhn74IgVaCBKsBpTHoC0LxWJvoG0jKt7Tb+lJZg= github.com/riverqueue/river v0.41.0/go.mod h1:WXiAF1/2gfUPj3H+WqQG3Q5NW5w9JmRXRTe7U9zybNc= +github.com/riverqueue/river v0.44.0/go.mod h1:ZpbxOPFScc8kkslE2rwMW6ZLZHAvK7F0KDom+3WdnL8= github.com/riverqueue/river/cmd/river v0.38.0 h1:0nD4OS9rMkR+I45dg5vJK3r91X0zmCG/kW2LXokUi9I= github.com/riverqueue/river/cmd/river v0.38.0/go.mod h1:CvffdlKGSTyoPeJ02zwOtkCypfWJRkIzaL1hmo1jyWA= github.com/riverqueue/river/riverdriver v0.41.0 h1:A5g80n6fCGu9Bp4hSq7gys7mvfOiuWkbQHuFx3iPp7w= diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.go index 83a84650..c9bc1cc4 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/certs.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/admin/v3/certs.proto package adminv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.go index dc8f3c88..6c2c4f11 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/admin/v3/clusters.proto package adminv3 @@ -358,7 +358,7 @@ func (x *HostStatus) GetLocality() *v32.Locality { } // Health status for a host. -// [#next-free-field: 9] +// [#next-free-field: 10] type HostHealthStatus struct { state protoimpl.MessageState `protogen:"open.v1"` // The host is currently failing active health checks. @@ -377,6 +377,8 @@ type HostHealthStatus struct { ExcludedViaImmediateHcFail bool `protobuf:"varint,7,opt,name=excluded_via_immediate_hc_fail,json=excludedViaImmediateHcFail,proto3" json:"excluded_via_immediate_hc_fail,omitempty"` // The host failed active health check due to timeout. ActiveHcTimeout bool `protobuf:"varint,8,opt,name=active_hc_timeout,json=activeHcTimeout,proto3" json:"active_hc_timeout,omitempty"` + // The host is currently being marked as degraded through outlier detection. + FailedDegradedOutlierDetection bool `protobuf:"varint,9,opt,name=failed_degraded_outlier_detection,json=failedDegradedOutlierDetection,proto3" json:"failed_degraded_outlier_detection,omitempty"` // Health status as reported by EDS. // // .. note:: @@ -468,6 +470,13 @@ func (x *HostHealthStatus) GetActiveHcTimeout() bool { return false } +func (x *HostHealthStatus) GetFailedDegradedOutlierDetection() bool { + if x != nil { + return x.FailedDegradedOutlierDetection + } + return false +} + func (x *HostHealthStatus) GetEdsHealthStatus() v32.HealthStatus { if x != nil { return x.EdsHealthStatus @@ -504,7 +513,7 @@ const file_envoy_admin_v3_clusters_proto_rawDesc = "" + "\bpriority\x18\a \x01(\rR\bpriority\x12Q\n" + "\x19local_origin_success_rate\x18\b \x01(\v2\x16.envoy.type.v3.PercentR\x16localOriginSuccessRate\x12:\n" + "\blocality\x18\t \x01(\v2\x1e.envoy.config.core.v3.LocalityR\blocality:%\x9aň\x1e \n" + - "\x1eenvoy.admin.v2alpha.HostStatus\"\x93\x04\n" + + "\x1eenvoy.admin.v2alpha.HostStatus\"\xde\x04\n" + "\x10HostHealthStatus\x12;\n" + "\x1afailed_active_health_check\x18\x01 \x01(\bR\x17failedActiveHealthCheck\x120\n" + "\x14failed_outlier_check\x18\x02 \x01(\bR\x12failedOutlierCheck\x12?\n" + @@ -512,7 +521,8 @@ const file_envoy_admin_v3_clusters_proto_rawDesc = "" + "\x17pending_dynamic_removal\x18\x05 \x01(\bR\x15pendingDynamicRemoval\x12*\n" + "\x11pending_active_hc\x18\x06 \x01(\bR\x0fpendingActiveHc\x12B\n" + "\x1eexcluded_via_immediate_hc_fail\x18\a \x01(\bR\x1aexcludedViaImmediateHcFail\x12*\n" + - "\x11active_hc_timeout\x18\b \x01(\bR\x0factiveHcTimeout\x12N\n" + + "\x11active_hc_timeout\x18\b \x01(\bR\x0factiveHcTimeout\x12I\n" + + "!failed_degraded_outlier_detection\x18\t \x01(\bR\x1efailedDegradedOutlierDetection\x12N\n" + "\x11eds_health_status\x18\x03 \x01(\x0e2\".envoy.config.core.v3.HealthStatusR\x0fedsHealthStatus:+\x9aň\x1e&\n" + "$envoy.admin.v2alpha.HostHealthStatusBv\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + "\x1cio.envoyproxy.envoy.admin.v3B\rClustersProtoP\x01Z=github.com/envoyproxy/go-control-plane/envoy/admin/v3;adminv3b\x06proto3" diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.validate.go index 1a268eb8..13265f98 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters.pb.validate.go @@ -722,6 +722,8 @@ func (m *HostHealthStatus) validate(all bool) error { // no validation rules for ActiveHcTimeout + // no validation rules for FailedDegradedOutlierDetection + // no validation rules for EdsHealthStatus if len(errors) > 0 { diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters_vtproto.pb.go index 41858110..e42f9e24 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/clusters_vtproto.pb.go @@ -396,6 +396,16 @@ func (m *HostHealthStatus) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.FailedDegradedOutlierDetection { + i-- + if m.FailedDegradedOutlierDetection { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } if m.ActiveHcTimeout { i-- if m.ActiveHcTimeout { @@ -651,6 +661,9 @@ func (m *HostHealthStatus) SizeVT() (n int) { if m.ActiveHcTimeout { n += 2 } + if m.FailedDegradedOutlierDetection { + n += 2 + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.go index 0e4abbfd..18ec924c 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/admin/v3/config_dump.proto package adminv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump_shared.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump_shared.pb.go index 9ae840b0..4e43653d 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump_shared.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/config_dump_shared.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/admin/v3/config_dump_shared.proto package adminv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/init_dump.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/init_dump.pb.go index 0b68523d..fec4bdbd 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/init_dump.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/init_dump.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/admin/v3/init_dump.proto package adminv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/listeners.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/listeners.pb.go index 5560fa90..f31f6387 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/listeners.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/listeners.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/admin/v3/listeners.proto package adminv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/memory.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/memory.pb.go index 8f74d84c..164b7203 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/memory.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/memory.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/admin/v3/memory.proto package adminv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/metrics.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/metrics.pb.go index 5b1908f4..b94d39f1 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/metrics.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/metrics.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/admin/v3/metrics.proto package adminv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/mutex_stats.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/mutex_stats.pb.go index fc8d7970..5b241e17 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/mutex_stats.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/mutex_stats.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/admin/v3/mutex_stats.proto package adminv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.go index 92db9dc8..dada45e6 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/admin/v3/server_info.proto package adminv3 @@ -228,7 +228,7 @@ func (CommandLineOptions_DrainStrategy) EnumDescriptor() ([]byte, []int) { // Proto representation of the value returned by /server_info, containing // server version/server status information. -// [#next-free-field: 8] +// [#next-free-field: 9] type ServerInfo struct { state protoimpl.MessageState `protogen:"open.v1"` // Server version. @@ -244,9 +244,11 @@ type ServerInfo struct { // Command line options the server is currently running with. CommandLineOptions *CommandLineOptions `protobuf:"bytes,6,opt,name=command_line_options,json=commandLineOptions,proto3" json:"command_line_options,omitempty"` // Populated node identity of this server. - Node *v3.Node `protobuf:"bytes,7,opt,name=node,proto3" json:"node,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + Node *v3.Node `protobuf:"bytes,7,opt,name=node,proto3" json:"node,omitempty"` + // Whether the server is currently initializing during a hot restart. + HotRestartInitializing bool `protobuf:"varint,8,opt,name=hot_restart_initializing,json=hotRestartInitializing,proto3" json:"hot_restart_initializing,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ServerInfo) Reset() { @@ -328,7 +330,14 @@ func (x *ServerInfo) GetNode() *v3.Node { return nil } -// [#next-free-field: 43] +func (x *ServerInfo) GetHotRestartInitializing() bool { + if x != nil { + return x.HotRestartInitializing + } + return false +} + +// [#next-free-field: 44] type CommandLineOptions struct { state protoimpl.MessageState `protogen:"open.v1"` // See :option:`--base-id` for details. @@ -399,6 +408,8 @@ type CommandLineOptions struct { DisabledExtensions []string `protobuf:"bytes,28,rep,name=disabled_extensions,json=disabledExtensions,proto3" json:"disabled_extensions,omitempty"` // See :option:`--enable-fine-grain-logging` for details. EnableFineGrainLogging bool `protobuf:"varint,34,opt,name=enable_fine_grain_logging,json=enableFineGrainLogging,proto3" json:"enable_fine_grain_logging,omitempty"` + // See :option:`--log-stacktrace-single-entry` for details. + LogStacktraceSingleEntry bool `protobuf:"varint,43,opt,name=log_stacktrace_single_entry,json=logStacktraceSingleEntry,proto3" json:"log_stacktrace_single_entry,omitempty"` // See :option:`--socket-path` for details. SocketPath string `protobuf:"bytes,35,opt,name=socket_path,json=socketPath,proto3" json:"socket_path,omitempty"` // See :option:`--socket-mode` for details. @@ -679,6 +690,13 @@ func (x *CommandLineOptions) GetEnableFineGrainLogging() bool { return false } +func (x *CommandLineOptions) GetLogStacktraceSingleEntry() bool { + if x != nil { + return x.LogStacktraceSingleEntry + } + return false +} + func (x *CommandLineOptions) GetSocketPath() string { if x != nil { return x.SocketPath @@ -711,7 +729,7 @@ var File_envoy_admin_v3_server_info_proto protoreflect.FileDescriptor const file_envoy_admin_v3_server_info_proto_rawDesc = "" + "\n" + - " envoy/admin/v3/server_info.proto\x12\x0eenvoy.admin.v3\x1a\x1fenvoy/config/core/v3/base.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\"\x98\x04\n" + + " envoy/admin/v3/server_info.proto\x12\x0eenvoy.admin.v3\x1a\x1fenvoy/config/core/v3/base.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\"\xd2\x04\n" + "\n" + "ServerInfo\x12\x18\n" + "\aversion\x18\x01 \x01(\tR\aversion\x126\n" + @@ -720,13 +738,14 @@ const file_envoy_admin_v3_server_info_proto_rawDesc = "" + "\x11uptime_all_epochs\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\x0fuptimeAllEpochs\x12.\n" + "\x13hot_restart_version\x18\x05 \x01(\tR\x11hotRestartVersion\x12T\n" + "\x14command_line_options\x18\x06 \x01(\v2\".envoy.admin.v3.CommandLineOptionsR\x12commandLineOptions\x12.\n" + - "\x04node\x18\a \x01(\v2\x1a.envoy.config.core.v3.NodeR\x04node\"G\n" + + "\x04node\x18\a \x01(\v2\x1a.envoy.config.core.v3.NodeR\x04node\x128\n" + + "\x18hot_restart_initializing\x18\b \x01(\bR\x16hotRestartInitializing\"G\n" + "\x05State\x12\b\n" + "\x04LIVE\x10\x00\x12\f\n" + "\bDRAINING\x10\x01\x12\x14\n" + "\x10PRE_INITIALIZING\x10\x02\x12\x10\n" + "\fINITIALIZING\x10\x03:%\x9aň\x1e \n" + - "\x1eenvoy.admin.v2alpha.ServerInfo\"\xbf\x10\n" + + "\x1eenvoy.admin.v2alpha.ServerInfo\"\xfe\x10\n" + "\x12CommandLineOptions\x12\x17\n" + "\abase_id\x18\x01 \x01(\x04R\x06baseId\x12-\n" + "\x13use_dynamic_base_id\x18\x1f \x01(\bR\x10useDynamicBaseId\x12?\n" + @@ -767,7 +786,8 @@ const file_envoy_admin_v3_server_info_proto_rawDesc = "" + "\rrestart_epoch\x18\x18 \x01(\rR\frestartEpoch\x12%\n" + "\x0ecpuset_threads\x18\x19 \x01(\bR\rcpusetThreads\x12/\n" + "\x13disabled_extensions\x18\x1c \x03(\tR\x12disabledExtensions\x129\n" + - "\x19enable_fine_grain_logging\x18\" \x01(\bR\x16enableFineGrainLogging\x12\x1f\n" + + "\x19enable_fine_grain_logging\x18\" \x01(\bR\x16enableFineGrainLogging\x12=\n" + + "\x1blog_stacktrace_single_entry\x18+ \x01(\bR\x18logStacktraceSingleEntry\x12\x1f\n" + "\vsocket_path\x18# \x01(\tR\n" + "socketPath\x12\x1f\n" + "\vsocket_mode\x18$ \x01(\rR\n" + diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.validate.go index 41d78a18..6c3b205d 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info.pb.validate.go @@ -180,6 +180,8 @@ func (m *ServerInfo) validate(all bool) error { } } + // no validation rules for HotRestartInitializing + if len(errors) > 0 { return ServerInfoMultiError(errors) } @@ -426,6 +428,8 @@ func (m *CommandLineOptions) validate(all bool) error { // no validation rules for EnableFineGrainLogging + // no validation rules for LogStacktraceSingleEntry + // no validation rules for SocketPath // no validation rules for SocketMode diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info_vtproto.pb.go index 42476a3d..917778a3 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/server_info_vtproto.pb.go @@ -50,6 +50,16 @@ func (m *ServerInfo) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.HotRestartInitializing { + i-- + if m.HotRestartInitializing { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } if m.Node != nil { if vtmsg, ok := interface{}(m.Node).(interface { MarshalToSizedBufferVTStrict([]byte) (int, error) @@ -154,6 +164,18 @@ func (m *CommandLineOptions) MarshalToSizedBufferVTStrict(dAtA []byte) (int, err i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.LogStacktraceSingleEntry { + i-- + if m.LogStacktraceSingleEntry { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xd8 + } if m.FileFlushMinSize != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FileFlushMinSize)) i-- @@ -546,6 +568,9 @@ func (m *ServerInfo) SizeVT() (n int) { } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.HotRestartInitializing { + n += 2 + } n += len(m.unknownFields) return n } @@ -691,6 +716,9 @@ func (m *CommandLineOptions) SizeVT() (n int) { if m.FileFlushMinSize != 0 { n += 2 + protohelpers.SizeOfVarint(uint64(m.FileFlushMinSize)) } + if m.LogStacktraceSingleEntry { + n += 3 + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/tap.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/tap.pb.go index 98e76020..be7af7cf 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/tap.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/admin/v3/tap.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/admin/v3/tap.proto package adminv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/deprecation.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/deprecation.pb.go index b8e84089..29b8c393 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/deprecation.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/deprecation.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/annotations/deprecation.proto package annotations diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/resource.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/resource.pb.go index d7b3c454..1f8a4f7d 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/resource.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/annotations/resource.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/annotations/resource.proto package annotations diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.go index 5d47f644..403250a7 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3/accesslog.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/accesslog/v3/accesslog.proto package accesslogv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.go index 13666321..4a09d465 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/bootstrap/v3/bootstrap.proto package bootstrapv3 @@ -150,8 +150,56 @@ func (CustomInlineHeader_InlineHeaderType) EnumDescriptor() ([]byte, []int) { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{9, 0} } +type ApiListenerManager_ThreadingModel int32 + +const ( + // Handle HTTP requests on the main Envoy thread which also processes platform-raised events and runs xDS clients. + ApiListenerManager_MAIN_THREAD_ONLY ApiListenerManager_ThreadingModel = 0 + // Handle HTTP requests on a standalone worker thread. + ApiListenerManager_STANDALONE_WORKER_THREAD ApiListenerManager_ThreadingModel = 1 +) + +// Enum value maps for ApiListenerManager_ThreadingModel. +var ( + ApiListenerManager_ThreadingModel_name = map[int32]string{ + 0: "MAIN_THREAD_ONLY", + 1: "STANDALONE_WORKER_THREAD", + } + ApiListenerManager_ThreadingModel_value = map[string]int32{ + "MAIN_THREAD_ONLY": 0, + "STANDALONE_WORKER_THREAD": 1, + } +) + +func (x ApiListenerManager_ThreadingModel) Enum() *ApiListenerManager_ThreadingModel { + p := new(ApiListenerManager_ThreadingModel) + *p = x + return p +} + +func (x ApiListenerManager_ThreadingModel) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ApiListenerManager_ThreadingModel) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_config_bootstrap_v3_bootstrap_proto_enumTypes[2].Descriptor() +} + +func (ApiListenerManager_ThreadingModel) Type() protoreflect.EnumType { + return &file_envoy_config_bootstrap_v3_bootstrap_proto_enumTypes[2] +} + +func (x ApiListenerManager_ThreadingModel) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ApiListenerManager_ThreadingModel.Descriptor instead. +func (ApiListenerManager_ThreadingModel) EnumDescriptor() ([]byte, []int) { + return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{13, 0} +} + // Bootstrap :ref:`configuration overview `. -// [#next-free-field: 43] +// [#next-free-field: 44] type Bootstrap struct { state protoimpl.MessageState `protogen:"open.v1"` // Node identity to present to the management server and for instance @@ -392,8 +440,18 @@ type Bootstrap struct { // Optional configuration for memory allocation manager. // Memory releasing is only supported for `tcmalloc allocator `_. MemoryAllocatorManager *MemoryAllocatorManager `protobuf:"bytes,41,opt,name=memory_allocator_manager,json=memoryAllocatorManager,proto3" json:"memory_allocator_manager,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // When enabled, Envoy pins each worker thread to a distinct CPU from the process affinity mask, + // worker “i“ to the “i-th“ CPU in ascending order. This improves CPU cache and “NUMA“ + // locality for high concurrency deployments on bare metal. It is available on Linux only and is + // ignored on other platforms. Pinning requires a worker count no greater than the number of CPUs + // in the process affinity mask. When the worker count exceeds the available CPUs no worker is + // pinned. Pinning is applied once when the workers start, so a later change to the process + // affinity mask does not re-pin. + // + // Defaults to “false“. + EnableWorkerCpuAffinity bool `protobuf:"varint,43,opt,name=enable_worker_cpu_affinity,json=enableWorkerCpuAffinity,proto3" json:"enable_worker_cpu_affinity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Bootstrap) Reset() { @@ -728,6 +786,13 @@ func (x *Bootstrap) GetMemoryAllocatorManager() *MemoryAllocatorManager { return nil } +func (x *Bootstrap) GetEnableWorkerCpuAffinity() bool { + if x != nil { + return x.EnableWorkerCpuAffinity + } + return false +} + type isBootstrap_StatsFlush interface { isBootstrap_StatsFlush() } @@ -782,6 +847,8 @@ type Admin struct { // should apply to the admin interface or not. IgnoreGlobalConnLimit bool `protobuf:"varint,6,opt,name=ignore_global_conn_limit,json=ignoreGlobalConnLimit,proto3" json:"ignore_global_conn_limit,omitempty"` // List of admin paths that are accessible. If not specified, all admin endpoints are accessible. + // Matchers are evaluated against the request path. For endpoints commonly queried with + // parameters (for example “/stats?format=...“), prefer “prefix“ matchers. // // When specified, only paths in this list will be accessible, all others will return “HTTP 403 Forbidden“. // @@ -790,7 +857,8 @@ type Admin struct { // .. code-block:: yaml // // allow_paths: - // - exact: /stats + // - prefix: /stats + // - prefix: /config_dump // - exact: /ready // - prefix: /healthcheck AllowPaths []*v35.StringMatcher `protobuf:"bytes,7,rep,name=allow_paths,json=allowPaths,proto3" json:"allow_paths,omitempty"` @@ -1547,6 +1615,7 @@ func (x *CustomInlineHeader) GetInlineHeaderType() CustomInlineHeader_InlineHead return CustomInlineHeader_REQUEST_HEADER } +// [#next-free-field: 6] type MemoryAllocatorManager struct { state protoimpl.MessageState `protogen:"open.v1"` // Configures tcmalloc to perform background release of free memory in amount of bytes per “memory_release_interval“ interval. @@ -1556,6 +1625,28 @@ type MemoryAllocatorManager struct { // interval Envoy will try to release “bytes_to_release“ of free memory back to operating system for reuse. // Defaults to “1000“ milliseconds. MemoryReleaseInterval *durationpb.Duration `protobuf:"bytes,2,opt,name=memory_release_interval,json=memoryReleaseInterval,proto3" json:"memory_release_interval,omitempty"` + // Sets the soft memory limit for tcmalloc. When the total memory used by tcmalloc exceeds this + // limit, background release will be performed more aggressively to bring memory usage below the + // limit. If not set, no soft memory limit is applied. + // + // .. note:: + // + // This is currently only supported with tcmalloc and not with ``gperftools``. + SoftMemoryLimitBytes *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=soft_memory_limit_bytes,json=softMemoryLimitBytes,proto3" json:"soft_memory_limit_bytes,omitempty"` + // Sets the maximum per-CPU cache size in bytes for tcmalloc. Smaller values reduce per-CPU + // memory overhead at the cost of increased contention on the central free list. If not set, + // tcmalloc's default is used. + // + // .. note:: + // + // This is currently only supported with tcmalloc and not with ``gperftools``. + MaxPerCpuCacheSizeBytes *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=max_per_cpu_cache_size_bytes,json=maxPerCpuCacheSizeBytes,proto3" json:"max_per_cpu_cache_size_bytes,omitempty"` + // The threshold of unfreed memory in bytes that triggers the heap shrinker to release memory + // back to the OS. When the difference between physical memory used and application-allocated + // memory exceeds this threshold, free memory is released. + // + // Defaults to “104857600“ (100 MB). + MaxUnfreedMemoryBytes uint64 `protobuf:"varint,5,opt,name=max_unfreed_memory_bytes,json=maxUnfreedMemoryBytes,proto3" json:"max_unfreed_memory_bytes,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1604,6 +1695,153 @@ func (x *MemoryAllocatorManager) GetMemoryReleaseInterval() *durationpb.Duration return nil } +func (x *MemoryAllocatorManager) GetSoftMemoryLimitBytes() *wrapperspb.UInt64Value { + if x != nil { + return x.SoftMemoryLimitBytes + } + return nil +} + +func (x *MemoryAllocatorManager) GetMaxPerCpuCacheSizeBytes() *wrapperspb.UInt32Value { + if x != nil { + return x.MaxPerCpuCacheSizeBytes + } + return nil +} + +func (x *MemoryAllocatorManager) GetMaxUnfreedMemoryBytes() uint64 { + if x != nil { + return x.MaxUnfreedMemoryBytes + } + return 0 +} + +// A placeholder proto so that users can explicitly configure the standard +// Listener Manager via the bootstrap's :ref:`listener_manager `. +// [#not-implemented-hide:] +type ListenerManager struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListenerManager) Reset() { + *x = ListenerManager{} + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListenerManager) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenerManager) ProtoMessage() {} + +func (x *ListenerManager) ProtoReflect() protoreflect.Message { + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListenerManager.ProtoReflect.Descriptor instead. +func (*ListenerManager) Descriptor() ([]byte, []int) { + return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{11} +} + +// A placeholder proto so that users can explicitly configure the standard +// Validation Listener Manager via the bootstrap's :ref:`listener_manager `. +// [#not-implemented-hide:] +type ValidationListenerManager struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ValidationListenerManager) Reset() { + *x = ValidationListenerManager{} + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ValidationListenerManager) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidationListenerManager) ProtoMessage() {} + +func (x *ValidationListenerManager) ProtoReflect() protoreflect.Message { + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidationListenerManager.ProtoReflect.Descriptor instead. +func (*ValidationListenerManager) Descriptor() ([]byte, []int) { + return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{12} +} + +// A placeholder proto so that users can explicitly configure the API +// Listener Manager via the bootstrap's :ref:`listener_manager `. +// [#not-implemented-hide:] +type ApiListenerManager struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Default to MainThreadOnly. + ThreadingModel ApiListenerManager_ThreadingModel `protobuf:"varint,1,opt,name=threading_model,json=threadingModel,proto3,enum=envoy.config.bootstrap.v3.ApiListenerManager_ThreadingModel" json:"threading_model,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApiListenerManager) Reset() { + *x = ApiListenerManager{} + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApiListenerManager) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiListenerManager) ProtoMessage() {} + +func (x *ApiListenerManager) ProtoReflect() protoreflect.Message { + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiListenerManager.ProtoReflect.Descriptor instead. +func (*ApiListenerManager) Descriptor() ([]byte, []int) { + return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP(), []int{13} +} + +func (x *ApiListenerManager) GetThreadingModel() ApiListenerManager_ThreadingModel { + if x != nil { + return x.ThreadingModel + } + return ApiListenerManager_MAIN_THREAD_ONLY +} + type Bootstrap_StaticResources struct { state protoimpl.MessageState `protogen:"open.v1"` // Static :ref:`Listeners `. These listeners are @@ -1623,7 +1861,7 @@ type Bootstrap_StaticResources struct { func (x *Bootstrap_StaticResources) Reset() { *x = Bootstrap_StaticResources{} - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[11] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1635,7 +1873,7 @@ func (x *Bootstrap_StaticResources) String() string { func (*Bootstrap_StaticResources) ProtoMessage() {} func (x *Bootstrap_StaticResources) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[11] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1702,7 +1940,7 @@ type Bootstrap_DynamicResources struct { func (x *Bootstrap_DynamicResources) Reset() { *x = Bootstrap_DynamicResources{} - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[12] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1714,7 +1952,7 @@ func (x *Bootstrap_DynamicResources) String() string { func (*Bootstrap_DynamicResources) ProtoMessage() {} func (x *Bootstrap_DynamicResources) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[12] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1777,7 +2015,7 @@ type Bootstrap_ApplicationLogConfig struct { func (x *Bootstrap_ApplicationLogConfig) Reset() { *x = Bootstrap_ApplicationLogConfig{} - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[13] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1789,7 +2027,7 @@ func (x *Bootstrap_ApplicationLogConfig) String() string { func (*Bootstrap_ApplicationLogConfig) ProtoMessage() {} func (x *Bootstrap_ApplicationLogConfig) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[13] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1831,7 +2069,7 @@ type Bootstrap_DeferredStatOptions struct { func (x *Bootstrap_DeferredStatOptions) Reset() { *x = Bootstrap_DeferredStatOptions{} - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[14] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1843,7 +2081,7 @@ func (x *Bootstrap_DeferredStatOptions) String() string { func (*Bootstrap_DeferredStatOptions) ProtoMessage() {} func (x *Bootstrap_DeferredStatOptions) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[14] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1877,7 +2115,7 @@ type Bootstrap_GrpcAsyncClientManagerConfig struct { func (x *Bootstrap_GrpcAsyncClientManagerConfig) Reset() { *x = Bootstrap_GrpcAsyncClientManagerConfig{} - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[15] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1889,7 +2127,7 @@ func (x *Bootstrap_GrpcAsyncClientManagerConfig) String() string { func (*Bootstrap_GrpcAsyncClientManagerConfig) ProtoMessage() {} func (x *Bootstrap_GrpcAsyncClientManagerConfig) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[15] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1925,7 +2163,7 @@ type Bootstrap_ApplicationLogConfig_LogFormat struct { func (x *Bootstrap_ApplicationLogConfig_LogFormat) Reset() { *x = Bootstrap_ApplicationLogConfig_LogFormat{} - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[17] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1937,7 +2175,7 @@ func (x *Bootstrap_ApplicationLogConfig_LogFormat) String() string { func (*Bootstrap_ApplicationLogConfig_LogFormat) ProtoMessage() {} func (x *Bootstrap_ApplicationLogConfig_LogFormat) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[17] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2016,7 +2254,7 @@ type ClusterManager_OutlierDetection struct { func (x *ClusterManager_OutlierDetection) Reset() { *x = ClusterManager_OutlierDetection{} - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[18] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2028,7 +2266,7 @@ func (x *ClusterManager_OutlierDetection) String() string { func (*ClusterManager_OutlierDetection) ProtoMessage() {} func (x *ClusterManager_OutlierDetection) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[18] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2069,7 +2307,7 @@ type Watchdog_WatchdogAction struct { func (x *Watchdog_WatchdogAction) Reset() { *x = Watchdog_WatchdogAction{} - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[19] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2081,7 +2319,7 @@ func (x *Watchdog_WatchdogAction) String() string { func (*Watchdog_WatchdogAction) ProtoMessage() {} func (x *Watchdog_WatchdogAction) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[19] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2135,7 +2373,7 @@ type RuntimeLayer_DiskLayer struct { func (x *RuntimeLayer_DiskLayer) Reset() { *x = RuntimeLayer_DiskLayer{} - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[20] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2147,7 +2385,7 @@ func (x *RuntimeLayer_DiskLayer) String() string { func (*RuntimeLayer_DiskLayer) ProtoMessage() {} func (x *RuntimeLayer_DiskLayer) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[20] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2193,7 +2431,7 @@ type RuntimeLayer_AdminLayer struct { func (x *RuntimeLayer_AdminLayer) Reset() { *x = RuntimeLayer_AdminLayer{} - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[21] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2205,7 +2443,7 @@ func (x *RuntimeLayer_AdminLayer) String() string { func (*RuntimeLayer_AdminLayer) ProtoMessage() {} func (x *RuntimeLayer_AdminLayer) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[21] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2234,7 +2472,7 @@ type RuntimeLayer_RtdsLayer struct { func (x *RuntimeLayer_RtdsLayer) Reset() { *x = RuntimeLayer_RtdsLayer{} - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[22] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2246,7 +2484,7 @@ func (x *RuntimeLayer_RtdsLayer) String() string { func (*RuntimeLayer_RtdsLayer) ProtoMessage() {} func (x *RuntimeLayer_RtdsLayer) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[22] + mi := &file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2280,7 +2518,7 @@ var File_envoy_config_bootstrap_v3_bootstrap_proto protoreflect.FileDescriptor const file_envoy_config_bootstrap_v3_bootstrap_proto_rawDesc = "" + "\n" + - ")envoy/config/bootstrap/v3/bootstrap.proto\x12\x19envoy.config.bootstrap.v3\x1a)envoy/config/accesslog/v3/accesslog.proto\x1a%envoy/config/cluster/v3/cluster.proto\x1a\"envoy/config/core/v3/address.proto\x1a\x1fenvoy/config/core/v3/base.proto\x1a(envoy/config/core/v3/config_source.proto\x1a/envoy/config/core/v3/event_service_config.proto\x1a$envoy/config/core/v3/extension.proto\x1a#envoy/config/core/v3/resolver.proto\x1a(envoy/config/core/v3/socket_option.proto\x1a'envoy/config/listener/v3/listener.proto\x1a#envoy/config/metrics/v3/stats.proto\x1a'envoy/config/overload/v3/overload.proto\x1a'envoy/config/trace/v3/http_tracer.proto\x1a6envoy/extensions/transport_sockets/tls/v3/secret.proto\x1a\"envoy/type/matcher/v3/string.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1fudpa/annotations/security.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\x8e%\n" + + ")envoy/config/bootstrap/v3/bootstrap.proto\x12\x19envoy.config.bootstrap.v3\x1a)envoy/config/accesslog/v3/accesslog.proto\x1a%envoy/config/cluster/v3/cluster.proto\x1a\"envoy/config/core/v3/address.proto\x1a\x1fenvoy/config/core/v3/base.proto\x1a(envoy/config/core/v3/config_source.proto\x1a/envoy/config/core/v3/event_service_config.proto\x1a$envoy/config/core/v3/extension.proto\x1a#envoy/config/core/v3/resolver.proto\x1a(envoy/config/core/v3/socket_option.proto\x1a'envoy/config/listener/v3/listener.proto\x1a#envoy/config/metrics/v3/stats.proto\x1a'envoy/config/overload/v3/overload.proto\x1a'envoy/config/trace/v3/http_tracer.proto\x1a6envoy/extensions/transport_sockets/tls/v3/secret.proto\x1a\"envoy/type/matcher/v3/string.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1fudpa/annotations/security.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xcb%\n" + "\tBootstrap\x12.\n" + "\x04node\x18\x01 \x01(\v2\x1a.envoy.config.core.v3.NodeR\x04node\x12.\n" + "\x13node_context_params\x18\x1a \x03(\tR\x11nodeContextParams\x12_\n" + @@ -2324,7 +2562,8 @@ const file_envoy_config_bootstrap_v3_bootstrap_proto_rawDesc = "" + "\x10listener_manager\x18% \x01(\v2*.envoy.config.core.v3.TypedExtensionConfigR\x0flistenerManager\x12o\n" + "\x16application_log_config\x18& \x01(\v29.envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfigR\x14applicationLogConfig\x12\x89\x01\n" + " grpc_async_client_manager_config\x18( \x01(\v2A.envoy.config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfigR\x1cgrpcAsyncClientManagerConfig\x12k\n" + - "\x18memory_allocator_manager\x18) \x01(\v21.envoy.config.bootstrap.v3.MemoryAllocatorManagerR\x16memoryAllocatorManager\x1a\x9a\x02\n" + + "\x18memory_allocator_manager\x18) \x01(\v21.envoy.config.bootstrap.v3.MemoryAllocatorManagerR\x16memoryAllocatorManager\x12;\n" + + "\x1aenable_worker_cpu_affinity\x18+ \x01(\bR\x17enableWorkerCpuAffinity\x1a\x9a\x02\n" + "\x0fStaticResources\x12@\n" + "\tlisteners\x18\x01 \x03(\v2\".envoy.config.listener.v3.ListenerR\tlisteners\x12<\n" + "\bclusters\x18\x02 \x03(\v2 .envoy.config.cluster.v3.ClusterR\bclusters\x12K\n" + @@ -2448,10 +2687,20 @@ const file_envoy_config_bootstrap_v3_bootstrap_proto_rawDesc = "" + "\x0eREQUEST_HEADER\x10\x00\x12\x13\n" + "\x0fREQUEST_TRAILER\x10\x01\x12\x13\n" + "\x0fRESPONSE_HEADER\x10\x02\x12\x14\n" + - "\x10RESPONSE_TRAILER\x10\x03\"\x95\x01\n" + + "\x10RESPONSE_TRAILER\x10\x03\"\x80\x03\n" + "\x16MemoryAllocatorManager\x12(\n" + "\x10bytes_to_release\x18\x01 \x01(\x04R\x0ebytesToRelease\x12Q\n" + - "\x17memory_release_interval\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x15memoryReleaseIntervalB\x91\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + + "\x17memory_release_interval\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x15memoryReleaseInterval\x12S\n" + + "\x17soft_memory_limit_bytes\x18\x03 \x01(\v2\x1c.google.protobuf.UInt64ValueR\x14softMemoryLimitBytes\x12[\n" + + "\x1cmax_per_cpu_cache_size_bytes\x18\x04 \x01(\v2\x1c.google.protobuf.UInt32ValueR\x17maxPerCpuCacheSizeBytes\x127\n" + + "\x18max_unfreed_memory_bytes\x18\x05 \x01(\x04R\x15maxUnfreedMemoryBytes\"\x11\n" + + "\x0fListenerManager\"\x1b\n" + + "\x19ValidationListenerManager\"\xc1\x01\n" + + "\x12ApiListenerManager\x12e\n" + + "\x0fthreading_model\x18\x01 \x01(\x0e2<.envoy.config.bootstrap.v3.ApiListenerManager.ThreadingModelR\x0ethreadingModel\"D\n" + + "\x0eThreadingModel\x12\x14\n" + + "\x10MAIN_THREAD_ONLY\x10\x00\x12\x1c\n" + + "\x18STANDALONE_WORKER_THREAD\x10\x01B\x91\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + "'io.envoyproxy.envoy.config.bootstrap.v3B\x0eBootstrapProtoP\x01ZLgithub.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3;bootstrapv3b\x06proto3" var ( @@ -2466,134 +2715,142 @@ func file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescGZIP() []byte { return file_envoy_config_bootstrap_v3_bootstrap_proto_rawDescData } -var file_envoy_config_bootstrap_v3_bootstrap_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_envoy_config_bootstrap_v3_bootstrap_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_envoy_config_bootstrap_v3_bootstrap_proto_goTypes = []any{ (Watchdog_WatchdogAction_WatchdogEvent)(0), // 0: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent (CustomInlineHeader_InlineHeaderType)(0), // 1: envoy.config.bootstrap.v3.CustomInlineHeader.InlineHeaderType - (*Bootstrap)(nil), // 2: envoy.config.bootstrap.v3.Bootstrap - (*Admin)(nil), // 3: envoy.config.bootstrap.v3.Admin - (*ClusterManager)(nil), // 4: envoy.config.bootstrap.v3.ClusterManager - (*Watchdogs)(nil), // 5: envoy.config.bootstrap.v3.Watchdogs - (*Watchdog)(nil), // 6: envoy.config.bootstrap.v3.Watchdog - (*FatalAction)(nil), // 7: envoy.config.bootstrap.v3.FatalAction - (*Runtime)(nil), // 8: envoy.config.bootstrap.v3.Runtime - (*RuntimeLayer)(nil), // 9: envoy.config.bootstrap.v3.RuntimeLayer - (*LayeredRuntime)(nil), // 10: envoy.config.bootstrap.v3.LayeredRuntime - (*CustomInlineHeader)(nil), // 11: envoy.config.bootstrap.v3.CustomInlineHeader - (*MemoryAllocatorManager)(nil), // 12: envoy.config.bootstrap.v3.MemoryAllocatorManager - (*Bootstrap_StaticResources)(nil), // 13: envoy.config.bootstrap.v3.Bootstrap.StaticResources - (*Bootstrap_DynamicResources)(nil), // 14: envoy.config.bootstrap.v3.Bootstrap.DynamicResources - (*Bootstrap_ApplicationLogConfig)(nil), // 15: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig - (*Bootstrap_DeferredStatOptions)(nil), // 16: envoy.config.bootstrap.v3.Bootstrap.DeferredStatOptions - (*Bootstrap_GrpcAsyncClientManagerConfig)(nil), // 17: envoy.config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig - nil, // 18: envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry - (*Bootstrap_ApplicationLogConfig_LogFormat)(nil), // 19: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat - (*ClusterManager_OutlierDetection)(nil), // 20: envoy.config.bootstrap.v3.ClusterManager.OutlierDetection - (*Watchdog_WatchdogAction)(nil), // 21: envoy.config.bootstrap.v3.Watchdog.WatchdogAction - (*RuntimeLayer_DiskLayer)(nil), // 22: envoy.config.bootstrap.v3.RuntimeLayer.DiskLayer - (*RuntimeLayer_AdminLayer)(nil), // 23: envoy.config.bootstrap.v3.RuntimeLayer.AdminLayer - (*RuntimeLayer_RtdsLayer)(nil), // 24: envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer - (*v3.Node)(nil), // 25: envoy.config.core.v3.Node - (*v3.ApiConfigSource)(nil), // 26: envoy.config.core.v3.ApiConfigSource - (*v31.StatsSink)(nil), // 27: envoy.config.metrics.v3.StatsSink - (*v31.StatsConfig)(nil), // 28: envoy.config.metrics.v3.StatsConfig - (*durationpb.Duration)(nil), // 29: google.protobuf.Duration - (*v32.Tracing)(nil), // 30: envoy.config.trace.v3.Tracing - (*v33.OverloadManager)(nil), // 31: envoy.config.overload.v3.OverloadManager - (*wrapperspb.UInt64Value)(nil), // 32: google.protobuf.UInt64Value - (*v3.DnsResolutionConfig)(nil), // 33: envoy.config.core.v3.DnsResolutionConfig - (*v3.TypedExtensionConfig)(nil), // 34: envoy.config.core.v3.TypedExtensionConfig - (*v3.ConfigSource)(nil), // 35: envoy.config.core.v3.ConfigSource - (*v34.AccessLog)(nil), // 36: envoy.config.accesslog.v3.AccessLog - (*v3.Address)(nil), // 37: envoy.config.core.v3.Address - (*v3.SocketOption)(nil), // 38: envoy.config.core.v3.SocketOption - (*v35.StringMatcher)(nil), // 39: envoy.type.matcher.v3.StringMatcher - (*v3.BindConfig)(nil), // 40: envoy.config.core.v3.BindConfig - (*v36.Percent)(nil), // 41: envoy.type.v3.Percent - (*structpb.Struct)(nil), // 42: google.protobuf.Struct - (*v37.Listener)(nil), // 43: envoy.config.listener.v3.Listener - (*v38.Cluster)(nil), // 44: envoy.config.cluster.v3.Cluster - (*v39.Secret)(nil), // 45: envoy.extensions.transport_sockets.tls.v3.Secret - (*v3.EventServiceConfig)(nil), // 46: envoy.config.core.v3.EventServiceConfig + (ApiListenerManager_ThreadingModel)(0), // 2: envoy.config.bootstrap.v3.ApiListenerManager.ThreadingModel + (*Bootstrap)(nil), // 3: envoy.config.bootstrap.v3.Bootstrap + (*Admin)(nil), // 4: envoy.config.bootstrap.v3.Admin + (*ClusterManager)(nil), // 5: envoy.config.bootstrap.v3.ClusterManager + (*Watchdogs)(nil), // 6: envoy.config.bootstrap.v3.Watchdogs + (*Watchdog)(nil), // 7: envoy.config.bootstrap.v3.Watchdog + (*FatalAction)(nil), // 8: envoy.config.bootstrap.v3.FatalAction + (*Runtime)(nil), // 9: envoy.config.bootstrap.v3.Runtime + (*RuntimeLayer)(nil), // 10: envoy.config.bootstrap.v3.RuntimeLayer + (*LayeredRuntime)(nil), // 11: envoy.config.bootstrap.v3.LayeredRuntime + (*CustomInlineHeader)(nil), // 12: envoy.config.bootstrap.v3.CustomInlineHeader + (*MemoryAllocatorManager)(nil), // 13: envoy.config.bootstrap.v3.MemoryAllocatorManager + (*ListenerManager)(nil), // 14: envoy.config.bootstrap.v3.ListenerManager + (*ValidationListenerManager)(nil), // 15: envoy.config.bootstrap.v3.ValidationListenerManager + (*ApiListenerManager)(nil), // 16: envoy.config.bootstrap.v3.ApiListenerManager + (*Bootstrap_StaticResources)(nil), // 17: envoy.config.bootstrap.v3.Bootstrap.StaticResources + (*Bootstrap_DynamicResources)(nil), // 18: envoy.config.bootstrap.v3.Bootstrap.DynamicResources + (*Bootstrap_ApplicationLogConfig)(nil), // 19: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig + (*Bootstrap_DeferredStatOptions)(nil), // 20: envoy.config.bootstrap.v3.Bootstrap.DeferredStatOptions + (*Bootstrap_GrpcAsyncClientManagerConfig)(nil), // 21: envoy.config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig + nil, // 22: envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry + (*Bootstrap_ApplicationLogConfig_LogFormat)(nil), // 23: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat + (*ClusterManager_OutlierDetection)(nil), // 24: envoy.config.bootstrap.v3.ClusterManager.OutlierDetection + (*Watchdog_WatchdogAction)(nil), // 25: envoy.config.bootstrap.v3.Watchdog.WatchdogAction + (*RuntimeLayer_DiskLayer)(nil), // 26: envoy.config.bootstrap.v3.RuntimeLayer.DiskLayer + (*RuntimeLayer_AdminLayer)(nil), // 27: envoy.config.bootstrap.v3.RuntimeLayer.AdminLayer + (*RuntimeLayer_RtdsLayer)(nil), // 28: envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer + (*v3.Node)(nil), // 29: envoy.config.core.v3.Node + (*v3.ApiConfigSource)(nil), // 30: envoy.config.core.v3.ApiConfigSource + (*v31.StatsSink)(nil), // 31: envoy.config.metrics.v3.StatsSink + (*v31.StatsConfig)(nil), // 32: envoy.config.metrics.v3.StatsConfig + (*durationpb.Duration)(nil), // 33: google.protobuf.Duration + (*v32.Tracing)(nil), // 34: envoy.config.trace.v3.Tracing + (*v33.OverloadManager)(nil), // 35: envoy.config.overload.v3.OverloadManager + (*wrapperspb.UInt64Value)(nil), // 36: google.protobuf.UInt64Value + (*v3.DnsResolutionConfig)(nil), // 37: envoy.config.core.v3.DnsResolutionConfig + (*v3.TypedExtensionConfig)(nil), // 38: envoy.config.core.v3.TypedExtensionConfig + (*v3.ConfigSource)(nil), // 39: envoy.config.core.v3.ConfigSource + (*v34.AccessLog)(nil), // 40: envoy.config.accesslog.v3.AccessLog + (*v3.Address)(nil), // 41: envoy.config.core.v3.Address + (*v3.SocketOption)(nil), // 42: envoy.config.core.v3.SocketOption + (*v35.StringMatcher)(nil), // 43: envoy.type.matcher.v3.StringMatcher + (*v3.BindConfig)(nil), // 44: envoy.config.core.v3.BindConfig + (*v36.Percent)(nil), // 45: envoy.type.v3.Percent + (*structpb.Struct)(nil), // 46: google.protobuf.Struct + (*wrapperspb.UInt32Value)(nil), // 47: google.protobuf.UInt32Value + (*v37.Listener)(nil), // 48: envoy.config.listener.v3.Listener + (*v38.Cluster)(nil), // 49: envoy.config.cluster.v3.Cluster + (*v39.Secret)(nil), // 50: envoy.extensions.transport_sockets.tls.v3.Secret + (*v3.EventServiceConfig)(nil), // 51: envoy.config.core.v3.EventServiceConfig } var file_envoy_config_bootstrap_v3_bootstrap_proto_depIdxs = []int32{ - 25, // 0: envoy.config.bootstrap.v3.Bootstrap.node:type_name -> envoy.config.core.v3.Node - 13, // 1: envoy.config.bootstrap.v3.Bootstrap.static_resources:type_name -> envoy.config.bootstrap.v3.Bootstrap.StaticResources - 14, // 2: envoy.config.bootstrap.v3.Bootstrap.dynamic_resources:type_name -> envoy.config.bootstrap.v3.Bootstrap.DynamicResources - 4, // 3: envoy.config.bootstrap.v3.Bootstrap.cluster_manager:type_name -> envoy.config.bootstrap.v3.ClusterManager - 26, // 4: envoy.config.bootstrap.v3.Bootstrap.hds_config:type_name -> envoy.config.core.v3.ApiConfigSource - 27, // 5: envoy.config.bootstrap.v3.Bootstrap.stats_sinks:type_name -> envoy.config.metrics.v3.StatsSink - 16, // 6: envoy.config.bootstrap.v3.Bootstrap.deferred_stat_options:type_name -> envoy.config.bootstrap.v3.Bootstrap.DeferredStatOptions - 28, // 7: envoy.config.bootstrap.v3.Bootstrap.stats_config:type_name -> envoy.config.metrics.v3.StatsConfig - 29, // 8: envoy.config.bootstrap.v3.Bootstrap.stats_flush_interval:type_name -> google.protobuf.Duration - 29, // 9: envoy.config.bootstrap.v3.Bootstrap.stats_eviction_interval:type_name -> google.protobuf.Duration - 6, // 10: envoy.config.bootstrap.v3.Bootstrap.watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog - 5, // 11: envoy.config.bootstrap.v3.Bootstrap.watchdogs:type_name -> envoy.config.bootstrap.v3.Watchdogs - 30, // 12: envoy.config.bootstrap.v3.Bootstrap.tracing:type_name -> envoy.config.trace.v3.Tracing - 10, // 13: envoy.config.bootstrap.v3.Bootstrap.layered_runtime:type_name -> envoy.config.bootstrap.v3.LayeredRuntime - 3, // 14: envoy.config.bootstrap.v3.Bootstrap.admin:type_name -> envoy.config.bootstrap.v3.Admin - 31, // 15: envoy.config.bootstrap.v3.Bootstrap.overload_manager:type_name -> envoy.config.overload.v3.OverloadManager - 32, // 16: envoy.config.bootstrap.v3.Bootstrap.stats_server_version_override:type_name -> google.protobuf.UInt64Value - 33, // 17: envoy.config.bootstrap.v3.Bootstrap.dns_resolution_config:type_name -> envoy.config.core.v3.DnsResolutionConfig - 34, // 18: envoy.config.bootstrap.v3.Bootstrap.typed_dns_resolver_config:type_name -> envoy.config.core.v3.TypedExtensionConfig - 34, // 19: envoy.config.bootstrap.v3.Bootstrap.bootstrap_extensions:type_name -> envoy.config.core.v3.TypedExtensionConfig - 7, // 20: envoy.config.bootstrap.v3.Bootstrap.fatal_actions:type_name -> envoy.config.bootstrap.v3.FatalAction - 35, // 21: envoy.config.bootstrap.v3.Bootstrap.config_sources:type_name -> envoy.config.core.v3.ConfigSource - 35, // 22: envoy.config.bootstrap.v3.Bootstrap.default_config_source:type_name -> envoy.config.core.v3.ConfigSource - 18, // 23: envoy.config.bootstrap.v3.Bootstrap.certificate_provider_instances:type_name -> envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry - 11, // 24: envoy.config.bootstrap.v3.Bootstrap.inline_headers:type_name -> envoy.config.bootstrap.v3.CustomInlineHeader - 34, // 25: envoy.config.bootstrap.v3.Bootstrap.default_regex_engine:type_name -> envoy.config.core.v3.TypedExtensionConfig - 34, // 26: envoy.config.bootstrap.v3.Bootstrap.xds_delegate_extension:type_name -> envoy.config.core.v3.TypedExtensionConfig - 34, // 27: envoy.config.bootstrap.v3.Bootstrap.xds_config_tracker_extension:type_name -> envoy.config.core.v3.TypedExtensionConfig - 34, // 28: envoy.config.bootstrap.v3.Bootstrap.listener_manager:type_name -> envoy.config.core.v3.TypedExtensionConfig - 15, // 29: envoy.config.bootstrap.v3.Bootstrap.application_log_config:type_name -> envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig - 17, // 30: envoy.config.bootstrap.v3.Bootstrap.grpc_async_client_manager_config:type_name -> envoy.config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig - 12, // 31: envoy.config.bootstrap.v3.Bootstrap.memory_allocator_manager:type_name -> envoy.config.bootstrap.v3.MemoryAllocatorManager - 36, // 32: envoy.config.bootstrap.v3.Admin.access_log:type_name -> envoy.config.accesslog.v3.AccessLog - 37, // 33: envoy.config.bootstrap.v3.Admin.address:type_name -> envoy.config.core.v3.Address - 38, // 34: envoy.config.bootstrap.v3.Admin.socket_options:type_name -> envoy.config.core.v3.SocketOption - 39, // 35: envoy.config.bootstrap.v3.Admin.allow_paths:type_name -> envoy.type.matcher.v3.StringMatcher - 20, // 36: envoy.config.bootstrap.v3.ClusterManager.outlier_detection:type_name -> envoy.config.bootstrap.v3.ClusterManager.OutlierDetection - 40, // 37: envoy.config.bootstrap.v3.ClusterManager.upstream_bind_config:type_name -> envoy.config.core.v3.BindConfig - 26, // 38: envoy.config.bootstrap.v3.ClusterManager.load_stats_config:type_name -> envoy.config.core.v3.ApiConfigSource - 6, // 39: envoy.config.bootstrap.v3.Watchdogs.main_thread_watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog - 6, // 40: envoy.config.bootstrap.v3.Watchdogs.worker_watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog - 21, // 41: envoy.config.bootstrap.v3.Watchdog.actions:type_name -> envoy.config.bootstrap.v3.Watchdog.WatchdogAction - 29, // 42: envoy.config.bootstrap.v3.Watchdog.miss_timeout:type_name -> google.protobuf.Duration - 29, // 43: envoy.config.bootstrap.v3.Watchdog.megamiss_timeout:type_name -> google.protobuf.Duration - 29, // 44: envoy.config.bootstrap.v3.Watchdog.kill_timeout:type_name -> google.protobuf.Duration - 29, // 45: envoy.config.bootstrap.v3.Watchdog.max_kill_timeout_jitter:type_name -> google.protobuf.Duration - 29, // 46: envoy.config.bootstrap.v3.Watchdog.multikill_timeout:type_name -> google.protobuf.Duration - 41, // 47: envoy.config.bootstrap.v3.Watchdog.multikill_threshold:type_name -> envoy.type.v3.Percent - 34, // 48: envoy.config.bootstrap.v3.FatalAction.config:type_name -> envoy.config.core.v3.TypedExtensionConfig - 42, // 49: envoy.config.bootstrap.v3.Runtime.base:type_name -> google.protobuf.Struct - 42, // 50: envoy.config.bootstrap.v3.RuntimeLayer.static_layer:type_name -> google.protobuf.Struct - 22, // 51: envoy.config.bootstrap.v3.RuntimeLayer.disk_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.DiskLayer - 23, // 52: envoy.config.bootstrap.v3.RuntimeLayer.admin_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.AdminLayer - 24, // 53: envoy.config.bootstrap.v3.RuntimeLayer.rtds_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer - 9, // 54: envoy.config.bootstrap.v3.LayeredRuntime.layers:type_name -> envoy.config.bootstrap.v3.RuntimeLayer + 29, // 0: envoy.config.bootstrap.v3.Bootstrap.node:type_name -> envoy.config.core.v3.Node + 17, // 1: envoy.config.bootstrap.v3.Bootstrap.static_resources:type_name -> envoy.config.bootstrap.v3.Bootstrap.StaticResources + 18, // 2: envoy.config.bootstrap.v3.Bootstrap.dynamic_resources:type_name -> envoy.config.bootstrap.v3.Bootstrap.DynamicResources + 5, // 3: envoy.config.bootstrap.v3.Bootstrap.cluster_manager:type_name -> envoy.config.bootstrap.v3.ClusterManager + 30, // 4: envoy.config.bootstrap.v3.Bootstrap.hds_config:type_name -> envoy.config.core.v3.ApiConfigSource + 31, // 5: envoy.config.bootstrap.v3.Bootstrap.stats_sinks:type_name -> envoy.config.metrics.v3.StatsSink + 20, // 6: envoy.config.bootstrap.v3.Bootstrap.deferred_stat_options:type_name -> envoy.config.bootstrap.v3.Bootstrap.DeferredStatOptions + 32, // 7: envoy.config.bootstrap.v3.Bootstrap.stats_config:type_name -> envoy.config.metrics.v3.StatsConfig + 33, // 8: envoy.config.bootstrap.v3.Bootstrap.stats_flush_interval:type_name -> google.protobuf.Duration + 33, // 9: envoy.config.bootstrap.v3.Bootstrap.stats_eviction_interval:type_name -> google.protobuf.Duration + 7, // 10: envoy.config.bootstrap.v3.Bootstrap.watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog + 6, // 11: envoy.config.bootstrap.v3.Bootstrap.watchdogs:type_name -> envoy.config.bootstrap.v3.Watchdogs + 34, // 12: envoy.config.bootstrap.v3.Bootstrap.tracing:type_name -> envoy.config.trace.v3.Tracing + 11, // 13: envoy.config.bootstrap.v3.Bootstrap.layered_runtime:type_name -> envoy.config.bootstrap.v3.LayeredRuntime + 4, // 14: envoy.config.bootstrap.v3.Bootstrap.admin:type_name -> envoy.config.bootstrap.v3.Admin + 35, // 15: envoy.config.bootstrap.v3.Bootstrap.overload_manager:type_name -> envoy.config.overload.v3.OverloadManager + 36, // 16: envoy.config.bootstrap.v3.Bootstrap.stats_server_version_override:type_name -> google.protobuf.UInt64Value + 37, // 17: envoy.config.bootstrap.v3.Bootstrap.dns_resolution_config:type_name -> envoy.config.core.v3.DnsResolutionConfig + 38, // 18: envoy.config.bootstrap.v3.Bootstrap.typed_dns_resolver_config:type_name -> envoy.config.core.v3.TypedExtensionConfig + 38, // 19: envoy.config.bootstrap.v3.Bootstrap.bootstrap_extensions:type_name -> envoy.config.core.v3.TypedExtensionConfig + 8, // 20: envoy.config.bootstrap.v3.Bootstrap.fatal_actions:type_name -> envoy.config.bootstrap.v3.FatalAction + 39, // 21: envoy.config.bootstrap.v3.Bootstrap.config_sources:type_name -> envoy.config.core.v3.ConfigSource + 39, // 22: envoy.config.bootstrap.v3.Bootstrap.default_config_source:type_name -> envoy.config.core.v3.ConfigSource + 22, // 23: envoy.config.bootstrap.v3.Bootstrap.certificate_provider_instances:type_name -> envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry + 12, // 24: envoy.config.bootstrap.v3.Bootstrap.inline_headers:type_name -> envoy.config.bootstrap.v3.CustomInlineHeader + 38, // 25: envoy.config.bootstrap.v3.Bootstrap.default_regex_engine:type_name -> envoy.config.core.v3.TypedExtensionConfig + 38, // 26: envoy.config.bootstrap.v3.Bootstrap.xds_delegate_extension:type_name -> envoy.config.core.v3.TypedExtensionConfig + 38, // 27: envoy.config.bootstrap.v3.Bootstrap.xds_config_tracker_extension:type_name -> envoy.config.core.v3.TypedExtensionConfig + 38, // 28: envoy.config.bootstrap.v3.Bootstrap.listener_manager:type_name -> envoy.config.core.v3.TypedExtensionConfig + 19, // 29: envoy.config.bootstrap.v3.Bootstrap.application_log_config:type_name -> envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig + 21, // 30: envoy.config.bootstrap.v3.Bootstrap.grpc_async_client_manager_config:type_name -> envoy.config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig + 13, // 31: envoy.config.bootstrap.v3.Bootstrap.memory_allocator_manager:type_name -> envoy.config.bootstrap.v3.MemoryAllocatorManager + 40, // 32: envoy.config.bootstrap.v3.Admin.access_log:type_name -> envoy.config.accesslog.v3.AccessLog + 41, // 33: envoy.config.bootstrap.v3.Admin.address:type_name -> envoy.config.core.v3.Address + 42, // 34: envoy.config.bootstrap.v3.Admin.socket_options:type_name -> envoy.config.core.v3.SocketOption + 43, // 35: envoy.config.bootstrap.v3.Admin.allow_paths:type_name -> envoy.type.matcher.v3.StringMatcher + 24, // 36: envoy.config.bootstrap.v3.ClusterManager.outlier_detection:type_name -> envoy.config.bootstrap.v3.ClusterManager.OutlierDetection + 44, // 37: envoy.config.bootstrap.v3.ClusterManager.upstream_bind_config:type_name -> envoy.config.core.v3.BindConfig + 30, // 38: envoy.config.bootstrap.v3.ClusterManager.load_stats_config:type_name -> envoy.config.core.v3.ApiConfigSource + 7, // 39: envoy.config.bootstrap.v3.Watchdogs.main_thread_watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog + 7, // 40: envoy.config.bootstrap.v3.Watchdogs.worker_watchdog:type_name -> envoy.config.bootstrap.v3.Watchdog + 25, // 41: envoy.config.bootstrap.v3.Watchdog.actions:type_name -> envoy.config.bootstrap.v3.Watchdog.WatchdogAction + 33, // 42: envoy.config.bootstrap.v3.Watchdog.miss_timeout:type_name -> google.protobuf.Duration + 33, // 43: envoy.config.bootstrap.v3.Watchdog.megamiss_timeout:type_name -> google.protobuf.Duration + 33, // 44: envoy.config.bootstrap.v3.Watchdog.kill_timeout:type_name -> google.protobuf.Duration + 33, // 45: envoy.config.bootstrap.v3.Watchdog.max_kill_timeout_jitter:type_name -> google.protobuf.Duration + 33, // 46: envoy.config.bootstrap.v3.Watchdog.multikill_timeout:type_name -> google.protobuf.Duration + 45, // 47: envoy.config.bootstrap.v3.Watchdog.multikill_threshold:type_name -> envoy.type.v3.Percent + 38, // 48: envoy.config.bootstrap.v3.FatalAction.config:type_name -> envoy.config.core.v3.TypedExtensionConfig + 46, // 49: envoy.config.bootstrap.v3.Runtime.base:type_name -> google.protobuf.Struct + 46, // 50: envoy.config.bootstrap.v3.RuntimeLayer.static_layer:type_name -> google.protobuf.Struct + 26, // 51: envoy.config.bootstrap.v3.RuntimeLayer.disk_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.DiskLayer + 27, // 52: envoy.config.bootstrap.v3.RuntimeLayer.admin_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.AdminLayer + 28, // 53: envoy.config.bootstrap.v3.RuntimeLayer.rtds_layer:type_name -> envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer + 10, // 54: envoy.config.bootstrap.v3.LayeredRuntime.layers:type_name -> envoy.config.bootstrap.v3.RuntimeLayer 1, // 55: envoy.config.bootstrap.v3.CustomInlineHeader.inline_header_type:type_name -> envoy.config.bootstrap.v3.CustomInlineHeader.InlineHeaderType - 29, // 56: envoy.config.bootstrap.v3.MemoryAllocatorManager.memory_release_interval:type_name -> google.protobuf.Duration - 43, // 57: envoy.config.bootstrap.v3.Bootstrap.StaticResources.listeners:type_name -> envoy.config.listener.v3.Listener - 44, // 58: envoy.config.bootstrap.v3.Bootstrap.StaticResources.clusters:type_name -> envoy.config.cluster.v3.Cluster - 45, // 59: envoy.config.bootstrap.v3.Bootstrap.StaticResources.secrets:type_name -> envoy.extensions.transport_sockets.tls.v3.Secret - 35, // 60: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.lds_config:type_name -> envoy.config.core.v3.ConfigSource - 35, // 61: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.cds_config:type_name -> envoy.config.core.v3.ConfigSource - 26, // 62: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.ads_config:type_name -> envoy.config.core.v3.ApiConfigSource - 19, // 63: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.log_format:type_name -> envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat - 29, // 64: envoy.config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig.max_cached_entry_idle_duration:type_name -> google.protobuf.Duration - 34, // 65: envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry.value:type_name -> envoy.config.core.v3.TypedExtensionConfig - 42, // 66: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat.json_format:type_name -> google.protobuf.Struct - 46, // 67: envoy.config.bootstrap.v3.ClusterManager.OutlierDetection.event_service:type_name -> envoy.config.core.v3.EventServiceConfig - 34, // 68: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.config:type_name -> envoy.config.core.v3.TypedExtensionConfig - 0, // 69: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.event:type_name -> envoy.config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent - 35, // 70: envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer.rtds_config:type_name -> envoy.config.core.v3.ConfigSource - 71, // [71:71] is the sub-list for method output_type - 71, // [71:71] is the sub-list for method input_type - 71, // [71:71] is the sub-list for extension type_name - 71, // [71:71] is the sub-list for extension extendee - 0, // [0:71] is the sub-list for field type_name + 33, // 56: envoy.config.bootstrap.v3.MemoryAllocatorManager.memory_release_interval:type_name -> google.protobuf.Duration + 36, // 57: envoy.config.bootstrap.v3.MemoryAllocatorManager.soft_memory_limit_bytes:type_name -> google.protobuf.UInt64Value + 47, // 58: envoy.config.bootstrap.v3.MemoryAllocatorManager.max_per_cpu_cache_size_bytes:type_name -> google.protobuf.UInt32Value + 2, // 59: envoy.config.bootstrap.v3.ApiListenerManager.threading_model:type_name -> envoy.config.bootstrap.v3.ApiListenerManager.ThreadingModel + 48, // 60: envoy.config.bootstrap.v3.Bootstrap.StaticResources.listeners:type_name -> envoy.config.listener.v3.Listener + 49, // 61: envoy.config.bootstrap.v3.Bootstrap.StaticResources.clusters:type_name -> envoy.config.cluster.v3.Cluster + 50, // 62: envoy.config.bootstrap.v3.Bootstrap.StaticResources.secrets:type_name -> envoy.extensions.transport_sockets.tls.v3.Secret + 39, // 63: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.lds_config:type_name -> envoy.config.core.v3.ConfigSource + 39, // 64: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.cds_config:type_name -> envoy.config.core.v3.ConfigSource + 30, // 65: envoy.config.bootstrap.v3.Bootstrap.DynamicResources.ads_config:type_name -> envoy.config.core.v3.ApiConfigSource + 23, // 66: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.log_format:type_name -> envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat + 33, // 67: envoy.config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig.max_cached_entry_idle_duration:type_name -> google.protobuf.Duration + 38, // 68: envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry.value:type_name -> envoy.config.core.v3.TypedExtensionConfig + 46, // 69: envoy.config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat.json_format:type_name -> google.protobuf.Struct + 51, // 70: envoy.config.bootstrap.v3.ClusterManager.OutlierDetection.event_service:type_name -> envoy.config.core.v3.EventServiceConfig + 38, // 71: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.config:type_name -> envoy.config.core.v3.TypedExtensionConfig + 0, // 72: envoy.config.bootstrap.v3.Watchdog.WatchdogAction.event:type_name -> envoy.config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent + 39, // 73: envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer.rtds_config:type_name -> envoy.config.core.v3.ConfigSource + 74, // [74:74] is the sub-list for method output_type + 74, // [74:74] is the sub-list for method input_type + 74, // [74:74] is the sub-list for extension type_name + 74, // [74:74] is the sub-list for extension extendee + 0, // [0:74] is the sub-list for field type_name } func init() { file_envoy_config_bootstrap_v3_bootstrap_proto_init() } @@ -2611,7 +2868,7 @@ func file_envoy_config_bootstrap_v3_bootstrap_proto_init() { (*RuntimeLayer_AdminLayer_)(nil), (*RuntimeLayer_RtdsLayer_)(nil), } - file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[17].OneofWrappers = []any{ + file_envoy_config_bootstrap_v3_bootstrap_proto_msgTypes[20].OneofWrappers = []any{ (*Bootstrap_ApplicationLogConfig_LogFormat_JsonFormat)(nil), (*Bootstrap_ApplicationLogConfig_LogFormat_TextFormat)(nil), } @@ -2620,8 +2877,8 @@ func file_envoy_config_bootstrap_v3_bootstrap_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_config_bootstrap_v3_bootstrap_proto_rawDesc), len(file_envoy_config_bootstrap_v3_bootstrap_proto_rawDesc)), - NumEnums: 2, - NumMessages: 23, + NumEnums: 3, + NumMessages: 26, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.validate.go index 864cf1d1..37781e8a 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap.pb.validate.go @@ -1013,6 +1013,8 @@ func (m *Bootstrap) validate(all bool) error { } } + // no validation rules for EnableWorkerCpuAffinity + switch v := m.StatsFlush.(type) { case *Bootstrap_StatsFlushOnAdmin: if v == nil { @@ -2934,6 +2936,66 @@ func (m *MemoryAllocatorManager) validate(all bool) error { } } + if all { + switch v := interface{}(m.GetSoftMemoryLimitBytes()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, MemoryAllocatorManagerValidationError{ + field: "SoftMemoryLimitBytes", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, MemoryAllocatorManagerValidationError{ + field: "SoftMemoryLimitBytes", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetSoftMemoryLimitBytes()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MemoryAllocatorManagerValidationError{ + field: "SoftMemoryLimitBytes", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetMaxPerCpuCacheSizeBytes()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, MemoryAllocatorManagerValidationError{ + field: "MaxPerCpuCacheSizeBytes", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, MemoryAllocatorManagerValidationError{ + field: "MaxPerCpuCacheSizeBytes", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetMaxPerCpuCacheSizeBytes()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MemoryAllocatorManagerValidationError{ + field: "MaxPerCpuCacheSizeBytes", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for MaxUnfreedMemoryBytes + if len(errors) > 0 { return MemoryAllocatorManagerMultiError(errors) } @@ -3014,6 +3076,312 @@ var _ interface { ErrorName() string } = MemoryAllocatorManagerValidationError{} +// Validate checks the field values on ListenerManager with the rules defined +// in the proto definition for this message. If any rules are violated, the +// first error encountered is returned, or nil if there are no violations. +func (m *ListenerManager) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ListenerManager with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ListenerManagerMultiError, or nil if none found. +func (m *ListenerManager) ValidateAll() error { + return m.validate(true) +} + +func (m *ListenerManager) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return ListenerManagerMultiError(errors) + } + + return nil +} + +// ListenerManagerMultiError is an error wrapping multiple validation errors +// returned by ListenerManager.ValidateAll() if the designated constraints +// aren't met. +type ListenerManagerMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ListenerManagerMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ListenerManagerMultiError) AllErrors() []error { return m } + +// ListenerManagerValidationError is the validation error returned by +// ListenerManager.Validate if the designated constraints aren't met. +type ListenerManagerValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ListenerManagerValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ListenerManagerValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ListenerManagerValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ListenerManagerValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ListenerManagerValidationError) ErrorName() string { return "ListenerManagerValidationError" } + +// Error satisfies the builtin error interface +func (e ListenerManagerValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sListenerManager.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ListenerManagerValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ListenerManagerValidationError{} + +// Validate checks the field values on ValidationListenerManager with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ValidationListenerManager) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ValidationListenerManager with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ValidationListenerManagerMultiError, or nil if none found. +func (m *ValidationListenerManager) ValidateAll() error { + return m.validate(true) +} + +func (m *ValidationListenerManager) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return ValidationListenerManagerMultiError(errors) + } + + return nil +} + +// ValidationListenerManagerMultiError is an error wrapping multiple validation +// errors returned by ValidationListenerManager.ValidateAll() if the +// designated constraints aren't met. +type ValidationListenerManagerMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ValidationListenerManagerMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ValidationListenerManagerMultiError) AllErrors() []error { return m } + +// ValidationListenerManagerValidationError is the validation error returned by +// ValidationListenerManager.Validate if the designated constraints aren't met. +type ValidationListenerManagerValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ValidationListenerManagerValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ValidationListenerManagerValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ValidationListenerManagerValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ValidationListenerManagerValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ValidationListenerManagerValidationError) ErrorName() string { + return "ValidationListenerManagerValidationError" +} + +// Error satisfies the builtin error interface +func (e ValidationListenerManagerValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sValidationListenerManager.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ValidationListenerManagerValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ValidationListenerManagerValidationError{} + +// Validate checks the field values on ApiListenerManager with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ApiListenerManager) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ApiListenerManager with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ApiListenerManagerMultiError, or nil if none found. +func (m *ApiListenerManager) ValidateAll() error { + return m.validate(true) +} + +func (m *ApiListenerManager) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ThreadingModel + + if len(errors) > 0 { + return ApiListenerManagerMultiError(errors) + } + + return nil +} + +// ApiListenerManagerMultiError is an error wrapping multiple validation errors +// returned by ApiListenerManager.ValidateAll() if the designated constraints +// aren't met. +type ApiListenerManagerMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ApiListenerManagerMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ApiListenerManagerMultiError) AllErrors() []error { return m } + +// ApiListenerManagerValidationError is the validation error returned by +// ApiListenerManager.Validate if the designated constraints aren't met. +type ApiListenerManagerValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ApiListenerManagerValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ApiListenerManagerValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ApiListenerManagerValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ApiListenerManagerValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ApiListenerManagerValidationError) ErrorName() string { + return "ApiListenerManagerValidationError" +} + +// Error satisfies the builtin error interface +func (e ApiListenerManagerValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sApiListenerManager.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ApiListenerManagerValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ApiListenerManagerValidationError{} + // Validate checks the field values on Bootstrap_StaticResources with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap_vtproto.pb.go index f18421d7..1f661605 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3/bootstrap_vtproto.pb.go @@ -483,6 +483,18 @@ func (m *Bootstrap) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.EnableWorkerCpuAffinity { + i-- + if m.EnableWorkerCpuAffinity { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xd8 + } if msg, ok := m.StatsEviction.(*Bootstrap_StatsEvictionInterval); ok { size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -2275,6 +2287,31 @@ func (m *MemoryAllocatorManager) MarshalToSizedBufferVTStrict(dAtA []byte) (int, i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.MaxUnfreedMemoryBytes != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxUnfreedMemoryBytes)) + i-- + dAtA[i] = 0x28 + } + if m.MaxPerCpuCacheSizeBytes != nil { + size, err := (*wrapperspb.UInt32Value)(m.MaxPerCpuCacheSizeBytes).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.SoftMemoryLimitBytes != nil { + size, err := (*wrapperspb.UInt64Value)(m.SoftMemoryLimitBytes).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } if m.MemoryReleaseInterval != nil { size, err := (*durationpb.Duration)(m.MemoryReleaseInterval).MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -2293,6 +2330,110 @@ func (m *MemoryAllocatorManager) MarshalToSizedBufferVTStrict(dAtA []byte) (int, return len(dAtA) - i, nil } +func (m *ListenerManager) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ListenerManager) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ListenerManager) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + +func (m *ValidationListenerManager) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ValidationListenerManager) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ValidationListenerManager) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + +func (m *ApiListenerManager) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ApiListenerManager) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ApiListenerManager) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.ThreadingModel != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ThreadingModel)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *Bootstrap_StaticResources) SizeVT() (n int) { if m == nil { return 0 @@ -2744,6 +2885,9 @@ func (m *Bootstrap) SizeVT() (n int) { if vtmsg, ok := m.StatsEviction.(interface{ SizeVT() int }); ok { n += vtmsg.SizeVT() } + if m.EnableWorkerCpuAffinity { + n += 3 + } n += len(m.unknownFields) return n } @@ -3210,6 +3354,50 @@ func (m *MemoryAllocatorManager) SizeVT() (n int) { l = (*durationpb.Duration)(m.MemoryReleaseInterval).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.SoftMemoryLimitBytes != nil { + l = (*wrapperspb.UInt64Value)(m.SoftMemoryLimitBytes).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MaxPerCpuCacheSizeBytes != nil { + l = (*wrapperspb.UInt32Value)(m.MaxPerCpuCacheSizeBytes).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MaxUnfreedMemoryBytes != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxUnfreedMemoryBytes)) + } + n += len(m.unknownFields) + return n +} + +func (m *ListenerManager) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + +func (m *ValidationListenerManager) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + +func (m *ApiListenerManager) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ThreadingModel != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ThreadingModel)) + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.go index 53f74507..64cb332d 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/cluster/v3/circuit_breaker.proto package clusterv3 @@ -13,6 +13,7 @@ import ( _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" @@ -240,6 +241,24 @@ type CircuitBreakers_Thresholds_RetryBudget struct { // // This parameter is optional. Defaults to 20%. BudgetPercent *v31.Percent `protobuf:"bytes,1,opt,name=budget_percent,json=budgetPercent,proto3" json:"budget_percent,omitempty"` + // An optional duration in which requests will be considered when calculating + // the budget for retries. This parameter alters the way in which the retry budget + // is calculated, overriding the default behavior when specified. + // + // By default, when budget_interval is set to 0ms, only presently active + // and pending requests are considered when calculating the retry budget. + // + // When a non-zero budget_interval is specified, new requests are + // considered for the duration of budget_interval when calculating + // the retry budget. + // + // For example, if 10 requests start at the same time, with a specified budget_interval + // of 100ms, all 10 requests will be considered when calculating the retry + // budget for the next 100ms, regardless of if they have completed. + // All 10 requests will expire after the budget_interval duration. + // + // This parameter is optional. Defaults to 0ms. + BudgetInterval *durationpb.Duration `protobuf:"bytes,3,opt,name=budget_interval,json=budgetInterval,proto3" json:"budget_interval,omitempty"` // Specifies the minimum retry concurrency allowed for the retry budget. The limit on the // number of active retries may never go below this number. // @@ -286,6 +305,13 @@ func (x *CircuitBreakers_Thresholds_RetryBudget) GetBudgetPercent() *v31.Percent return nil } +func (x *CircuitBreakers_Thresholds_RetryBudget) GetBudgetInterval() *durationpb.Duration { + if x != nil { + return x.BudgetInterval + } + return nil +} + func (x *CircuitBreakers_Thresholds_RetryBudget) GetMinRetryConcurrency() *wrapperspb.UInt32Value { if x != nil { return x.MinRetryConcurrency @@ -297,12 +323,12 @@ var File_envoy_config_cluster_v3_circuit_breaker_proto protoreflect.FileDescript const file_envoy_config_cluster_v3_circuit_breaker_proto_rawDesc = "" + "\n" + - "-envoy/config/cluster/v3/circuit_breaker.proto\x12\x17envoy.config.cluster.v3\x1a\x1fenvoy/config/core/v3/base.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xe5\b\n" + + "-envoy/config/cluster/v3/circuit_breaker.proto\x12\x17envoy.config.cluster.v3\x1a\x1fenvoy/config/core/v3/base.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xa9\t\n" + "\x0fCircuitBreakers\x12S\n" + "\n" + "thresholds\x18\x01 \x03(\v23.envoy.config.cluster.v3.CircuitBreakers.ThresholdsR\n" + "thresholds\x12c\n" + - "\x13per_host_thresholds\x18\x02 \x03(\v23.envoy.config.cluster.v3.CircuitBreakers.ThresholdsR\x11perHostThresholds\x1a\xea\x06\n" + + "\x13per_host_thresholds\x18\x02 \x03(\v23.envoy.config.cluster.v3.CircuitBreakers.ThresholdsR\x11perHostThresholds\x1a\xae\a\n" + "\n" + "Thresholds\x12K\n" + "\bpriority\x18\x01 \x01(\x0e2%.envoy.config.core.v3.RoutingPriorityB\b\xfaB\x05\x82\x01\x02\x10\x01R\bpriority\x12E\n" + @@ -313,9 +339,10 @@ const file_envoy_config_cluster_v3_circuit_breaker_proto_rawDesc = "" + "maxRetries\x12b\n" + "\fretry_budget\x18\b \x01(\v2?.envoy.config.cluster.v3.CircuitBreakers.Thresholds.RetryBudgetR\vretryBudget\x12'\n" + "\x0ftrack_remaining\x18\x06 \x01(\bR\x0etrackRemaining\x12N\n" + - "\x14max_connection_pools\x18\a \x01(\v2\x1c.google.protobuf.UInt32ValueR\x12maxConnectionPools\x1a\xe2\x01\n" + + "\x14max_connection_pools\x18\a \x01(\v2\x1c.google.protobuf.UInt32ValueR\x12maxConnectionPools\x1a\xa6\x02\n" + "\vRetryBudget\x12=\n" + - "\x0ebudget_percent\x18\x01 \x01(\v2\x16.envoy.type.v3.PercentR\rbudgetPercent\x12P\n" + + "\x0ebudget_percent\x18\x01 \x01(\v2\x16.envoy.type.v3.PercentR\rbudgetPercent\x12B\n" + + "\x0fbudget_interval\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x0ebudgetInterval\x12P\n" + "\x15min_retry_concurrency\x18\x02 \x01(\v2\x1c.google.protobuf.UInt32ValueR\x13minRetryConcurrency:B\x9aň\x1e=\n" + ";envoy.api.v2.cluster.CircuitBreakers.Thresholds.RetryBudget:6\x9aň\x1e1\n" + "/envoy.api.v2.cluster.CircuitBreakers.Thresholds:+\x9aň\x1e&\n" + @@ -342,6 +369,7 @@ var file_envoy_config_cluster_v3_circuit_breaker_proto_goTypes = []any{ (v3.RoutingPriority)(0), // 3: envoy.config.core.v3.RoutingPriority (*wrapperspb.UInt32Value)(nil), // 4: google.protobuf.UInt32Value (*v31.Percent)(nil), // 5: envoy.type.v3.Percent + (*durationpb.Duration)(nil), // 6: google.protobuf.Duration } var file_envoy_config_cluster_v3_circuit_breaker_proto_depIdxs = []int32{ 1, // 0: envoy.config.cluster.v3.CircuitBreakers.thresholds:type_name -> envoy.config.cluster.v3.CircuitBreakers.Thresholds @@ -354,12 +382,13 @@ var file_envoy_config_cluster_v3_circuit_breaker_proto_depIdxs = []int32{ 2, // 7: envoy.config.cluster.v3.CircuitBreakers.Thresholds.retry_budget:type_name -> envoy.config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget 4, // 8: envoy.config.cluster.v3.CircuitBreakers.Thresholds.max_connection_pools:type_name -> google.protobuf.UInt32Value 5, // 9: envoy.config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget.budget_percent:type_name -> envoy.type.v3.Percent - 4, // 10: envoy.config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget.min_retry_concurrency:type_name -> google.protobuf.UInt32Value - 11, // [11:11] is the sub-list for method output_type - 11, // [11:11] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 6, // 10: envoy.config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget.budget_interval:type_name -> google.protobuf.Duration + 4, // 11: envoy.config.cluster.v3.CircuitBreakers.Thresholds.RetryBudget.min_retry_concurrency:type_name -> google.protobuf.UInt32Value + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_envoy_config_cluster_v3_circuit_breaker_proto_init() } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.validate.go index 30ba8eff..04bf1b3b 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker.pb.validate.go @@ -550,6 +550,35 @@ func (m *CircuitBreakers_Thresholds_RetryBudget) validate(all bool) error { } } + if all { + switch v := interface{}(m.GetBudgetInterval()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, CircuitBreakers_Thresholds_RetryBudgetValidationError{ + field: "BudgetInterval", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CircuitBreakers_Thresholds_RetryBudgetValidationError{ + field: "BudgetInterval", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetBudgetInterval()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return CircuitBreakers_Thresholds_RetryBudgetValidationError{ + field: "BudgetInterval", + reason: "embedded message failed validation", + cause: err, + } + } + } + if all { switch v := interface{}(m.GetMinRetryConcurrency()).(type) { case interface{ ValidateAll() error }: diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker_vtproto.pb.go index 14ca0a1f..80cc77f7 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/circuit_breaker_vtproto.pb.go @@ -8,6 +8,7 @@ package clusterv3 import ( protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + durationpb "github.com/planetscale/vtprotobuf/types/known/durationpb" wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" proto "google.golang.org/protobuf/proto" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -50,6 +51,16 @@ func (m *CircuitBreakers_Thresholds_RetryBudget) MarshalToSizedBufferVTStrict(dA i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.BudgetInterval != nil { + size, err := (*durationpb.Duration)(m.BudgetInterval).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } if m.MinRetryConcurrency != nil { size, err := (*wrapperspb.UInt32Value)(m.MinRetryConcurrency).MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -270,6 +281,10 @@ func (m *CircuitBreakers_Thresholds_RetryBudget) SizeVT() (n int) { l = (*wrapperspb.UInt32Value)(m.MinRetryConcurrency).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.BudgetInterval != nil { + l = (*durationpb.Duration)(m.BudgetInterval).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.go index bc174609..e60dfb55 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/cluster/v3/cluster.proto package clusterv3 @@ -573,14 +573,16 @@ func (Cluster_RingHashLbConfig_HashFunction) EnumDescriptor() ([]byte, []int) { return file_envoy_config_cluster_v3_cluster_proto_rawDescGZIP(), []int{1, 7, 0} } +// [#comment: Keep this list of address types in sync with api/config/core/v3/address.proto.] type UpstreamConnectionOptions_FirstAddressFamilyVersion int32 const ( - // respect the native ranking of destination ip addresses returned from dns - // resolution - UpstreamConnectionOptions_DEFAULT UpstreamConnectionOptions_FirstAddressFamilyVersion = 0 - UpstreamConnectionOptions_V4 UpstreamConnectionOptions_FirstAddressFamilyVersion = 1 - UpstreamConnectionOptions_V6 UpstreamConnectionOptions_FirstAddressFamilyVersion = 2 + // Use the first address family encountered in the address list. + UpstreamConnectionOptions_DEFAULT UpstreamConnectionOptions_FirstAddressFamilyVersion = 0 + UpstreamConnectionOptions_V4 UpstreamConnectionOptions_FirstAddressFamilyVersion = 1 + UpstreamConnectionOptions_V6 UpstreamConnectionOptions_FirstAddressFamilyVersion = 2 + UpstreamConnectionOptions_PIPE UpstreamConnectionOptions_FirstAddressFamilyVersion = 3 + UpstreamConnectionOptions_INTERNAL UpstreamConnectionOptions_FirstAddressFamilyVersion = 4 ) // Enum value maps for UpstreamConnectionOptions_FirstAddressFamilyVersion. @@ -589,11 +591,15 @@ var ( 0: "DEFAULT", 1: "V4", 2: "V6", + 3: "PIPE", + 4: "INTERNAL", } UpstreamConnectionOptions_FirstAddressFamilyVersion_value = map[string]int32{ - "DEFAULT": 0, - "V4": 1, - "V6": 2, + "DEFAULT": 0, + "V4": 1, + "V6": 2, + "PIPE": 3, + "INTERNAL": 4, } ) @@ -671,7 +677,7 @@ func (x *ClusterCollection) GetEntries() *v3.CollectionEntry { } // Configuration for a single upstream cluster. -// [#next-free-field: 60] +// [#next-free-field: 61] type Cluster struct { state protoimpl.MessageState `protogen:"open.v1"` // Configuration to use different transport sockets for different endpoints. The entry of @@ -796,6 +802,10 @@ type Cluster struct { // Soft limit on size of the cluster’s connections read and write buffers. If // unspecified, an implementation defined default is applied (1MiB). PerConnectionBufferLimitBytes *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=per_connection_buffer_limit_bytes,json=perConnectionBufferLimitBytes,proto3" json:"per_connection_buffer_limit_bytes,omitempty"` + // Optional timeout that controls how long an upstream connection is allowed to stay above the + // configured buffer high watermark before it is closed. If this timeout is not specified, or + // explicitly set to 0, connections will not be closed due to buffer high watermark usage. + PerConnectionBufferHighWatermarkTimeout *durationpb.Duration `protobuf:"bytes,60,opt,name=per_connection_buffer_high_watermark_timeout,json=perConnectionBufferHighWatermarkTimeout,proto3" json:"per_connection_buffer_high_watermark_timeout,omitempty"` // The :ref:`load balancer type ` to use // when picking a host in the cluster. LbPolicy Cluster_LbPolicy `protobuf:"varint,6,opt,name=lb_policy,json=lbPolicy,proto3,enum=envoy.config.cluster.v3.Cluster_LbPolicy" json:"lb_policy,omitempty"` @@ -1272,6 +1282,13 @@ func (x *Cluster) GetPerConnectionBufferLimitBytes() *wrapperspb.UInt32Value { return nil } +func (x *Cluster) GetPerConnectionBufferHighWatermarkTimeout() *durationpb.Duration { + if x != nil { + return x.PerConnectionBufferHighWatermarkTimeout + } + return nil +} + func (x *Cluster) GetLbPolicy() Cluster_LbPolicy { if x != nil { return x.LbPolicy @@ -3370,7 +3387,7 @@ const file_envoy_config_cluster_v3_cluster_proto_rawDesc = "" + "\n" + "%envoy/config/cluster/v3/cluster.proto\x12\x17envoy.config.cluster.v3\x1a-envoy/config/cluster/v3/circuit_breaker.proto\x1a$envoy/config/cluster/v3/filter.proto\x1a/envoy/config/cluster/v3/outlier_detection.proto\x1a\"envoy/config/core/v3/address.proto\x1a\x1fenvoy/config/core/v3/base.proto\x1a(envoy/config/core/v3/config_source.proto\x1a$envoy/config/core/v3/extension.proto\x1a'envoy/config/core/v3/health_check.proto\x1a#envoy/config/core/v3/protocol.proto\x1a#envoy/config/core/v3/resolver.proto\x1a'envoy/config/endpoint/v3/endpoint.proto\x1a%envoy/type/metadata/v3/metadata.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\"xds/core/v3/collection_entry.proto\x1a!xds/type/matcher/v3/matcher.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1fudpa/annotations/security.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"K\n" + "\x11ClusterCollection\x126\n" + - "\aentries\x18\x01 \x01(\v2\x1c.xds.core.v3.CollectionEntryR\aentries\"\xa2U\n" + + "\aentries\x18\x01 \x01(\v2\x1c.xds.core.v3.CollectionEntryR\aentries\"\xa7V\n" + "\aCluster\x12o\n" + "\x18transport_socket_matches\x18+ \x03(\v25.envoy.config.cluster.v3.Cluster.TransportSocketMatchR\x16transportSocketMatches\x12V\n" + "\x18transport_socket_matcher\x18; \x01(\v2\x1c.xds.type.matcher.v3.MatcherR\x16transportSocketMatcher\x12\x1b\n" + @@ -3381,7 +3398,8 @@ const file_envoy_config_cluster_v3_cluster_proto_rawDesc = "" + "\fcluster_type\x18& \x01(\v22.envoy.config.cluster.v3.Cluster.CustomClusterTypeH\x00R\vclusterType\x12_\n" + "\x12eds_cluster_config\x18\x03 \x01(\v21.envoy.config.cluster.v3.Cluster.EdsClusterConfigR\x10edsClusterConfig\x12L\n" + "\x0fconnect_timeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationB\b\xfaB\x05\xaa\x01\x02*\x00R\x0econnectTimeout\x12o\n" + - "!per_connection_buffer_limit_bytes\x18\x05 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\x8a\x93\xb7*\x02\x10\x01R\x1dperConnectionBufferLimitBytes\x12P\n" + + "!per_connection_buffer_limit_bytes\x18\x05 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\x8a\x93\xb7*\x02\x10\x01R\x1dperConnectionBufferLimitBytes\x12\x82\x01\n" + + ",per_connection_buffer_high_watermark_timeout\x18< \x01(\v2\x19.google.protobuf.DurationB\b\xfaB\x05\xaa\x01\x022\x00R'perConnectionBufferHighWatermarkTimeout\x12P\n" + "\tlb_policy\x18\x06 \x01(\x0e2).envoy.config.cluster.v3.Cluster.LbPolicyB\b\xfaB\x05\x82\x01\x02\x10\x01R\blbPolicy\x12X\n" + "\x0fload_assignment\x18! \x01(\v2/.envoy.config.endpoint.v3.ClusterLoadAssignmentR\x0eloadAssignment\x12F\n" + "\rhealth_checks\x18\b \x03(\v2!.envoy.config.core.v3.HealthCheckR\fhealthChecks\x12h\n" + @@ -3574,18 +3592,20 @@ const file_envoy_config_cluster_v3_cluster_proto_rawDesc = "" + "\x06Policy\x12`\n" + "\x16typed_extension_config\x18\x04 \x01(\v2*.envoy.config.core.v3.TypedExtensionConfigR\x14typedExtensionConfig:.\x9aň\x1e)\n" + "'envoy.api.v2.LoadBalancingPolicy.PolicyJ\x04\b\x02\x10\x03J\x04\b\x01\x10\x02J\x04\b\x03\x10\x04R\x06configR\x04nameR\ftyped_config:'\x9aň\x1e\"\n" + - " envoy.api.v2.LoadBalancingPolicy\"\xbb\x05\n" + + " envoy.api.v2.LoadBalancingPolicy\"\xd3\x05\n" + "\x19UpstreamConnectionOptions\x12G\n" + "\rtcp_keepalive\x18\x01 \x01(\v2\".envoy.config.core.v3.TcpKeepaliveR\ftcpKeepalive\x12d\n" + "0set_local_interface_name_on_upstream_connections\x18\x02 \x01(\bR*setLocalInterfaceNameOnUpstreamConnections\x12z\n" + "\x15happy_eyeballs_config\x18\x03 \x01(\v2F.envoy.config.cluster.v3.UpstreamConnectionOptions.HappyEyeballsConfigR\x13happyEyeballsConfig\x1a\x89\x02\n" + "\x13HappyEyeballsConfig\x12\x8d\x01\n" + "\x1cfirst_address_family_version\x18\x01 \x01(\x0e2L.envoy.config.cluster.v3.UpstreamConnectionOptions.FirstAddressFamilyVersionR\x19firstAddressFamilyVersion\x12b\n" + - "\x1afirst_address_family_count\x18\x02 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\xfaB\x04*\x02(\x01R\x17firstAddressFamilyCount\"8\n" + + "\x1afirst_address_family_count\x18\x02 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\xfaB\x04*\x02(\x01R\x17firstAddressFamilyCount\"P\n" + "\x19FirstAddressFamilyVersion\x12\v\n" + "\aDEFAULT\x10\x00\x12\x06\n" + "\x02V4\x10\x01\x12\x06\n" + - "\x02V6\x10\x02:-\x9aň\x1e(\n" + + "\x02V6\x10\x02\x12\b\n" + + "\x04PIPE\x10\x03\x12\f\n" + + "\bINTERNAL\x10\x04:-\x9aň\x1e(\n" + "&envoy.api.v2.UpstreamConnectionOptions\"\xa0\x01\n" + "\x11TrackClusterStats\x12'\n" + "\x0ftimeout_budgets\x18\x01 \x01(\bR\x0etimeoutBudgets\x124\n" + @@ -3682,91 +3702,92 @@ var file_envoy_config_cluster_v3_cluster_proto_depIdxs = []int32{ 16, // 5: envoy.config.cluster.v3.Cluster.eds_cluster_config:type_name -> envoy.config.cluster.v3.Cluster.EdsClusterConfig 36, // 6: envoy.config.cluster.v3.Cluster.connect_timeout:type_name -> google.protobuf.Duration 37, // 7: envoy.config.cluster.v3.Cluster.per_connection_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value - 1, // 8: envoy.config.cluster.v3.Cluster.lb_policy:type_name -> envoy.config.cluster.v3.Cluster.LbPolicy - 38, // 9: envoy.config.cluster.v3.Cluster.load_assignment:type_name -> envoy.config.endpoint.v3.ClusterLoadAssignment - 39, // 10: envoy.config.cluster.v3.Cluster.health_checks:type_name -> envoy.config.core.v3.HealthCheck - 37, // 11: envoy.config.cluster.v3.Cluster.max_requests_per_connection:type_name -> google.protobuf.UInt32Value - 40, // 12: envoy.config.cluster.v3.Cluster.circuit_breakers:type_name -> envoy.config.cluster.v3.CircuitBreakers - 41, // 13: envoy.config.cluster.v3.Cluster.upstream_http_protocol_options:type_name -> envoy.config.core.v3.UpstreamHttpProtocolOptions - 42, // 14: envoy.config.cluster.v3.Cluster.common_http_protocol_options:type_name -> envoy.config.core.v3.HttpProtocolOptions - 43, // 15: envoy.config.cluster.v3.Cluster.http_protocol_options:type_name -> envoy.config.core.v3.Http1ProtocolOptions - 44, // 16: envoy.config.cluster.v3.Cluster.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions - 27, // 17: envoy.config.cluster.v3.Cluster.typed_extension_protocol_options:type_name -> envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry - 36, // 18: envoy.config.cluster.v3.Cluster.dns_refresh_rate:type_name -> google.protobuf.Duration - 36, // 19: envoy.config.cluster.v3.Cluster.dns_jitter:type_name -> google.protobuf.Duration - 25, // 20: envoy.config.cluster.v3.Cluster.dns_failure_refresh_rate:type_name -> envoy.config.cluster.v3.Cluster.RefreshRate - 2, // 21: envoy.config.cluster.v3.Cluster.dns_lookup_family:type_name -> envoy.config.cluster.v3.Cluster.DnsLookupFamily - 45, // 22: envoy.config.cluster.v3.Cluster.dns_resolvers:type_name -> envoy.config.core.v3.Address - 46, // 23: envoy.config.cluster.v3.Cluster.dns_resolution_config:type_name -> envoy.config.core.v3.DnsResolutionConfig - 47, // 24: envoy.config.cluster.v3.Cluster.typed_dns_resolver_config:type_name -> envoy.config.core.v3.TypedExtensionConfig - 48, // 25: envoy.config.cluster.v3.Cluster.wait_for_warm_on_init:type_name -> google.protobuf.BoolValue - 49, // 26: envoy.config.cluster.v3.Cluster.outlier_detection:type_name -> envoy.config.cluster.v3.OutlierDetection - 36, // 27: envoy.config.cluster.v3.Cluster.cleanup_interval:type_name -> google.protobuf.Duration - 50, // 28: envoy.config.cluster.v3.Cluster.upstream_bind_config:type_name -> envoy.config.core.v3.BindConfig - 17, // 29: envoy.config.cluster.v3.Cluster.lb_subset_config:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig - 21, // 30: envoy.config.cluster.v3.Cluster.ring_hash_lb_config:type_name -> envoy.config.cluster.v3.Cluster.RingHashLbConfig - 22, // 31: envoy.config.cluster.v3.Cluster.maglev_lb_config:type_name -> envoy.config.cluster.v3.Cluster.MaglevLbConfig - 23, // 32: envoy.config.cluster.v3.Cluster.original_dst_lb_config:type_name -> envoy.config.cluster.v3.Cluster.OriginalDstLbConfig - 20, // 33: envoy.config.cluster.v3.Cluster.least_request_lb_config:type_name -> envoy.config.cluster.v3.Cluster.LeastRequestLbConfig - 19, // 34: envoy.config.cluster.v3.Cluster.round_robin_lb_config:type_name -> envoy.config.cluster.v3.Cluster.RoundRobinLbConfig - 24, // 35: envoy.config.cluster.v3.Cluster.common_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig - 51, // 36: envoy.config.cluster.v3.Cluster.transport_socket:type_name -> envoy.config.core.v3.TransportSocket - 52, // 37: envoy.config.cluster.v3.Cluster.metadata:type_name -> envoy.config.core.v3.Metadata - 3, // 38: envoy.config.cluster.v3.Cluster.protocol_selection:type_name -> envoy.config.cluster.v3.Cluster.ClusterProtocolSelection - 12, // 39: envoy.config.cluster.v3.Cluster.upstream_connection_options:type_name -> envoy.config.cluster.v3.UpstreamConnectionOptions - 53, // 40: envoy.config.cluster.v3.Cluster.filters:type_name -> envoy.config.cluster.v3.Filter - 11, // 41: envoy.config.cluster.v3.Cluster.load_balancing_policy:type_name -> envoy.config.cluster.v3.LoadBalancingPolicy - 54, // 42: envoy.config.cluster.v3.Cluster.lrs_server:type_name -> envoy.config.core.v3.ConfigSource - 47, // 43: envoy.config.cluster.v3.Cluster.upstream_config:type_name -> envoy.config.core.v3.TypedExtensionConfig - 13, // 44: envoy.config.cluster.v3.Cluster.track_cluster_stats:type_name -> envoy.config.cluster.v3.TrackClusterStats - 26, // 45: envoy.config.cluster.v3.Cluster.preconnect_policy:type_name -> envoy.config.cluster.v3.Cluster.PreconnectPolicy - 32, // 46: envoy.config.cluster.v3.LoadBalancingPolicy.policies:type_name -> envoy.config.cluster.v3.LoadBalancingPolicy.Policy - 55, // 47: envoy.config.cluster.v3.UpstreamConnectionOptions.tcp_keepalive:type_name -> envoy.config.core.v3.TcpKeepalive - 33, // 48: envoy.config.cluster.v3.UpstreamConnectionOptions.happy_eyeballs_config:type_name -> envoy.config.cluster.v3.UpstreamConnectionOptions.HappyEyeballsConfig - 56, // 49: envoy.config.cluster.v3.Cluster.TransportSocketMatch.match:type_name -> google.protobuf.Struct - 51, // 50: envoy.config.cluster.v3.Cluster.TransportSocketMatch.transport_socket:type_name -> envoy.config.core.v3.TransportSocket - 57, // 51: envoy.config.cluster.v3.Cluster.CustomClusterType.typed_config:type_name -> google.protobuf.Any - 54, // 52: envoy.config.cluster.v3.Cluster.EdsClusterConfig.eds_config:type_name -> envoy.config.core.v3.ConfigSource - 4, // 53: envoy.config.cluster.v3.Cluster.LbSubsetConfig.fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy - 56, // 54: envoy.config.cluster.v3.Cluster.LbSubsetConfig.default_subset:type_name -> google.protobuf.Struct - 28, // 55: envoy.config.cluster.v3.Cluster.LbSubsetConfig.subset_selectors:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector - 5, // 56: envoy.config.cluster.v3.Cluster.LbSubsetConfig.metadata_fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetMetadataFallbackPolicy - 36, // 57: envoy.config.cluster.v3.Cluster.SlowStartConfig.slow_start_window:type_name -> google.protobuf.Duration - 58, // 58: envoy.config.cluster.v3.Cluster.SlowStartConfig.aggression:type_name -> envoy.config.core.v3.RuntimeDouble - 59, // 59: envoy.config.cluster.v3.Cluster.SlowStartConfig.min_weight_percent:type_name -> envoy.type.v3.Percent - 18, // 60: envoy.config.cluster.v3.Cluster.RoundRobinLbConfig.slow_start_config:type_name -> envoy.config.cluster.v3.Cluster.SlowStartConfig - 37, // 61: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.choice_count:type_name -> google.protobuf.UInt32Value - 58, // 62: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.active_request_bias:type_name -> envoy.config.core.v3.RuntimeDouble - 18, // 63: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.slow_start_config:type_name -> envoy.config.cluster.v3.Cluster.SlowStartConfig - 60, // 64: envoy.config.cluster.v3.Cluster.RingHashLbConfig.minimum_ring_size:type_name -> google.protobuf.UInt64Value - 7, // 65: envoy.config.cluster.v3.Cluster.RingHashLbConfig.hash_function:type_name -> envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction - 60, // 66: envoy.config.cluster.v3.Cluster.RingHashLbConfig.maximum_ring_size:type_name -> google.protobuf.UInt64Value - 60, // 67: envoy.config.cluster.v3.Cluster.MaglevLbConfig.table_size:type_name -> google.protobuf.UInt64Value - 37, // 68: envoy.config.cluster.v3.Cluster.OriginalDstLbConfig.upstream_port_override:type_name -> google.protobuf.UInt32Value - 61, // 69: envoy.config.cluster.v3.Cluster.OriginalDstLbConfig.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey - 59, // 70: envoy.config.cluster.v3.Cluster.CommonLbConfig.healthy_panic_threshold:type_name -> envoy.type.v3.Percent - 29, // 71: envoy.config.cluster.v3.Cluster.CommonLbConfig.zone_aware_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig - 30, // 72: envoy.config.cluster.v3.Cluster.CommonLbConfig.locality_weighted_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig - 36, // 73: envoy.config.cluster.v3.Cluster.CommonLbConfig.update_merge_window:type_name -> google.protobuf.Duration - 31, // 74: envoy.config.cluster.v3.Cluster.CommonLbConfig.consistent_hashing_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig - 62, // 75: envoy.config.cluster.v3.Cluster.CommonLbConfig.override_host_status:type_name -> envoy.config.core.v3.HealthStatusSet - 36, // 76: envoy.config.cluster.v3.Cluster.RefreshRate.base_interval:type_name -> google.protobuf.Duration - 36, // 77: envoy.config.cluster.v3.Cluster.RefreshRate.max_interval:type_name -> google.protobuf.Duration - 63, // 78: envoy.config.cluster.v3.Cluster.PreconnectPolicy.per_upstream_preconnect_ratio:type_name -> google.protobuf.DoubleValue - 63, // 79: envoy.config.cluster.v3.Cluster.PreconnectPolicy.predictive_preconnect_ratio:type_name -> google.protobuf.DoubleValue - 57, // 80: envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry.value:type_name -> google.protobuf.Any - 6, // 81: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy - 59, // 82: envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.routing_enabled:type_name -> envoy.type.v3.Percent - 60, // 83: envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.min_cluster_size:type_name -> google.protobuf.UInt64Value - 37, // 84: envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig.hash_balance_factor:type_name -> google.protobuf.UInt32Value - 47, // 85: envoy.config.cluster.v3.LoadBalancingPolicy.Policy.typed_extension_config:type_name -> envoy.config.core.v3.TypedExtensionConfig - 8, // 86: envoy.config.cluster.v3.UpstreamConnectionOptions.HappyEyeballsConfig.first_address_family_version:type_name -> envoy.config.cluster.v3.UpstreamConnectionOptions.FirstAddressFamilyVersion - 37, // 87: envoy.config.cluster.v3.UpstreamConnectionOptions.HappyEyeballsConfig.first_address_family_count:type_name -> google.protobuf.UInt32Value - 88, // [88:88] is the sub-list for method output_type - 88, // [88:88] is the sub-list for method input_type - 88, // [88:88] is the sub-list for extension type_name - 88, // [88:88] is the sub-list for extension extendee - 0, // [0:88] is the sub-list for field type_name + 36, // 8: envoy.config.cluster.v3.Cluster.per_connection_buffer_high_watermark_timeout:type_name -> google.protobuf.Duration + 1, // 9: envoy.config.cluster.v3.Cluster.lb_policy:type_name -> envoy.config.cluster.v3.Cluster.LbPolicy + 38, // 10: envoy.config.cluster.v3.Cluster.load_assignment:type_name -> envoy.config.endpoint.v3.ClusterLoadAssignment + 39, // 11: envoy.config.cluster.v3.Cluster.health_checks:type_name -> envoy.config.core.v3.HealthCheck + 37, // 12: envoy.config.cluster.v3.Cluster.max_requests_per_connection:type_name -> google.protobuf.UInt32Value + 40, // 13: envoy.config.cluster.v3.Cluster.circuit_breakers:type_name -> envoy.config.cluster.v3.CircuitBreakers + 41, // 14: envoy.config.cluster.v3.Cluster.upstream_http_protocol_options:type_name -> envoy.config.core.v3.UpstreamHttpProtocolOptions + 42, // 15: envoy.config.cluster.v3.Cluster.common_http_protocol_options:type_name -> envoy.config.core.v3.HttpProtocolOptions + 43, // 16: envoy.config.cluster.v3.Cluster.http_protocol_options:type_name -> envoy.config.core.v3.Http1ProtocolOptions + 44, // 17: envoy.config.cluster.v3.Cluster.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions + 27, // 18: envoy.config.cluster.v3.Cluster.typed_extension_protocol_options:type_name -> envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry + 36, // 19: envoy.config.cluster.v3.Cluster.dns_refresh_rate:type_name -> google.protobuf.Duration + 36, // 20: envoy.config.cluster.v3.Cluster.dns_jitter:type_name -> google.protobuf.Duration + 25, // 21: envoy.config.cluster.v3.Cluster.dns_failure_refresh_rate:type_name -> envoy.config.cluster.v3.Cluster.RefreshRate + 2, // 22: envoy.config.cluster.v3.Cluster.dns_lookup_family:type_name -> envoy.config.cluster.v3.Cluster.DnsLookupFamily + 45, // 23: envoy.config.cluster.v3.Cluster.dns_resolvers:type_name -> envoy.config.core.v3.Address + 46, // 24: envoy.config.cluster.v3.Cluster.dns_resolution_config:type_name -> envoy.config.core.v3.DnsResolutionConfig + 47, // 25: envoy.config.cluster.v3.Cluster.typed_dns_resolver_config:type_name -> envoy.config.core.v3.TypedExtensionConfig + 48, // 26: envoy.config.cluster.v3.Cluster.wait_for_warm_on_init:type_name -> google.protobuf.BoolValue + 49, // 27: envoy.config.cluster.v3.Cluster.outlier_detection:type_name -> envoy.config.cluster.v3.OutlierDetection + 36, // 28: envoy.config.cluster.v3.Cluster.cleanup_interval:type_name -> google.protobuf.Duration + 50, // 29: envoy.config.cluster.v3.Cluster.upstream_bind_config:type_name -> envoy.config.core.v3.BindConfig + 17, // 30: envoy.config.cluster.v3.Cluster.lb_subset_config:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig + 21, // 31: envoy.config.cluster.v3.Cluster.ring_hash_lb_config:type_name -> envoy.config.cluster.v3.Cluster.RingHashLbConfig + 22, // 32: envoy.config.cluster.v3.Cluster.maglev_lb_config:type_name -> envoy.config.cluster.v3.Cluster.MaglevLbConfig + 23, // 33: envoy.config.cluster.v3.Cluster.original_dst_lb_config:type_name -> envoy.config.cluster.v3.Cluster.OriginalDstLbConfig + 20, // 34: envoy.config.cluster.v3.Cluster.least_request_lb_config:type_name -> envoy.config.cluster.v3.Cluster.LeastRequestLbConfig + 19, // 35: envoy.config.cluster.v3.Cluster.round_robin_lb_config:type_name -> envoy.config.cluster.v3.Cluster.RoundRobinLbConfig + 24, // 36: envoy.config.cluster.v3.Cluster.common_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig + 51, // 37: envoy.config.cluster.v3.Cluster.transport_socket:type_name -> envoy.config.core.v3.TransportSocket + 52, // 38: envoy.config.cluster.v3.Cluster.metadata:type_name -> envoy.config.core.v3.Metadata + 3, // 39: envoy.config.cluster.v3.Cluster.protocol_selection:type_name -> envoy.config.cluster.v3.Cluster.ClusterProtocolSelection + 12, // 40: envoy.config.cluster.v3.Cluster.upstream_connection_options:type_name -> envoy.config.cluster.v3.UpstreamConnectionOptions + 53, // 41: envoy.config.cluster.v3.Cluster.filters:type_name -> envoy.config.cluster.v3.Filter + 11, // 42: envoy.config.cluster.v3.Cluster.load_balancing_policy:type_name -> envoy.config.cluster.v3.LoadBalancingPolicy + 54, // 43: envoy.config.cluster.v3.Cluster.lrs_server:type_name -> envoy.config.core.v3.ConfigSource + 47, // 44: envoy.config.cluster.v3.Cluster.upstream_config:type_name -> envoy.config.core.v3.TypedExtensionConfig + 13, // 45: envoy.config.cluster.v3.Cluster.track_cluster_stats:type_name -> envoy.config.cluster.v3.TrackClusterStats + 26, // 46: envoy.config.cluster.v3.Cluster.preconnect_policy:type_name -> envoy.config.cluster.v3.Cluster.PreconnectPolicy + 32, // 47: envoy.config.cluster.v3.LoadBalancingPolicy.policies:type_name -> envoy.config.cluster.v3.LoadBalancingPolicy.Policy + 55, // 48: envoy.config.cluster.v3.UpstreamConnectionOptions.tcp_keepalive:type_name -> envoy.config.core.v3.TcpKeepalive + 33, // 49: envoy.config.cluster.v3.UpstreamConnectionOptions.happy_eyeballs_config:type_name -> envoy.config.cluster.v3.UpstreamConnectionOptions.HappyEyeballsConfig + 56, // 50: envoy.config.cluster.v3.Cluster.TransportSocketMatch.match:type_name -> google.protobuf.Struct + 51, // 51: envoy.config.cluster.v3.Cluster.TransportSocketMatch.transport_socket:type_name -> envoy.config.core.v3.TransportSocket + 57, // 52: envoy.config.cluster.v3.Cluster.CustomClusterType.typed_config:type_name -> google.protobuf.Any + 54, // 53: envoy.config.cluster.v3.Cluster.EdsClusterConfig.eds_config:type_name -> envoy.config.core.v3.ConfigSource + 4, // 54: envoy.config.cluster.v3.Cluster.LbSubsetConfig.fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy + 56, // 55: envoy.config.cluster.v3.Cluster.LbSubsetConfig.default_subset:type_name -> google.protobuf.Struct + 28, // 56: envoy.config.cluster.v3.Cluster.LbSubsetConfig.subset_selectors:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector + 5, // 57: envoy.config.cluster.v3.Cluster.LbSubsetConfig.metadata_fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetMetadataFallbackPolicy + 36, // 58: envoy.config.cluster.v3.Cluster.SlowStartConfig.slow_start_window:type_name -> google.protobuf.Duration + 58, // 59: envoy.config.cluster.v3.Cluster.SlowStartConfig.aggression:type_name -> envoy.config.core.v3.RuntimeDouble + 59, // 60: envoy.config.cluster.v3.Cluster.SlowStartConfig.min_weight_percent:type_name -> envoy.type.v3.Percent + 18, // 61: envoy.config.cluster.v3.Cluster.RoundRobinLbConfig.slow_start_config:type_name -> envoy.config.cluster.v3.Cluster.SlowStartConfig + 37, // 62: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.choice_count:type_name -> google.protobuf.UInt32Value + 58, // 63: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.active_request_bias:type_name -> envoy.config.core.v3.RuntimeDouble + 18, // 64: envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.slow_start_config:type_name -> envoy.config.cluster.v3.Cluster.SlowStartConfig + 60, // 65: envoy.config.cluster.v3.Cluster.RingHashLbConfig.minimum_ring_size:type_name -> google.protobuf.UInt64Value + 7, // 66: envoy.config.cluster.v3.Cluster.RingHashLbConfig.hash_function:type_name -> envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction + 60, // 67: envoy.config.cluster.v3.Cluster.RingHashLbConfig.maximum_ring_size:type_name -> google.protobuf.UInt64Value + 60, // 68: envoy.config.cluster.v3.Cluster.MaglevLbConfig.table_size:type_name -> google.protobuf.UInt64Value + 37, // 69: envoy.config.cluster.v3.Cluster.OriginalDstLbConfig.upstream_port_override:type_name -> google.protobuf.UInt32Value + 61, // 70: envoy.config.cluster.v3.Cluster.OriginalDstLbConfig.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey + 59, // 71: envoy.config.cluster.v3.Cluster.CommonLbConfig.healthy_panic_threshold:type_name -> envoy.type.v3.Percent + 29, // 72: envoy.config.cluster.v3.Cluster.CommonLbConfig.zone_aware_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig + 30, // 73: envoy.config.cluster.v3.Cluster.CommonLbConfig.locality_weighted_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig + 36, // 74: envoy.config.cluster.v3.Cluster.CommonLbConfig.update_merge_window:type_name -> google.protobuf.Duration + 31, // 75: envoy.config.cluster.v3.Cluster.CommonLbConfig.consistent_hashing_lb_config:type_name -> envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig + 62, // 76: envoy.config.cluster.v3.Cluster.CommonLbConfig.override_host_status:type_name -> envoy.config.core.v3.HealthStatusSet + 36, // 77: envoy.config.cluster.v3.Cluster.RefreshRate.base_interval:type_name -> google.protobuf.Duration + 36, // 78: envoy.config.cluster.v3.Cluster.RefreshRate.max_interval:type_name -> google.protobuf.Duration + 63, // 79: envoy.config.cluster.v3.Cluster.PreconnectPolicy.per_upstream_preconnect_ratio:type_name -> google.protobuf.DoubleValue + 63, // 80: envoy.config.cluster.v3.Cluster.PreconnectPolicy.predictive_preconnect_ratio:type_name -> google.protobuf.DoubleValue + 57, // 81: envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry.value:type_name -> google.protobuf.Any + 6, // 82: envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.fallback_policy:type_name -> envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy + 59, // 83: envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.routing_enabled:type_name -> envoy.type.v3.Percent + 60, // 84: envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.min_cluster_size:type_name -> google.protobuf.UInt64Value + 37, // 85: envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig.hash_balance_factor:type_name -> google.protobuf.UInt32Value + 47, // 86: envoy.config.cluster.v3.LoadBalancingPolicy.Policy.typed_extension_config:type_name -> envoy.config.core.v3.TypedExtensionConfig + 8, // 87: envoy.config.cluster.v3.UpstreamConnectionOptions.HappyEyeballsConfig.first_address_family_version:type_name -> envoy.config.cluster.v3.UpstreamConnectionOptions.FirstAddressFamilyVersion + 37, // 88: envoy.config.cluster.v3.UpstreamConnectionOptions.HappyEyeballsConfig.first_address_family_count:type_name -> google.protobuf.UInt32Value + 89, // [89:89] is the sub-list for method output_type + 89, // [89:89] is the sub-list for method input_type + 89, // [89:89] is the sub-list for extension type_name + 89, // [89:89] is the sub-list for extension extendee + 0, // [0:89] is the sub-list for field type_name } func init() { file_envoy_config_cluster_v3_cluster_proto_init() } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.validate.go index 5dd67cd6..c36e9e6a 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster.pb.validate.go @@ -352,6 +352,36 @@ func (m *Cluster) validate(all bool) error { } } + if d := m.GetPerConnectionBufferHighWatermarkTimeout(); d != nil { + dur, err := d.AsDuration(), d.CheckValid() + if err != nil { + err = ClusterValidationError{ + field: "PerConnectionBufferHighWatermarkTimeout", + reason: "value is not a valid duration", + cause: err, + } + if !all { + return err + } + errors = append(errors, err) + } else { + + gte := time.Duration(0*time.Second + 0*time.Nanosecond) + + if dur < gte { + err := ClusterValidationError{ + field: "PerConnectionBufferHighWatermarkTimeout", + reason: "value must be greater than or equal to 0s", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + } + if _, ok := Cluster_LbPolicy_name[int32(m.GetLbPolicy())]; !ok { err := ClusterValidationError{ field: "LbPolicy", diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster_vtproto.pb.go index 2f20e1cf..a122d04c 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/cluster_vtproto.pb.go @@ -1295,6 +1295,18 @@ func (m *Cluster) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.PerConnectionBufferHighWatermarkTimeout != nil { + size, err := (*durationpb.Duration)(m.PerConnectionBufferHighWatermarkTimeout).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xe2 + } if m.TransportSocketMatcher != nil { if vtmsg, ok := interface{}(m.TransportSocketMatcher).(interface { MarshalToSizedBufferVTStrict([]byte) (int, error) @@ -3292,6 +3304,10 @@ func (m *Cluster) SizeVT() (n int) { } n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.PerConnectionBufferHighWatermarkTimeout != nil { + l = (*durationpb.Duration)(m.PerConnectionBufferHighWatermarkTimeout).SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/filter.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/filter.pb.go index 3246c25a..e2cd5fae 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/filter.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/filter.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/cluster/v3/filter.proto package clusterv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.go index 5e6b4902..6d5c2867 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/cluster/v3/outlier_detection.proto package clusterv3 @@ -28,12 +28,14 @@ const ( // See the :ref:`architecture overview ` for // more information on outlier detection. -// [#next-free-field: 26] +// [#next-free-field: 27] type OutlierDetection struct { state protoimpl.MessageState `protogen:"open.v1"` // The number of consecutive server-side error responses (for HTTP traffic, // 5xx responses; for TCP traffic, connection failures; for Redis, failure to // respond PONG; etc.) before a consecutive 5xx ejection occurs. Defaults to 5. + // + // If set to 0 explicitly, consecutive 5xx ejection will be disabled. Consecutive_5Xx *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=consecutive_5xx,json=consecutive5xx,proto3" json:"consecutive_5xx,omitempty"` // The time interval between ejection analysis sweeps. This can result in // both new ejections as well as hosts being returned to service. Defaults @@ -76,6 +78,8 @@ type OutlierDetection struct { SuccessRateStdevFactor *wrapperspb.UInt32Value `protobuf:"bytes,9,opt,name=success_rate_stdev_factor,json=successRateStdevFactor,proto3" json:"success_rate_stdev_factor,omitempty"` // The number of consecutive gateway failures (502, 503, 504 status codes) // before a consecutive gateway failure ejection occurs. Defaults to 5. + // + // If set to 0 explicitly, consecutive gateway failure ejection will be disabled. ConsecutiveGatewayFailure *wrapperspb.UInt32Value `protobuf:"bytes,10,opt,name=consecutive_gateway_failure,json=consecutiveGatewayFailure,proto3" json:"consecutive_gateway_failure,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through consecutive gateway failures. This setting can be @@ -93,6 +97,8 @@ type OutlierDetection struct { // occurs. Defaults to 5. Parameter takes effect only when // :ref:`split_external_local_origin_errors` // is set to true. + // + // If set to 0 explicitly, consecutive locally originated failure ejection will be disabled. ConsecutiveLocalOriginFailure *wrapperspb.UInt32Value `protobuf:"bytes,13,opt,name=consecutive_local_origin_failure,json=consecutiveLocalOriginFailure,proto3" json:"consecutive_local_origin_failure,omitempty"` // The % chance that a host will be actually ejected when an outlier status // is detected through consecutive locally originated failures. This setting can be @@ -152,8 +158,16 @@ type OutlierDetection struct { // If enabled, at least one host is ejected regardless of the value of :ref:`max_ejection_percent`. // Defaults to false. AlwaysEjectOneHost *wrapperspb.BoolValue `protobuf:"bytes,25,opt,name=always_eject_one_host,json=alwaysEjectOneHost,proto3" json:"always_eject_one_host,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // If set to true, outlier detection will mark hosts as degraded when they return + // the “x-envoy-degraded“ header. + // Degraded hosts are deprioritized in load balancing but are not ejected from the cluster. + // The degraded state is cleared using the same backoff algorithm as ejection, with the degradation + // period calculated as “base_ejection_time“ multiplied by the number of times the host + // has been marked as degraded, capped by “max_ejection_time“. + // Defaults to false. + DetectDegradedHosts *wrapperspb.BoolValue `protobuf:"bytes,26,opt,name=detect_degraded_hosts,json=detectDegradedHosts,proto3" json:"detect_degraded_hosts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *OutlierDetection) Reset() { @@ -361,11 +375,18 @@ func (x *OutlierDetection) GetAlwaysEjectOneHost() *wrapperspb.BoolValue { return nil } +func (x *OutlierDetection) GetDetectDegradedHosts() *wrapperspb.BoolValue { + if x != nil { + return x.DetectDegradedHosts + } + return nil +} + var File_envoy_config_cluster_v3_outlier_detection_proto protoreflect.FileDescriptor const file_envoy_config_cluster_v3_outlier_detection_proto_rawDesc = "" + "\n" + - "/envoy/config/cluster/v3/outlier_detection.proto\x12\x17envoy.config.cluster.v3\x1a$envoy/config/core/v3/extension.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xa1\x13\n" + + "/envoy/config/cluster/v3/outlier_detection.proto\x12\x17envoy.config.cluster.v3\x1a$envoy/config/core/v3/extension.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xf1\x13\n" + "\x10OutlierDetection\x12E\n" + "\x0fconsecutive_5xx\x18\x01 \x01(\v2\x1c.google.protobuf.UInt32ValueR\x0econsecutive5xx\x12?\n" + "\binterval\x18\x02 \x01(\v2\x19.google.protobuf.DurationB\b\xfaB\x05\xaa\x01\x02*\x00R\binterval\x12Q\n" + @@ -392,7 +413,8 @@ const file_envoy_config_cluster_v3_outlier_detection_proto_rawDesc = "" + "\x18max_ejection_time_jitter\x18\x16 \x01(\v2\x19.google.protobuf.DurationR\x15maxEjectionTimeJitter\x12w\n" + "+successful_active_health_check_uneject_host\x18\x17 \x01(\v2\x1a.google.protobuf.BoolValueR&successfulActiveHealthCheckUnejectHost\x12F\n" + "\bmonitors\x18\x18 \x03(\v2*.envoy.config.core.v3.TypedExtensionConfigR\bmonitors\x12M\n" + - "\x15always_eject_one_host\x18\x19 \x01(\v2\x1a.google.protobuf.BoolValueR\x12alwaysEjectOneHost:,\x9aň\x1e'\n" + + "\x15always_eject_one_host\x18\x19 \x01(\v2\x1a.google.protobuf.BoolValueR\x12alwaysEjectOneHost\x12N\n" + + "\x15detect_degraded_hosts\x18\x1a \x01(\v2\x1a.google.protobuf.BoolValueR\x13detectDegradedHosts:,\x9aň\x1e'\n" + "%envoy.api.v2.cluster.OutlierDetectionB\x92\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + "%io.envoyproxy.envoy.config.cluster.v3B\x15OutlierDetectionProtoP\x01ZHgithub.com/envoyproxy/go-control-plane/envoy/config/cluster/v3;clusterv3b\x06proto3" @@ -441,11 +463,12 @@ var file_envoy_config_cluster_v3_outlier_detection_proto_depIdxs = []int32{ 3, // 21: envoy.config.cluster.v3.OutlierDetection.successful_active_health_check_uneject_host:type_name -> google.protobuf.BoolValue 4, // 22: envoy.config.cluster.v3.OutlierDetection.monitors:type_name -> envoy.config.core.v3.TypedExtensionConfig 3, // 23: envoy.config.cluster.v3.OutlierDetection.always_eject_one_host:type_name -> google.protobuf.BoolValue - 24, // [24:24] is the sub-list for method output_type - 24, // [24:24] is the sub-list for method input_type - 24, // [24:24] is the sub-list for extension type_name - 24, // [24:24] is the sub-list for extension extendee - 0, // [0:24] is the sub-list for field type_name + 3, // 24: envoy.config.cluster.v3.OutlierDetection.detect_degraded_hosts:type_name -> google.protobuf.BoolValue + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name } func init() { file_envoy_config_cluster_v3_outlier_detection_proto_init() } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.validate.go index 3ac9922c..1e0b6c7a 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection.pb.validate.go @@ -638,6 +638,35 @@ func (m *OutlierDetection) validate(all bool) error { } } + if all { + switch v := interface{}(m.GetDetectDegradedHosts()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, OutlierDetectionValidationError{ + field: "DetectDegradedHosts", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, OutlierDetectionValidationError{ + field: "DetectDegradedHosts", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetDetectDegradedHosts()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OutlierDetectionValidationError{ + field: "DetectDegradedHosts", + reason: "embedded message failed validation", + cause: err, + } + } + } + if len(errors) > 0 { return OutlierDetectionMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection_vtproto.pb.go index f837d56b..4ded1802 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3/outlier_detection_vtproto.pb.go @@ -51,6 +51,18 @@ func (m *OutlierDetection) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.DetectDegradedHosts != nil { + size, err := (*wrapperspb.BoolValue)(m.DetectDegradedHosts).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xd2 + } if m.AlwaysEjectOneHost != nil { size, err := (*wrapperspb.BoolValue)(m.AlwaysEjectOneHost).MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -451,6 +463,10 @@ func (m *OutlierDetection) SizeVT() (n int) { l = (*wrapperspb.BoolValue)(m.AlwaysEjectOneHost).SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.DetectDegradedHosts != nil { + l = (*wrapperspb.BoolValue)(m.DetectDegradedHosts).SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.go index 9079906b..32df41e6 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/matcher/v3/matcher.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/common/matcher/v3/matcher.proto package matcherv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/mutation_rules/v3/mutation_rules.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/mutation_rules/v3/mutation_rules.pb.go index 4b91e0f7..82b5543c 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/mutation_rules/v3/mutation_rules.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/common/mutation_rules/v3/mutation_rules.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/common/mutation_rules/v3/mutation_rules.proto package mutation_rulesv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.go index 745d3010..4e33f9cf 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/address.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/address.proto package corev3 @@ -609,6 +609,8 @@ func (x *BindConfig) GetLocalAddressSelector() *TypedExtensionConfig { // management servers. type Address struct { state protoimpl.MessageState `protogen:"open.v1"` + // [#comment: Keep this list of address types in sync with UpstreamConnectionOptions.FirstAddressFamilyVersion in api/envoy/config/cluster/v3/cluster.proto.] + // // Types that are valid to be assigned to Address: // // *Address_SocketAddress diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/backoff.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/backoff.pb.go index 5670acd6..edbe5ac5 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/backoff.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/backoff.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/backoff.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.go index 6907d849..94ebfe70 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/base.proto package corev3 @@ -270,7 +270,7 @@ func (x KeyValueAppend_KeyValueAppendAction) Number() protoreflect.EnumNumber { // Deprecated: Use KeyValueAppend_KeyValueAppendAction.Descriptor instead. func (KeyValueAppend_KeyValueAppendAction) EnumDescriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{11, 0} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{12, 0} } // Describes the supported actions types for header append action. @@ -336,7 +336,7 @@ func (x HeaderValueOption_HeaderAppendAction) Number() protoreflect.EnumNumber { // Deprecated: Use HeaderValueOption_HeaderAppendAction.Descriptor instead. func (HeaderValueOption_HeaderAppendAction) EnumDescriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{15, 0} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{16, 0} } // Identifies location of where either Envoy runs or where upstream hosts run. @@ -917,6 +917,61 @@ func (x *RuntimeUInt32) GetRuntimeKey() string { return "" } +// Runtime derived uint64 with a default when not specified. +type RuntimeUInt64 struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Default value if runtime value is not available. + DefaultValue uint64 `protobuf:"varint,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` + // Runtime key to get value for comparison. This value is used if defined. + RuntimeKey string `protobuf:"bytes,3,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RuntimeUInt64) Reset() { + *x = RuntimeUInt64{} + mi := &file_envoy_config_core_v3_base_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RuntimeUInt64) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RuntimeUInt64) ProtoMessage() {} + +func (x *RuntimeUInt64) ProtoReflect() protoreflect.Message { + mi := &file_envoy_config_core_v3_base_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RuntimeUInt64.ProtoReflect.Descriptor instead. +func (*RuntimeUInt64) Descriptor() ([]byte, []int) { + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{6} +} + +func (x *RuntimeUInt64) GetDefaultValue() uint64 { + if x != nil { + return x.DefaultValue + } + return 0 +} + +func (x *RuntimeUInt64) GetRuntimeKey() string { + if x != nil { + return x.RuntimeKey + } + return "" +} + // Runtime derived percentage with a default when not specified. type RuntimePercent struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -930,7 +985,7 @@ type RuntimePercent struct { func (x *RuntimePercent) Reset() { *x = RuntimePercent{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[6] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -942,7 +997,7 @@ func (x *RuntimePercent) String() string { func (*RuntimePercent) ProtoMessage() {} func (x *RuntimePercent) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[6] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -955,7 +1010,7 @@ func (x *RuntimePercent) ProtoReflect() protoreflect.Message { // Deprecated: Use RuntimePercent.ProtoReflect.Descriptor instead. func (*RuntimePercent) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{6} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{7} } func (x *RuntimePercent) GetDefaultValue() *v3.Percent { @@ -985,7 +1040,7 @@ type RuntimeDouble struct { func (x *RuntimeDouble) Reset() { *x = RuntimeDouble{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[7] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -997,7 +1052,7 @@ func (x *RuntimeDouble) String() string { func (*RuntimeDouble) ProtoMessage() {} func (x *RuntimeDouble) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[7] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1010,7 +1065,7 @@ func (x *RuntimeDouble) ProtoReflect() protoreflect.Message { // Deprecated: Use RuntimeDouble.ProtoReflect.Descriptor instead. func (*RuntimeDouble) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{7} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{8} } func (x *RuntimeDouble) GetDefaultValue() float64 { @@ -1042,7 +1097,7 @@ type RuntimeFeatureFlag struct { func (x *RuntimeFeatureFlag) Reset() { *x = RuntimeFeatureFlag{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[8] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1054,7 +1109,7 @@ func (x *RuntimeFeatureFlag) String() string { func (*RuntimeFeatureFlag) ProtoMessage() {} func (x *RuntimeFeatureFlag) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[8] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1067,7 +1122,7 @@ func (x *RuntimeFeatureFlag) ProtoReflect() protoreflect.Message { // Deprecated: Use RuntimeFeatureFlag.ProtoReflect.Descriptor instead. func (*RuntimeFeatureFlag) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{8} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{9} } func (x *RuntimeFeatureFlag) GetDefaultValue() *wrapperspb.BoolValue { @@ -1106,7 +1161,7 @@ type KeyValue struct { func (x *KeyValue) Reset() { *x = KeyValue{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[9] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1118,7 +1173,7 @@ func (x *KeyValue) String() string { func (*KeyValue) ProtoMessage() {} func (x *KeyValue) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[9] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1131,7 +1186,7 @@ func (x *KeyValue) ProtoReflect() protoreflect.Message { // Deprecated: Use KeyValue.ProtoReflect.Descriptor instead. func (*KeyValue) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{9} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{10} } // Deprecated: Marked as deprecated in envoy/config/core/v3/base.proto. @@ -1162,7 +1217,7 @@ type KeyValuePair struct { func (x *KeyValuePair) Reset() { *x = KeyValuePair{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[10] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1174,7 +1229,7 @@ func (x *KeyValuePair) String() string { func (*KeyValuePair) ProtoMessage() {} func (x *KeyValuePair) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[10] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1187,7 +1242,7 @@ func (x *KeyValuePair) ProtoReflect() protoreflect.Message { // Deprecated: Use KeyValuePair.ProtoReflect.Descriptor instead. func (*KeyValuePair) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{10} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{11} } func (x *KeyValuePair) GetKey() string { @@ -1226,7 +1281,7 @@ type KeyValueAppend struct { func (x *KeyValueAppend) Reset() { *x = KeyValueAppend{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[11] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1238,7 +1293,7 @@ func (x *KeyValueAppend) String() string { func (*KeyValueAppend) ProtoMessage() {} func (x *KeyValueAppend) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[11] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1251,7 +1306,7 @@ func (x *KeyValueAppend) ProtoReflect() protoreflect.Message { // Deprecated: Use KeyValueAppend.ProtoReflect.Descriptor instead. func (*KeyValueAppend) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{11} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{12} } func (x *KeyValueAppend) GetRecord() *KeyValuePair { @@ -1291,7 +1346,7 @@ type KeyValueMutation struct { func (x *KeyValueMutation) Reset() { *x = KeyValueMutation{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[12] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1303,7 +1358,7 @@ func (x *KeyValueMutation) String() string { func (*KeyValueMutation) ProtoMessage() {} func (x *KeyValueMutation) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[12] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1316,7 +1371,7 @@ func (x *KeyValueMutation) ProtoReflect() protoreflect.Message { // Deprecated: Use KeyValueMutation.ProtoReflect.Descriptor instead. func (*KeyValueMutation) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{12} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{13} } func (x *KeyValueMutation) GetAppend() *KeyValueAppend { @@ -1346,7 +1401,7 @@ type QueryParameter struct { func (x *QueryParameter) Reset() { *x = QueryParameter{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[13] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1358,7 +1413,7 @@ func (x *QueryParameter) String() string { func (*QueryParameter) ProtoMessage() {} func (x *QueryParameter) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[13] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1371,7 +1426,7 @@ func (x *QueryParameter) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryParameter.ProtoReflect.Descriptor instead. func (*QueryParameter) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{13} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{14} } func (x *QueryParameter) GetKey() string { @@ -1410,7 +1465,7 @@ type HeaderValue struct { func (x *HeaderValue) Reset() { *x = HeaderValue{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[14] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1422,7 +1477,7 @@ func (x *HeaderValue) String() string { func (*HeaderValue) ProtoMessage() {} func (x *HeaderValue) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[14] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1435,7 +1490,7 @@ func (x *HeaderValue) ProtoReflect() protoreflect.Message { // Deprecated: Use HeaderValue.ProtoReflect.Descriptor instead. func (*HeaderValue) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{14} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{15} } func (x *HeaderValue) GetKey() string { @@ -1491,7 +1546,7 @@ type HeaderValueOption struct { func (x *HeaderValueOption) Reset() { *x = HeaderValueOption{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[15] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1503,7 +1558,7 @@ func (x *HeaderValueOption) String() string { func (*HeaderValueOption) ProtoMessage() {} func (x *HeaderValueOption) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[15] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1516,7 +1571,7 @@ func (x *HeaderValueOption) ProtoReflect() protoreflect.Message { // Deprecated: Use HeaderValueOption.ProtoReflect.Descriptor instead. func (*HeaderValueOption) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{15} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{16} } func (x *HeaderValueOption) GetHeader() *HeaderValue { @@ -1559,7 +1614,7 @@ type HeaderMap struct { func (x *HeaderMap) Reset() { *x = HeaderMap{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[16] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1571,7 +1626,7 @@ func (x *HeaderMap) String() string { func (*HeaderMap) ProtoMessage() {} func (x *HeaderMap) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[16] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1584,7 +1639,7 @@ func (x *HeaderMap) ProtoReflect() protoreflect.Message { // Deprecated: Use HeaderMap.ProtoReflect.Descriptor instead. func (*HeaderMap) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{16} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{17} } func (x *HeaderMap) GetHeaders() []*HeaderValue { @@ -1599,14 +1654,21 @@ func (x *HeaderMap) GetHeaders() []*HeaderValue { type WatchedDirectory struct { state protoimpl.MessageState `protogen:"open.v1"` // Directory path to watch. - Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + // If set to true, the watcher will also subscribe to file modification events + // (“IN_MODIFY“ on Linux) in addition to move events (“IN_MOVED_TO“). This allows + // in-place file writes to trigger reload callbacks. Use this when the writing process + // cannot use atomic rename (e.g. certain secret managers that write certificate files + // directly). By default, only move/rename events are watched, which is the safe choice + // for atomic updates (e.g. Kubernetes ConfigMap symlink swaps). + WatchModify bool `protobuf:"varint,2,opt,name=watch_modify,json=watchModify,proto3" json:"watch_modify,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *WatchedDirectory) Reset() { *x = WatchedDirectory{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[17] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1618,7 +1680,7 @@ func (x *WatchedDirectory) String() string { func (*WatchedDirectory) ProtoMessage() {} func (x *WatchedDirectory) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[17] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1631,7 +1693,7 @@ func (x *WatchedDirectory) ProtoReflect() protoreflect.Message { // Deprecated: Use WatchedDirectory.ProtoReflect.Descriptor instead. func (*WatchedDirectory) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{17} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{18} } func (x *WatchedDirectory) GetPath() string { @@ -1641,6 +1703,13 @@ func (x *WatchedDirectory) GetPath() string { return "" } +func (x *WatchedDirectory) GetWatchModify() bool { + if x != nil { + return x.WatchModify + } + return false +} + // Data source consisting of a file, an inline value, or an environment variable. // [#next-free-field: 6] type DataSource struct { @@ -1676,7 +1745,7 @@ type DataSource struct { func (x *DataSource) Reset() { *x = DataSource{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[18] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1688,7 +1757,7 @@ func (x *DataSource) String() string { func (*DataSource) ProtoMessage() {} func (x *DataSource) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[18] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1701,7 +1770,7 @@ func (x *DataSource) ProtoReflect() protoreflect.Message { // Deprecated: Use DataSource.ProtoReflect.Descriptor instead. func (*DataSource) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{18} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{19} } func (x *DataSource) GetSpecifier() isDataSource_Specifier { @@ -1811,7 +1880,7 @@ type RetryPolicy struct { func (x *RetryPolicy) Reset() { *x = RetryPolicy{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[19] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1823,7 +1892,7 @@ func (x *RetryPolicy) String() string { func (*RetryPolicy) ProtoMessage() {} func (x *RetryPolicy) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[19] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1836,7 +1905,7 @@ func (x *RetryPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use RetryPolicy.ProtoReflect.Descriptor instead. func (*RetryPolicy) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{19} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{20} } func (x *RetryPolicy) GetRetryBackOff() *BackoffStrategy { @@ -1896,7 +1965,7 @@ type RemoteDataSource struct { func (x *RemoteDataSource) Reset() { *x = RemoteDataSource{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[20] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1908,7 +1977,7 @@ func (x *RemoteDataSource) String() string { func (*RemoteDataSource) ProtoMessage() {} func (x *RemoteDataSource) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[20] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1921,7 +1990,7 @@ func (x *RemoteDataSource) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoteDataSource.ProtoReflect.Descriptor instead. func (*RemoteDataSource) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{20} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{21} } func (x *RemoteDataSource) GetHttpUri() *HttpUri { @@ -1959,7 +2028,7 @@ type AsyncDataSource struct { func (x *AsyncDataSource) Reset() { *x = AsyncDataSource{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[21] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1971,7 +2040,7 @@ func (x *AsyncDataSource) String() string { func (*AsyncDataSource) ProtoMessage() {} func (x *AsyncDataSource) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[21] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1984,7 +2053,7 @@ func (x *AsyncDataSource) ProtoReflect() protoreflect.Message { // Deprecated: Use AsyncDataSource.ProtoReflect.Descriptor instead. func (*AsyncDataSource) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{21} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{22} } func (x *AsyncDataSource) GetSpecifier() isAsyncDataSource_Specifier { @@ -2052,7 +2121,7 @@ type TransportSocket struct { func (x *TransportSocket) Reset() { *x = TransportSocket{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[22] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2064,7 +2133,7 @@ func (x *TransportSocket) String() string { func (*TransportSocket) ProtoMessage() {} func (x *TransportSocket) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[22] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2077,7 +2146,7 @@ func (x *TransportSocket) ProtoReflect() protoreflect.Message { // Deprecated: Use TransportSocket.ProtoReflect.Descriptor instead. func (*TransportSocket) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{22} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{23} } func (x *TransportSocket) GetName() string { @@ -2135,7 +2204,7 @@ type RuntimeFractionalPercent struct { func (x *RuntimeFractionalPercent) Reset() { *x = RuntimeFractionalPercent{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[23] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2147,7 +2216,7 @@ func (x *RuntimeFractionalPercent) String() string { func (*RuntimeFractionalPercent) ProtoMessage() {} func (x *RuntimeFractionalPercent) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[23] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2160,7 +2229,7 @@ func (x *RuntimeFractionalPercent) ProtoReflect() protoreflect.Message { // Deprecated: Use RuntimeFractionalPercent.ProtoReflect.Descriptor instead. func (*RuntimeFractionalPercent) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{23} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{24} } func (x *RuntimeFractionalPercent) GetDefaultValue() *v3.FractionalPercent { @@ -2190,7 +2259,7 @@ type ControlPlane struct { func (x *ControlPlane) Reset() { *x = ControlPlane{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[24] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2202,7 +2271,7 @@ func (x *ControlPlane) String() string { func (*ControlPlane) ProtoMessage() {} func (x *ControlPlane) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[24] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2215,7 +2284,7 @@ func (x *ControlPlane) ProtoReflect() protoreflect.Message { // Deprecated: Use ControlPlane.ProtoReflect.Descriptor instead. func (*ControlPlane) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{24} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{25} } func (x *ControlPlane) GetIdentifier() string { @@ -2239,7 +2308,7 @@ type RetryPolicy_RetryPriority struct { func (x *RetryPolicy_RetryPriority) Reset() { *x = RetryPolicy_RetryPriority{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[28] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2251,7 +2320,7 @@ func (x *RetryPolicy_RetryPriority) String() string { func (*RetryPolicy_RetryPriority) ProtoMessage() {} func (x *RetryPolicy_RetryPriority) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[28] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2264,7 +2333,7 @@ func (x *RetryPolicy_RetryPriority) ProtoReflect() protoreflect.Message { // Deprecated: Use RetryPolicy_RetryPriority.ProtoReflect.Descriptor instead. func (*RetryPolicy_RetryPriority) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{19, 0} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{20, 0} } func (x *RetryPolicy_RetryPriority) GetName() string { @@ -2314,7 +2383,7 @@ type RetryPolicy_RetryHostPredicate struct { func (x *RetryPolicy_RetryHostPredicate) Reset() { *x = RetryPolicy_RetryHostPredicate{} - mi := &file_envoy_config_core_v3_base_proto_msgTypes[29] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2326,7 +2395,7 @@ func (x *RetryPolicy_RetryHostPredicate) String() string { func (*RetryPolicy_RetryHostPredicate) ProtoMessage() {} func (x *RetryPolicy_RetryHostPredicate) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_core_v3_base_proto_msgTypes[29] + mi := &file_envoy_config_core_v3_base_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2339,7 +2408,7 @@ func (x *RetryPolicy_RetryHostPredicate) ProtoReflect() protoreflect.Message { // Deprecated: Use RetryPolicy_RetryHostPredicate.ProtoReflect.Descriptor instead. func (*RetryPolicy_RetryHostPredicate) Descriptor() ([]byte, []int) { - return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{19, 1} + return file_envoy_config_core_v3_base_proto_rawDescGZIP(), []int{20, 1} } func (x *RetryPolicy_RetryHostPredicate) GetName() string { @@ -2431,7 +2500,11 @@ const file_envoy_config_core_v3_base_proto_rawDesc = "" + "\rdefault_value\x18\x02 \x01(\rR\fdefaultValue\x12\x1f\n" + "\vruntime_key\x18\x03 \x01(\tR\n" + "runtimeKey:&\x9aň\x1e!\n" + - "\x1fenvoy.api.v2.core.RuntimeUInt32\"n\n" + + "\x1fenvoy.api.v2.core.RuntimeUInt32\"U\n" + + "\rRuntimeUInt64\x12#\n" + + "\rdefault_value\x18\x02 \x01(\x04R\fdefaultValue\x12\x1f\n" + + "\vruntime_key\x18\x03 \x01(\tR\n" + + "runtimeKey\"n\n" + "\x0eRuntimePercent\x12;\n" + "\rdefault_value\x18\x01 \x01(\v2\x16.envoy.type.v3.PercentR\fdefaultValue\x12\x1f\n" + "\vruntime_key\x18\x02 \x01(\tR\n" + @@ -2488,9 +2561,10 @@ const file_envoy_config_core_v3_base_proto_rawDesc = "" + "#envoy.api.v2.core.HeaderValueOption\"l\n" + "\tHeaderMap\x12;\n" + "\aheaders\x18\x01 \x03(\v2!.envoy.config.core.v3.HeaderValueR\aheaders:\"\x9aň\x1e\x1d\n" + - "\x1benvoy.api.v2.core.HeaderMap\"/\n" + + "\x1benvoy.api.v2.core.HeaderMap\"R\n" + "\x10WatchedDirectory\x12\x1b\n" + - "\x04path\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x04path\"\xc9\x02\n" + + "\x04path\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x04path\x12!\n" + + "\fwatch_modify\x18\x02 \x01(\bR\vwatchModify\"\xc9\x02\n" + "\n" + "DataSource\x12%\n" + "\bfilename\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01H\x00R\bfilename\x12#\n" + @@ -2577,7 +2651,7 @@ func file_envoy_config_core_v3_base_proto_rawDescGZIP() []byte { } var file_envoy_config_core_v3_base_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_envoy_config_core_v3_base_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_envoy_config_core_v3_base_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_envoy_config_core_v3_base_proto_goTypes = []any{ (RoutingPriority)(0), // 0: envoy.config.core.v3.RoutingPriority (RequestMethod)(0), // 1: envoy.config.core.v3.RequestMethod @@ -2590,82 +2664,83 @@ var file_envoy_config_core_v3_base_proto_goTypes = []any{ (*Node)(nil), // 8: envoy.config.core.v3.Node (*Metadata)(nil), // 9: envoy.config.core.v3.Metadata (*RuntimeUInt32)(nil), // 10: envoy.config.core.v3.RuntimeUInt32 - (*RuntimePercent)(nil), // 11: envoy.config.core.v3.RuntimePercent - (*RuntimeDouble)(nil), // 12: envoy.config.core.v3.RuntimeDouble - (*RuntimeFeatureFlag)(nil), // 13: envoy.config.core.v3.RuntimeFeatureFlag - (*KeyValue)(nil), // 14: envoy.config.core.v3.KeyValue - (*KeyValuePair)(nil), // 15: envoy.config.core.v3.KeyValuePair - (*KeyValueAppend)(nil), // 16: envoy.config.core.v3.KeyValueAppend - (*KeyValueMutation)(nil), // 17: envoy.config.core.v3.KeyValueMutation - (*QueryParameter)(nil), // 18: envoy.config.core.v3.QueryParameter - (*HeaderValue)(nil), // 19: envoy.config.core.v3.HeaderValue - (*HeaderValueOption)(nil), // 20: envoy.config.core.v3.HeaderValueOption - (*HeaderMap)(nil), // 21: envoy.config.core.v3.HeaderMap - (*WatchedDirectory)(nil), // 22: envoy.config.core.v3.WatchedDirectory - (*DataSource)(nil), // 23: envoy.config.core.v3.DataSource - (*RetryPolicy)(nil), // 24: envoy.config.core.v3.RetryPolicy - (*RemoteDataSource)(nil), // 25: envoy.config.core.v3.RemoteDataSource - (*AsyncDataSource)(nil), // 26: envoy.config.core.v3.AsyncDataSource - (*TransportSocket)(nil), // 27: envoy.config.core.v3.TransportSocket - (*RuntimeFractionalPercent)(nil), // 28: envoy.config.core.v3.RuntimeFractionalPercent - (*ControlPlane)(nil), // 29: envoy.config.core.v3.ControlPlane - nil, // 30: envoy.config.core.v3.Node.DynamicParametersEntry - nil, // 31: envoy.config.core.v3.Metadata.FilterMetadataEntry - nil, // 32: envoy.config.core.v3.Metadata.TypedFilterMetadataEntry - (*RetryPolicy_RetryPriority)(nil), // 33: envoy.config.core.v3.RetryPolicy.RetryPriority - (*RetryPolicy_RetryHostPredicate)(nil), // 34: envoy.config.core.v3.RetryPolicy.RetryHostPredicate - (*v3.SemanticVersion)(nil), // 35: envoy.type.v3.SemanticVersion - (*structpb.Struct)(nil), // 36: google.protobuf.Struct - (*Address)(nil), // 37: envoy.config.core.v3.Address - (*v3.Percent)(nil), // 38: envoy.type.v3.Percent - (*wrapperspb.BoolValue)(nil), // 39: google.protobuf.BoolValue - (*structpb.Value)(nil), // 40: google.protobuf.Value - (*BackoffStrategy)(nil), // 41: envoy.config.core.v3.BackoffStrategy - (*wrapperspb.UInt32Value)(nil), // 42: google.protobuf.UInt32Value - (*HttpUri)(nil), // 43: envoy.config.core.v3.HttpUri - (*anypb.Any)(nil), // 44: google.protobuf.Any - (*v3.FractionalPercent)(nil), // 45: envoy.type.v3.FractionalPercent - (*v31.ContextParams)(nil), // 46: xds.core.v3.ContextParams + (*RuntimeUInt64)(nil), // 11: envoy.config.core.v3.RuntimeUInt64 + (*RuntimePercent)(nil), // 12: envoy.config.core.v3.RuntimePercent + (*RuntimeDouble)(nil), // 13: envoy.config.core.v3.RuntimeDouble + (*RuntimeFeatureFlag)(nil), // 14: envoy.config.core.v3.RuntimeFeatureFlag + (*KeyValue)(nil), // 15: envoy.config.core.v3.KeyValue + (*KeyValuePair)(nil), // 16: envoy.config.core.v3.KeyValuePair + (*KeyValueAppend)(nil), // 17: envoy.config.core.v3.KeyValueAppend + (*KeyValueMutation)(nil), // 18: envoy.config.core.v3.KeyValueMutation + (*QueryParameter)(nil), // 19: envoy.config.core.v3.QueryParameter + (*HeaderValue)(nil), // 20: envoy.config.core.v3.HeaderValue + (*HeaderValueOption)(nil), // 21: envoy.config.core.v3.HeaderValueOption + (*HeaderMap)(nil), // 22: envoy.config.core.v3.HeaderMap + (*WatchedDirectory)(nil), // 23: envoy.config.core.v3.WatchedDirectory + (*DataSource)(nil), // 24: envoy.config.core.v3.DataSource + (*RetryPolicy)(nil), // 25: envoy.config.core.v3.RetryPolicy + (*RemoteDataSource)(nil), // 26: envoy.config.core.v3.RemoteDataSource + (*AsyncDataSource)(nil), // 27: envoy.config.core.v3.AsyncDataSource + (*TransportSocket)(nil), // 28: envoy.config.core.v3.TransportSocket + (*RuntimeFractionalPercent)(nil), // 29: envoy.config.core.v3.RuntimeFractionalPercent + (*ControlPlane)(nil), // 30: envoy.config.core.v3.ControlPlane + nil, // 31: envoy.config.core.v3.Node.DynamicParametersEntry + nil, // 32: envoy.config.core.v3.Metadata.FilterMetadataEntry + nil, // 33: envoy.config.core.v3.Metadata.TypedFilterMetadataEntry + (*RetryPolicy_RetryPriority)(nil), // 34: envoy.config.core.v3.RetryPolicy.RetryPriority + (*RetryPolicy_RetryHostPredicate)(nil), // 35: envoy.config.core.v3.RetryPolicy.RetryHostPredicate + (*v3.SemanticVersion)(nil), // 36: envoy.type.v3.SemanticVersion + (*structpb.Struct)(nil), // 37: google.protobuf.Struct + (*Address)(nil), // 38: envoy.config.core.v3.Address + (*v3.Percent)(nil), // 39: envoy.type.v3.Percent + (*wrapperspb.BoolValue)(nil), // 40: google.protobuf.BoolValue + (*structpb.Value)(nil), // 41: google.protobuf.Value + (*BackoffStrategy)(nil), // 42: envoy.config.core.v3.BackoffStrategy + (*wrapperspb.UInt32Value)(nil), // 43: google.protobuf.UInt32Value + (*HttpUri)(nil), // 44: envoy.config.core.v3.HttpUri + (*anypb.Any)(nil), // 45: google.protobuf.Any + (*v3.FractionalPercent)(nil), // 46: envoy.type.v3.FractionalPercent + (*v31.ContextParams)(nil), // 47: xds.core.v3.ContextParams } var file_envoy_config_core_v3_base_proto_depIdxs = []int32{ - 35, // 0: envoy.config.core.v3.BuildVersion.version:type_name -> envoy.type.v3.SemanticVersion - 36, // 1: envoy.config.core.v3.BuildVersion.metadata:type_name -> google.protobuf.Struct + 36, // 0: envoy.config.core.v3.BuildVersion.version:type_name -> envoy.type.v3.SemanticVersion + 37, // 1: envoy.config.core.v3.BuildVersion.metadata:type_name -> google.protobuf.Struct 6, // 2: envoy.config.core.v3.Extension.version:type_name -> envoy.config.core.v3.BuildVersion - 36, // 3: envoy.config.core.v3.Node.metadata:type_name -> google.protobuf.Struct - 30, // 4: envoy.config.core.v3.Node.dynamic_parameters:type_name -> envoy.config.core.v3.Node.DynamicParametersEntry + 37, // 3: envoy.config.core.v3.Node.metadata:type_name -> google.protobuf.Struct + 31, // 4: envoy.config.core.v3.Node.dynamic_parameters:type_name -> envoy.config.core.v3.Node.DynamicParametersEntry 5, // 5: envoy.config.core.v3.Node.locality:type_name -> envoy.config.core.v3.Locality 6, // 6: envoy.config.core.v3.Node.user_agent_build_version:type_name -> envoy.config.core.v3.BuildVersion 7, // 7: envoy.config.core.v3.Node.extensions:type_name -> envoy.config.core.v3.Extension - 37, // 8: envoy.config.core.v3.Node.listening_addresses:type_name -> envoy.config.core.v3.Address - 31, // 9: envoy.config.core.v3.Metadata.filter_metadata:type_name -> envoy.config.core.v3.Metadata.FilterMetadataEntry - 32, // 10: envoy.config.core.v3.Metadata.typed_filter_metadata:type_name -> envoy.config.core.v3.Metadata.TypedFilterMetadataEntry - 38, // 11: envoy.config.core.v3.RuntimePercent.default_value:type_name -> envoy.type.v3.Percent - 39, // 12: envoy.config.core.v3.RuntimeFeatureFlag.default_value:type_name -> google.protobuf.BoolValue - 40, // 13: envoy.config.core.v3.KeyValuePair.value:type_name -> google.protobuf.Value - 15, // 14: envoy.config.core.v3.KeyValueAppend.record:type_name -> envoy.config.core.v3.KeyValuePair - 14, // 15: envoy.config.core.v3.KeyValueAppend.entry:type_name -> envoy.config.core.v3.KeyValue + 38, // 8: envoy.config.core.v3.Node.listening_addresses:type_name -> envoy.config.core.v3.Address + 32, // 9: envoy.config.core.v3.Metadata.filter_metadata:type_name -> envoy.config.core.v3.Metadata.FilterMetadataEntry + 33, // 10: envoy.config.core.v3.Metadata.typed_filter_metadata:type_name -> envoy.config.core.v3.Metadata.TypedFilterMetadataEntry + 39, // 11: envoy.config.core.v3.RuntimePercent.default_value:type_name -> envoy.type.v3.Percent + 40, // 12: envoy.config.core.v3.RuntimeFeatureFlag.default_value:type_name -> google.protobuf.BoolValue + 41, // 13: envoy.config.core.v3.KeyValuePair.value:type_name -> google.protobuf.Value + 16, // 14: envoy.config.core.v3.KeyValueAppend.record:type_name -> envoy.config.core.v3.KeyValuePair + 15, // 15: envoy.config.core.v3.KeyValueAppend.entry:type_name -> envoy.config.core.v3.KeyValue 3, // 16: envoy.config.core.v3.KeyValueAppend.action:type_name -> envoy.config.core.v3.KeyValueAppend.KeyValueAppendAction - 16, // 17: envoy.config.core.v3.KeyValueMutation.append:type_name -> envoy.config.core.v3.KeyValueAppend - 19, // 18: envoy.config.core.v3.HeaderValueOption.header:type_name -> envoy.config.core.v3.HeaderValue - 39, // 19: envoy.config.core.v3.HeaderValueOption.append:type_name -> google.protobuf.BoolValue + 17, // 17: envoy.config.core.v3.KeyValueMutation.append:type_name -> envoy.config.core.v3.KeyValueAppend + 20, // 18: envoy.config.core.v3.HeaderValueOption.header:type_name -> envoy.config.core.v3.HeaderValue + 40, // 19: envoy.config.core.v3.HeaderValueOption.append:type_name -> google.protobuf.BoolValue 4, // 20: envoy.config.core.v3.HeaderValueOption.append_action:type_name -> envoy.config.core.v3.HeaderValueOption.HeaderAppendAction - 19, // 21: envoy.config.core.v3.HeaderMap.headers:type_name -> envoy.config.core.v3.HeaderValue - 22, // 22: envoy.config.core.v3.DataSource.watched_directory:type_name -> envoy.config.core.v3.WatchedDirectory - 41, // 23: envoy.config.core.v3.RetryPolicy.retry_back_off:type_name -> envoy.config.core.v3.BackoffStrategy - 42, // 24: envoy.config.core.v3.RetryPolicy.num_retries:type_name -> google.protobuf.UInt32Value - 33, // 25: envoy.config.core.v3.RetryPolicy.retry_priority:type_name -> envoy.config.core.v3.RetryPolicy.RetryPriority - 34, // 26: envoy.config.core.v3.RetryPolicy.retry_host_predicate:type_name -> envoy.config.core.v3.RetryPolicy.RetryHostPredicate - 43, // 27: envoy.config.core.v3.RemoteDataSource.http_uri:type_name -> envoy.config.core.v3.HttpUri - 24, // 28: envoy.config.core.v3.RemoteDataSource.retry_policy:type_name -> envoy.config.core.v3.RetryPolicy - 23, // 29: envoy.config.core.v3.AsyncDataSource.local:type_name -> envoy.config.core.v3.DataSource - 25, // 30: envoy.config.core.v3.AsyncDataSource.remote:type_name -> envoy.config.core.v3.RemoteDataSource - 44, // 31: envoy.config.core.v3.TransportSocket.typed_config:type_name -> google.protobuf.Any - 45, // 32: envoy.config.core.v3.RuntimeFractionalPercent.default_value:type_name -> envoy.type.v3.FractionalPercent - 46, // 33: envoy.config.core.v3.Node.DynamicParametersEntry.value:type_name -> xds.core.v3.ContextParams - 36, // 34: envoy.config.core.v3.Metadata.FilterMetadataEntry.value:type_name -> google.protobuf.Struct - 44, // 35: envoy.config.core.v3.Metadata.TypedFilterMetadataEntry.value:type_name -> google.protobuf.Any - 44, // 36: envoy.config.core.v3.RetryPolicy.RetryPriority.typed_config:type_name -> google.protobuf.Any - 44, // 37: envoy.config.core.v3.RetryPolicy.RetryHostPredicate.typed_config:type_name -> google.protobuf.Any + 20, // 21: envoy.config.core.v3.HeaderMap.headers:type_name -> envoy.config.core.v3.HeaderValue + 23, // 22: envoy.config.core.v3.DataSource.watched_directory:type_name -> envoy.config.core.v3.WatchedDirectory + 42, // 23: envoy.config.core.v3.RetryPolicy.retry_back_off:type_name -> envoy.config.core.v3.BackoffStrategy + 43, // 24: envoy.config.core.v3.RetryPolicy.num_retries:type_name -> google.protobuf.UInt32Value + 34, // 25: envoy.config.core.v3.RetryPolicy.retry_priority:type_name -> envoy.config.core.v3.RetryPolicy.RetryPriority + 35, // 26: envoy.config.core.v3.RetryPolicy.retry_host_predicate:type_name -> envoy.config.core.v3.RetryPolicy.RetryHostPredicate + 44, // 27: envoy.config.core.v3.RemoteDataSource.http_uri:type_name -> envoy.config.core.v3.HttpUri + 25, // 28: envoy.config.core.v3.RemoteDataSource.retry_policy:type_name -> envoy.config.core.v3.RetryPolicy + 24, // 29: envoy.config.core.v3.AsyncDataSource.local:type_name -> envoy.config.core.v3.DataSource + 26, // 30: envoy.config.core.v3.AsyncDataSource.remote:type_name -> envoy.config.core.v3.RemoteDataSource + 45, // 31: envoy.config.core.v3.TransportSocket.typed_config:type_name -> google.protobuf.Any + 46, // 32: envoy.config.core.v3.RuntimeFractionalPercent.default_value:type_name -> envoy.type.v3.FractionalPercent + 47, // 33: envoy.config.core.v3.Node.DynamicParametersEntry.value:type_name -> xds.core.v3.ContextParams + 37, // 34: envoy.config.core.v3.Metadata.FilterMetadataEntry.value:type_name -> google.protobuf.Struct + 45, // 35: envoy.config.core.v3.Metadata.TypedFilterMetadataEntry.value:type_name -> google.protobuf.Any + 45, // 36: envoy.config.core.v3.RetryPolicy.RetryPriority.typed_config:type_name -> google.protobuf.Any + 45, // 37: envoy.config.core.v3.RetryPolicy.RetryHostPredicate.typed_config:type_name -> google.protobuf.Any 38, // [38:38] is the sub-list for method output_type 38, // [38:38] is the sub-list for method input_type 38, // [38:38] is the sub-list for extension type_name @@ -2685,23 +2760,23 @@ func file_envoy_config_core_v3_base_proto_init() { (*Node_UserAgentVersion)(nil), (*Node_UserAgentBuildVersion)(nil), } - file_envoy_config_core_v3_base_proto_msgTypes[18].OneofWrappers = []any{ + file_envoy_config_core_v3_base_proto_msgTypes[19].OneofWrappers = []any{ (*DataSource_Filename)(nil), (*DataSource_InlineBytes)(nil), (*DataSource_InlineString)(nil), (*DataSource_EnvironmentVariable)(nil), } - file_envoy_config_core_v3_base_proto_msgTypes[21].OneofWrappers = []any{ + file_envoy_config_core_v3_base_proto_msgTypes[22].OneofWrappers = []any{ (*AsyncDataSource_Local)(nil), (*AsyncDataSource_Remote)(nil), } - file_envoy_config_core_v3_base_proto_msgTypes[22].OneofWrappers = []any{ + file_envoy_config_core_v3_base_proto_msgTypes[23].OneofWrappers = []any{ (*TransportSocket_TypedConfig)(nil), } - file_envoy_config_core_v3_base_proto_msgTypes[28].OneofWrappers = []any{ + file_envoy_config_core_v3_base_proto_msgTypes[29].OneofWrappers = []any{ (*RetryPolicy_RetryPriority_TypedConfig)(nil), } - file_envoy_config_core_v3_base_proto_msgTypes[29].OneofWrappers = []any{ + file_envoy_config_core_v3_base_proto_msgTypes[30].OneofWrappers = []any{ (*RetryPolicy_RetryHostPredicate_TypedConfig)(nil), } type x struct{} @@ -2710,7 +2785,7 @@ func file_envoy_config_core_v3_base_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_config_core_v3_base_proto_rawDesc), len(file_envoy_config_core_v3_base_proto_rawDesc)), NumEnums: 5, - NumMessages: 30, + NumMessages: 31, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.validate.go index c81bfbdf..e19a7919 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base.pb.validate.go @@ -1081,6 +1081,110 @@ var _ interface { ErrorName() string } = RuntimeUInt32ValidationError{} +// Validate checks the field values on RuntimeUInt64 with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *RuntimeUInt64) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on RuntimeUInt64 with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in RuntimeUInt64MultiError, or +// nil if none found. +func (m *RuntimeUInt64) ValidateAll() error { + return m.validate(true) +} + +func (m *RuntimeUInt64) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for DefaultValue + + // no validation rules for RuntimeKey + + if len(errors) > 0 { + return RuntimeUInt64MultiError(errors) + } + + return nil +} + +// RuntimeUInt64MultiError is an error wrapping multiple validation errors +// returned by RuntimeUInt64.ValidateAll() if the designated constraints +// aren't met. +type RuntimeUInt64MultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m RuntimeUInt64MultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m RuntimeUInt64MultiError) AllErrors() []error { return m } + +// RuntimeUInt64ValidationError is the validation error returned by +// RuntimeUInt64.Validate if the designated constraints aren't met. +type RuntimeUInt64ValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RuntimeUInt64ValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RuntimeUInt64ValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RuntimeUInt64ValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RuntimeUInt64ValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RuntimeUInt64ValidationError) ErrorName() string { return "RuntimeUInt64ValidationError" } + +// Error satisfies the builtin error interface +func (e RuntimeUInt64ValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sRuntimeUInt64.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RuntimeUInt64ValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RuntimeUInt64ValidationError{} + // Validate checks the field values on RuntimePercent with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. @@ -2647,6 +2751,8 @@ func (m *WatchedDirectory) validate(all bool) error { errors = append(errors, err) } + // no validation rules for WatchModify + if len(errors) > 0 { return WatchedDirectoryMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base_vtproto.pb.go index 0a2d2bcc..87763f04 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/base_vtproto.pb.go @@ -540,6 +540,51 @@ func (m *RuntimeUInt32) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *RuntimeUInt64) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RuntimeUInt64) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *RuntimeUInt64) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.RuntimeKey) > 0 { + i -= len(m.RuntimeKey) + copy(dAtA[i:], m.RuntimeKey) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RuntimeKey))) + i-- + dAtA[i] = 0x1a + } + if m.DefaultValue != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DefaultValue)) + i-- + dAtA[i] = 0x10 + } + return len(dAtA) - i, nil +} + func (m *RuntimePercent) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -1147,6 +1192,16 @@ func (m *WatchedDirectory) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.WatchModify { + i-- + if m.WatchModify { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } if len(m.Path) > 0 { i -= len(m.Path) copy(dAtA[i:], m.Path) @@ -2064,6 +2119,23 @@ func (m *RuntimeUInt32) SizeVT() (n int) { return n } +func (m *RuntimeUInt64) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DefaultValue != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.DefaultValue)) + } + l = len(m.RuntimeKey) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + func (m *RuntimePercent) SizeVT() (n int) { if m == nil { return 0 @@ -2288,6 +2360,9 @@ func (m *WatchedDirectory) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.WatchModify { + n += 2 + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/cel.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/cel.pb.go index 0846f518..df6e86b4 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/cel.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/cel.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/cel.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.go index 8efad756..d6c41834 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/config_source.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/config_source.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.go index 322e6722..809ac6e2 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/event_service_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/event_service_config.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/extension.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/extension.pb.go index bad13e64..9492d2a9 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/extension.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/extension.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/extension.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_method_list.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_method_list.pb.go index aa41ed78..6c6d8dca 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_method_list.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_method_list.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/grpc_method_list.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.go index 4c853c07..e6051916 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/grpc_service.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/grpc_service.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.go index f453f443..747e0c47 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/health_check.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/health_check.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service.pb.go index 9d9f74c3..95f9ef02 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/http_service.proto package corev3 @@ -35,10 +35,15 @@ type HttpService struct { // cluster: www.myserviceapi.com|443 HttpUri *HttpUri `protobuf:"bytes,1,opt,name=http_uri,json=httpUri,proto3" json:"http_uri,omitempty"` // Specifies a list of HTTP headers that should be added to each request - // handled by this virtual host. + // handled by this virtual host. Substitution formatters are supported. RequestHeadersToAdd []*HeaderValueOption `protobuf:"bytes,2,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Specifies a collection of Formatter plugins that can be used in substitution formatters + // in “request_headers_to_add“. + // See the formatters extensions documentation for details. + // [#extension-category: envoy.formatter] + Formatters []*TypedExtensionConfig `protobuf:"bytes,3,rep,name=formatters,proto3" json:"formatters,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpService) Reset() { @@ -85,14 +90,24 @@ func (x *HttpService) GetRequestHeadersToAdd() []*HeaderValueOption { return nil } +func (x *HttpService) GetFormatters() []*TypedExtensionConfig { + if x != nil { + return x.Formatters + } + return nil +} + var File_envoy_config_core_v3_http_service_proto protoreflect.FileDescriptor const file_envoy_config_core_v3_http_service_proto_rawDesc = "" + "\n" + - "'envoy/config/core/v3/http_service.proto\x12\x14envoy.config.core.v3\x1a\x1fenvoy/config/core/v3/base.proto\x1a#envoy/config/core/v3/http_uri.proto\x1a\x1dudpa/annotations/status.proto\x1a\x17validate/validate.proto\"\xb0\x01\n" + + "'envoy/config/core/v3/http_service.proto\x12\x14envoy.config.core.v3\x1a\x1fenvoy/config/core/v3/base.proto\x1a$envoy/config/core/v3/extension.proto\x1a#envoy/config/core/v3/http_uri.proto\x1a\x1dudpa/annotations/status.proto\x1a\x17validate/validate.proto\"\xfc\x01\n" + "\vHttpService\x128\n" + "\bhttp_uri\x18\x01 \x01(\v2\x1d.envoy.config.core.v3.HttpUriR\ahttpUri\x12g\n" + - "\x16request_headers_to_add\x18\x02 \x03(\v2'.envoy.config.core.v3.HeaderValueOptionB\t\xfaB\x06\x92\x01\x03\x10\xe8\aR\x13requestHeadersToAddB\x84\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + + "\x16request_headers_to_add\x18\x02 \x03(\v2'.envoy.config.core.v3.HeaderValueOptionB\t\xfaB\x06\x92\x01\x03\x10\xe8\aR\x13requestHeadersToAdd\x12J\n" + + "\n" + + "formatters\x18\x03 \x03(\v2*.envoy.config.core.v3.TypedExtensionConfigR\n" + + "formattersB\x84\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + "\"io.envoyproxy.envoy.config.core.v3B\x10HttpServiceProtoP\x01ZBgithub.com/envoyproxy/go-control-plane/envoy/config/core/v3;corev3b\x06proto3" var ( @@ -109,18 +124,20 @@ func file_envoy_config_core_v3_http_service_proto_rawDescGZIP() []byte { var file_envoy_config_core_v3_http_service_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_envoy_config_core_v3_http_service_proto_goTypes = []any{ - (*HttpService)(nil), // 0: envoy.config.core.v3.HttpService - (*HttpUri)(nil), // 1: envoy.config.core.v3.HttpUri - (*HeaderValueOption)(nil), // 2: envoy.config.core.v3.HeaderValueOption + (*HttpService)(nil), // 0: envoy.config.core.v3.HttpService + (*HttpUri)(nil), // 1: envoy.config.core.v3.HttpUri + (*HeaderValueOption)(nil), // 2: envoy.config.core.v3.HeaderValueOption + (*TypedExtensionConfig)(nil), // 3: envoy.config.core.v3.TypedExtensionConfig } var file_envoy_config_core_v3_http_service_proto_depIdxs = []int32{ 1, // 0: envoy.config.core.v3.HttpService.http_uri:type_name -> envoy.config.core.v3.HttpUri 2, // 1: envoy.config.core.v3.HttpService.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 3, // 2: envoy.config.core.v3.HttpService.formatters:type_name -> envoy.config.core.v3.TypedExtensionConfig + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_http_service_proto_init() } @@ -129,6 +146,7 @@ func file_envoy_config_core_v3_http_service_proto_init() { return } file_envoy_config_core_v3_base_proto_init() + file_envoy_config_core_v3_extension_proto_init() file_envoy_config_core_v3_http_uri_proto_init() type x struct{} out := protoimpl.TypeBuilder{ diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service.pb.validate.go index 8a5ce3d1..3316d74f 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service.pb.validate.go @@ -132,6 +132,40 @@ func (m *HttpService) validate(all bool) error { } + for idx, item := range m.GetFormatters() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, HttpServiceValidationError{ + field: fmt.Sprintf("Formatters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, HttpServiceValidationError{ + field: fmt.Sprintf("Formatters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return HttpServiceValidationError{ + field: fmt.Sprintf("Formatters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + if len(errors) > 0 { return HttpServiceMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service_vtproto.pb.go index 64e0ece6..bed92a47 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_service_vtproto.pb.go @@ -48,6 +48,18 @@ func (m *HttpService) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.Formatters) > 0 { + for iNdEx := len(m.Formatters) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Formatters[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } if len(m.RequestHeadersToAdd) > 0 { for iNdEx := len(m.RequestHeadersToAdd) - 1; iNdEx >= 0; iNdEx-- { size, err := m.RequestHeadersToAdd[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) @@ -89,6 +101,12 @@ func (m *HttpService) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } + if len(m.Formatters) > 0 { + for _, e := range m.Formatters { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.go index b3e2522f..757bdbdb 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/http_uri.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/http_uri.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.go index ac07b2c1..93e84767 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/protocol.proto package corev3 @@ -10,8 +10,8 @@ import ( _ "github.com/cncf/xds/go/udpa/annotations" _ "github.com/cncf/xds/go/xds/annotations/v3" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" - v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" - v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3" + v31 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" + v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -197,7 +197,7 @@ func (x *QuicKeepAliveSettings) GetInitialInterval() *durationpb.Duration { } // QUIC protocol options which apply to both downstream and upstream connections. -// [#next-free-field: 12] +// [#next-free-field: 14] type QuicProtocolOptions struct { state protoimpl.MessageState `protogen:"open.v1"` // Maximum number of streams that the client can negotiate per connection. “100“ @@ -266,8 +266,16 @@ type QuicProtocolOptions struct { // If absent, the feature will be disabled. // [#not-implemented-hide:] ConnectionMigration *QuicProtocolOptions_ConnectionMigrationSettings `protobuf:"bytes,11,opt,name=connection_migration,json=connectionMigration,proto3" json:"connection_migration,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Timeout for a QUIC connection to schedule memory reduction callback when the network has been idle for a while. + // This value should be smaller than the idle timeout to take effect. + // If not specified, memory reduction is set to infinite by QUIC connection (disabled). + MemoryReductionTimeout *durationpb.Duration `protobuf:"bytes,12,opt,name=memory_reduction_timeout,json=memoryReductionTimeout,proto3" json:"memory_reduction_timeout,omitempty"` + // If true, the QUIC connection will signal support for `SCONE `_ (Standard + // Communication with Network Elements) and process SCONE packets. + // If not present, the QUICHE default behavior will be used. + EnableScone *wrapperspb.BoolValue `protobuf:"bytes,13,opt,name=enable_scone,json=enableScone,proto3" json:"enable_scone,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QuicProtocolOptions) Reset() { @@ -377,6 +385,20 @@ func (x *QuicProtocolOptions) GetConnectionMigration() *QuicProtocolOptions_Conn return nil } +func (x *QuicProtocolOptions) GetMemoryReductionTimeout() *durationpb.Duration { + if x != nil { + return x.MemoryReductionTimeout + } + return nil +} + +func (x *QuicProtocolOptions) GetEnableScone() *wrapperspb.BoolValue { + if x != nil { + return x.EnableScone + } + return nil +} + type UpstreamHttpProtocolOptions struct { state protoimpl.MessageState `protogen:"open.v1"` // Set transport socket `SNI `_ for new @@ -569,7 +591,7 @@ func (x *AlternateProtocolsCacheOptions) GetCanonicalSuffixes() []string { return nil } -// [#next-free-field: 8] +// [#next-free-field: 9] type HttpProtocolOptions struct { state protoimpl.MessageState `protogen:"open.v1"` // The idle timeout for connections. The idle timeout is defined as the @@ -600,6 +622,22 @@ type HttpProtocolOptions struct { // if there are no active streams. See :ref:`drain_timeout // `. MaxConnectionDuration *durationpb.Duration `protobuf:"bytes,3,opt,name=max_connection_duration,json=maxConnectionDuration,proto3" json:"max_connection_duration,omitempty"` + // Percentage-based jitter for “max_connection_duration“. If set, the actual connection duration + // limit is extended by a random duration up to “max_connection_duration * jitter / 100“. + // This staggers connection teardowns across time and prevents a thundering-herd of reconnects + // when many connections are established at roughly the same time. + // This field is ignored if “max_connection_duration“ is not set. If not set, no jitter is added. + // + // .. note:: + // + // This field is currently only honored for downstream connections by the HTTP connection + // manager. It is not yet supported for upstream cluster connections. + // + // This is analogous to + // :ref:`max_downstream_connection_duration_jitter_percentage + // ` + // in the TCP proxy filter. + MaxConnectionDurationJitter *v3.Percent `protobuf:"bytes,8,opt,name=max_connection_duration_jitter,json=maxConnectionDurationJitter,proto3" json:"max_connection_duration_jitter,omitempty"` // The maximum number of headers (request headers if configured on HttpConnectionManager, // response headers when configured on a cluster). // If unconfigured, the default maximum number of headers allowed is “100“. @@ -622,8 +660,10 @@ type HttpProtocolOptions struct { // // Currently some protocol codecs impose limits on the maximum size of a single header. // - // * HTTP/2 (when using ``nghttp2``) limits a single header to around ``100kb``. - // * HTTP/3 limits a single header to around ``1024kb``. + // * HTTP/2 (when using nghttp2) limits a single header to around 100 KB by default. This can be + // adjusted via :ref:`max_header_field_size_kb + // `. + // * HTTP/3 limits a single header to around 1024 KB. MaxResponseHeadersKb *wrapperspb.UInt32Value `protobuf:"bytes,7,opt,name=max_response_headers_kb,json=maxResponseHeadersKb,proto3" json:"max_response_headers_kb,omitempty"` // Total duration to keep alive an HTTP request/response stream. If the time limit is reached the stream will be // reset independent of any other timeouts. If not specified, this value is not set. @@ -693,6 +733,13 @@ func (x *HttpProtocolOptions) GetMaxConnectionDuration() *durationpb.Duration { return nil } +func (x *HttpProtocolOptions) GetMaxConnectionDurationJitter() *v3.Percent { + if x != nil { + return x.MaxConnectionDurationJitter + } + return nil +} + func (x *HttpProtocolOptions) GetMaxHeadersCount() *wrapperspb.UInt32Value { if x != nil { return x.MaxHeadersCount @@ -745,8 +792,8 @@ type Http1ProtocolOptions struct { // Envoy does not otherwise support HTTP/1.0 without a Host header. // This is a no-op if “accept_http_10“ is not true. DefaultHostForHttp_10 string `protobuf:"bytes,3,opt,name=default_host_for_http_10,json=defaultHostForHttp10,proto3" json:"default_host_for_http_10,omitempty"` - // Describes how the keys for response headers should be formatted. By default, all header keys - // are lower cased. + // Describes how the keys for headers encoded by the HTTP/1 codec should be formatted. By + // default, all header keys are lower cased. HeaderKeyFormat *Http1ProtocolOptions_HeaderKeyFormat `protobuf:"bytes,4,opt,name=header_key_format,json=headerKeyFormat,proto3" json:"header_key_format,omitempty"` // Enables trailers for HTTP/1. By default the HTTP/1 codec drops proxied trailers. // @@ -811,7 +858,7 @@ type Http1ProtocolOptions struct { // // ``h2c`` upgrades are always removed for backwards compatibility, regardless of the // value in this setting. - IgnoreHttp_11Upgrade []*v3.StringMatcher `protobuf:"bytes,11,rep,name=ignore_http_11_upgrade,json=ignoreHttp11Upgrade,proto3" json:"ignore_http_11_upgrade,omitempty"` + IgnoreHttp_11Upgrade []*v31.StringMatcher `protobuf:"bytes,11,rep,name=ignore_http_11_upgrade,json=ignoreHttp11Upgrade,proto3" json:"ignore_http_11_upgrade,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -917,7 +964,7 @@ func (x *Http1ProtocolOptions) GetAllowCustomMethods() bool { return false } -func (x *Http1ProtocolOptions) GetIgnoreHttp_11Upgrade() []*v3.StringMatcher { +func (x *Http1ProtocolOptions) GetIgnoreHttp_11Upgrade() []*v31.StringMatcher { if x != nil { return x.IgnoreHttp_11Upgrade } @@ -940,7 +987,7 @@ type KeepaliveSettings struct { // A random jitter amount as a percentage of interval that will be added to each interval. // A value of zero means there will be no jitter. // The default value is “15%“. - IntervalJitter *v31.Percent `protobuf:"bytes,3,opt,name=interval_jitter,json=intervalJitter,proto3" json:"interval_jitter,omitempty"` + IntervalJitter *v3.Percent `protobuf:"bytes,3,opt,name=interval_jitter,json=intervalJitter,proto3" json:"interval_jitter,omitempty"` // If the connection has been idle for this duration, send a HTTP/2 ping ahead // of new stream creation, to quickly detect dead connections. // If this is zero, this type of PING will not be sent. @@ -997,7 +1044,7 @@ func (x *KeepaliveSettings) GetTimeout() *durationpb.Duration { return nil } -func (x *KeepaliveSettings) GetIntervalJitter() *v31.Percent { +func (x *KeepaliveSettings) GetIntervalJitter() *v3.Percent { if x != nil { return x.IntervalJitter } @@ -1011,7 +1058,7 @@ func (x *KeepaliveSettings) GetConnectionIdleInterval() *durationpb.Duration { return nil } -// [#next-free-field: 19] +// [#next-free-field: 23] type Http2ProtocolOptions struct { state protoimpl.MessageState `protogen:"open.v1"` // `Maximum table size `_ @@ -1097,7 +1144,7 @@ type Http2ProtocolOptions struct { // the connection is terminated. For downstream connections the “opened_streams“ is incremented when // Envoy receives complete response headers from the upstream server. For upstream connections the // “opened_streams“ is incremented when Envoy sends the “HEADERS“ frame for a new stream. The - // “http2.inbound_priority_frames_flood“ stat tracks the number of connections terminated due to + // “http2.inbound_window_update_frames_flood“ stat tracks the number of connections terminated due to // flood mitigation. The default “max_inbound_window_update_frames_per_data_frame_sent“ value is “10“. // Setting this to “1“ should be enough to support HTTP/2 implementations with basic flow control, // but more complex implementations that try to estimate available bandwidth require at least “2“. @@ -1169,8 +1216,65 @@ type Http2ProtocolOptions struct { // worth the network bandwidth saved e.g. for localhost. // If unset, uses the data plane's default value. EnableHuffmanEncoding *wrapperspb.BoolValue `protobuf:"bytes,18,opt,name=enable_huffman_encoding,json=enableHuffmanEncoding,proto3" json:"enable_huffman_encoding,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Configures the maximum wire-encoded size in KB of an individual header field (name or value) + // that the “nghttp2“ HPACK inflater will accept. This limit applies to the HPACK-compressed + // length on the wire, not the decoded length. If not specified, defaults to “64“ KB + // which is the “nghttp2“ default. + // + // This limit applies to headers received by the codec. When configured on the downstream + // HTTP Connection Manager, it limits individual request header fields. When configured on an + // upstream cluster, it limits individual response header fields. + // + // Due to Huffman encoding, the decoded header size that passes a given wire limit depends + // on the compression ratio of the content. For example, at the default “64“ KB wire + // limit, highly compressible header values can be approximately “100“ KB when decoded. + // Increasing this limit allows accepting larger individual headers at the cost of increased + // memory usage during HPACK decompression. + // + // This option only applies when using “nghttp2“. It is a no-op for “oghttp2“. The configured + // value of this field sets the per-header field size limit, which must not exceed the + // applicable aggregate total header size limit. Since a single header field cannot be larger + // than the total size allowed for all headers combined, this value is validated against + // :ref:`max_request_headers_kb ` + // when configured on the downstream HTTP Connection Manager, and against + // :ref:`max_response_headers_kb ` + // when configured on an upstream cluster. + // + // Since “Http2ProtocolOptions“ is configured independently for downstream and upstream, + // different per-header field limits can be set for each direction without requiring separate + // request and response fields. + // + // .. note:: + // + // When increasing this limit, ensure that upstream services and other proxies in the request + // path can also handle the larger individual header sizes. Mismatched limits may result in + // request failures. + MaxHeaderFieldSizeKb *wrapperspb.UInt32Value `protobuf:"bytes,19,opt,name=max_header_field_size_kb,json=maxHeaderFieldSizeKb,proto3" json:"max_header_field_size_kb,omitempty"` + // Whether to disallow obsolete text for oghttp2 in header field values. + // If not set, it defaults to false. + // From RFC 9110, https://www.rfc-editor.org/rfc/rfc9110.html#section-5.5: + // obs-text = %x80-FF + DisallowObsText *wrapperspb.BoolValue `protobuf:"bytes,20,opt,name=disallow_obs_text,json=disallowObsText,proto3" json:"disallow_obs_text,omitempty"` + // Configures the initial token count for the RST_STREAM rate limiter used by the “nghttp2“ + // server-side connection. This uses a token-bucket algorithm where each received RST_STREAM + // frame consumes one token, and tokens are replenished at :ref:`stream_reset_rate + // ` per second. + // When no tokens remain, “nghttp2“ sends GOAWAY with “INTERNAL_ERROR“ to close the + // connection, protecting against CVE-2023-44487 (HTTP/2 Rapid Reset). Defaults to “1000“. + // + // This option only applies when using “nghttp2“ as a server. It has no effect on “oghttp2“ + // or on client-side connections. + StreamResetBurst *wrapperspb.UInt64Value `protobuf:"bytes,21,opt,name=stream_reset_burst,json=streamResetBurst,proto3" json:"stream_reset_burst,omitempty"` + // Configures the token replenishment rate (tokens per second) for the RST_STREAM rate limiter + // used by the “nghttp2“ server-side connection. See :ref:`stream_reset_burst + // ` for details. + // Defaults to “33“. + // + // This option only applies when using “nghttp2“ as a server. It has no effect on “oghttp2“ + // or on client-side connections. + StreamResetRate *wrapperspb.UInt64Value `protobuf:"bytes,22,opt,name=stream_reset_rate,json=streamResetRate,proto3" json:"stream_reset_rate,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Http2ProtocolOptions) Reset() { @@ -1330,6 +1434,34 @@ func (x *Http2ProtocolOptions) GetEnableHuffmanEncoding() *wrapperspb.BoolValue return nil } +func (x *Http2ProtocolOptions) GetMaxHeaderFieldSizeKb() *wrapperspb.UInt32Value { + if x != nil { + return x.MaxHeaderFieldSizeKb + } + return nil +} + +func (x *Http2ProtocolOptions) GetDisallowObsText() *wrapperspb.BoolValue { + if x != nil { + return x.DisallowObsText + } + return nil +} + +func (x *Http2ProtocolOptions) GetStreamResetBurst() *wrapperspb.UInt64Value { + if x != nil { + return x.StreamResetBurst + } + return nil +} + +func (x *Http2ProtocolOptions) GetStreamResetRate() *wrapperspb.UInt64Value { + if x != nil { + return x.StreamResetRate + } + return nil +} + // [#not-implemented-hide:] type GrpcProtocolOptions struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1376,7 +1508,7 @@ func (x *GrpcProtocolOptions) GetHttp2ProtocolOptions() *Http2ProtocolOptions { } // A message which allows using HTTP/3. -// [#next-free-field: 9] +// [#next-free-field: 10] type Http3ProtocolOptions struct { state protoimpl.MessageState `protogen:"open.v1"` QuicProtocolOptions *QuicProtocolOptions `protobuf:"bytes,1,opt,name=quic_protocol_options,json=quicProtocolOptions,proto3" json:"quic_protocol_options,omitempty"` @@ -1414,8 +1546,13 @@ type Http3ProtocolOptions struct { // Disables connection level flow control for HTTP/3 streams. This is useful in situations where the streams share the same connection // but originate from different end-clients, so that each stream can make progress independently at non-front-line proxies. DisableConnectionFlowControlForStreams bool `protobuf:"varint,8,opt,name=disable_connection_flow_control_for_streams,json=disableConnectionFlowControlForStreams,proto3" json:"disable_connection_flow_control_for_streams,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Whether to disallow obsolete text in header field values. + // If not set, it defaults to true for alignment with current behavior. + // As defined in RFC 9110, https://www.rfc-editor.org/rfc/rfc9110.html#section-5.5: + // an obs-text character is a character in the range %x80-FF + DisallowObsText *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=disallow_obs_text,json=disallowObsText,proto3" json:"disallow_obs_text,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Http3ProtocolOptions) Reset() { @@ -1490,6 +1627,13 @@ func (x *Http3ProtocolOptions) GetDisableConnectionFlowControlForStreams() bool return false } +func (x *Http3ProtocolOptions) GetDisallowObsText() *wrapperspb.BoolValue { + if x != nil { + return x.DisallowObsText + } + return nil +} + // A message to control transformations to the :scheme header type SchemeHeaderTransformation struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1949,7 +2093,7 @@ const file_envoy_config_core_v3_protocol_proto_rawDesc = "" + "$envoy.api.v2.core.TcpProtocolOptions\"\xab\x01\n" + "\x15QuicKeepAliveSettings\x12<\n" + "\fmax_interval\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\vmaxInterval\x12T\n" + - "\x10initial_interval\x18\x02 \x01(\v2\x19.google.protobuf.DurationB\x0e\xfaB\v\xaa\x01\b\"\x002\x04\x10\xc0\x84=R\x0finitialInterval\"\xc7\v\n" + + "\x10initial_interval\x18\x02 \x01(\v2\x19.google.protobuf.DurationB\x0e\xfaB\v\xaa\x01\b\"\x002\x04\x10\xc0\x84=R\x0finitialInterval\"\xe7\f\n" + "\x13QuicProtocolOptions\x12[\n" + "\x16max_concurrent_streams\x18\x01 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\xfaB\x04*\x02(\x01R\x14maxConcurrentStreams\x12g\n" + "\x1ainitial_stream_window_size\x18\x02 \x01(\v2\x1c.google.protobuf.UInt32ValueB\f\xfaB\t*\a\x18\x80\x80\x80\b(\x01R\x17initialStreamWindowSize\x12o\n" + @@ -1963,7 +2107,10 @@ const file_envoy_config_core_v3_protocol_proto_rawDesc = "" + "\x11max_packet_length\x18\t \x01(\v2\x1c.google.protobuf.UInt64ValueR\x0fmaxPacketLength\x12\\\n" + "\x14client_packet_writer\x18\n" + " \x01(\v2*.envoy.config.core.v3.TypedExtensionConfigR\x12clientPacketWriter\x12x\n" + - "\x14connection_migration\x18\v \x01(\v2E.envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettingsR\x13connectionMigration\x1a\xb6\x03\n" + + "\x14connection_migration\x18\v \x01(\v2E.envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettingsR\x13connectionMigration\x12_\n" + + "\x18memory_reduction_timeout\x18\f \x01(\v2\x19.google.protobuf.DurationB\n" + + "\xfaB\a\xaa\x01\x042\x02\b\x01R\x16memoryReductionTimeout\x12=\n" + + "\fenable_scone\x18\r \x01(\v2\x1a.google.protobuf.BoolValueR\venableScone\x1a\xb6\x03\n" + "\x1bConnectionMigrationSettings\x12\x9d\x01\n" + "\x18migrate_idle_connections\x18\x01 \x01(\v2c.envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettings.MigrateIdleConnectionSettingsR\x16migrateIdleConnections\x12j\n" + "\x1fmax_time_on_non_default_network\x18\x02 \x01(\v2\x19.google.protobuf.DurationB\n" + @@ -1985,10 +2132,11 @@ const file_envoy_config_core_v3_protocol_proto_rawDesc = "" + "\x12canonical_suffixes\x18\x05 \x03(\tR\x11canonicalSuffixes\x1ah\n" + "\x1cAlternateProtocolsCacheEntry\x12'\n" + "\bhostname\x18\x01 \x01(\tB\v\xfaB\br\x06\xd0\x01\x01\xc0\x01\x01R\bhostname\x12\x1f\n" + - "\x04port\x18\x02 \x01(\rB\v\xfaB\b*\x06\x10\xff\xff\x03 \x00R\x04port\"\x90\x06\n" + + "\x04port\x18\x02 \x01(\rB\v\xfaB\b*\x06\x10\xff\xff\x03 \x00R\x04port\"\xed\x06\n" + "\x13HttpProtocolOptions\x12<\n" + "\fidle_timeout\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\vidleTimeout\x12Q\n" + - "\x17max_connection_duration\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x15maxConnectionDuration\x12Q\n" + + "\x17max_connection_duration\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x15maxConnectionDuration\x12[\n" + + "\x1emax_connection_duration_jitter\x18\b \x01(\v2\x16.envoy.type.v3.PercentR\x1bmaxConnectionDurationJitter\x12Q\n" + "\x11max_headers_count\x18\x02 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\xfaB\x04*\x02(\x01R\x0fmaxHeadersCount\x12_\n" + "\x17max_response_headers_kb\x18\a \x01(\v2\x1c.google.protobuf.UInt32ValueB\n" + "\xfaB\a*\x05\x18\x80@ \x00R\x14maxResponseHeadersKb\x12I\n" + @@ -2025,7 +2173,7 @@ const file_envoy_config_core_v3_protocol_proto_rawDesc = "" + "\binterval\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\f\xfaB\t\xaa\x01\x062\x04\x10\xc0\x84=R\binterval\x12C\n" + "\atimeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationB\x0e\xfaB\v\xaa\x01\b\b\x012\x04\x10\xc0\x84=R\atimeout\x12?\n" + "\x0finterval_jitter\x18\x03 \x01(\v2\x16.envoy.type.v3.PercentR\x0eintervalJitter\x12a\n" + - "\x18connection_idle_interval\x18\x04 \x01(\v2\x19.google.protobuf.DurationB\f\xfaB\t\xaa\x01\x062\x04\x10\xc0\x84=R\x16connectionIdleInterval\"\xee\x0f\n" + + "\x18connection_idle_interval\x18\x04 \x01(\v2\x19.google.protobuf.DurationB\f\xfaB\t\xaa\x01\x062\x04\x10\xc0\x84=R\x16connectionIdleInterval\"\xae\x12\n" + "\x14Http2ProtocolOptions\x12F\n" + "\x10hpack_table_size\x18\x01 \x01(\v2\x1c.google.protobuf.UInt32ValueR\x0ehpackTableSize\x12a\n" + "\x16max_concurrent_streams\x18\x02 \x01(\v2\x1c.google.protobuf.UInt32ValueB\r\xfaB\n" + @@ -2048,7 +2196,12 @@ const file_envoy_config_core_v3_protocol_proto_rawDesc = "" + "\x14connection_keepalive\x18\x0f \x01(\v2'.envoy.config.core.v3.KeepaliveSettingsR\x13connectionKeepalive\x12P\n" + "\x11use_oghttp2_codec\x18\x10 \x01(\v2\x1a.google.protobuf.BoolValueB\b\xd2Ƥ\xe1\x06\x02\b\x01R\x0fuseOghttp2Codec\x12H\n" + "\x11max_metadata_size\x18\x11 \x01(\v2\x1c.google.protobuf.UInt64ValueR\x0fmaxMetadataSize\x12R\n" + - "\x17enable_huffman_encoding\x18\x12 \x01(\v2\x1a.google.protobuf.BoolValueR\x15enableHuffmanEncoding\x1a\xe2\x01\n" + + "\x17enable_huffman_encoding\x18\x12 \x01(\v2\x1a.google.protobuf.BoolValueR\x15enableHuffmanEncoding\x12`\n" + + "\x18max_header_field_size_kb\x18\x13 \x01(\v2\x1c.google.protobuf.UInt32ValueB\n" + + "\xfaB\a*\x05\x18\x80\x02(@R\x14maxHeaderFieldSizeKb\x12F\n" + + "\x11disallow_obs_text\x18\x14 \x01(\v2\x1a.google.protobuf.BoolValueR\x0fdisallowObsText\x12J\n" + + "\x12stream_reset_burst\x18\x15 \x01(\v2\x1c.google.protobuf.UInt64ValueR\x10streamResetBurst\x12H\n" + + "\x11stream_reset_rate\x18\x16 \x01(\v2\x1c.google.protobuf.UInt64ValueR\x0fstreamResetRate\x1a\xe2\x01\n" + "\x11SettingsParameter\x12N\n" + "\n" + "identifier\x18\x01 \x01(\v2\x1c.google.protobuf.UInt32ValueB\x10\xfaB\r\x8a\x01\x02\x10\x01*\x06\x18\xff\xff\x03(\x00R\n" + @@ -2058,14 +2211,15 @@ const file_envoy_config_core_v3_protocol_proto_rawDesc = "" + "&envoy.api.v2.core.Http2ProtocolOptions\"\xa5\x01\n" + "\x13GrpcProtocolOptions\x12`\n" + "\x16http2_protocol_options\x18\x01 \x01(\v2*.envoy.config.core.v3.Http2ProtocolOptionsR\x14http2ProtocolOptions:,\x9aň\x1e'\n" + - "%envoy.api.v2.core.GrpcProtocolOptions\"\xda\x03\n" + + "%envoy.api.v2.core.GrpcProtocolOptions\"\xa2\x04\n" + "\x14Http3ProtocolOptions\x12]\n" + "\x15quic_protocol_options\x18\x01 \x01(\v2).envoy.config.core.v3.QuicProtocolOptionsR\x13quicProtocolOptions\x12z\n" + "-override_stream_error_on_invalid_http_message\x18\x02 \x01(\v2\x1a.google.protobuf.BoolValueR'overrideStreamErrorOnInvalidHttpMessage\x12>\n" + "\x16allow_extended_connect\x18\x05 \x01(\bB\b\xd2Ƥ\xe1\x06\x02\b\x01R\x14allowExtendedConnect\x12%\n" + "\x0eallow_metadata\x18\x06 \x01(\bR\rallowMetadata\x12#\n" + "\rdisable_qpack\x18\a \x01(\bR\fdisableQpack\x12[\n" + - "+disable_connection_flow_control_for_streams\x18\b \x01(\bR&disableConnectionFlowControlForStreams\"\x9b\x01\n" + + "+disable_connection_flow_control_for_streams\x18\b \x01(\bR&disableConnectionFlowControlForStreams\x12F\n" + + "\x11disallow_obs_text\x18\t \x01(\v2\x1a.google.protobuf.BoolValueR\x0fdisallowObsText\"\x9b\x01\n" + "\x1aSchemeHeaderTransformation\x12D\n" + "\x13scheme_to_overwrite\x18\x01 \x01(\tB\x12\xfaB\x0fr\rR\x04httpR\x05httpsH\x00R\x11schemeToOverwrite\x12%\n" + "\x0ematch_upstream\x18\x02 \x01(\bR\rmatchUpstreamB\x10\n" + @@ -2111,8 +2265,8 @@ var file_envoy_config_core_v3_protocol_proto_goTypes = []any{ (*wrapperspb.UInt64Value)(nil), // 21: google.protobuf.UInt64Value (*TypedExtensionConfig)(nil), // 22: envoy.config.core.v3.TypedExtensionConfig (*wrapperspb.BoolValue)(nil), // 23: google.protobuf.BoolValue - (*v3.StringMatcher)(nil), // 24: envoy.type.matcher.v3.StringMatcher - (*v31.Percent)(nil), // 25: envoy.type.v3.Percent + (*v3.Percent)(nil), // 24: envoy.type.v3.Percent + (*v31.StringMatcher)(nil), // 25: envoy.type.matcher.v3.StringMatcher } var file_envoy_config_core_v3_protocol_proto_depIdxs = []int32{ 19, // 0: envoy.config.core.v3.QuicKeepAliveSettings.max_interval:type_name -> google.protobuf.Duration @@ -2126,55 +2280,63 @@ var file_envoy_config_core_v3_protocol_proto_depIdxs = []int32{ 21, // 8: envoy.config.core.v3.QuicProtocolOptions.max_packet_length:type_name -> google.protobuf.UInt64Value 22, // 9: envoy.config.core.v3.QuicProtocolOptions.client_packet_writer:type_name -> envoy.config.core.v3.TypedExtensionConfig 13, // 10: envoy.config.core.v3.QuicProtocolOptions.connection_migration:type_name -> envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettings - 20, // 11: envoy.config.core.v3.AlternateProtocolsCacheOptions.max_entries:type_name -> google.protobuf.UInt32Value - 22, // 12: envoy.config.core.v3.AlternateProtocolsCacheOptions.key_value_store_config:type_name -> envoy.config.core.v3.TypedExtensionConfig - 15, // 13: envoy.config.core.v3.AlternateProtocolsCacheOptions.prepopulated_entries:type_name -> envoy.config.core.v3.AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntry - 19, // 14: envoy.config.core.v3.HttpProtocolOptions.idle_timeout:type_name -> google.protobuf.Duration - 19, // 15: envoy.config.core.v3.HttpProtocolOptions.max_connection_duration:type_name -> google.protobuf.Duration - 20, // 16: envoy.config.core.v3.HttpProtocolOptions.max_headers_count:type_name -> google.protobuf.UInt32Value - 20, // 17: envoy.config.core.v3.HttpProtocolOptions.max_response_headers_kb:type_name -> google.protobuf.UInt32Value - 19, // 18: envoy.config.core.v3.HttpProtocolOptions.max_stream_duration:type_name -> google.protobuf.Duration - 0, // 19: envoy.config.core.v3.HttpProtocolOptions.headers_with_underscores_action:type_name -> envoy.config.core.v3.HttpProtocolOptions.HeadersWithUnderscoresAction - 20, // 20: envoy.config.core.v3.HttpProtocolOptions.max_requests_per_connection:type_name -> google.protobuf.UInt32Value - 23, // 21: envoy.config.core.v3.Http1ProtocolOptions.allow_absolute_url:type_name -> google.protobuf.BoolValue - 16, // 22: envoy.config.core.v3.Http1ProtocolOptions.header_key_format:type_name -> envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat - 23, // 23: envoy.config.core.v3.Http1ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue - 23, // 24: envoy.config.core.v3.Http1ProtocolOptions.use_balsa_parser:type_name -> google.protobuf.BoolValue - 24, // 25: envoy.config.core.v3.Http1ProtocolOptions.ignore_http_11_upgrade:type_name -> envoy.type.matcher.v3.StringMatcher - 19, // 26: envoy.config.core.v3.KeepaliveSettings.interval:type_name -> google.protobuf.Duration - 19, // 27: envoy.config.core.v3.KeepaliveSettings.timeout:type_name -> google.protobuf.Duration - 25, // 28: envoy.config.core.v3.KeepaliveSettings.interval_jitter:type_name -> envoy.type.v3.Percent - 19, // 29: envoy.config.core.v3.KeepaliveSettings.connection_idle_interval:type_name -> google.protobuf.Duration - 20, // 30: envoy.config.core.v3.Http2ProtocolOptions.hpack_table_size:type_name -> google.protobuf.UInt32Value - 20, // 31: envoy.config.core.v3.Http2ProtocolOptions.max_concurrent_streams:type_name -> google.protobuf.UInt32Value - 20, // 32: envoy.config.core.v3.Http2ProtocolOptions.initial_stream_window_size:type_name -> google.protobuf.UInt32Value - 20, // 33: envoy.config.core.v3.Http2ProtocolOptions.initial_connection_window_size:type_name -> google.protobuf.UInt32Value - 20, // 34: envoy.config.core.v3.Http2ProtocolOptions.max_outbound_frames:type_name -> google.protobuf.UInt32Value - 20, // 35: envoy.config.core.v3.Http2ProtocolOptions.max_outbound_control_frames:type_name -> google.protobuf.UInt32Value - 20, // 36: envoy.config.core.v3.Http2ProtocolOptions.max_consecutive_inbound_frames_with_empty_payload:type_name -> google.protobuf.UInt32Value - 20, // 37: envoy.config.core.v3.Http2ProtocolOptions.max_inbound_priority_frames_per_stream:type_name -> google.protobuf.UInt32Value - 20, // 38: envoy.config.core.v3.Http2ProtocolOptions.max_inbound_window_update_frames_per_data_frame_sent:type_name -> google.protobuf.UInt32Value - 23, // 39: envoy.config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue - 18, // 40: envoy.config.core.v3.Http2ProtocolOptions.custom_settings_parameters:type_name -> envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter - 8, // 41: envoy.config.core.v3.Http2ProtocolOptions.connection_keepalive:type_name -> envoy.config.core.v3.KeepaliveSettings - 23, // 42: envoy.config.core.v3.Http2ProtocolOptions.use_oghttp2_codec:type_name -> google.protobuf.BoolValue - 21, // 43: envoy.config.core.v3.Http2ProtocolOptions.max_metadata_size:type_name -> google.protobuf.UInt64Value - 23, // 44: envoy.config.core.v3.Http2ProtocolOptions.enable_huffman_encoding:type_name -> google.protobuf.BoolValue - 9, // 45: envoy.config.core.v3.GrpcProtocolOptions.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions - 3, // 46: envoy.config.core.v3.Http3ProtocolOptions.quic_protocol_options:type_name -> envoy.config.core.v3.QuicProtocolOptions - 23, // 47: envoy.config.core.v3.Http3ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue - 14, // 48: envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettings.migrate_idle_connections:type_name -> envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettings.MigrateIdleConnectionSettings - 19, // 49: envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettings.max_time_on_non_default_network:type_name -> google.protobuf.Duration - 19, // 50: envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettings.MigrateIdleConnectionSettings.max_idle_time_before_migration:type_name -> google.protobuf.Duration - 17, // 51: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.proper_case_words:type_name -> envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords - 22, // 52: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.stateful_formatter:type_name -> envoy.config.core.v3.TypedExtensionConfig - 20, // 53: envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter.identifier:type_name -> google.protobuf.UInt32Value - 20, // 54: envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter.value:type_name -> google.protobuf.UInt32Value - 55, // [55:55] is the sub-list for method output_type - 55, // [55:55] is the sub-list for method input_type - 55, // [55:55] is the sub-list for extension type_name - 55, // [55:55] is the sub-list for extension extendee - 0, // [0:55] is the sub-list for field type_name + 19, // 11: envoy.config.core.v3.QuicProtocolOptions.memory_reduction_timeout:type_name -> google.protobuf.Duration + 23, // 12: envoy.config.core.v3.QuicProtocolOptions.enable_scone:type_name -> google.protobuf.BoolValue + 20, // 13: envoy.config.core.v3.AlternateProtocolsCacheOptions.max_entries:type_name -> google.protobuf.UInt32Value + 22, // 14: envoy.config.core.v3.AlternateProtocolsCacheOptions.key_value_store_config:type_name -> envoy.config.core.v3.TypedExtensionConfig + 15, // 15: envoy.config.core.v3.AlternateProtocolsCacheOptions.prepopulated_entries:type_name -> envoy.config.core.v3.AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntry + 19, // 16: envoy.config.core.v3.HttpProtocolOptions.idle_timeout:type_name -> google.protobuf.Duration + 19, // 17: envoy.config.core.v3.HttpProtocolOptions.max_connection_duration:type_name -> google.protobuf.Duration + 24, // 18: envoy.config.core.v3.HttpProtocolOptions.max_connection_duration_jitter:type_name -> envoy.type.v3.Percent + 20, // 19: envoy.config.core.v3.HttpProtocolOptions.max_headers_count:type_name -> google.protobuf.UInt32Value + 20, // 20: envoy.config.core.v3.HttpProtocolOptions.max_response_headers_kb:type_name -> google.protobuf.UInt32Value + 19, // 21: envoy.config.core.v3.HttpProtocolOptions.max_stream_duration:type_name -> google.protobuf.Duration + 0, // 22: envoy.config.core.v3.HttpProtocolOptions.headers_with_underscores_action:type_name -> envoy.config.core.v3.HttpProtocolOptions.HeadersWithUnderscoresAction + 20, // 23: envoy.config.core.v3.HttpProtocolOptions.max_requests_per_connection:type_name -> google.protobuf.UInt32Value + 23, // 24: envoy.config.core.v3.Http1ProtocolOptions.allow_absolute_url:type_name -> google.protobuf.BoolValue + 16, // 25: envoy.config.core.v3.Http1ProtocolOptions.header_key_format:type_name -> envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat + 23, // 26: envoy.config.core.v3.Http1ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue + 23, // 27: envoy.config.core.v3.Http1ProtocolOptions.use_balsa_parser:type_name -> google.protobuf.BoolValue + 25, // 28: envoy.config.core.v3.Http1ProtocolOptions.ignore_http_11_upgrade:type_name -> envoy.type.matcher.v3.StringMatcher + 19, // 29: envoy.config.core.v3.KeepaliveSettings.interval:type_name -> google.protobuf.Duration + 19, // 30: envoy.config.core.v3.KeepaliveSettings.timeout:type_name -> google.protobuf.Duration + 24, // 31: envoy.config.core.v3.KeepaliveSettings.interval_jitter:type_name -> envoy.type.v3.Percent + 19, // 32: envoy.config.core.v3.KeepaliveSettings.connection_idle_interval:type_name -> google.protobuf.Duration + 20, // 33: envoy.config.core.v3.Http2ProtocolOptions.hpack_table_size:type_name -> google.protobuf.UInt32Value + 20, // 34: envoy.config.core.v3.Http2ProtocolOptions.max_concurrent_streams:type_name -> google.protobuf.UInt32Value + 20, // 35: envoy.config.core.v3.Http2ProtocolOptions.initial_stream_window_size:type_name -> google.protobuf.UInt32Value + 20, // 36: envoy.config.core.v3.Http2ProtocolOptions.initial_connection_window_size:type_name -> google.protobuf.UInt32Value + 20, // 37: envoy.config.core.v3.Http2ProtocolOptions.max_outbound_frames:type_name -> google.protobuf.UInt32Value + 20, // 38: envoy.config.core.v3.Http2ProtocolOptions.max_outbound_control_frames:type_name -> google.protobuf.UInt32Value + 20, // 39: envoy.config.core.v3.Http2ProtocolOptions.max_consecutive_inbound_frames_with_empty_payload:type_name -> google.protobuf.UInt32Value + 20, // 40: envoy.config.core.v3.Http2ProtocolOptions.max_inbound_priority_frames_per_stream:type_name -> google.protobuf.UInt32Value + 20, // 41: envoy.config.core.v3.Http2ProtocolOptions.max_inbound_window_update_frames_per_data_frame_sent:type_name -> google.protobuf.UInt32Value + 23, // 42: envoy.config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue + 18, // 43: envoy.config.core.v3.Http2ProtocolOptions.custom_settings_parameters:type_name -> envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter + 8, // 44: envoy.config.core.v3.Http2ProtocolOptions.connection_keepalive:type_name -> envoy.config.core.v3.KeepaliveSettings + 23, // 45: envoy.config.core.v3.Http2ProtocolOptions.use_oghttp2_codec:type_name -> google.protobuf.BoolValue + 21, // 46: envoy.config.core.v3.Http2ProtocolOptions.max_metadata_size:type_name -> google.protobuf.UInt64Value + 23, // 47: envoy.config.core.v3.Http2ProtocolOptions.enable_huffman_encoding:type_name -> google.protobuf.BoolValue + 20, // 48: envoy.config.core.v3.Http2ProtocolOptions.max_header_field_size_kb:type_name -> google.protobuf.UInt32Value + 23, // 49: envoy.config.core.v3.Http2ProtocolOptions.disallow_obs_text:type_name -> google.protobuf.BoolValue + 21, // 50: envoy.config.core.v3.Http2ProtocolOptions.stream_reset_burst:type_name -> google.protobuf.UInt64Value + 21, // 51: envoy.config.core.v3.Http2ProtocolOptions.stream_reset_rate:type_name -> google.protobuf.UInt64Value + 9, // 52: envoy.config.core.v3.GrpcProtocolOptions.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions + 3, // 53: envoy.config.core.v3.Http3ProtocolOptions.quic_protocol_options:type_name -> envoy.config.core.v3.QuicProtocolOptions + 23, // 54: envoy.config.core.v3.Http3ProtocolOptions.override_stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue + 23, // 55: envoy.config.core.v3.Http3ProtocolOptions.disallow_obs_text:type_name -> google.protobuf.BoolValue + 14, // 56: envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettings.migrate_idle_connections:type_name -> envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettings.MigrateIdleConnectionSettings + 19, // 57: envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettings.max_time_on_non_default_network:type_name -> google.protobuf.Duration + 19, // 58: envoy.config.core.v3.QuicProtocolOptions.ConnectionMigrationSettings.MigrateIdleConnectionSettings.max_idle_time_before_migration:type_name -> google.protobuf.Duration + 17, // 59: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.proper_case_words:type_name -> envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords + 22, // 60: envoy.config.core.v3.Http1ProtocolOptions.HeaderKeyFormat.stateful_formatter:type_name -> envoy.config.core.v3.TypedExtensionConfig + 20, // 61: envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter.identifier:type_name -> google.protobuf.UInt32Value + 20, // 62: envoy.config.core.v3.Http2ProtocolOptions.SettingsParameter.value:type_name -> google.protobuf.UInt32Value + 63, // [63:63] is the sub-list for method output_type + 63, // [63:63] is the sub-list for method input_type + 63, // [63:63] is the sub-list for extension type_name + 63, // [63:63] is the sub-list for extension extendee + 0, // [0:63] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_protocol_proto_init() } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.validate.go index 74718da3..072e7de3 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol.pb.validate.go @@ -532,6 +532,65 @@ func (m *QuicProtocolOptions) validate(all bool) error { } } + if d := m.GetMemoryReductionTimeout(); d != nil { + dur, err := d.AsDuration(), d.CheckValid() + if err != nil { + err = QuicProtocolOptionsValidationError{ + field: "MemoryReductionTimeout", + reason: "value is not a valid duration", + cause: err, + } + if !all { + return err + } + errors = append(errors, err) + } else { + + gte := time.Duration(1*time.Second + 0*time.Nanosecond) + + if dur < gte { + err := QuicProtocolOptionsValidationError{ + field: "MemoryReductionTimeout", + reason: "value must be greater than or equal to 1s", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + } + + if all { + switch v := interface{}(m.GetEnableScone()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, QuicProtocolOptionsValidationError{ + field: "EnableScone", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, QuicProtocolOptionsValidationError{ + field: "EnableScone", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetEnableScone()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return QuicProtocolOptionsValidationError{ + field: "EnableScone", + reason: "embedded message failed validation", + cause: err, + } + } + } + if len(errors) > 0 { return QuicProtocolOptionsMultiError(errors) } @@ -1008,6 +1067,35 @@ func (m *HttpProtocolOptions) validate(all bool) error { } } + if all { + switch v := interface{}(m.GetMaxConnectionDurationJitter()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, HttpProtocolOptionsValidationError{ + field: "MaxConnectionDurationJitter", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, HttpProtocolOptionsValidationError{ + field: "MaxConnectionDurationJitter", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetMaxConnectionDurationJitter()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return HttpProtocolOptionsValidationError{ + field: "MaxConnectionDurationJitter", + reason: "embedded message failed validation", + cause: err, + } + } + } + if wrapper := m.GetMaxHeadersCount(); wrapper != nil { if wrapper.GetValue() < 1 { @@ -2058,6 +2146,108 @@ func (m *Http2ProtocolOptions) validate(all bool) error { } } + if wrapper := m.GetMaxHeaderFieldSizeKb(); wrapper != nil { + + if val := wrapper.GetValue(); val < 64 || val > 256 { + err := Http2ProtocolOptionsValidationError{ + field: "MaxHeaderFieldSizeKb", + reason: "value must be inside range [64, 256]", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + + if all { + switch v := interface{}(m.GetDisallowObsText()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, Http2ProtocolOptionsValidationError{ + field: "DisallowObsText", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, Http2ProtocolOptionsValidationError{ + field: "DisallowObsText", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetDisallowObsText()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return Http2ProtocolOptionsValidationError{ + field: "DisallowObsText", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetStreamResetBurst()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, Http2ProtocolOptionsValidationError{ + field: "StreamResetBurst", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, Http2ProtocolOptionsValidationError{ + field: "StreamResetBurst", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetStreamResetBurst()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return Http2ProtocolOptionsValidationError{ + field: "StreamResetBurst", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetStreamResetRate()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, Http2ProtocolOptionsValidationError{ + field: "StreamResetRate", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, Http2ProtocolOptionsValidationError{ + field: "StreamResetRate", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetStreamResetRate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return Http2ProtocolOptionsValidationError{ + field: "StreamResetRate", + reason: "embedded message failed validation", + cause: err, + } + } + } + if len(errors) > 0 { return Http2ProtocolOptionsMultiError(errors) } @@ -2357,6 +2547,35 @@ func (m *Http3ProtocolOptions) validate(all bool) error { // no validation rules for DisableConnectionFlowControlForStreams + if all { + switch v := interface{}(m.GetDisallowObsText()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, Http3ProtocolOptionsValidationError{ + field: "DisallowObsText", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, Http3ProtocolOptionsValidationError{ + field: "DisallowObsText", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetDisallowObsText()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return Http3ProtocolOptionsValidationError{ + field: "DisallowObsText", + reason: "embedded message failed validation", + cause: err, + } + } + } + if len(errors) > 0 { return Http3ProtocolOptionsMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol_vtproto.pb.go index e7ec8d90..69b7c7ce 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/protocol_vtproto.pb.go @@ -233,6 +233,26 @@ func (m *QuicProtocolOptions) MarshalToSizedBufferVTStrict(dAtA []byte) (int, er i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.EnableScone != nil { + size, err := (*wrapperspb.BoolValue)(m.EnableScone).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + if m.MemoryReductionTimeout != nil { + size, err := (*durationpb.Duration)(m.MemoryReductionTimeout).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x62 + } if m.ConnectionMigration != nil { size, err := m.ConnectionMigration.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -556,6 +576,28 @@ func (m *HttpProtocolOptions) MarshalToSizedBufferVTStrict(dAtA []byte) (int, er i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.MaxConnectionDurationJitter != nil { + if vtmsg, ok := interface{}(m.MaxConnectionDurationJitter).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.MaxConnectionDurationJitter) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x42 + } if m.MaxResponseHeadersKb != nil { size, err := (*wrapperspb.UInt32Value)(m.MaxResponseHeadersKb).MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -1072,6 +1114,54 @@ func (m *Http2ProtocolOptions) MarshalToSizedBufferVTStrict(dAtA []byte) (int, e i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.StreamResetRate != nil { + size, err := (*wrapperspb.UInt64Value)(m.StreamResetRate).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb2 + } + if m.StreamResetBurst != nil { + size, err := (*wrapperspb.UInt64Value)(m.StreamResetBurst).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xaa + } + if m.DisallowObsText != nil { + size, err := (*wrapperspb.BoolValue)(m.DisallowObsText).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa2 + } + if m.MaxHeaderFieldSizeKb != nil { + size, err := (*wrapperspb.UInt32Value)(m.MaxHeaderFieldSizeKb).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x9a + } if m.EnableHuffmanEncoding != nil { size, err := (*wrapperspb.BoolValue)(m.EnableHuffmanEncoding).MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -1336,6 +1426,16 @@ func (m *Http3ProtocolOptions) MarshalToSizedBufferVTStrict(dAtA []byte) (int, e i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.DisallowObsText != nil { + size, err := (*wrapperspb.BoolValue)(m.DisallowObsText).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } if m.DisableConnectionFlowControlForStreams { i-- if m.DisableConnectionFlowControlForStreams { @@ -1573,6 +1673,14 @@ func (m *QuicProtocolOptions) SizeVT() (n int) { l = m.ConnectionMigration.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.MemoryReductionTimeout != nil { + l = (*durationpb.Duration)(m.MemoryReductionTimeout).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.EnableScone != nil { + l = (*wrapperspb.BoolValue)(m.EnableScone).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -1681,6 +1789,16 @@ func (m *HttpProtocolOptions) SizeVT() (n int) { l = (*wrapperspb.UInt32Value)(m.MaxResponseHeadersKb).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.MaxConnectionDurationJitter != nil { + if size, ok := interface{}(m.MaxConnectionDurationJitter).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.MaxConnectionDurationJitter) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -1920,6 +2038,22 @@ func (m *Http2ProtocolOptions) SizeVT() (n int) { l = (*wrapperspb.BoolValue)(m.EnableHuffmanEncoding).SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.MaxHeaderFieldSizeKb != nil { + l = (*wrapperspb.UInt32Value)(m.MaxHeaderFieldSizeKb).SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.DisallowObsText != nil { + l = (*wrapperspb.BoolValue)(m.DisallowObsText).SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StreamResetBurst != nil { + l = (*wrapperspb.UInt64Value)(m.StreamResetBurst).SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StreamResetRate != nil { + l = (*wrapperspb.UInt64Value)(m.StreamResetRate).SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -1964,6 +2098,10 @@ func (m *Http3ProtocolOptions) SizeVT() (n int) { if m.DisableConnectionFlowControlForStreams { n += 2 } + if m.DisallowObsText != nil { + l = (*wrapperspb.BoolValue)(m.DisallowObsText).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.go index 7144f8b1..43d0cb82 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/proxy_protocol.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/proxy_protocol.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/resolver.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/resolver.pb.go index 3645293f..cd026d6d 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/resolver.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/resolver.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/resolver.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_cmsg_headers.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_cmsg_headers.pb.go index d3c6be56..80109f9b 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_cmsg_headers.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_cmsg_headers.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/socket_cmsg_headers.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.go index 8599801f..7112e77d 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/socket_option.proto package corev3 @@ -75,6 +75,60 @@ func (SocketOption_SocketState) EnumDescriptor() ([]byte, []int) { return file_envoy_config_core_v3_socket_option_proto_rawDescGZIP(), []int{0, 0} } +// The `socket IP version `_ to apply the +// socket option to. +type SocketOption_SocketIpVersion int32 + +const ( + // Apply the socket option to all socket IP versions. + SocketOption_SOCKET_IP_VERSION_UNSPECIFIED SocketOption_SocketIpVersion = 0 + // Apply the socket option to the IPv4 socket type. + SocketOption_SOCKET_IP_VERSION_IPV4 SocketOption_SocketIpVersion = 1 + // Apply the socket option to the IPv6 socket type. + SocketOption_SOCKET_IP_VERSION_IPV6 SocketOption_SocketIpVersion = 2 +) + +// Enum value maps for SocketOption_SocketIpVersion. +var ( + SocketOption_SocketIpVersion_name = map[int32]string{ + 0: "SOCKET_IP_VERSION_UNSPECIFIED", + 1: "SOCKET_IP_VERSION_IPV4", + 2: "SOCKET_IP_VERSION_IPV6", + } + SocketOption_SocketIpVersion_value = map[string]int32{ + "SOCKET_IP_VERSION_UNSPECIFIED": 0, + "SOCKET_IP_VERSION_IPV4": 1, + "SOCKET_IP_VERSION_IPV6": 2, + } +) + +func (x SocketOption_SocketIpVersion) Enum() *SocketOption_SocketIpVersion { + p := new(SocketOption_SocketIpVersion) + *p = x + return p +} + +func (x SocketOption_SocketIpVersion) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SocketOption_SocketIpVersion) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_config_core_v3_socket_option_proto_enumTypes[1].Descriptor() +} + +func (SocketOption_SocketIpVersion) Type() protoreflect.EnumType { + return &file_envoy_config_core_v3_socket_option_proto_enumTypes[1] +} + +func (x SocketOption_SocketIpVersion) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SocketOption_SocketIpVersion.Descriptor instead. +func (SocketOption_SocketIpVersion) EnumDescriptor() ([]byte, []int) { + return file_envoy_config_core_v3_socket_option_proto_rawDescGZIP(), []int{0, 1} +} + // Generic socket option message. This would be used to set socket options that // might not exist in upstream kernels or precompiled Envoy binaries. // @@ -97,7 +151,7 @@ func (SocketOption_SocketState) EnumDescriptor() ([]byte, []int) { // :ref:`admin's ` socket_options etc. // // It should be noted that the name or level may have different values on different platforms. -// [#next-free-field: 8] +// [#next-free-field: 9] type SocketOption struct { state protoimpl.MessageState `protogen:"open.v1"` // An optional name to give this socket option for debugging, etc. @@ -117,7 +171,11 @@ type SocketOption struct { State SocketOption_SocketState `protobuf:"varint,6,opt,name=state,proto3,enum=envoy.config.core.v3.SocketOption_SocketState" json:"state,omitempty"` // Apply the socket option to the specified `socket type `_. // If not specified, the socket option will be applied to all socket types. - Type *SocketOption_SocketType `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"` + Type *SocketOption_SocketType `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"` + // Apply the socket option to the specified `socket Ip version + // `_. If not specified, the socket option + // will be applied to all socket ip versions. + IpVersion SocketOption_SocketIpVersion `protobuf:"varint,8,opt,name=ip_version,json=ipVersion,proto3,enum=envoy.config.core.v3.SocketOption_SocketIpVersion" json:"ip_version,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -212,6 +270,13 @@ func (x *SocketOption) GetType() *SocketOption_SocketType { return nil } +func (x *SocketOption) GetIpVersion() SocketOption_SocketIpVersion { + if x != nil { + return x.IpVersion + } + return SocketOption_SOCKET_IP_VERSION_UNSPECIFIED +} + type isSocketOption_Value interface { isSocketOption_Value() } @@ -413,7 +478,7 @@ var File_envoy_config_core_v3_socket_option_proto protoreflect.FileDescriptor const file_envoy_config_core_v3_socket_option_proto_rawDesc = "" + "\n" + - "(envoy/config/core/v3/socket_option.proto\x12\x14envoy.config.core.v3\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xef\x04\n" + + "(envoy/config/core/v3/socket_option.proto\x12\x14envoy.config.core.v3\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xb0\x06\n" + "\fSocketOption\x12 \n" + "\vdescription\x18\x01 \x01(\tR\vdescription\x12\x14\n" + "\x05level\x18\x02 \x01(\x03R\x05level\x12\x12\n" + @@ -421,7 +486,9 @@ const file_envoy_config_core_v3_socket_option_proto_rawDesc = "" + "\tint_value\x18\x04 \x01(\x03H\x00R\bintValue\x12\x1d\n" + "\tbuf_value\x18\x05 \x01(\fH\x00R\bbufValue\x12N\n" + "\x05state\x18\x06 \x01(\x0e2..envoy.config.core.v3.SocketOption.SocketStateB\b\xfaB\x05\x82\x01\x02\x10\x01R\x05state\x12A\n" + - "\x04type\x18\a \x01(\v2-.envoy.config.core.v3.SocketOption.SocketTypeR\x04type\x1a\xc4\x01\n" + + "\x04type\x18\a \x01(\v2-.envoy.config.core.v3.SocketOption.SocketTypeR\x04type\x12Q\n" + + "\n" + + "ip_version\x18\b \x01(\x0e22.envoy.config.core.v3.SocketOption.SocketIpVersionR\tipVersion\x1a\xc4\x01\n" + "\n" + "SocketType\x12L\n" + "\x06stream\x18\x01 \x01(\v24.envoy.config.core.v3.SocketOption.SocketType.StreamR\x06stream\x12R\n" + @@ -432,7 +499,11 @@ const file_envoy_config_core_v3_socket_option_proto_rawDesc = "" + "\vSocketState\x12\x11\n" + "\rSTATE_PREBIND\x10\x00\x12\x0f\n" + "\vSTATE_BOUND\x10\x01\x12\x13\n" + - "\x0fSTATE_LISTENING\x10\x02:%\x9aň\x1e \n" + + "\x0fSTATE_LISTENING\x10\x02\"l\n" + + "\x0fSocketIpVersion\x12!\n" + + "\x1dSOCKET_IP_VERSION_UNSPECIFIED\x10\x00\x12\x1a\n" + + "\x16SOCKET_IP_VERSION_IPV4\x10\x01\x12\x1a\n" + + "\x16SOCKET_IP_VERSION_IPV6\x10\x02:%\x9aň\x1e \n" + "\x1eenvoy.api.v2.core.SocketOptionB\f\n" + "\x05value\x12\x03\xf8B\x01\"b\n" + "\x15SocketOptionsOverride\x12I\n" + @@ -451,27 +522,29 @@ func file_envoy_config_core_v3_socket_option_proto_rawDescGZIP() []byte { return file_envoy_config_core_v3_socket_option_proto_rawDescData } -var file_envoy_config_core_v3_socket_option_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_envoy_config_core_v3_socket_option_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_config_core_v3_socket_option_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_envoy_config_core_v3_socket_option_proto_goTypes = []any{ (SocketOption_SocketState)(0), // 0: envoy.config.core.v3.SocketOption.SocketState - (*SocketOption)(nil), // 1: envoy.config.core.v3.SocketOption - (*SocketOptionsOverride)(nil), // 2: envoy.config.core.v3.SocketOptionsOverride - (*SocketOption_SocketType)(nil), // 3: envoy.config.core.v3.SocketOption.SocketType - (*SocketOption_SocketType_Stream)(nil), // 4: envoy.config.core.v3.SocketOption.SocketType.Stream - (*SocketOption_SocketType_Datagram)(nil), // 5: envoy.config.core.v3.SocketOption.SocketType.Datagram + (SocketOption_SocketIpVersion)(0), // 1: envoy.config.core.v3.SocketOption.SocketIpVersion + (*SocketOption)(nil), // 2: envoy.config.core.v3.SocketOption + (*SocketOptionsOverride)(nil), // 3: envoy.config.core.v3.SocketOptionsOverride + (*SocketOption_SocketType)(nil), // 4: envoy.config.core.v3.SocketOption.SocketType + (*SocketOption_SocketType_Stream)(nil), // 5: envoy.config.core.v3.SocketOption.SocketType.Stream + (*SocketOption_SocketType_Datagram)(nil), // 6: envoy.config.core.v3.SocketOption.SocketType.Datagram } var file_envoy_config_core_v3_socket_option_proto_depIdxs = []int32{ 0, // 0: envoy.config.core.v3.SocketOption.state:type_name -> envoy.config.core.v3.SocketOption.SocketState - 3, // 1: envoy.config.core.v3.SocketOption.type:type_name -> envoy.config.core.v3.SocketOption.SocketType - 1, // 2: envoy.config.core.v3.SocketOptionsOverride.socket_options:type_name -> envoy.config.core.v3.SocketOption - 4, // 3: envoy.config.core.v3.SocketOption.SocketType.stream:type_name -> envoy.config.core.v3.SocketOption.SocketType.Stream - 5, // 4: envoy.config.core.v3.SocketOption.SocketType.datagram:type_name -> envoy.config.core.v3.SocketOption.SocketType.Datagram - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 4, // 1: envoy.config.core.v3.SocketOption.type:type_name -> envoy.config.core.v3.SocketOption.SocketType + 1, // 2: envoy.config.core.v3.SocketOption.ip_version:type_name -> envoy.config.core.v3.SocketOption.SocketIpVersion + 2, // 3: envoy.config.core.v3.SocketOptionsOverride.socket_options:type_name -> envoy.config.core.v3.SocketOption + 5, // 4: envoy.config.core.v3.SocketOption.SocketType.stream:type_name -> envoy.config.core.v3.SocketOption.SocketType.Stream + 6, // 5: envoy.config.core.v3.SocketOption.SocketType.datagram:type_name -> envoy.config.core.v3.SocketOption.SocketType.Datagram + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_envoy_config_core_v3_socket_option_proto_init() } @@ -488,7 +561,7 @@ func file_envoy_config_core_v3_socket_option_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_config_core_v3_socket_option_proto_rawDesc), len(file_envoy_config_core_v3_socket_option_proto_rawDesc)), - NumEnums: 1, + NumEnums: 2, NumMessages: 5, NumExtensions: 0, NumServices: 0, diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.validate.go index a4eca633..35169c48 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option.pb.validate.go @@ -104,6 +104,8 @@ func (m *SocketOption) validate(all bool) error { } } + // no validation rules for IpVersion + oneofValuePresent := false switch v := m.Value.(type) { case *SocketOption_IntValue: diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option_vtproto.pb.go index 75f5db51..fd24be37 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/socket_option_vtproto.pb.go @@ -167,6 +167,11 @@ func (m *SocketOption) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.IpVersion != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.IpVersion)) + i-- + dAtA[i] = 0x40 + } if m.Type != nil { size, err := m.Type.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -351,6 +356,9 @@ func (m *SocketOption) SizeVT() (n int) { l = m.Type.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.IpVersion != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.IpVersion)) + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.go index c1a90b75..c2aeafaf 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/substitution_format_string.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/substitution_format_string.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/udp_socket_config.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/udp_socket_config.pb.go index 6398c7eb..6c55b3f8 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/udp_socket_config.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/core/v3/udp_socket_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/core/v3/udp_socket_config.proto package corev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint.pb.go index 68821240..a1d62da8 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/endpoint/v3/endpoint.proto package endpointv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.go index 981d4b6e..0e39e596 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/endpoint/v3/endpoint_components.proto package endpointv3 @@ -28,6 +28,7 @@ const ( ) // Upstream host identifier. +// [#next-free-field: 6] type Endpoint struct { state protoimpl.MessageState `protogen:"open.v1"` // The upstream host address. @@ -59,8 +60,21 @@ type Endpoint struct { // sorted by preference order of the addresses. This will only be supported // for STATIC and EDS clusters. AdditionalAddresses []*Endpoint_AdditionalAddress `protobuf:"bytes,4,rep,name=additional_addresses,json=additionalAddresses,proto3" json:"additional_addresses,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Optional alternative stat name for this endpoint. If not specified, the main address will be used + // as the stat name and be extracted as “envoy.endpoint_address“ tag value in generated stats. + // If specified, the “observability_name“ here will be used to replace the main address. + // + // .. note:: + // + // This field is ignored for logical DNS host implementation.. + // + // This is useful when there are duplicate addresses in the cluster, for example when multiple + // endpoints share the same address but have different hostnames or metadata. + // In this case, the observability name can be used to differentiate between these endpoints in + // stats and logs. + ObservabilityName string `protobuf:"bytes,5,opt,name=observability_name,json=observabilityName,proto3" json:"observability_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Endpoint) Reset() { @@ -121,6 +135,13 @@ func (x *Endpoint) GetAdditionalAddresses() []*Endpoint_AdditionalAddress { return nil } +func (x *Endpoint) GetObservabilityName() string { + if x != nil { + return x.ObservabilityName + } + return "" +} + // An Endpoint that Envoy can route traffic to. // [#next-free-field: 6] type LbEndpoint struct { @@ -253,7 +274,7 @@ func (*LbEndpoint_EndpointName) isLbEndpoint_HostIdentifier() {} // [#not-implemented-hide:] type LbEndpointCollection struct { state protoimpl.MessageState `protogen:"open.v1"` - Entries *v31.CollectionEntry `protobuf:"bytes,1,opt,name=entries,proto3" json:"entries,omitempty"` + Entries []*v31.CollectionEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -288,7 +309,7 @@ func (*LbEndpointCollection) Descriptor() ([]byte, []int) { return file_envoy_config_endpoint_v3_endpoint_components_proto_rawDescGZIP(), []int{2} } -func (x *LbEndpointCollection) GetEntries() *v31.CollectionEntry { +func (x *LbEndpointCollection) GetEntries() []*v31.CollectionEntry { if x != nil { return x.Entries } @@ -712,12 +733,13 @@ var File_envoy_config_endpoint_v3_endpoint_components_proto protoreflect.FileDes const file_envoy_config_endpoint_v3_endpoint_components_proto_rawDesc = "" + "\n" + - "2envoy/config/endpoint/v3/endpoint_components.proto\x12\x18envoy.config.endpoint.v3\x1a\"envoy/config/core/v3/address.proto\x1a\x1fenvoy/config/core/v3/base.proto\x1a(envoy/config/core/v3/config_source.proto\x1a'envoy/config/core/v3/health_check.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\"xds/core/v3/collection_entry.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xb0\x05\n" + + "2envoy/config/endpoint/v3/endpoint_components.proto\x12\x18envoy.config.endpoint.v3\x1a\"envoy/config/core/v3/address.proto\x1a\x1fenvoy/config/core/v3/base.proto\x1a(envoy/config/core/v3/config_source.proto\x1a'envoy/config/core/v3/health_check.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\"xds/core/v3/collection_entry.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xdf\x05\n" + "\bEndpoint\x127\n" + "\aaddress\x18\x01 \x01(\v2\x1d.envoy.config.core.v3.AddressR\aaddress\x12d\n" + "\x13health_check_config\x18\x02 \x01(\v24.envoy.config.endpoint.v3.Endpoint.HealthCheckConfigR\x11healthCheckConfig\x12\x1a\n" + "\bhostname\x18\x03 \x01(\tR\bhostname\x12g\n" + - "\x14additional_addresses\x18\x04 \x03(\v24.envoy.config.endpoint.v3.Endpoint.AdditionalAddressR\x13additionalAddresses\x1a\x8a\x02\n" + + "\x14additional_addresses\x18\x04 \x03(\v24.envoy.config.endpoint.v3.Endpoint.AdditionalAddressR\x13additionalAddresses\x12-\n" + + "\x12observability_name\x18\x05 \x01(\tR\x11observabilityName\x1a\x8a\x02\n" + "\x11HealthCheckConfig\x12(\n" + "\n" + "port_value\x18\x01 \x01(\rB\t\xfaB\x06*\x04\x18\xff\xff\x03R\tportValue\x12\x1a\n" + @@ -738,7 +760,7 @@ const file_envoy_config_endpoint_v3_endpoint_components_proto_rawDesc = "" + " envoy.api.v2.endpoint.LbEndpointB\x11\n" + "\x0fhost_identifier\"N\n" + "\x14LbEndpointCollection\x126\n" + - "\aentries\x18\x01 \x01(\v2\x1c.xds.core.v3.CollectionEntryR\aentries\"\x92\x01\n" + + "\aentries\x18\x01 \x03(\v2\x1c.xds.core.v3.CollectionEntryR\aentries\"\x92\x01\n" + "\x19LedsClusterLocalityConfig\x12C\n" + "\vleds_config\x18\x01 \x01(\v2\".envoy.config.core.v3.ConfigSourceR\n" + "ledsConfig\x120\n" + diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.validate.go index ba7711c1..ba422453 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components.pb.validate.go @@ -156,6 +156,8 @@ func (m *Endpoint) validate(all bool) error { } + // no validation rules for ObservabilityName + if len(errors) > 0 { return EndpointMultiError(errors) } @@ -458,33 +460,38 @@ func (m *LbEndpointCollection) validate(all bool) error { var errors []error - if all { - switch v := interface{}(m.GetEntries()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, LbEndpointCollectionValidationError{ - field: "Entries", - reason: "embedded message failed validation", - cause: err, - }) + for idx, item := range m.GetEntries() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, LbEndpointCollectionValidationError{ + field: fmt.Sprintf("Entries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, LbEndpointCollectionValidationError{ + field: fmt.Sprintf("Entries[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } } - case interface{ Validate() error }: + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { - errors = append(errors, LbEndpointCollectionValidationError{ - field: "Entries", + return LbEndpointCollectionValidationError{ + field: fmt.Sprintf("Entries[%v]", idx), reason: "embedded message failed validation", cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetEntries()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return LbEndpointCollectionValidationError{ - field: "Entries", - reason: "embedded message failed validation", - cause: err, + } } } + } if len(errors) > 0 { diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components_vtproto.pb.go index edaf30d9..bf84a8ba 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/endpoint_components_vtproto.pb.go @@ -182,6 +182,13 @@ func (m *Endpoint) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.ObservabilityName) > 0 { + i -= len(m.ObservabilityName) + copy(dAtA[i:], m.ObservabilityName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ObservabilityName))) + i-- + dAtA[i] = 0x2a + } if len(m.AdditionalAddresses) > 0 { for iNdEx := len(m.AdditionalAddresses) - 1; iNdEx >= 0; iNdEx-- { size, err := m.AdditionalAddresses[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) @@ -387,27 +394,29 @@ func (m *LbEndpointCollection) MarshalToSizedBufferVTStrict(dAtA []byte) (int, e i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Entries != nil { - if vtmsg, ok := interface{}(m.Entries).(interface { - MarshalToSizedBufferVTStrict([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err + if len(m.Entries) > 0 { + for iNdEx := len(m.Entries) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.Entries[iNdEx]).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Entries[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - } else { - encoded, err := proto.Marshal(m.Entries) - if err != nil { - return 0, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa } return len(dAtA) - i, nil } @@ -773,6 +782,10 @@ func (m *Endpoint) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } + l = len(m.ObservabilityName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -837,15 +850,17 @@ func (m *LbEndpointCollection) SizeVT() (n int) { } var l int _ = l - if m.Entries != nil { - if size, ok := interface{}(m.Entries).(interface { - SizeVT() int - }); ok { - l = size.SizeVT() - } else { - l = proto.Size(m.Entries) + if len(m.Entries) > 0 { + for _, e := range m.Entries { + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/load_report.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/load_report.pb.go index 4d921ed3..0dd5d107 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/load_report.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3/load_report.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/endpoint/v3/load_report.proto package endpointv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/api_listener.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/api_listener.pb.go index ac3fb4c4..03a0c22c 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/api_listener.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/api_listener.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/listener/v3/api_listener.proto package listenerv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.go index e497fca0..0b16d307 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/listener/v3/listener.proto package listenerv3 @@ -201,7 +201,7 @@ func (x *ListenerCollection) GetEntries() []*v31.CollectionEntry { return nil } -// [#next-free-field: 38] +// [#next-free-field: 39] type Listener struct { state protoimpl.MessageState `protogen:"open.v1"` // The unique name by which this listener is known. If no name is provided, @@ -269,7 +269,17 @@ type Listener struct { // Soft limit on size of the listener’s new connection read and write buffers. // If unspecified, an implementation defined default is applied (1MiB). PerConnectionBufferLimitBytes *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=per_connection_buffer_limit_bytes,json=perConnectionBufferLimitBytes,proto3" json:"per_connection_buffer_limit_bytes,omitempty"` + // Optional timeout that controls how long a connection is allowed to stay above the configured + // buffer high watermark before it is closed. If this timeout is not specified, or explicitly set + // to 0, connections will not be closed due to buffer high watermark usage. + PerConnectionBufferHighWatermarkTimeout *durationpb.Duration `protobuf:"bytes,38,opt,name=per_connection_buffer_high_watermark_timeout,json=perConnectionBufferHighWatermarkTimeout,proto3" json:"per_connection_buffer_high_watermark_timeout,omitempty"` // Listener metadata. + // + // The following pre-defined metadata could be used by Envoy to manipulate the listener behavior: + // + // - “envoy.stats_matcher“: this metadata could be used to customize the stats emitted by the + // listener. See :ref:`well-known metadata ` for more + // details. Metadata *v3.Metadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` // [#not-implemented-hide:] // @@ -558,6 +568,13 @@ func (x *Listener) GetPerConnectionBufferLimitBytes() *wrapperspb.UInt32Value { return nil } +func (x *Listener) GetPerConnectionBufferHighWatermarkTimeout() *durationpb.Duration { + if x != nil { + return x.PerConnectionBufferHighWatermarkTimeout + } + return nil +} + func (x *Listener) GetMetadata() *v3.Metadata { if x != nil { return x.Metadata @@ -768,123 +785,6 @@ type Listener_InternalListener struct { func (*Listener_InternalListener) isListener_ListenerSpecifier() {} -// A placeholder proto so that users can explicitly configure the standard -// Listener Manager via the bootstrap's :ref:`listener_manager `. -// [#not-implemented-hide:] -type ListenerManager struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ListenerManager) Reset() { - *x = ListenerManager{} - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ListenerManager) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListenerManager) ProtoMessage() {} - -func (x *ListenerManager) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[3] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListenerManager.ProtoReflect.Descriptor instead. -func (*ListenerManager) Descriptor() ([]byte, []int) { - return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{3} -} - -// A placeholder proto so that users can explicitly configure the standard -// Validation Listener Manager via the bootstrap's :ref:`listener_manager `. -// [#not-implemented-hide:] -type ValidationListenerManager struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ValidationListenerManager) Reset() { - *x = ValidationListenerManager{} - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ValidationListenerManager) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ValidationListenerManager) ProtoMessage() {} - -func (x *ValidationListenerManager) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[4] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ValidationListenerManager.ProtoReflect.Descriptor instead. -func (*ValidationListenerManager) Descriptor() ([]byte, []int) { - return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{4} -} - -// A placeholder proto so that users can explicitly configure the API -// Listener Manager via the bootstrap's :ref:`listener_manager `. -// [#not-implemented-hide:] -type ApiListenerManager struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ApiListenerManager) Reset() { - *x = ApiListenerManager{} - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ApiListenerManager) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApiListenerManager) ProtoMessage() {} - -func (x *ApiListenerManager) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[5] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApiListenerManager.ProtoReflect.Descriptor instead. -func (*ApiListenerManager) Descriptor() ([]byte, []int) { - return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{5} -} - // [#not-implemented-hide:] type Listener_DeprecatedV1 struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -901,7 +801,7 @@ type Listener_DeprecatedV1 struct { func (x *Listener_DeprecatedV1) Reset() { *x = Listener_DeprecatedV1{} - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[6] + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -913,7 +813,7 @@ func (x *Listener_DeprecatedV1) String() string { func (*Listener_DeprecatedV1) ProtoMessage() {} func (x *Listener_DeprecatedV1) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[6] + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -943,6 +843,7 @@ type Listener_ConnectionBalanceConfig struct { // // *Listener_ConnectionBalanceConfig_ExactBalance_ // *Listener_ConnectionBalanceConfig_ExtendBalance + // *Listener_ConnectionBalanceConfig_CpuLocalityBalance_ BalanceType isListener_ConnectionBalanceConfig_BalanceType `protobuf_oneof:"balance_type"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -950,7 +851,7 @@ type Listener_ConnectionBalanceConfig struct { func (x *Listener_ConnectionBalanceConfig) Reset() { *x = Listener_ConnectionBalanceConfig{} - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[7] + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -962,7 +863,7 @@ func (x *Listener_ConnectionBalanceConfig) String() string { func (*Listener_ConnectionBalanceConfig) ProtoMessage() {} func (x *Listener_ConnectionBalanceConfig) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[7] + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1003,6 +904,15 @@ func (x *Listener_ConnectionBalanceConfig) GetExtendBalance() *v3.TypedExtension return nil } +func (x *Listener_ConnectionBalanceConfig) GetCpuLocalityBalance() *Listener_ConnectionBalanceConfig_CpuLocalityBalance { + if x != nil { + if x, ok := x.BalanceType.(*Listener_ConnectionBalanceConfig_CpuLocalityBalance_); ok { + return x.CpuLocalityBalance + } + } + return nil +} + type isListener_ConnectionBalanceConfig_BalanceType interface { isListener_ConnectionBalanceConfig_BalanceType() } @@ -1015,16 +925,29 @@ type Listener_ConnectionBalanceConfig_ExactBalance_ struct { type Listener_ConnectionBalanceConfig_ExtendBalance struct { // The listener will use the connection balancer according to “type_url“. If “type_url“ is invalid, // Envoy will not attempt to balance active connections between worker threads. - // [#extension-category: envoy.network.connection_balance] + // The “envoy.network.connection_balance“ extension category is currently empty + // because the only registered member (“envoy.network.connection_balance.dlb“) + // is disabled. See https://github.com/envoyproxy/envoy/issues/45491. ExtendBalance *v3.TypedExtensionConfig `protobuf:"bytes,2,opt,name=extend_balance,json=extendBalance,proto3,oneof"` } +type Listener_ConnectionBalanceConfig_CpuLocalityBalance_ struct { + // If specified, the listener will steer new connections to worker threads using a kernel + // “SO_REUSEPORT“ BPF program. See :ref:`CpuLocalityBalance + // ` + // for the requirements and fallback behavior. + CpuLocalityBalance *Listener_ConnectionBalanceConfig_CpuLocalityBalance `protobuf:"bytes,3,opt,name=cpu_locality_balance,json=cpuLocalityBalance,proto3,oneof"` +} + func (*Listener_ConnectionBalanceConfig_ExactBalance_) isListener_ConnectionBalanceConfig_BalanceType() { } func (*Listener_ConnectionBalanceConfig_ExtendBalance) isListener_ConnectionBalanceConfig_BalanceType() { } +func (*Listener_ConnectionBalanceConfig_CpuLocalityBalance_) isListener_ConnectionBalanceConfig_BalanceType() { +} + // Configuration for envoy internal listener. All the future internal listener features should be added here. type Listener_InternalListenerConfig struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1034,7 +957,7 @@ type Listener_InternalListenerConfig struct { func (x *Listener_InternalListenerConfig) Reset() { *x = Listener_InternalListenerConfig{} - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[8] + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1046,7 +969,7 @@ func (x *Listener_InternalListenerConfig) String() string { func (*Listener_InternalListenerConfig) ProtoMessage() {} func (x *Listener_InternalListenerConfig) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[8] + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1081,7 +1004,7 @@ type Listener_FcdsConfig struct { func (x *Listener_FcdsConfig) Reset() { *x = Listener_FcdsConfig{} - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[9] + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1093,7 +1016,7 @@ func (x *Listener_FcdsConfig) String() string { func (*Listener_FcdsConfig) ProtoMessage() {} func (x *Listener_FcdsConfig) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[9] + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1137,7 +1060,7 @@ type Listener_ConnectionBalanceConfig_ExactBalance struct { func (x *Listener_ConnectionBalanceConfig_ExactBalance) Reset() { *x = Listener_ConnectionBalanceConfig_ExactBalance{} - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[10] + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1149,7 +1072,7 @@ func (x *Listener_ConnectionBalanceConfig_ExactBalance) String() string { func (*Listener_ConnectionBalanceConfig_ExactBalance) ProtoMessage() {} func (x *Listener_ConnectionBalanceConfig_ExactBalance) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[10] + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1165,6 +1088,62 @@ func (*Listener_ConnectionBalanceConfig_ExactBalance) Descriptor() ([]byte, []in return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{2, 1, 0} } +// A connection balancer that steers each new TCP connection to the worker thread pinned to the +// CPU that received the connection, using a kernel “SO_REUSEPORT“ BPF program. This removes +// the lock that the :ref:`exact balancer +// ` takes on +// every accept and keeps each connection on a single worker for cache and “NUMA“ locality. To +// realize locality the operator should align “NIC“ receive steering so connections arrive on +// the worker CPUs, for example with receive side scaling or “IRQ“ affinity. +// +// It is available on Linux only and requires :ref:`enable_worker_cpu_affinity +// ` so worker “i“ +// is pinned to the CPU the program steers to it, :ref:`enable_reuse_port +// `, a kernel that supports +// reuse port BPF steering, and a worker count no greater than the number of CPUs in the process +// affinity mask. When any of these is not met, or if the kernel rejects the steering program at +// runtime, the listener keeps serving with the kernel default reuse port hashing and without CPU +// locality. +// +// Worker affinity is fixed when the worker threads start, so a listener added dynamically via LDS +// steers with the same mapping. During a hot restart new connections may be steered to the +// draining parent process until it exits. +type Listener_ConnectionBalanceConfig_CpuLocalityBalance struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Listener_ConnectionBalanceConfig_CpuLocalityBalance) Reset() { + *x = Listener_ConnectionBalanceConfig_CpuLocalityBalance{} + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Listener_ConnectionBalanceConfig_CpuLocalityBalance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Listener_ConnectionBalanceConfig_CpuLocalityBalance) ProtoMessage() {} + +func (x *Listener_ConnectionBalanceConfig_CpuLocalityBalance) ProtoReflect() protoreflect.Message { + mi := &file_envoy_config_listener_v3_listener_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Listener_ConnectionBalanceConfig_CpuLocalityBalance.ProtoReflect.Descriptor instead. +func (*Listener_ConnectionBalanceConfig_CpuLocalityBalance) Descriptor() ([]byte, []int) { + return file_envoy_config_listener_v3_listener_proto_rawDescGZIP(), []int{2, 1, 1} +} + var File_envoy_config_listener_v3_listener_proto protoreflect.FileDescriptor const file_envoy_config_listener_v3_listener_proto_rawDesc = "" + @@ -1175,7 +1154,7 @@ const file_envoy_config_listener_v3_listener_proto_rawDesc = "" + "\x0esocket_options\x18\x02 \x01(\v2+.envoy.config.core.v3.SocketOptionsOverrideR\rsocketOptions\x12G\n" + "\rtcp_keepalive\x18\x03 \x01(\v2\".envoy.config.core.v3.TcpKeepaliveR\ftcpKeepalive\"L\n" + "\x12ListenerCollection\x126\n" + - "\aentries\x18\x01 \x03(\v2\x1c.xds.core.v3.CollectionEntryR\aentries\"\xb8\x1a\n" + + "\aentries\x18\x01 \x03(\v2\x1c.xds.core.v3.CollectionEntryR\aentries\"\xd7\x1c\n" + "\bListener\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x127\n" + "\aaddress\x18\x02 \x01(\v2\x1d.envoy.config.core.v3.AddressR\aaddress\x12^\n" + @@ -1188,7 +1167,8 @@ const file_envoy_config_listener_v3_listener_proto_rawDesc = "" + "\x14filter_chain_matcher\x18 \x01(\v2\x1c.xds.type.matcher.v3.MatcherR\x12filterChainMatcher\x12D\n" + "\x10use_original_dst\x18\x04 \x01(\v2\x1a.google.protobuf.BoolValueR\x0euseOriginalDst\x12W\n" + "\x14default_filter_chain\x18\x19 \x01(\v2%.envoy.config.listener.v3.FilterChainR\x12defaultFilterChain\x12o\n" + - "!per_connection_buffer_limit_bytes\x18\x05 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\x8a\x93\xb7*\x02\b\x01R\x1dperConnectionBufferLimitBytes\x12:\n" + + "!per_connection_buffer_limit_bytes\x18\x05 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\x8a\x93\xb7*\x02\b\x01R\x1dperConnectionBufferLimitBytes\x12\x82\x01\n" + + ",per_connection_buffer_high_watermark_timeout\x18& \x01(\v2\x19.google.protobuf.DurationB\b\xfaB\x05\xaa\x01\x022\x00R'perConnectionBufferHighWatermarkTimeout\x12:\n" + "\bmetadata\x18\x06 \x01(\v2\x1e.envoy.config.core.v3.MetadataR\bmetadata\x12a\n" + "\rdeprecated_v1\x18\a \x01(\v2/.envoy.config.listener.v3.Listener.DeprecatedV1B\v\x92dž\xd8\x04\x033.0\x18\x01R\fdeprecatedV1\x12K\n" + "\n" + @@ -1222,12 +1202,14 @@ const file_envoy_config_listener_v3_listener_proto_rawDesc = "" + "\fDeprecatedV1\x12<\n" + "\fbind_to_port\x18\x01 \x01(\v2\x1a.google.protobuf.BoolValueR\n" + "bindToPort:)\x9aň\x1e$\n" + - "\"envoy.api.v2.Listener.DeprecatedV1\x1a\xfc\x02\n" + + "\"envoy.api.v2.Listener.DeprecatedV1\x1a\x96\x04\n" + "\x17ConnectionBalanceConfig\x12n\n" + "\rexact_balance\x18\x01 \x01(\v2G.envoy.config.listener.v3.Listener.ConnectionBalanceConfig.ExactBalanceH\x00R\fexactBalance\x12S\n" + - "\x0eextend_balance\x18\x02 \x01(\v2*.envoy.config.core.v3.TypedExtensionConfigH\x00R\rextendBalance\x1aQ\n" + + "\x0eextend_balance\x18\x02 \x01(\v2*.envoy.config.core.v3.TypedExtensionConfigH\x00R\rextendBalance\x12\x81\x01\n" + + "\x14cpu_locality_balance\x18\x03 \x01(\v2M.envoy.config.listener.v3.Listener.ConnectionBalanceConfig.CpuLocalityBalanceH\x00R\x12cpuLocalityBalance\x1aQ\n" + "\fExactBalance:A\x9aň\x1e<\n" + - ":envoy.api.v2.Listener.ConnectionBalanceConfig.ExactBalance:4\x9aň\x1e/\n" + + ":envoy.api.v2.Listener.ConnectionBalanceConfig.ExactBalance\x1a\x14\n" + + "\x12CpuLocalityBalance:4\x9aň\x1e/\n" + "-envoy.api.v2.Listener.ConnectionBalanceConfigB\x13\n" + "\fbalance_type\x12\x03\xf8B\x01\x1a\x18\n" + "\x16InternalListenerConfig\x1ai\n" + @@ -1239,10 +1221,7 @@ const file_envoy_config_listener_v3_listener_proto_rawDesc = "" + "\aDEFAULT\x10\x00\x12\x0f\n" + "\vMODIFY_ONLY\x10\x01:\x1c\x9aň\x1e\x17\n" + "\x15envoy.api.v2.ListenerB\x14\n" + - "\x12listener_specifierJ\x04\b\x0e\x10\x0fJ\x04\b\x17\x10\x18\"\x11\n" + - "\x0fListenerManager\"\x1b\n" + - "\x19ValidationListenerManager\"\x14\n" + - "\x12ApiListenerManagerB\x8d\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + + "\x12listener_specifierJ\x04\b\x0e\x10\x0fJ\x04\b\x17\x10\x18B\x8d\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + "&io.envoyproxy.envoy.config.listener.v3B\rListenerProtoP\x01ZJgithub.com/envoyproxy/go-control-plane/envoy/config/listener/v3;listenerv3b\x06proto3" var ( @@ -1258,81 +1237,81 @@ func file_envoy_config_listener_v3_listener_proto_rawDescGZIP() []byte { } var file_envoy_config_listener_v3_listener_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_envoy_config_listener_v3_listener_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_envoy_config_listener_v3_listener_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_envoy_config_listener_v3_listener_proto_goTypes = []any{ - (Listener_DrainType)(0), // 0: envoy.config.listener.v3.Listener.DrainType - (*AdditionalAddress)(nil), // 1: envoy.config.listener.v3.AdditionalAddress - (*ListenerCollection)(nil), // 2: envoy.config.listener.v3.ListenerCollection - (*Listener)(nil), // 3: envoy.config.listener.v3.Listener - (*ListenerManager)(nil), // 4: envoy.config.listener.v3.ListenerManager - (*ValidationListenerManager)(nil), // 5: envoy.config.listener.v3.ValidationListenerManager - (*ApiListenerManager)(nil), // 6: envoy.config.listener.v3.ApiListenerManager - (*Listener_DeprecatedV1)(nil), // 7: envoy.config.listener.v3.Listener.DeprecatedV1 - (*Listener_ConnectionBalanceConfig)(nil), // 8: envoy.config.listener.v3.Listener.ConnectionBalanceConfig - (*Listener_InternalListenerConfig)(nil), // 9: envoy.config.listener.v3.Listener.InternalListenerConfig - (*Listener_FcdsConfig)(nil), // 10: envoy.config.listener.v3.Listener.FcdsConfig - (*Listener_ConnectionBalanceConfig_ExactBalance)(nil), // 11: envoy.config.listener.v3.Listener.ConnectionBalanceConfig.ExactBalance - (*v3.Address)(nil), // 12: envoy.config.core.v3.Address - (*v3.SocketOptionsOverride)(nil), // 13: envoy.config.core.v3.SocketOptionsOverride - (*v3.TcpKeepalive)(nil), // 14: envoy.config.core.v3.TcpKeepalive - (*v31.CollectionEntry)(nil), // 15: xds.core.v3.CollectionEntry - (*FilterChain)(nil), // 16: envoy.config.listener.v3.FilterChain - (*v32.Matcher)(nil), // 17: xds.type.matcher.v3.Matcher - (*wrapperspb.BoolValue)(nil), // 18: google.protobuf.BoolValue - (*wrapperspb.UInt32Value)(nil), // 19: google.protobuf.UInt32Value - (*v3.Metadata)(nil), // 20: envoy.config.core.v3.Metadata - (*ListenerFilter)(nil), // 21: envoy.config.listener.v3.ListenerFilter - (*durationpb.Duration)(nil), // 22: google.protobuf.Duration - (*v3.SocketOption)(nil), // 23: envoy.config.core.v3.SocketOption - (v3.TrafficDirection)(0), // 24: envoy.config.core.v3.TrafficDirection - (*UdpListenerConfig)(nil), // 25: envoy.config.listener.v3.UdpListenerConfig - (*ApiListener)(nil), // 26: envoy.config.listener.v3.ApiListener - (*v33.AccessLog)(nil), // 27: envoy.config.accesslog.v3.AccessLog - (*v3.TypedExtensionConfig)(nil), // 28: envoy.config.core.v3.TypedExtensionConfig - (*v3.ConfigSource)(nil), // 29: envoy.config.core.v3.ConfigSource + (Listener_DrainType)(0), // 0: envoy.config.listener.v3.Listener.DrainType + (*AdditionalAddress)(nil), // 1: envoy.config.listener.v3.AdditionalAddress + (*ListenerCollection)(nil), // 2: envoy.config.listener.v3.ListenerCollection + (*Listener)(nil), // 3: envoy.config.listener.v3.Listener + (*Listener_DeprecatedV1)(nil), // 4: envoy.config.listener.v3.Listener.DeprecatedV1 + (*Listener_ConnectionBalanceConfig)(nil), // 5: envoy.config.listener.v3.Listener.ConnectionBalanceConfig + (*Listener_InternalListenerConfig)(nil), // 6: envoy.config.listener.v3.Listener.InternalListenerConfig + (*Listener_FcdsConfig)(nil), // 7: envoy.config.listener.v3.Listener.FcdsConfig + (*Listener_ConnectionBalanceConfig_ExactBalance)(nil), // 8: envoy.config.listener.v3.Listener.ConnectionBalanceConfig.ExactBalance + (*Listener_ConnectionBalanceConfig_CpuLocalityBalance)(nil), // 9: envoy.config.listener.v3.Listener.ConnectionBalanceConfig.CpuLocalityBalance + (*v3.Address)(nil), // 10: envoy.config.core.v3.Address + (*v3.SocketOptionsOverride)(nil), // 11: envoy.config.core.v3.SocketOptionsOverride + (*v3.TcpKeepalive)(nil), // 12: envoy.config.core.v3.TcpKeepalive + (*v31.CollectionEntry)(nil), // 13: xds.core.v3.CollectionEntry + (*FilterChain)(nil), // 14: envoy.config.listener.v3.FilterChain + (*v32.Matcher)(nil), // 15: xds.type.matcher.v3.Matcher + (*wrapperspb.BoolValue)(nil), // 16: google.protobuf.BoolValue + (*wrapperspb.UInt32Value)(nil), // 17: google.protobuf.UInt32Value + (*durationpb.Duration)(nil), // 18: google.protobuf.Duration + (*v3.Metadata)(nil), // 19: envoy.config.core.v3.Metadata + (*ListenerFilter)(nil), // 20: envoy.config.listener.v3.ListenerFilter + (*v3.SocketOption)(nil), // 21: envoy.config.core.v3.SocketOption + (v3.TrafficDirection)(0), // 22: envoy.config.core.v3.TrafficDirection + (*UdpListenerConfig)(nil), // 23: envoy.config.listener.v3.UdpListenerConfig + (*ApiListener)(nil), // 24: envoy.config.listener.v3.ApiListener + (*v33.AccessLog)(nil), // 25: envoy.config.accesslog.v3.AccessLog + (*v3.TypedExtensionConfig)(nil), // 26: envoy.config.core.v3.TypedExtensionConfig + (*v3.ConfigSource)(nil), // 27: envoy.config.core.v3.ConfigSource } var file_envoy_config_listener_v3_listener_proto_depIdxs = []int32{ - 12, // 0: envoy.config.listener.v3.AdditionalAddress.address:type_name -> envoy.config.core.v3.Address - 13, // 1: envoy.config.listener.v3.AdditionalAddress.socket_options:type_name -> envoy.config.core.v3.SocketOptionsOverride - 14, // 2: envoy.config.listener.v3.AdditionalAddress.tcp_keepalive:type_name -> envoy.config.core.v3.TcpKeepalive - 15, // 3: envoy.config.listener.v3.ListenerCollection.entries:type_name -> xds.core.v3.CollectionEntry - 12, // 4: envoy.config.listener.v3.Listener.address:type_name -> envoy.config.core.v3.Address + 10, // 0: envoy.config.listener.v3.AdditionalAddress.address:type_name -> envoy.config.core.v3.Address + 11, // 1: envoy.config.listener.v3.AdditionalAddress.socket_options:type_name -> envoy.config.core.v3.SocketOptionsOverride + 12, // 2: envoy.config.listener.v3.AdditionalAddress.tcp_keepalive:type_name -> envoy.config.core.v3.TcpKeepalive + 13, // 3: envoy.config.listener.v3.ListenerCollection.entries:type_name -> xds.core.v3.CollectionEntry + 10, // 4: envoy.config.listener.v3.Listener.address:type_name -> envoy.config.core.v3.Address 1, // 5: envoy.config.listener.v3.Listener.additional_addresses:type_name -> envoy.config.listener.v3.AdditionalAddress - 16, // 6: envoy.config.listener.v3.Listener.filter_chains:type_name -> envoy.config.listener.v3.FilterChain - 10, // 7: envoy.config.listener.v3.Listener.fcds_config:type_name -> envoy.config.listener.v3.Listener.FcdsConfig - 17, // 8: envoy.config.listener.v3.Listener.filter_chain_matcher:type_name -> xds.type.matcher.v3.Matcher - 18, // 9: envoy.config.listener.v3.Listener.use_original_dst:type_name -> google.protobuf.BoolValue - 16, // 10: envoy.config.listener.v3.Listener.default_filter_chain:type_name -> envoy.config.listener.v3.FilterChain - 19, // 11: envoy.config.listener.v3.Listener.per_connection_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value - 20, // 12: envoy.config.listener.v3.Listener.metadata:type_name -> envoy.config.core.v3.Metadata - 7, // 13: envoy.config.listener.v3.Listener.deprecated_v1:type_name -> envoy.config.listener.v3.Listener.DeprecatedV1 - 0, // 14: envoy.config.listener.v3.Listener.drain_type:type_name -> envoy.config.listener.v3.Listener.DrainType - 21, // 15: envoy.config.listener.v3.Listener.listener_filters:type_name -> envoy.config.listener.v3.ListenerFilter - 22, // 16: envoy.config.listener.v3.Listener.listener_filters_timeout:type_name -> google.protobuf.Duration - 18, // 17: envoy.config.listener.v3.Listener.transparent:type_name -> google.protobuf.BoolValue - 18, // 18: envoy.config.listener.v3.Listener.freebind:type_name -> google.protobuf.BoolValue - 23, // 19: envoy.config.listener.v3.Listener.socket_options:type_name -> envoy.config.core.v3.SocketOption - 19, // 20: envoy.config.listener.v3.Listener.tcp_fast_open_queue_length:type_name -> google.protobuf.UInt32Value - 24, // 21: envoy.config.listener.v3.Listener.traffic_direction:type_name -> envoy.config.core.v3.TrafficDirection - 25, // 22: envoy.config.listener.v3.Listener.udp_listener_config:type_name -> envoy.config.listener.v3.UdpListenerConfig - 26, // 23: envoy.config.listener.v3.Listener.api_listener:type_name -> envoy.config.listener.v3.ApiListener - 8, // 24: envoy.config.listener.v3.Listener.connection_balance_config:type_name -> envoy.config.listener.v3.Listener.ConnectionBalanceConfig - 18, // 25: envoy.config.listener.v3.Listener.enable_reuse_port:type_name -> google.protobuf.BoolValue - 27, // 26: envoy.config.listener.v3.Listener.access_log:type_name -> envoy.config.accesslog.v3.AccessLog - 19, // 27: envoy.config.listener.v3.Listener.tcp_backlog_size:type_name -> google.protobuf.UInt32Value - 19, // 28: envoy.config.listener.v3.Listener.max_connections_to_accept_per_socket_event:type_name -> google.protobuf.UInt32Value - 18, // 29: envoy.config.listener.v3.Listener.bind_to_port:type_name -> google.protobuf.BoolValue - 9, // 30: envoy.config.listener.v3.Listener.internal_listener:type_name -> envoy.config.listener.v3.Listener.InternalListenerConfig - 14, // 31: envoy.config.listener.v3.Listener.tcp_keepalive:type_name -> envoy.config.core.v3.TcpKeepalive - 18, // 32: envoy.config.listener.v3.Listener.DeprecatedV1.bind_to_port:type_name -> google.protobuf.BoolValue - 11, // 33: envoy.config.listener.v3.Listener.ConnectionBalanceConfig.exact_balance:type_name -> envoy.config.listener.v3.Listener.ConnectionBalanceConfig.ExactBalance - 28, // 34: envoy.config.listener.v3.Listener.ConnectionBalanceConfig.extend_balance:type_name -> envoy.config.core.v3.TypedExtensionConfig - 29, // 35: envoy.config.listener.v3.Listener.FcdsConfig.config_source:type_name -> envoy.config.core.v3.ConfigSource - 36, // [36:36] is the sub-list for method output_type - 36, // [36:36] is the sub-list for method input_type - 36, // [36:36] is the sub-list for extension type_name - 36, // [36:36] is the sub-list for extension extendee - 0, // [0:36] is the sub-list for field type_name + 14, // 6: envoy.config.listener.v3.Listener.filter_chains:type_name -> envoy.config.listener.v3.FilterChain + 7, // 7: envoy.config.listener.v3.Listener.fcds_config:type_name -> envoy.config.listener.v3.Listener.FcdsConfig + 15, // 8: envoy.config.listener.v3.Listener.filter_chain_matcher:type_name -> xds.type.matcher.v3.Matcher + 16, // 9: envoy.config.listener.v3.Listener.use_original_dst:type_name -> google.protobuf.BoolValue + 14, // 10: envoy.config.listener.v3.Listener.default_filter_chain:type_name -> envoy.config.listener.v3.FilterChain + 17, // 11: envoy.config.listener.v3.Listener.per_connection_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value + 18, // 12: envoy.config.listener.v3.Listener.per_connection_buffer_high_watermark_timeout:type_name -> google.protobuf.Duration + 19, // 13: envoy.config.listener.v3.Listener.metadata:type_name -> envoy.config.core.v3.Metadata + 4, // 14: envoy.config.listener.v3.Listener.deprecated_v1:type_name -> envoy.config.listener.v3.Listener.DeprecatedV1 + 0, // 15: envoy.config.listener.v3.Listener.drain_type:type_name -> envoy.config.listener.v3.Listener.DrainType + 20, // 16: envoy.config.listener.v3.Listener.listener_filters:type_name -> envoy.config.listener.v3.ListenerFilter + 18, // 17: envoy.config.listener.v3.Listener.listener_filters_timeout:type_name -> google.protobuf.Duration + 16, // 18: envoy.config.listener.v3.Listener.transparent:type_name -> google.protobuf.BoolValue + 16, // 19: envoy.config.listener.v3.Listener.freebind:type_name -> google.protobuf.BoolValue + 21, // 20: envoy.config.listener.v3.Listener.socket_options:type_name -> envoy.config.core.v3.SocketOption + 17, // 21: envoy.config.listener.v3.Listener.tcp_fast_open_queue_length:type_name -> google.protobuf.UInt32Value + 22, // 22: envoy.config.listener.v3.Listener.traffic_direction:type_name -> envoy.config.core.v3.TrafficDirection + 23, // 23: envoy.config.listener.v3.Listener.udp_listener_config:type_name -> envoy.config.listener.v3.UdpListenerConfig + 24, // 24: envoy.config.listener.v3.Listener.api_listener:type_name -> envoy.config.listener.v3.ApiListener + 5, // 25: envoy.config.listener.v3.Listener.connection_balance_config:type_name -> envoy.config.listener.v3.Listener.ConnectionBalanceConfig + 16, // 26: envoy.config.listener.v3.Listener.enable_reuse_port:type_name -> google.protobuf.BoolValue + 25, // 27: envoy.config.listener.v3.Listener.access_log:type_name -> envoy.config.accesslog.v3.AccessLog + 17, // 28: envoy.config.listener.v3.Listener.tcp_backlog_size:type_name -> google.protobuf.UInt32Value + 17, // 29: envoy.config.listener.v3.Listener.max_connections_to_accept_per_socket_event:type_name -> google.protobuf.UInt32Value + 16, // 30: envoy.config.listener.v3.Listener.bind_to_port:type_name -> google.protobuf.BoolValue + 6, // 31: envoy.config.listener.v3.Listener.internal_listener:type_name -> envoy.config.listener.v3.Listener.InternalListenerConfig + 12, // 32: envoy.config.listener.v3.Listener.tcp_keepalive:type_name -> envoy.config.core.v3.TcpKeepalive + 16, // 33: envoy.config.listener.v3.Listener.DeprecatedV1.bind_to_port:type_name -> google.protobuf.BoolValue + 8, // 34: envoy.config.listener.v3.Listener.ConnectionBalanceConfig.exact_balance:type_name -> envoy.config.listener.v3.Listener.ConnectionBalanceConfig.ExactBalance + 26, // 35: envoy.config.listener.v3.Listener.ConnectionBalanceConfig.extend_balance:type_name -> envoy.config.core.v3.TypedExtensionConfig + 9, // 36: envoy.config.listener.v3.Listener.ConnectionBalanceConfig.cpu_locality_balance:type_name -> envoy.config.listener.v3.Listener.ConnectionBalanceConfig.CpuLocalityBalance + 27, // 37: envoy.config.listener.v3.Listener.FcdsConfig.config_source:type_name -> envoy.config.core.v3.ConfigSource + 38, // [38:38] is the sub-list for method output_type + 38, // [38:38] is the sub-list for method input_type + 38, // [38:38] is the sub-list for extension type_name + 38, // [38:38] is the sub-list for extension extendee + 0, // [0:38] is the sub-list for field type_name } func init() { file_envoy_config_listener_v3_listener_proto_init() } @@ -1346,9 +1325,10 @@ func file_envoy_config_listener_v3_listener_proto_init() { file_envoy_config_listener_v3_listener_proto_msgTypes[2].OneofWrappers = []any{ (*Listener_InternalListener)(nil), } - file_envoy_config_listener_v3_listener_proto_msgTypes[7].OneofWrappers = []any{ + file_envoy_config_listener_v3_listener_proto_msgTypes[4].OneofWrappers = []any{ (*Listener_ConnectionBalanceConfig_ExactBalance_)(nil), (*Listener_ConnectionBalanceConfig_ExtendBalance)(nil), + (*Listener_ConnectionBalanceConfig_CpuLocalityBalance_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -1356,7 +1336,7 @@ func file_envoy_config_listener_v3_listener_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_config_listener_v3_listener_proto_rawDesc), len(file_envoy_config_listener_v3_listener_proto_rawDesc)), NumEnums: 1, - NumMessages: 11, + NumMessages: 9, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.validate.go index 5f8750ff..b61b7381 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener.pb.validate.go @@ -633,6 +633,36 @@ func (m *Listener) validate(all bool) error { } } + if d := m.GetPerConnectionBufferHighWatermarkTimeout(); d != nil { + dur, err := d.AsDuration(), d.CheckValid() + if err != nil { + err = ListenerValidationError{ + field: "PerConnectionBufferHighWatermarkTimeout", + reason: "value is not a valid duration", + cause: err, + } + if !all { + return err + } + errors = append(errors, err) + } else { + + gte := time.Duration(0*time.Second + 0*time.Nanosecond) + + if dur < gte { + err := ListenerValidationError{ + field: "PerConnectionBufferHighWatermarkTimeout", + reason: "value must be greater than or equal to 0s", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + } + if all { switch v := interface{}(m.GetMetadata()).(type) { case interface{ ValidateAll() error }: @@ -1264,310 +1294,6 @@ var _ interface { ErrorName() string } = ListenerValidationError{} -// Validate checks the field values on ListenerManager with the rules defined -// in the proto definition for this message. If any rules are violated, the -// first error encountered is returned, or nil if there are no violations. -func (m *ListenerManager) Validate() error { - return m.validate(false) -} - -// ValidateAll checks the field values on ListenerManager with the rules -// defined in the proto definition for this message. If any rules are -// violated, the result is a list of violation errors wrapped in -// ListenerManagerMultiError, or nil if none found. -func (m *ListenerManager) ValidateAll() error { - return m.validate(true) -} - -func (m *ListenerManager) validate(all bool) error { - if m == nil { - return nil - } - - var errors []error - - if len(errors) > 0 { - return ListenerManagerMultiError(errors) - } - - return nil -} - -// ListenerManagerMultiError is an error wrapping multiple validation errors -// returned by ListenerManager.ValidateAll() if the designated constraints -// aren't met. -type ListenerManagerMultiError []error - -// Error returns a concatenation of all the error messages it wraps. -func (m ListenerManagerMultiError) Error() string { - msgs := make([]string, 0, len(m)) - for _, err := range m { - msgs = append(msgs, err.Error()) - } - return strings.Join(msgs, "; ") -} - -// AllErrors returns a list of validation violation errors. -func (m ListenerManagerMultiError) AllErrors() []error { return m } - -// ListenerManagerValidationError is the validation error returned by -// ListenerManager.Validate if the designated constraints aren't met. -type ListenerManagerValidationError struct { - field string - reason string - cause error - key bool -} - -// Field function returns field value. -func (e ListenerManagerValidationError) Field() string { return e.field } - -// Reason function returns reason value. -func (e ListenerManagerValidationError) Reason() string { return e.reason } - -// Cause function returns cause value. -func (e ListenerManagerValidationError) Cause() error { return e.cause } - -// Key function returns key value. -func (e ListenerManagerValidationError) Key() bool { return e.key } - -// ErrorName returns error name. -func (e ListenerManagerValidationError) ErrorName() string { return "ListenerManagerValidationError" } - -// Error satisfies the builtin error interface -func (e ListenerManagerValidationError) Error() string { - cause := "" - if e.cause != nil { - cause = fmt.Sprintf(" | caused by: %v", e.cause) - } - - key := "" - if e.key { - key = "key for " - } - - return fmt.Sprintf( - "invalid %sListenerManager.%s: %s%s", - key, - e.field, - e.reason, - cause) -} - -var _ error = ListenerManagerValidationError{} - -var _ interface { - Field() string - Reason() string - Key() bool - Cause() error - ErrorName() string -} = ListenerManagerValidationError{} - -// Validate checks the field values on ValidationListenerManager with the rules -// defined in the proto definition for this message. If any rules are -// violated, the first error encountered is returned, or nil if there are no violations. -func (m *ValidationListenerManager) Validate() error { - return m.validate(false) -} - -// ValidateAll checks the field values on ValidationListenerManager with the -// rules defined in the proto definition for this message. If any rules are -// violated, the result is a list of violation errors wrapped in -// ValidationListenerManagerMultiError, or nil if none found. -func (m *ValidationListenerManager) ValidateAll() error { - return m.validate(true) -} - -func (m *ValidationListenerManager) validate(all bool) error { - if m == nil { - return nil - } - - var errors []error - - if len(errors) > 0 { - return ValidationListenerManagerMultiError(errors) - } - - return nil -} - -// ValidationListenerManagerMultiError is an error wrapping multiple validation -// errors returned by ValidationListenerManager.ValidateAll() if the -// designated constraints aren't met. -type ValidationListenerManagerMultiError []error - -// Error returns a concatenation of all the error messages it wraps. -func (m ValidationListenerManagerMultiError) Error() string { - msgs := make([]string, 0, len(m)) - for _, err := range m { - msgs = append(msgs, err.Error()) - } - return strings.Join(msgs, "; ") -} - -// AllErrors returns a list of validation violation errors. -func (m ValidationListenerManagerMultiError) AllErrors() []error { return m } - -// ValidationListenerManagerValidationError is the validation error returned by -// ValidationListenerManager.Validate if the designated constraints aren't met. -type ValidationListenerManagerValidationError struct { - field string - reason string - cause error - key bool -} - -// Field function returns field value. -func (e ValidationListenerManagerValidationError) Field() string { return e.field } - -// Reason function returns reason value. -func (e ValidationListenerManagerValidationError) Reason() string { return e.reason } - -// Cause function returns cause value. -func (e ValidationListenerManagerValidationError) Cause() error { return e.cause } - -// Key function returns key value. -func (e ValidationListenerManagerValidationError) Key() bool { return e.key } - -// ErrorName returns error name. -func (e ValidationListenerManagerValidationError) ErrorName() string { - return "ValidationListenerManagerValidationError" -} - -// Error satisfies the builtin error interface -func (e ValidationListenerManagerValidationError) Error() string { - cause := "" - if e.cause != nil { - cause = fmt.Sprintf(" | caused by: %v", e.cause) - } - - key := "" - if e.key { - key = "key for " - } - - return fmt.Sprintf( - "invalid %sValidationListenerManager.%s: %s%s", - key, - e.field, - e.reason, - cause) -} - -var _ error = ValidationListenerManagerValidationError{} - -var _ interface { - Field() string - Reason() string - Key() bool - Cause() error - ErrorName() string -} = ValidationListenerManagerValidationError{} - -// Validate checks the field values on ApiListenerManager with the rules -// defined in the proto definition for this message. If any rules are -// violated, the first error encountered is returned, or nil if there are no violations. -func (m *ApiListenerManager) Validate() error { - return m.validate(false) -} - -// ValidateAll checks the field values on ApiListenerManager with the rules -// defined in the proto definition for this message. If any rules are -// violated, the result is a list of violation errors wrapped in -// ApiListenerManagerMultiError, or nil if none found. -func (m *ApiListenerManager) ValidateAll() error { - return m.validate(true) -} - -func (m *ApiListenerManager) validate(all bool) error { - if m == nil { - return nil - } - - var errors []error - - if len(errors) > 0 { - return ApiListenerManagerMultiError(errors) - } - - return nil -} - -// ApiListenerManagerMultiError is an error wrapping multiple validation errors -// returned by ApiListenerManager.ValidateAll() if the designated constraints -// aren't met. -type ApiListenerManagerMultiError []error - -// Error returns a concatenation of all the error messages it wraps. -func (m ApiListenerManagerMultiError) Error() string { - msgs := make([]string, 0, len(m)) - for _, err := range m { - msgs = append(msgs, err.Error()) - } - return strings.Join(msgs, "; ") -} - -// AllErrors returns a list of validation violation errors. -func (m ApiListenerManagerMultiError) AllErrors() []error { return m } - -// ApiListenerManagerValidationError is the validation error returned by -// ApiListenerManager.Validate if the designated constraints aren't met. -type ApiListenerManagerValidationError struct { - field string - reason string - cause error - key bool -} - -// Field function returns field value. -func (e ApiListenerManagerValidationError) Field() string { return e.field } - -// Reason function returns reason value. -func (e ApiListenerManagerValidationError) Reason() string { return e.reason } - -// Cause function returns cause value. -func (e ApiListenerManagerValidationError) Cause() error { return e.cause } - -// Key function returns key value. -func (e ApiListenerManagerValidationError) Key() bool { return e.key } - -// ErrorName returns error name. -func (e ApiListenerManagerValidationError) ErrorName() string { - return "ApiListenerManagerValidationError" -} - -// Error satisfies the builtin error interface -func (e ApiListenerManagerValidationError) Error() string { - cause := "" - if e.cause != nil { - cause = fmt.Sprintf(" | caused by: %v", e.cause) - } - - key := "" - if e.key { - key = "key for " - } - - return fmt.Sprintf( - "invalid %sApiListenerManager.%s: %s%s", - key, - e.field, - e.reason, - cause) -} - -var _ error = ApiListenerManagerValidationError{} - -var _ interface { - Field() string - Reason() string - Key() bool - Cause() error - ErrorName() string -} = ApiListenerManagerValidationError{} - // Validate checks the field values on Listener_DeprecatedV1 with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. @@ -1808,6 +1534,48 @@ func (m *Listener_ConnectionBalanceConfig) validate(all bool) error { } } + case *Listener_ConnectionBalanceConfig_CpuLocalityBalance_: + if v == nil { + err := Listener_ConnectionBalanceConfigValidationError{ + field: "BalanceType", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + oneofBalanceTypePresent = true + + if all { + switch v := interface{}(m.GetCpuLocalityBalance()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, Listener_ConnectionBalanceConfigValidationError{ + field: "CpuLocalityBalance", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, Listener_ConnectionBalanceConfigValidationError{ + field: "CpuLocalityBalance", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCpuLocalityBalance()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return Listener_ConnectionBalanceConfigValidationError{ + field: "CpuLocalityBalance", + reason: "embedded message failed validation", + cause: err, + } + } + } + default: _ = v // ensures v is used } @@ -2248,3 +2016,117 @@ var _ interface { Cause() error ErrorName() string } = Listener_ConnectionBalanceConfig_ExactBalanceValidationError{} + +// Validate checks the field values on +// Listener_ConnectionBalanceConfig_CpuLocalityBalance with the rules defined +// in the proto definition for this message. If any rules are violated, the +// first error encountered is returned, or nil if there are no violations. +func (m *Listener_ConnectionBalanceConfig_CpuLocalityBalance) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on +// Listener_ConnectionBalanceConfig_CpuLocalityBalance with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in +// Listener_ConnectionBalanceConfig_CpuLocalityBalanceMultiError, or nil if +// none found. +func (m *Listener_ConnectionBalanceConfig_CpuLocalityBalance) ValidateAll() error { + return m.validate(true) +} + +func (m *Listener_ConnectionBalanceConfig_CpuLocalityBalance) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return Listener_ConnectionBalanceConfig_CpuLocalityBalanceMultiError(errors) + } + + return nil +} + +// Listener_ConnectionBalanceConfig_CpuLocalityBalanceMultiError is an error +// wrapping multiple validation errors returned by +// Listener_ConnectionBalanceConfig_CpuLocalityBalance.ValidateAll() if the +// designated constraints aren't met. +type Listener_ConnectionBalanceConfig_CpuLocalityBalanceMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m Listener_ConnectionBalanceConfig_CpuLocalityBalanceMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m Listener_ConnectionBalanceConfig_CpuLocalityBalanceMultiError) AllErrors() []error { return m } + +// Listener_ConnectionBalanceConfig_CpuLocalityBalanceValidationError is the +// validation error returned by +// Listener_ConnectionBalanceConfig_CpuLocalityBalance.Validate if the +// designated constraints aren't met. +type Listener_ConnectionBalanceConfig_CpuLocalityBalanceValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e Listener_ConnectionBalanceConfig_CpuLocalityBalanceValidationError) Field() string { + return e.field +} + +// Reason function returns reason value. +func (e Listener_ConnectionBalanceConfig_CpuLocalityBalanceValidationError) Reason() string { + return e.reason +} + +// Cause function returns cause value. +func (e Listener_ConnectionBalanceConfig_CpuLocalityBalanceValidationError) Cause() error { + return e.cause +} + +// Key function returns key value. +func (e Listener_ConnectionBalanceConfig_CpuLocalityBalanceValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e Listener_ConnectionBalanceConfig_CpuLocalityBalanceValidationError) ErrorName() string { + return "Listener_ConnectionBalanceConfig_CpuLocalityBalanceValidationError" +} + +// Error satisfies the builtin error interface +func (e Listener_ConnectionBalanceConfig_CpuLocalityBalanceValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sListener_ConnectionBalanceConfig_CpuLocalityBalance.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = Listener_ConnectionBalanceConfig_CpuLocalityBalanceValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = Listener_ConnectionBalanceConfig_CpuLocalityBalanceValidationError{} diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener_components.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener_components.pb.go index df3384e8..942342f3 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener_components.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener_components.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/listener/v3/listener_components.proto package listenerv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener_vtproto.pb.go index de9ed295..06c5af25 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/listener_vtproto.pb.go @@ -253,6 +253,39 @@ func (m *Listener_ConnectionBalanceConfig_ExactBalance) MarshalToSizedBufferVTSt return len(dAtA) - i, nil } +func (m *Listener_ConnectionBalanceConfig_CpuLocalityBalance) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Listener_ConnectionBalanceConfig_CpuLocalityBalance) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Listener_ConnectionBalanceConfig_CpuLocalityBalance) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + func (m *Listener_ConnectionBalanceConfig) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -283,6 +316,13 @@ func (m *Listener_ConnectionBalanceConfig) MarshalToSizedBufferVTStrict(dAtA []b i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if msg, ok := m.BalanceType.(*Listener_ConnectionBalanceConfig_CpuLocalityBalance_); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } if msg, ok := m.BalanceType.(*Listener_ConnectionBalanceConfig_ExtendBalance); ok { size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -358,6 +398,29 @@ func (m *Listener_ConnectionBalanceConfig_ExtendBalance) MarshalToSizedBufferVTS } return len(dAtA) - i, nil } +func (m *Listener_ConnectionBalanceConfig_CpuLocalityBalance_) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Listener_ConnectionBalanceConfig_CpuLocalityBalance_) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CpuLocalityBalance != nil { + size, err := m.CpuLocalityBalance.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } else { + i = protohelpers.EncodeVarint(dAtA, i, 0) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} func (m *Listener_InternalListenerConfig) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -483,6 +546,18 @@ func (m *Listener) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.PerConnectionBufferHighWatermarkTimeout != nil { + size, err := (*durationpb.Duration)(m.PerConnectionBufferHighWatermarkTimeout).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xb2 + } if m.TcpKeepalive != nil { if vtmsg, ok := interface{}(m.TcpKeepalive).(interface { MarshalToSizedBufferVTStrict([]byte) (int, error) @@ -966,105 +1041,6 @@ func (m *Listener_InternalListener) MarshalToSizedBufferVTStrict(dAtA []byte) (i } return len(dAtA) - i, nil } -func (m *ListenerManager) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListenerManager) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListenerManager) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *ValidationListenerManager) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ValidationListenerManager) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ValidationListenerManager) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *ApiListenerManager) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ApiListenerManager) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ApiListenerManager) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - func (m *AdditionalAddress) SizeVT() (n int) { if m == nil { return 0 @@ -1151,6 +1127,16 @@ func (m *Listener_ConnectionBalanceConfig_ExactBalance) SizeVT() (n int) { return n } +func (m *Listener_ConnectionBalanceConfig_CpuLocalityBalance) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + func (m *Listener_ConnectionBalanceConfig) SizeVT() (n int) { if m == nil { return 0 @@ -1198,6 +1184,20 @@ func (m *Listener_ConnectionBalanceConfig_ExtendBalance) SizeVT() (n int) { } return n } +func (m *Listener_ConnectionBalanceConfig_CpuLocalityBalance_) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CpuLocalityBalance != nil { + l = m.CpuLocalityBalance.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } else { + n += 2 + } + return n +} func (m *Listener_InternalListenerConfig) SizeVT() (n int) { if m == nil { return 0 @@ -1416,6 +1416,10 @@ func (m *Listener) SizeVT() (n int) { } n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.PerConnectionBufferHighWatermarkTimeout != nil { + l = (*durationpb.Duration)(m.PerConnectionBufferHighWatermarkTimeout).SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -1434,32 +1438,3 @@ func (m *Listener_InternalListener) SizeVT() (n int) { } return n } -func (m *ListenerManager) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *ValidationListenerManager) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *ApiListenerManager) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/quic_config.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/quic_config.pb.go index 4a847089..a4db6915 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/quic_config.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/quic_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/listener/v3/quic_config.proto package listenerv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/udp_listener_config.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/udp_listener_config.pb.go index 4c571168..186923a1 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/udp_listener_config.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/listener/v3/udp_listener_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/listener/v3/udp_listener_config.proto package listenerv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/metrics_service.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/metrics_service.pb.go index 5321a146..8ffca172 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/metrics_service.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/metrics_service.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/metrics/v3/metrics_service.proto package metricsv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats.pb.go index 97639776..a61d6d39 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/metrics/v3/stats.proto package metricsv3 @@ -111,6 +111,7 @@ type StatsSink_TypedConfig struct { func (*StatsSink_TypedConfig) isStatsSink_ConfigType() {} // Statistics configuration such as tagging. +// [#next-free-field: 6] type StatsConfig struct { state protoimpl.MessageState `protogen:"open.v1"` // Each stat name is independently processed through these tag specifiers. When a tag is @@ -167,8 +168,20 @@ type StatsConfig struct { // 3600000 // ] HistogramBucketSettings []*HistogramBucketSettings `protobuf:"bytes,4,rep,name=histogram_bucket_settings,json=histogramBucketSettings,proto3" json:"histogram_bucket_settings,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // When set to “true“, tag extractors specified in :ref:`stats_tags + // ` take precedence over the built-in + // default tag extractors that share the same “tag_name“, instead of the default taking + // precedence. This allows overriding individual default Envoy tags (for example + // “envoy.cluster_name“) while keeping :ref:`use_all_default_tags + // ` enabled, so it is not + // necessary to disable all defaults and re-declare every extractor. + // + // Has no effect when “use_all_default_tags“ is “false“ (no default extractors are added in + // that case). If not provided, the value is assumed to be false, preserving existing behavior + // where the default extractor takes precedence over custom extractors with the same “tag_name“. + AllowDefaultTagOverrides *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=allow_default_tag_overrides,json=allowDefaultTagOverrides,proto3" json:"allow_default_tag_overrides,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *StatsConfig) Reset() { @@ -229,6 +242,13 @@ func (x *StatsConfig) GetHistogramBucketSettings() []*HistogramBucketSettings { return nil } +func (x *StatsConfig) GetAllowDefaultTagOverrides() *wrapperspb.BoolValue { + if x != nil { + return x.AllowDefaultTagOverrides + } + return nil +} + // Configuration for disabling stat instantiation. type StatsMatcher struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -861,13 +881,14 @@ const file_envoy_config_metrics_v3_stats_proto_rawDesc = "" + "\x04name\x18\x01 \x01(\tR\x04name\x129\n" + "\ftyped_config\x18\x03 \x01(\v2\x14.google.protobuf.AnyH\x00R\vtypedConfig:(\x9aň\x1e#\n" + "!envoy.config.metrics.v2.StatsSinkB\r\n" + - "\vconfig_typeJ\x04\b\x02\x10\x03R\x06config\"\x86\x03\n" + + "\vconfig_typeJ\x04\b\x02\x10\x03R\x06config\"\xe1\x03\n" + "\vStatsConfig\x12D\n" + "\n" + "stats_tags\x18\x01 \x03(\v2%.envoy.config.metrics.v3.TagSpecifierR\tstatsTags\x12K\n" + "\x14use_all_default_tags\x18\x02 \x01(\v2\x1a.google.protobuf.BoolValueR\x11useAllDefaultTags\x12J\n" + "\rstats_matcher\x18\x03 \x01(\v2%.envoy.config.metrics.v3.StatsMatcherR\fstatsMatcher\x12l\n" + - "\x19histogram_bucket_settings\x18\x04 \x03(\v20.envoy.config.metrics.v3.HistogramBucketSettingsR\x17histogramBucketSettings:*\x9aň\x1e%\n" + + "\x19histogram_bucket_settings\x18\x04 \x03(\v20.envoy.config.metrics.v3.HistogramBucketSettingsR\x17histogramBucketSettings\x12Y\n" + + "\x1ballow_default_tag_overrides\x18\x05 \x01(\v2\x1a.google.protobuf.BoolValueR\x18allowDefaultTagOverrides:*\x9aň\x1e%\n" + "#envoy.config.metrics.v2.StatsConfig\"\x98\x02\n" + "\fStatsMatcher\x12\x1f\n" + "\n" + @@ -943,18 +964,19 @@ var file_envoy_config_metrics_v3_stats_proto_depIdxs = []int32{ 9, // 2: envoy.config.metrics.v3.StatsConfig.use_all_default_tags:type_name -> google.protobuf.BoolValue 2, // 3: envoy.config.metrics.v3.StatsConfig.stats_matcher:type_name -> envoy.config.metrics.v3.StatsMatcher 4, // 4: envoy.config.metrics.v3.StatsConfig.histogram_bucket_settings:type_name -> envoy.config.metrics.v3.HistogramBucketSettings - 10, // 5: envoy.config.metrics.v3.StatsMatcher.exclusion_list:type_name -> envoy.type.matcher.v3.ListStringMatcher - 10, // 6: envoy.config.metrics.v3.StatsMatcher.inclusion_list:type_name -> envoy.type.matcher.v3.ListStringMatcher - 11, // 7: envoy.config.metrics.v3.HistogramBucketSettings.match:type_name -> envoy.type.matcher.v3.StringMatcher - 12, // 8: envoy.config.metrics.v3.HistogramBucketSettings.bins:type_name -> google.protobuf.UInt32Value - 13, // 9: envoy.config.metrics.v3.StatsdSink.address:type_name -> envoy.config.core.v3.Address - 13, // 10: envoy.config.metrics.v3.DogStatsdSink.address:type_name -> envoy.config.core.v3.Address - 14, // 11: envoy.config.metrics.v3.DogStatsdSink.max_bytes_per_datagram:type_name -> google.protobuf.UInt64Value - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 9, // 5: envoy.config.metrics.v3.StatsConfig.allow_default_tag_overrides:type_name -> google.protobuf.BoolValue + 10, // 6: envoy.config.metrics.v3.StatsMatcher.exclusion_list:type_name -> envoy.type.matcher.v3.ListStringMatcher + 10, // 7: envoy.config.metrics.v3.StatsMatcher.inclusion_list:type_name -> envoy.type.matcher.v3.ListStringMatcher + 11, // 8: envoy.config.metrics.v3.HistogramBucketSettings.match:type_name -> envoy.type.matcher.v3.StringMatcher + 12, // 9: envoy.config.metrics.v3.HistogramBucketSettings.bins:type_name -> google.protobuf.UInt32Value + 13, // 10: envoy.config.metrics.v3.StatsdSink.address:type_name -> envoy.config.core.v3.Address + 13, // 11: envoy.config.metrics.v3.DogStatsdSink.address:type_name -> envoy.config.core.v3.Address + 14, // 12: envoy.config.metrics.v3.DogStatsdSink.max_bytes_per_datagram:type_name -> google.protobuf.UInt64Value + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_envoy_config_metrics_v3_stats_proto_init() } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats.pb.validate.go index 59eb9858..15c47ebb 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats.pb.validate.go @@ -331,6 +331,35 @@ func (m *StatsConfig) validate(all bool) error { } + if all { + switch v := interface{}(m.GetAllowDefaultTagOverrides()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, StatsConfigValidationError{ + field: "AllowDefaultTagOverrides", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, StatsConfigValidationError{ + field: "AllowDefaultTagOverrides", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetAllowDefaultTagOverrides()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return StatsConfigValidationError{ + field: "AllowDefaultTagOverrides", + reason: "embedded message failed validation", + cause: err, + } + } + } + if len(errors) > 0 { return StatsConfigMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats_vtproto.pb.go index 18a2d728..7d476426 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3/stats_vtproto.pb.go @@ -123,6 +123,16 @@ func (m *StatsConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.AllowDefaultTagOverrides != nil { + size, err := (*wrapperspb.BoolValue)(m.AllowDefaultTagOverrides).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } if len(m.HistogramBucketSettings) > 0 { for iNdEx := len(m.HistogramBucketSettings) - 1; iNdEx >= 0; iNdEx-- { size, err := m.HistogramBucketSettings[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) @@ -758,6 +768,10 @@ func (m *StatsConfig) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } + if m.AllowDefaultTagOverrides != nil { + l = (*wrapperspb.BoolValue)(m.AllowDefaultTagOverrides).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload.pb.go index bceca6b1..382f2485 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/overload/v3/overload.proto package overloadv3 @@ -14,6 +14,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" durationpb "google.golang.org/protobuf/types/known/durationpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" unsafe "unsafe" @@ -426,6 +427,67 @@ func (x *ScaleTimersOverloadActionConfig) GetTimerScaleFactors() []*ScaleTimersO return nil } +// Typed configuration for the "envoy.overload_actions.shrink_heap" action. +// See :ref:`the docs ` for an example of how to configure +// this action. +type ShrinkHeapConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The interval at which shrink heap action checks if memory should be released. + // If not specified, defaults to 10 seconds. + TimerInterval *durationpb.Duration `protobuf:"bytes,1,opt,name=timer_interval,json=timerInterval,proto3" json:"timer_interval,omitempty"` + // Maximum amount of unfreed memory in bytes to keep before releasing memory + // back to the system. This is used as the threshold passed to + // tcmalloc::MallocExtension::ReleaseMemoryToSystem(). + // If not specified, defaults to 104857600 (100MB). + MaxUnfreedMemoryBytes *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=max_unfreed_memory_bytes,json=maxUnfreedMemoryBytes,proto3" json:"max_unfreed_memory_bytes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ShrinkHeapConfig) Reset() { + *x = ShrinkHeapConfig{} + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ShrinkHeapConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShrinkHeapConfig) ProtoMessage() {} + +func (x *ShrinkHeapConfig) ProtoReflect() protoreflect.Message { + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ShrinkHeapConfig.ProtoReflect.Descriptor instead. +func (*ShrinkHeapConfig) Descriptor() ([]byte, []int) { + return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{5} +} + +func (x *ShrinkHeapConfig) GetTimerInterval() *durationpb.Duration { + if x != nil { + return x.TimerInterval + } + return nil +} + +func (x *ShrinkHeapConfig) GetMaxUnfreedMemoryBytes() *wrapperspb.UInt64Value { + if x != nil { + return x.MaxUnfreedMemoryBytes + } + return nil +} + type OverloadAction struct { state protoimpl.MessageState `protogen:"open.v1"` // The name of the overload action. This is just a well-known string that @@ -455,7 +517,7 @@ type OverloadAction struct { func (x *OverloadAction) Reset() { *x = OverloadAction{} - mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[5] + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -467,7 +529,7 @@ func (x *OverloadAction) String() string { func (*OverloadAction) ProtoMessage() {} func (x *OverloadAction) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[5] + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -480,7 +542,7 @@ func (x *OverloadAction) ProtoReflect() protoreflect.Message { // Deprecated: Use OverloadAction.ProtoReflect.Descriptor instead. func (*OverloadAction) Descriptor() ([]byte, []int) { - return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{5} + return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{6} } func (x *OverloadAction) GetName() string { @@ -527,7 +589,7 @@ type LoadShedPoint struct { func (x *LoadShedPoint) Reset() { *x = LoadShedPoint{} - mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[6] + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -539,7 +601,7 @@ func (x *LoadShedPoint) String() string { func (*LoadShedPoint) ProtoMessage() {} func (x *LoadShedPoint) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[6] + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -552,7 +614,7 @@ func (x *LoadShedPoint) ProtoReflect() protoreflect.Message { // Deprecated: Use LoadShedPoint.ProtoReflect.Descriptor instead. func (*LoadShedPoint) Descriptor() ([]byte, []int) { - return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{6} + return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{7} } func (x *LoadShedPoint) GetName() string { @@ -594,7 +656,7 @@ type BufferFactoryConfig struct { func (x *BufferFactoryConfig) Reset() { *x = BufferFactoryConfig{} - mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[7] + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -606,7 +668,7 @@ func (x *BufferFactoryConfig) String() string { func (*BufferFactoryConfig) ProtoMessage() {} func (x *BufferFactoryConfig) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[7] + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -619,7 +681,7 @@ func (x *BufferFactoryConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use BufferFactoryConfig.ProtoReflect.Descriptor instead. func (*BufferFactoryConfig) Descriptor() ([]byte, []int) { - return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{7} + return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{8} } func (x *BufferFactoryConfig) GetMinimumAccountToTrackPowerOfTwo() uint32 { @@ -648,7 +710,7 @@ type OverloadManager struct { func (x *OverloadManager) Reset() { *x = OverloadManager{} - mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[8] + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -660,7 +722,7 @@ func (x *OverloadManager) String() string { func (*OverloadManager) ProtoMessage() {} func (x *OverloadManager) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[8] + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -673,7 +735,7 @@ func (x *OverloadManager) ProtoReflect() protoreflect.Message { // Deprecated: Use OverloadManager.ProtoReflect.Descriptor instead. func (*OverloadManager) Descriptor() ([]byte, []int) { - return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{8} + return file_envoy_config_overload_v3_overload_proto_rawDescGZIP(), []int{9} } func (x *OverloadManager) GetRefreshInterval() *durationpb.Duration { @@ -726,7 +788,7 @@ type ScaleTimersOverloadActionConfig_ScaleTimer struct { func (x *ScaleTimersOverloadActionConfig_ScaleTimer) Reset() { *x = ScaleTimersOverloadActionConfig_ScaleTimer{} - mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[9] + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -738,7 +800,7 @@ func (x *ScaleTimersOverloadActionConfig_ScaleTimer) String() string { func (*ScaleTimersOverloadActionConfig_ScaleTimer) ProtoMessage() {} func (x *ScaleTimersOverloadActionConfig_ScaleTimer) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[9] + mi := &file_envoy_config_overload_v3_overload_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -810,7 +872,7 @@ var File_envoy_config_overload_v3_overload_proto protoreflect.FileDescriptor const file_envoy_config_overload_v3_overload_proto_rawDesc = "" + "\n" + - "'envoy/config/overload/v3/overload.proto\x12\x18envoy.config.overload.v3\x1a\x1benvoy/type/v3/percent.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xbc\x01\n" + + "'envoy/config/overload/v3/overload.proto\x12\x18envoy.config.overload.v3\x1a\x1benvoy/type/v3/percent.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xbc\x01\n" + "\x0fResourceMonitor\x12\x1b\n" + "\x04name\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x04name\x129\n" + "\ftyped_config\x18\x03 \x01(\v2\x14.google.protobuf.AnyH\x00R\vtypedConfig:4\x9aň\x1e/\n" + @@ -844,7 +906,11 @@ const file_envoy_config_overload_v3_overload_proto_rawDesc = "" + "\x1bHTTP_DOWNSTREAM_STREAM_IDLE\x10\x02\x12\x1c\n" + "\x18TRANSPORT_SOCKET_CONNECT\x10\x03\x12\"\n" + "\x1eHTTP_DOWNSTREAM_CONNECTION_MAX\x10\x04\x12 \n" + - "\x1cHTTP_DOWNSTREAM_STREAM_FLUSH\x10\x05\"\xe4\x01\n" + + "\x1cHTTP_DOWNSTREAM_STREAM_FLUSH\x10\x05\"\xb7\x01\n" + + "\x10ShrinkHeapConfig\x12L\n" + + "\x0etimer_interval\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\n" + + "\xfaB\a\xaa\x01\x042\x02\b\x01R\rtimerInterval\x12U\n" + + "\x18max_unfreed_memory_bytes\x18\x02 \x01(\v2\x1c.google.protobuf.UInt64ValueR\x15maxUnfreedMemoryBytes\"\xe4\x01\n" + "\x0eOverloadAction\x12\x1b\n" + "\x04name\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x04name\x12G\n" + "\btriggers\x18\x02 \x03(\v2!.envoy.config.overload.v3.TriggerB\b\xfaB\x05\x92\x01\x02\b\x01R\btriggers\x127\n" + @@ -878,7 +944,7 @@ func file_envoy_config_overload_v3_overload_proto_rawDescGZIP() []byte { } var file_envoy_config_overload_v3_overload_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_envoy_config_overload_v3_overload_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_envoy_config_overload_v3_overload_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_envoy_config_overload_v3_overload_proto_goTypes = []any{ (ScaleTimersOverloadActionConfig_TimerType)(0), // 0: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.TimerType (*ResourceMonitor)(nil), // 1: envoy.config.overload.v3.ResourceMonitor @@ -886,36 +952,40 @@ var file_envoy_config_overload_v3_overload_proto_goTypes = []any{ (*ScaledTrigger)(nil), // 3: envoy.config.overload.v3.ScaledTrigger (*Trigger)(nil), // 4: envoy.config.overload.v3.Trigger (*ScaleTimersOverloadActionConfig)(nil), // 5: envoy.config.overload.v3.ScaleTimersOverloadActionConfig - (*OverloadAction)(nil), // 6: envoy.config.overload.v3.OverloadAction - (*LoadShedPoint)(nil), // 7: envoy.config.overload.v3.LoadShedPoint - (*BufferFactoryConfig)(nil), // 8: envoy.config.overload.v3.BufferFactoryConfig - (*OverloadManager)(nil), // 9: envoy.config.overload.v3.OverloadManager - (*ScaleTimersOverloadActionConfig_ScaleTimer)(nil), // 10: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer - (*anypb.Any)(nil), // 11: google.protobuf.Any - (*durationpb.Duration)(nil), // 12: google.protobuf.Duration - (*v3.Percent)(nil), // 13: envoy.type.v3.Percent + (*ShrinkHeapConfig)(nil), // 6: envoy.config.overload.v3.ShrinkHeapConfig + (*OverloadAction)(nil), // 7: envoy.config.overload.v3.OverloadAction + (*LoadShedPoint)(nil), // 8: envoy.config.overload.v3.LoadShedPoint + (*BufferFactoryConfig)(nil), // 9: envoy.config.overload.v3.BufferFactoryConfig + (*OverloadManager)(nil), // 10: envoy.config.overload.v3.OverloadManager + (*ScaleTimersOverloadActionConfig_ScaleTimer)(nil), // 11: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer + (*anypb.Any)(nil), // 12: google.protobuf.Any + (*durationpb.Duration)(nil), // 13: google.protobuf.Duration + (*wrapperspb.UInt64Value)(nil), // 14: google.protobuf.UInt64Value + (*v3.Percent)(nil), // 15: envoy.type.v3.Percent } var file_envoy_config_overload_v3_overload_proto_depIdxs = []int32{ - 11, // 0: envoy.config.overload.v3.ResourceMonitor.typed_config:type_name -> google.protobuf.Any + 12, // 0: envoy.config.overload.v3.ResourceMonitor.typed_config:type_name -> google.protobuf.Any 2, // 1: envoy.config.overload.v3.Trigger.threshold:type_name -> envoy.config.overload.v3.ThresholdTrigger 3, // 2: envoy.config.overload.v3.Trigger.scaled:type_name -> envoy.config.overload.v3.ScaledTrigger - 10, // 3: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.timer_scale_factors:type_name -> envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer - 4, // 4: envoy.config.overload.v3.OverloadAction.triggers:type_name -> envoy.config.overload.v3.Trigger - 11, // 5: envoy.config.overload.v3.OverloadAction.typed_config:type_name -> google.protobuf.Any - 4, // 6: envoy.config.overload.v3.LoadShedPoint.triggers:type_name -> envoy.config.overload.v3.Trigger - 12, // 7: envoy.config.overload.v3.OverloadManager.refresh_interval:type_name -> google.protobuf.Duration - 1, // 8: envoy.config.overload.v3.OverloadManager.resource_monitors:type_name -> envoy.config.overload.v3.ResourceMonitor - 6, // 9: envoy.config.overload.v3.OverloadManager.actions:type_name -> envoy.config.overload.v3.OverloadAction - 7, // 10: envoy.config.overload.v3.OverloadManager.loadshed_points:type_name -> envoy.config.overload.v3.LoadShedPoint - 8, // 11: envoy.config.overload.v3.OverloadManager.buffer_factory_config:type_name -> envoy.config.overload.v3.BufferFactoryConfig - 0, // 12: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer.timer:type_name -> envoy.config.overload.v3.ScaleTimersOverloadActionConfig.TimerType - 12, // 13: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer.min_timeout:type_name -> google.protobuf.Duration - 13, // 14: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer.min_scale:type_name -> envoy.type.v3.Percent - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 11, // 3: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.timer_scale_factors:type_name -> envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer + 13, // 4: envoy.config.overload.v3.ShrinkHeapConfig.timer_interval:type_name -> google.protobuf.Duration + 14, // 5: envoy.config.overload.v3.ShrinkHeapConfig.max_unfreed_memory_bytes:type_name -> google.protobuf.UInt64Value + 4, // 6: envoy.config.overload.v3.OverloadAction.triggers:type_name -> envoy.config.overload.v3.Trigger + 12, // 7: envoy.config.overload.v3.OverloadAction.typed_config:type_name -> google.protobuf.Any + 4, // 8: envoy.config.overload.v3.LoadShedPoint.triggers:type_name -> envoy.config.overload.v3.Trigger + 13, // 9: envoy.config.overload.v3.OverloadManager.refresh_interval:type_name -> google.protobuf.Duration + 1, // 10: envoy.config.overload.v3.OverloadManager.resource_monitors:type_name -> envoy.config.overload.v3.ResourceMonitor + 7, // 11: envoy.config.overload.v3.OverloadManager.actions:type_name -> envoy.config.overload.v3.OverloadAction + 8, // 12: envoy.config.overload.v3.OverloadManager.loadshed_points:type_name -> envoy.config.overload.v3.LoadShedPoint + 9, // 13: envoy.config.overload.v3.OverloadManager.buffer_factory_config:type_name -> envoy.config.overload.v3.BufferFactoryConfig + 0, // 14: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer.timer:type_name -> envoy.config.overload.v3.ScaleTimersOverloadActionConfig.TimerType + 13, // 15: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer.min_timeout:type_name -> google.protobuf.Duration + 15, // 16: envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer.min_scale:type_name -> envoy.type.v3.Percent + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_envoy_config_overload_v3_overload_proto_init() } @@ -930,7 +1000,7 @@ func file_envoy_config_overload_v3_overload_proto_init() { (*Trigger_Threshold)(nil), (*Trigger_Scaled)(nil), } - file_envoy_config_overload_v3_overload_proto_msgTypes[9].OneofWrappers = []any{ + file_envoy_config_overload_v3_overload_proto_msgTypes[10].OneofWrappers = []any{ (*ScaleTimersOverloadActionConfig_ScaleTimer_MinTimeout)(nil), (*ScaleTimersOverloadActionConfig_ScaleTimer_MinScale)(nil), } @@ -940,7 +1010,7 @@ func file_envoy_config_overload_v3_overload_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_config_overload_v3_overload_proto_rawDesc), len(file_envoy_config_overload_v3_overload_proto_rawDesc)), NumEnums: 1, - NumMessages: 10, + NumMessages: 11, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload.pb.validate.go index 94bdb441..0cfd1e71 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload.pb.validate.go @@ -783,6 +783,165 @@ var _ interface { ErrorName() string } = ScaleTimersOverloadActionConfigValidationError{} +// Validate checks the field values on ShrinkHeapConfig with the rules defined +// in the proto definition for this message. If any rules are violated, the +// first error encountered is returned, or nil if there are no violations. +func (m *ShrinkHeapConfig) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ShrinkHeapConfig with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ShrinkHeapConfigMultiError, or nil if none found. +func (m *ShrinkHeapConfig) ValidateAll() error { + return m.validate(true) +} + +func (m *ShrinkHeapConfig) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if d := m.GetTimerInterval(); d != nil { + dur, err := d.AsDuration(), d.CheckValid() + if err != nil { + err = ShrinkHeapConfigValidationError{ + field: "TimerInterval", + reason: "value is not a valid duration", + cause: err, + } + if !all { + return err + } + errors = append(errors, err) + } else { + + gte := time.Duration(1*time.Second + 0*time.Nanosecond) + + if dur < gte { + err := ShrinkHeapConfigValidationError{ + field: "TimerInterval", + reason: "value must be greater than or equal to 1s", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + } + + if all { + switch v := interface{}(m.GetMaxUnfreedMemoryBytes()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ShrinkHeapConfigValidationError{ + field: "MaxUnfreedMemoryBytes", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ShrinkHeapConfigValidationError{ + field: "MaxUnfreedMemoryBytes", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetMaxUnfreedMemoryBytes()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ShrinkHeapConfigValidationError{ + field: "MaxUnfreedMemoryBytes", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return ShrinkHeapConfigMultiError(errors) + } + + return nil +} + +// ShrinkHeapConfigMultiError is an error wrapping multiple validation errors +// returned by ShrinkHeapConfig.ValidateAll() if the designated constraints +// aren't met. +type ShrinkHeapConfigMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ShrinkHeapConfigMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ShrinkHeapConfigMultiError) AllErrors() []error { return m } + +// ShrinkHeapConfigValidationError is the validation error returned by +// ShrinkHeapConfig.Validate if the designated constraints aren't met. +type ShrinkHeapConfigValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ShrinkHeapConfigValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ShrinkHeapConfigValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ShrinkHeapConfigValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ShrinkHeapConfigValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ShrinkHeapConfigValidationError) ErrorName() string { return "ShrinkHeapConfigValidationError" } + +// Error satisfies the builtin error interface +func (e ShrinkHeapConfigValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sShrinkHeapConfig.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ShrinkHeapConfigValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ShrinkHeapConfigValidationError{} + // Validate checks the field values on OverloadAction with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload_vtproto.pb.go index 3a8ba005..a2965820 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/overload/v3/overload_vtproto.pb.go @@ -11,6 +11,7 @@ import ( protohelpers "github.com/planetscale/vtprotobuf/protohelpers" anypb "github.com/planetscale/vtprotobuf/types/known/anypb" durationpb "github.com/planetscale/vtprotobuf/types/known/durationpb" + wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" proto "google.golang.org/protobuf/proto" protoimpl "google.golang.org/protobuf/runtime/protoimpl" math "math" @@ -432,6 +433,59 @@ func (m *ScaleTimersOverloadActionConfig) MarshalToSizedBufferVTStrict(dAtA []by return len(dAtA) - i, nil } +func (m *ShrinkHeapConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ShrinkHeapConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ShrinkHeapConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.MaxUnfreedMemoryBytes != nil { + size, err := (*wrapperspb.UInt64Value)(m.MaxUnfreedMemoryBytes).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.TimerInterval != nil { + size, err := (*durationpb.Duration)(m.TimerInterval).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *OverloadAction) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -844,6 +898,24 @@ func (m *ScaleTimersOverloadActionConfig) SizeVT() (n int) { return n } +func (m *ShrinkHeapConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TimerInterval != nil { + l = (*durationpb.Duration)(m.TimerInterval).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MaxUnfreedMemoryBytes != nil { + l = (*wrapperspb.UInt64Value)(m.MaxUnfreedMemoryBytes).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + func (m *OverloadAction) SizeVT() (n int) { if m == nil { return 0 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route.pb.go index 389e329a..57244cb9 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/route/v3/route.proto package routev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components.pb.go index 9f93207c..e73e42bb 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/route/v3/route_components.proto package routev3 @@ -296,6 +296,68 @@ func (RedirectAction_RedirectResponseCode) EnumDescriptor() ([]byte, []int) { return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{11, 0} } +type RateLimit_XRateLimitOption int32 + +const ( + // X-RateLimit headers is not specified. When this enum is used at descriptor level, + // the behavior is to inherit the setting from the filter. + RateLimit_UNSPECIFIED RateLimit_XRateLimitOption = 0 + // X-RateLimit headers disabled. + RateLimit_OFF RateLimit_XRateLimitOption = 1 + // Use `draft RFC Version 03 `_ + // where 3 headers will be added: + // + // - “X-RateLimit-Limit“ - indicates the request-quota associated to the + // client in the current time-window followed by the description of the + // quota policy. The value is returned by the maximum tokens of the token bucket. + // - “X-RateLimit-Remaining“ - indicates the remaining requests in the + // current time-window. The value is returned by the remaining tokens in the token bucket. + // - “X-RateLimit-Reset“ - indicates the number of seconds until reset of + // the current time-window. The value is returned by the remaining fill interval of the token bucket. + RateLimit_DRAFT_VERSION_03 RateLimit_XRateLimitOption = 2 +) + +// Enum value maps for RateLimit_XRateLimitOption. +var ( + RateLimit_XRateLimitOption_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "OFF", + 2: "DRAFT_VERSION_03", + } + RateLimit_XRateLimitOption_value = map[string]int32{ + "UNSPECIFIED": 0, + "OFF": 1, + "DRAFT_VERSION_03": 2, + } +) + +func (x RateLimit_XRateLimitOption) Enum() *RateLimit_XRateLimitOption { + p := new(RateLimit_XRateLimitOption) + *p = x + return p +} + +func (x RateLimit_XRateLimitOption) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RateLimit_XRateLimitOption) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_config_route_v3_route_components_proto_enumTypes[5].Descriptor() +} + +func (RateLimit_XRateLimitOption) Type() protoreflect.EnumType { + return &file_envoy_config_route_v3_route_components_proto_enumTypes[5] +} + +func (x RateLimit_XRateLimitOption) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RateLimit_XRateLimitOption.Descriptor instead. +func (RateLimit_XRateLimitOption) EnumDescriptor() ([]byte, []int) { + return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0} +} + type RateLimit_Action_MetaData_Source int32 const ( @@ -303,6 +365,14 @@ const ( RateLimit_Action_MetaData_DYNAMIC RateLimit_Action_MetaData_Source = 0 // Query :ref:`route entry metadata ` RateLimit_Action_MetaData_ROUTE_ENTRY RateLimit_Action_MetaData_Source = 1 + // Query :ref:`cluster metadata ` + RateLimit_Action_MetaData_CLUSTER_ENTRY RateLimit_Action_MetaData_Source = 2 + // Query :ref:`cluster locality metadata ` + // Cluster locality metadata is available after upstream host selection only. To populate descriptors + // with cluster locality metadata it needs to be have the + // :ref:`apply_on_stream_done field ` + // set to “true“ or host selection completed before the rate limit filter is executed. + RateLimit_Action_MetaData_CLUSTER_LOCALITY_ENTRY RateLimit_Action_MetaData_Source = 3 ) // Enum value maps for RateLimit_Action_MetaData_Source. @@ -310,10 +380,14 @@ var ( RateLimit_Action_MetaData_Source_name = map[int32]string{ 0: "DYNAMIC", 1: "ROUTE_ENTRY", + 2: "CLUSTER_ENTRY", + 3: "CLUSTER_LOCALITY_ENTRY", } RateLimit_Action_MetaData_Source_value = map[string]int32{ - "DYNAMIC": 0, - "ROUTE_ENTRY": 1, + "DYNAMIC": 0, + "ROUTE_ENTRY": 1, + "CLUSTER_ENTRY": 2, + "CLUSTER_LOCALITY_ENTRY": 3, } ) @@ -328,11 +402,11 @@ func (x RateLimit_Action_MetaData_Source) String() string { } func (RateLimit_Action_MetaData_Source) Descriptor() protoreflect.EnumDescriptor { - return file_envoy_config_route_v3_route_components_proto_enumTypes[5].Descriptor() + return file_envoy_config_route_v3_route_components_proto_enumTypes[6].Descriptor() } func (RateLimit_Action_MetaData_Source) Type() protoreflect.EnumType { - return &file_envoy_config_route_v3_route_components_proto_enumTypes[5] + return &file_envoy_config_route_v3_route_components_proto_enumTypes[6] } func (x RateLimit_Action_MetaData_Source) Number() protoreflect.EnumNumber { @@ -2616,7 +2690,7 @@ func (*RouteAction_HostRewritePathRegex) isRouteAction_HostRewriteSpecifier() {} func (*RouteAction_HostRewrite) isRouteAction_HostRewriteSpecifier() {} // HTTP retry :ref:`architecture overview `. -// [#next-free-field: 14] +// [#next-free-field: 15] type RetryPolicy struct { state protoimpl.MessageState `protogen:"open.v1"` // Specifies the conditions under which retry takes place. These are the same @@ -2698,8 +2772,20 @@ type RetryPolicy struct { RetriableHeaders []*HeaderMatcher `protobuf:"bytes,9,rep,name=retriable_headers,json=retriableHeaders,proto3" json:"retriable_headers,omitempty"` // HTTP headers which must be present in the request for retries to be attempted. RetriableRequestHeaders []*HeaderMatcher `protobuf:"bytes,10,rep,name=retriable_request_headers,json=retriableRequestHeaders,proto3" json:"retriable_request_headers,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // By default, the target upstream cluster of a retry request is the same as the original request, + // and Envoy will not try to refresh it when retrying. + // If this field is set to true, Envoy will try to refresh the target upstream cluster when + // retrying a request. This is useful when users want to try different upstream cluster for + // each retry attempt. + // + // .. note:: + // + // This currently works when the route cluster specifier support the dynamic refresh, + // e.g. :ref:`matcher cluster specifier + // `. + RefreshClusterOnRetry bool `protobuf:"varint,14,opt,name=refresh_cluster_on_retry,json=refreshClusterOnRetry,proto3" json:"refresh_cluster_on_retry,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RetryPolicy) Reset() { @@ -2823,6 +2909,13 @@ func (x *RetryPolicy) GetRetriableRequestHeaders() []*HeaderMatcher { return nil } +func (x *RetryPolicy) GetRefreshClusterOnRetry() bool { + if x != nil { + return x.RefreshClusterOnRetry + } + return false +} + // HTTP request hedging :ref:`architecture overview `. type HedgePolicy struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -2909,7 +3002,7 @@ func (x *HedgePolicy) GetHedgeOnPerTryTimeout() bool { return false } -// [#next-free-field: 10] +// [#next-free-field: 11] type RedirectAction struct { state protoimpl.MessageState `protogen:"open.v1"` // When the scheme redirection take place, the following rules apply: @@ -2932,6 +3025,7 @@ type RedirectAction struct { // *RedirectAction_PathRedirect // *RedirectAction_PrefixRewrite // *RedirectAction_RegexRewrite + // *RedirectAction_PathRewrite PathRewriteSpecifier isRedirectAction_PathRewriteSpecifier `protobuf_oneof:"path_rewrite_specifier"` // The HTTP status code to use in the redirect response. The default response // code is MOVED_PERMANENTLY (301). @@ -3046,6 +3140,15 @@ func (x *RedirectAction) GetRegexRewrite() *v32.RegexMatchAndSubstitute { return nil } +func (x *RedirectAction) GetPathRewrite() string { + if x != nil { + if x, ok := x.PathRewriteSpecifier.(*RedirectAction_PathRewrite); ok { + return x.PathRewrite + } + } + return "" +} + func (x *RedirectAction) GetResponseCode() RedirectAction_RedirectResponseCode { if x != nil { return x.ResponseCode @@ -3141,12 +3244,31 @@ type RedirectAction_RegexRewrite struct { RegexRewrite *v32.RegexMatchAndSubstitute `protobuf:"bytes,9,opt,name=regex_rewrite,json=regexRewrite,proto3,oneof"` } +type RedirectAction_PathRewrite struct { + // The path portion of the URL will be set to this value and supports + // :ref:`substitution format specifiers ` and CEL + // expressions. + // + // For example, with the following config: + // + // .. code-block:: yaml + // + // path_rewrite: "/new/%REQ(x-version)%" + // + // Would redirect to “/new/v2“ given a request header “x-version: v2“. + // If the substitution produces an empty string the path redirect is ignored + // and the original path is preserved. + PathRewrite string `protobuf:"bytes,10,opt,name=path_rewrite,json=pathRewrite,proto3,oneof"` +} + func (*RedirectAction_PathRedirect) isRedirectAction_PathRewriteSpecifier() {} func (*RedirectAction_PrefixRewrite) isRedirectAction_PathRewriteSpecifier() {} func (*RedirectAction_RegexRewrite) isRedirectAction_PathRewriteSpecifier() {} +func (*RedirectAction_PathRewrite) isRedirectAction_PathRewriteSpecifier() {} + type DirectResponseAction struct { state protoimpl.MessageState `protogen:"open.v1"` // Specifies the HTTP response status to be returned. @@ -3529,7 +3651,7 @@ func (x *VirtualCluster) GetName() string { // Global rate limiting :ref:`architecture overview `. // Also applies to Local rate limiting :ref:`using descriptors `. -// [#next-free-field: 7] +// [#next-free-field: 8] type RateLimit struct { state protoimpl.MessageState `protogen:"open.v1"` // Refers to the stage set in the filter. The rate limit configuration only @@ -3568,9 +3690,13 @@ type RateLimit struct { // // .. note:: // - // This is not supported if the rate limit action is configured in the ``typed_per_filter_config`` like - // :ref:`VirtualHost.typed_per_filter_config` or - // :ref:`Route.typed_per_filter_config`, etc. + // For the global HTTP :ref:`rate limit filter + // `, this is supported both at the route/virtual host + // level and when the rate limit configuration is supplied via the filter's + // ``rate_limits`` field or the ``typed_per_filter_config`` + // (:ref:`RateLimitPerRoute `). + // This is not supported by the :ref:`local rate limit filter + // `. Limit *RateLimit_Override `protobuf:"bytes,4,opt,name=limit,proto3" json:"limit,omitempty"` // An optional hits addend to be appended to the descriptor produced by this rate limit // configuration. @@ -3597,8 +3723,10 @@ type RateLimit struct { // // Currently, this is only supported by the HTTP global rate filter. ApplyOnStreamDone bool `protobuf:"varint,6,opt,name=apply_on_stream_done,json=applyOnStreamDone,proto3" json:"apply_on_stream_done,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Descriptor level X-RateLimit headers options which may override the filter level setting. + XRatelimitOption RateLimit_XRateLimitOption `protobuf:"varint,7,opt,name=x_ratelimit_option,json=xRatelimitOption,proto3,enum=envoy.config.route.v3.RateLimit_XRateLimitOption" json:"x_ratelimit_option,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RateLimit) Reset() { @@ -3673,6 +3801,13 @@ func (x *RateLimit) GetApplyOnStreamDone() bool { return false } +func (x *RateLimit) GetXRatelimitOption() RateLimit_XRateLimitOption { + if x != nil { + return x.XRatelimitOption + } + return RateLimit_UNSPECIFIED +} + // .. attention:: // // Internally, Envoy always uses the HTTP/2 ``:authority`` header to represent the HTTP/1 ``Host`` @@ -5945,7 +6080,7 @@ func (x *RetryPolicy_RateLimitedRetryBackOff) GetMaxInterval() *durationpb.Durat return nil } -// [#next-free-field: 13] +// [#next-free-field: 14] type RateLimit_Action struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to ActionSpecifier: @@ -5962,6 +6097,7 @@ type RateLimit_Action struct { // *RateLimit_Action_Extension // *RateLimit_Action_MaskedRemoteAddress_ // *RateLimit_Action_QueryParameterValueMatch_ + // *RateLimit_Action_RemoteAddressMatch_ ActionSpecifier isRateLimit_Action_ActionSpecifier `protobuf_oneof:"action_specifier"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -6113,6 +6249,15 @@ func (x *RateLimit_Action) GetQueryParameterValueMatch() *RateLimit_Action_Query return nil } +func (x *RateLimit_Action) GetRemoteAddressMatch() *RateLimit_Action_RemoteAddressMatch { + if x != nil { + if x, ok := x.ActionSpecifier.(*RateLimit_Action_RemoteAddressMatch_); ok { + return x.RemoteAddressMatch + } + } + return nil +} + type isRateLimit_Action_ActionSpecifier interface { isRateLimit_Action_ActionSpecifier() } @@ -6190,6 +6335,11 @@ type RateLimit_Action_QueryParameterValueMatch_ struct { QueryParameterValueMatch *RateLimit_Action_QueryParameterValueMatch `protobuf:"bytes,11,opt,name=query_parameter_value_match,json=queryParameterValueMatch,proto3,oneof"` } +type RateLimit_Action_RemoteAddressMatch_ struct { + // Rate limit on remote address match. + RemoteAddressMatch *RateLimit_Action_RemoteAddressMatch `protobuf:"bytes,13,opt,name=remote_address_match,json=remoteAddressMatch,proto3,oneof"` +} + func (*RateLimit_Action_SourceCluster_) isRateLimit_Action_ActionSpecifier() {} func (*RateLimit_Action_DestinationCluster_) isRateLimit_Action_ActionSpecifier() {} @@ -6214,11 +6364,14 @@ func (*RateLimit_Action_MaskedRemoteAddress_) isRateLimit_Action_ActionSpecifier func (*RateLimit_Action_QueryParameterValueMatch_) isRateLimit_Action_ActionSpecifier() {} +func (*RateLimit_Action_RemoteAddressMatch_) isRateLimit_Action_ActionSpecifier() {} + type RateLimit_Override struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to OverrideSpecifier: // // *RateLimit_Override_DynamicMetadata_ + // *RateLimit_Override_RateLimit OverrideSpecifier isRateLimit_Override_OverrideSpecifier `protobuf_oneof:"override_specifier"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -6270,6 +6423,15 @@ func (x *RateLimit_Override) GetDynamicMetadata() *RateLimit_Override_DynamicMet return nil } +func (x *RateLimit_Override) GetRateLimit() *RateLimit_Override_RateLimitOverride { + if x != nil { + if x, ok := x.OverrideSpecifier.(*RateLimit_Override_RateLimit); ok { + return x.RateLimit + } + } + return nil +} + type isRateLimit_Override_OverrideSpecifier interface { isRateLimit_Override_OverrideSpecifier() } @@ -6279,8 +6441,15 @@ type RateLimit_Override_DynamicMetadata_ struct { DynamicMetadata *RateLimit_Override_DynamicMetadata `protobuf:"bytes,1,opt,name=dynamic_metadata,json=dynamicMetadata,proto3,oneof"` } +type RateLimit_Override_RateLimit struct { + // Static limit override. + RateLimit *RateLimit_Override_RateLimitOverride `protobuf:"bytes,2,opt,name=rate_limit,json=rateLimit,proto3,oneof"` +} + func (*RateLimit_Override_DynamicMetadata_) isRateLimit_Override_OverrideSpecifier() {} +func (*RateLimit_Override_RateLimit) isRateLimit_Override_OverrideSpecifier() {} + type RateLimit_HitsAddend struct { state protoimpl.MessageState `protogen:"open.v1"` // Fixed number of hits to add to the rate limit descriptor. @@ -6305,9 +6474,13 @@ type RateLimit_HitsAddend struct { // received in the request. // // One of the “number“ or “format“ fields should be set but not both. - Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"` + // If true, the hits addend value will be treated as negative, effectively adding to + // the rate limit budget instead of consuming from it. This can be used to refill previously consumed + // rate limit tokens. + IsNegativeHits bool `protobuf:"varint,3,opt,name=is_negative_hits,json=isNegativeHits,proto3" json:"is_negative_hits,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RateLimit_HitsAddend) Reset() { @@ -6354,6 +6527,13 @@ func (x *RateLimit_HitsAddend) GetFormat() string { return "" } +func (x *RateLimit_HitsAddend) GetIsNegativeHits() bool { + if x != nil { + return x.IsNegativeHits + } + return false +} + // The following descriptor entry is appended to the descriptor: // // .. code-block:: cpp @@ -7248,6 +7428,109 @@ func (x *RateLimit_Action_QueryParameterValueMatch) GetQueryParameters() []*Quer return nil } +// The following descriptor entry is appended to the descriptor: +// +// .. code-block:: cpp +// +// ("remote_address_match", "") +type RateLimit_Action_RemoteAddressMatch struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Descriptor value of entry. + // + // The same :ref:`format specifier ` as used for + // :ref:`HTTP access logging ` applies here, however + // unknown specifier values are replaced with the empty string instead of “-“. + // + // .. note:: + // + // The format string can contain multiple valid substitution fields. If multiple + // substitution fields are present, their results will be concatenated to form the + // final descriptor value. If it contains no substitution fields, the value will be + // used as is. All substitution fields will be evaluated and their results concatenated. + // If the final concatenated result is empty and ``default_value`` is set, the + // ``default_value`` will be used. If ``default_value`` is not set and the result is + // empty, this descriptor will be skipped and not included in the rate limit call. + // + // For example, “static_value“ will be used as is since there are no substitution fields. + // “%REQ(:method)%“ will be replaced with the HTTP method, and + // “%REQ(:method)%%REQ(:path)%“ will be replaced with the concatenation of the HTTP method and path. + // “%CEL(request.headers['user-id'])%“ will use CEL to extract the user ID from request headers. + DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"` + // The key to use in the descriptor entry. + // + // Defaults to “remote_address_match“. + DescriptorKey string `protobuf:"bytes,2,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` + // An optional value to use if the final concatenated “descriptor_value“ result is empty. + DefaultValue string `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` + // Specifies an address matcher that controls whether the rate limit action is applied. + // The matcher checks the remote address (trusted address from + // :ref:`x-forwarded-for `) + // against the specified CIDR ranges. The rate limit action will be applied if + // the remote address matches any of the CIDR ranges (or does not match any if + // “invert_match“ is set to true in the address matcher). + AddressMatcher *v32.AddressMatcher `protobuf:"bytes,4,opt,name=address_matcher,json=addressMatcher,proto3" json:"address_matcher,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RateLimit_Action_RemoteAddressMatch) Reset() { + *x = RateLimit_Action_RemoteAddressMatch{} + mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RateLimit_Action_RemoteAddressMatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimit_Action_RemoteAddressMatch) ProtoMessage() {} + +func (x *RateLimit_Action_RemoteAddressMatch) ProtoReflect() protoreflect.Message { + mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[60] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimit_Action_RemoteAddressMatch.ProtoReflect.Descriptor instead. +func (*RateLimit_Action_RemoteAddressMatch) Descriptor() ([]byte, []int) { + return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 0, 11} +} + +func (x *RateLimit_Action_RemoteAddressMatch) GetDescriptorValue() string { + if x != nil { + return x.DescriptorValue + } + return "" +} + +func (x *RateLimit_Action_RemoteAddressMatch) GetDescriptorKey() string { + if x != nil { + return x.DescriptorKey + } + return "" +} + +func (x *RateLimit_Action_RemoteAddressMatch) GetDefaultValue() string { + if x != nil { + return x.DefaultValue + } + return "" +} + +func (x *RateLimit_Action_RemoteAddressMatch) GetAddressMatcher() *v32.AddressMatcher { + if x != nil { + return x.AddressMatcher + } + return nil +} + // Fetches the override from the dynamic metadata. type RateLimit_Override_DynamicMetadata struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -7262,7 +7545,7 @@ type RateLimit_Override_DynamicMetadata struct { func (x *RateLimit_Override_DynamicMetadata) Reset() { *x = RateLimit_Override_DynamicMetadata{} - mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[60] + mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7274,7 +7557,7 @@ func (x *RateLimit_Override_DynamicMetadata) String() string { func (*RateLimit_Override_DynamicMetadata) ProtoMessage() {} func (x *RateLimit_Override_DynamicMetadata) ProtoReflect() protoreflect.Message { - mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[60] + mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7297,11 +7580,66 @@ func (x *RateLimit_Override_DynamicMetadata) GetMetadataKey() *v36.MetadataKey { return nil } +// Rate limit to apply to this descriptor. +type RateLimit_Override_RateLimitOverride struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The number of requests per unit of time. + RequestsPerUnit uint32 `protobuf:"varint,1,opt,name=requests_per_unit,json=requestsPerUnit,proto3" json:"requests_per_unit,omitempty"` + // The unit of time. + Unit v33.RateLimitUnit `protobuf:"varint,2,opt,name=unit,proto3,enum=envoy.type.v3.RateLimitUnit" json:"unit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RateLimit_Override_RateLimitOverride) Reset() { + *x = RateLimit_Override_RateLimitOverride{} + mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RateLimit_Override_RateLimitOverride) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimit_Override_RateLimitOverride) ProtoMessage() {} + +func (x *RateLimit_Override_RateLimitOverride) ProtoReflect() protoreflect.Message { + mi := &file_envoy_config_route_v3_route_components_proto_msgTypes[62] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimit_Override_RateLimitOverride.ProtoReflect.Descriptor instead. +func (*RateLimit_Override_RateLimitOverride) Descriptor() ([]byte, []int) { + return file_envoy_config_route_v3_route_components_proto_rawDescGZIP(), []int{17, 1, 1} +} + +func (x *RateLimit_Override_RateLimitOverride) GetRequestsPerUnit() uint32 { + if x != nil { + return x.RequestsPerUnit + } + return 0 +} + +func (x *RateLimit_Override_RateLimitOverride) GetUnit() v33.RateLimitUnit { + if x != nil { + return x.Unit + } + return v33.RateLimitUnit(0) +} + var File_envoy_config_route_v3_route_components_proto protoreflect.FileDescriptor const file_envoy_config_route_v3_route_components_proto_rawDesc = "" + "\n" + - ",envoy/config/route/v3/route_components.proto\x12\x15envoy.config.route.v3\x1a:envoy/config/common/mutation_rules/v3/mutation_rules.proto\x1a\x1fenvoy/config/core/v3/base.proto\x1a$envoy/config/core/v3/extension.proto\x1a)envoy/config/core/v3/proxy_protocol.proto\x1a5envoy/config/core/v3/substitution_format_string.proto\x1a(envoy/type/matcher/v3/filter_state.proto\x1a$envoy/type/matcher/v3/metadata.proto\x1a!envoy/type/matcher/v3/regex.proto\x1a\"envoy/type/matcher/v3/string.proto\x1a%envoy/type/metadata/v3/metadata.proto\x1a&envoy/type/tracing/v3/custom_tag.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x19envoy/type/v3/range.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a!xds/type/matcher/v3/matcher.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xad\x10\n" + + ",envoy/config/route/v3/route_components.proto\x12\x15envoy.config.route.v3\x1a:envoy/config/common/mutation_rules/v3/mutation_rules.proto\x1a\x1fenvoy/config/core/v3/base.proto\x1a$envoy/config/core/v3/extension.proto\x1a)envoy/config/core/v3/proxy_protocol.proto\x1a5envoy/config/core/v3/substitution_format_string.proto\x1a#envoy/type/matcher/v3/address.proto\x1a(envoy/type/matcher/v3/filter_state.proto\x1a$envoy/type/matcher/v3/metadata.proto\x1a!envoy/type/matcher/v3/regex.proto\x1a\"envoy/type/matcher/v3/string.proto\x1a%envoy/type/metadata/v3/metadata.proto\x1a&envoy/type/tracing/v3/custom_tag.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x19envoy/type/v3/range.proto\x1a\"envoy/type/v3/ratelimit_unit.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a!xds/type/matcher/v3/matcher.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xad\x10\n" + "\vVirtualHost\x12\x1b\n" + "\x04name\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x04name\x12,\n" + "\adomains\x18\x02 \x03(\tB\x12\xfaB\x0f\x92\x01\f\b\x01\"\br\x06\xc8\x01\x00\xc0\x01\x02R\adomains\x12M\n" + @@ -7560,7 +7898,7 @@ const file_envoy_config_route_v3_route_components_proto_rawDesc = "" + "\x1eenvoy.api.v2.route.RouteActionB\x18\n" + "\x11cluster_specifier\x12\x03\xf8B\x01B\x18\n" + "\x16host_rewrite_specifierJ\x04\b\f\x10\rJ\x04\b\x12\x10\x13J\x04\b\x13\x10\x14J\x04\b\x10\x10\x11J\x04\b\x16\x10\x17J\x04\b\x15\x10\x16J\x04\b\n" + - "\x10\vR\x15request_mirror_policy\"\xbf\x10\n" + + "\x10\vR\x15request_mirror_policy\"\xf8\x10\n" + "\vRetryPolicy\x12\x19\n" + "\bretry_on\x18\x01 \x01(\tR\aretryOn\x12R\n" + "\vnum_retries\x18\x02 \x01(\v2\x1c.google.protobuf.UInt32ValueB\x13\xf2\x98\xfe\x8f\x05\r\n" + @@ -7577,7 +7915,8 @@ const file_envoy_config_route_v3_route_components_proto_rawDesc = "" + "\x1brate_limited_retry_back_off\x18\v \x01(\v2:.envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOffR\x17rateLimitedRetryBackOff\x12Q\n" + "\x11retriable_headers\x18\t \x03(\v2$.envoy.config.route.v3.HeaderMatcherR\x10retriableHeaders\x12`\n" + "\x19retriable_request_headers\x18\n" + - " \x03(\v2$.envoy.config.route.v3.HeaderMatcherR\x17retriableRequestHeaders\x1a\xb9\x01\n" + + " \x03(\v2$.envoy.config.route.v3.HeaderMatcherR\x17retriableRequestHeaders\x127\n" + + "\x18refresh_cluster_on_retry\x18\x0e \x01(\bR\x15refreshClusterOnRetry\x1a\xb9\x01\n" + "\rRetryPriority\x12\x1b\n" + "\x04name\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x04name\x129\n" + "\ftyped_config\x18\x03 \x01(\v2\x14.google.protobuf.AnyH\x00R\vtypedConfig:3\x9aň\x1e.\n" + @@ -7608,7 +7947,7 @@ const file_envoy_config_route_v3_route_components_proto_rawDesc = "" + "\x10initial_requests\x18\x01 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\xfaB\x04*\x02(\x01R\x0finitialRequests\x12\\\n" + "\x19additional_request_chance\x18\x02 \x01(\v2 .envoy.type.v3.FractionalPercentR\x17additionalRequestChance\x126\n" + "\x18hedge_on_per_try_timeout\x18\x03 \x01(\bR\x14hedgeOnPerTryTimeout:%\x9aň\x1e \n" + - "\x1eenvoy.api.v2.route.HedgePolicy\"\xe1\x05\n" + + "\x1eenvoy.api.v2.route.HedgePolicy\"\x86\x06\n" + "\x0eRedirectAction\x12'\n" + "\x0ehttps_redirect\x18\x04 \x01(\bH\x00R\rhttpsRedirect\x12)\n" + "\x0fscheme_redirect\x18\a \x01(\tH\x00R\x0eschemeRedirect\x120\n" + @@ -7616,7 +7955,9 @@ const file_envoy_config_route_v3_route_components_proto_rawDesc = "" + "\rport_redirect\x18\b \x01(\rR\fportRedirect\x122\n" + "\rpath_redirect\x18\x02 \x01(\tB\v\xfaB\br\x06\xc8\x01\x00\xc0\x01\x02H\x01R\fpathRedirect\x124\n" + "\x0eprefix_rewrite\x18\x05 \x01(\tB\v\xfaB\br\x06\xc8\x01\x00\xc0\x01\x02H\x01R\rprefixRewrite\x12U\n" + - "\rregex_rewrite\x18\t \x01(\v2..envoy.type.matcher.v3.RegexMatchAndSubstituteH\x01R\fregexRewrite\x12i\n" + + "\rregex_rewrite\x18\t \x01(\v2..envoy.type.matcher.v3.RegexMatchAndSubstituteH\x01R\fregexRewrite\x12#\n" + + "\fpath_rewrite\x18\n" + + " \x01(\tH\x01R\vpathRewrite\x12i\n" + "\rresponse_code\x18\x03 \x01(\x0e2:.envoy.config.route.v3.RedirectAction.RedirectResponseCodeB\b\xfaB\x05\x82\x01\x02\x10\x01R\fresponseCode\x12\x1f\n" + "\vstrip_query\x18\x06 \x01(\bR\n" + "stripQuery\"w\n" + @@ -7652,7 +7993,7 @@ const file_envoy_config_route_v3_route_components_proto_rawDesc = "" + "\x0eVirtualCluster\x12>\n" + "\aheaders\x18\x04 \x03(\v2$.envoy.config.route.v3.HeaderMatcherR\aheaders\x12\x1b\n" + "\x04name\x18\x02 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x04name:(\x9aň\x1e#\n" + - "!envoy.api.v2.route.VirtualClusterJ\x04\b\x01\x10\x02J\x04\b\x03\x10\x04R\apatternR\x06method\"\xbb!\n" + + "!envoy.api.v2.route.VirtualClusterJ\x04\b\x01\x10\x02J\x04\b\x03\x10\x04R\apatternR\x06method\"\xec'\n" + "\tRateLimit\x12;\n" + "\x05stage\x18\x01 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\xfaB\x04*\x02\x18\n" + "R\x05stage\x12\x1f\n" + @@ -7662,7 +8003,8 @@ const file_envoy_config_route_v3_route_components_proto_rawDesc = "" + "\x05limit\x18\x04 \x01(\v2).envoy.config.route.v3.RateLimit.OverrideR\x05limit\x12L\n" + "\vhits_addend\x18\x05 \x01(\v2+.envoy.config.route.v3.RateLimit.HitsAddendR\n" + "hitsAddend\x12/\n" + - "\x14apply_on_stream_done\x18\x06 \x01(\bR\x11applyOnStreamDone\x1a\xaf\x1b\n" + + "\x14apply_on_stream_done\x18\x06 \x01(\bR\x11applyOnStreamDone\x12_\n" + + "\x12x_ratelimit_option\x18\a \x01(\x0e21.envoy.config.route.v3.RateLimit.XRateLimitOptionR\x10xRatelimitOption\x1a\xbf\x1e\n" + "\x06Action\x12^\n" + "\x0esource_cluster\x18\x01 \x01(\v25.envoy.config.route.v3.RateLimit.Action.SourceClusterH\x00R\rsourceCluster\x12m\n" + "\x13destination_cluster\x18\x02 \x01(\v2:.envoy.config.route.v3.RateLimit.Action.DestinationClusterH\x00R\x12destinationCluster\x12a\n" + @@ -7677,7 +8019,8 @@ const file_envoy_config_route_v3_route_components_proto_rawDesc = "" + "\textension\x18\t \x01(\v2*.envoy.config.core.v3.TypedExtensionConfigH\x00R\textension\x12q\n" + "\x15masked_remote_address\x18\n" + " \x01(\v2;.envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddressH\x00R\x13maskedRemoteAddress\x12\x81\x01\n" + - "\x1bquery_parameter_value_match\x18\v \x01(\v2@.envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatchH\x00R\x18queryParameterValueMatch\x1aI\n" + + "\x1bquery_parameter_value_match\x18\v \x01(\v2@.envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatchH\x00R\x18queryParameterValueMatch\x12n\n" + + "\x14remote_address_match\x18\r \x01(\v2:.envoy.config.route.v3.RateLimit.Action.RemoteAddressMatchH\x00R\x12remoteAddressMatch\x1aI\n" + "\rSourceCluster:8\x9aň\x1e3\n" + "1envoy.api.v2.route.RateLimit.Action.SourceCluster\x1aS\n" + "\x12DestinationCluster:=\x9aň\x1e8\n" + @@ -7714,33 +8057,50 @@ const file_envoy_config_route_v3_route_components_proto_rawDesc = "" + "\x0fDynamicMetaData\x12.\n" + "\x0edescriptor_key\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\rdescriptorKey\x12P\n" + "\fmetadata_key\x18\x02 \x01(\v2#.envoy.type.metadata.v3.MetadataKeyB\b\xfaB\x05\x8a\x01\x02\x10\x01R\vmetadataKey\x12#\n" + - "\rdefault_value\x18\x03 \x01(\tR\fdefaultValue\x1a\xda\x02\n" + + "\rdefault_value\x18\x03 \x01(\tR\fdefaultValue\x1a\x89\x03\n" + "\bMetaData\x12.\n" + "\x0edescriptor_key\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\rdescriptorKey\x12P\n" + "\fmetadata_key\x18\x02 \x01(\v2#.envoy.type.metadata.v3.MetadataKeyB\b\xfaB\x05\x8a\x01\x02\x10\x01R\vmetadataKey\x12#\n" + "\rdefault_value\x18\x03 \x01(\tR\fdefaultValue\x12Y\n" + "\x06source\x18\x04 \x01(\x0e27.envoy.config.route.v3.RateLimit.Action.MetaData.SourceB\b\xfaB\x05\x82\x01\x02\x10\x01R\x06source\x12$\n" + - "\x0eskip_if_absent\x18\x05 \x01(\bR\fskipIfAbsent\"&\n" + + "\x0eskip_if_absent\x18\x05 \x01(\bR\fskipIfAbsent\"U\n" + "\x06Source\x12\v\n" + "\aDYNAMIC\x10\x00\x12\x0f\n" + - "\vROUTE_ENTRY\x10\x01\x1a\xbc\x02\n" + + "\vROUTE_ENTRY\x10\x01\x12\x11\n" + + "\rCLUSTER_ENTRY\x10\x02\x12\x1a\n" + + "\x16CLUSTER_LOCALITY_ENTRY\x10\x03\x1a\xbc\x02\n" + "\x18QueryParameterValueMatch\x122\n" + "\x10descriptor_value\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x0fdescriptorValue\x12#\n" + "\rdefault_value\x18\x05 \x01(\tR\fdefaultValue\x12%\n" + "\x0edescriptor_key\x18\x04 \x01(\tR\rdescriptorKey\x12=\n" + "\fexpect_match\x18\x02 \x01(\v2\x1a.google.protobuf.BoolValueR\vexpectMatch\x12a\n" + - "\x10query_parameters\x18\x03 \x03(\v2,.envoy.config.route.v3.QueryParameterMatcherB\b\xfaB\x05\x92\x01\x02\b\x01R\x0fqueryParameters:*\x9aň\x1e%\n" + + "\x10query_parameters\x18\x03 \x03(\v2,.envoy.config.route.v3.QueryParameterMatcherB\b\xfaB\x05\x92\x01\x02\b\x01R\x0fqueryParameters\x1a\xee\x01\n" + + "\x12RemoteAddressMatch\x122\n" + + "\x10descriptor_value\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x0fdescriptorValue\x12%\n" + + "\x0edescriptor_key\x18\x02 \x01(\tR\rdescriptorKey\x12#\n" + + "\rdefault_value\x18\x03 \x01(\tR\fdefaultValue\x12X\n" + + "\x0faddress_matcher\x18\x04 \x01(\v2%.envoy.type.matcher.v3.AddressMatcherB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x0eaddressMatcher:*\x9aň\x1e%\n" + "#envoy.api.v2.route.RateLimit.ActionB\x17\n" + - "\x10action_specifier\x12\x03\xf8B\x01\x1a\xf2\x01\n" + + "\x10action_specifier\x12\x03\xf8B\x01\x1a\xc3\x03\n" + "\bOverride\x12f\n" + - "\x10dynamic_metadata\x18\x01 \x01(\v29.envoy.config.route.v3.RateLimit.Override.DynamicMetadataH\x00R\x0fdynamicMetadata\x1ac\n" + + "\x10dynamic_metadata\x18\x01 \x01(\v29.envoy.config.route.v3.RateLimit.Override.DynamicMetadataH\x00R\x0fdynamicMetadata\x12\\\n" + + "\n" + + "rate_limit\x18\x02 \x01(\v2;.envoy.config.route.v3.RateLimit.Override.RateLimitOverrideH\x00R\trateLimit\x1ac\n" + "\x0fDynamicMetadata\x12P\n" + - "\fmetadata_key\x18\x01 \x01(\v2#.envoy.type.metadata.v3.MetadataKeyB\b\xfaB\x05\x8a\x01\x02\x10\x01R\vmetadataKeyB\x19\n" + - "\x12override_specifier\x12\x03\xf8B\x01\x1aw\n" + + "\fmetadata_key\x18\x01 \x01(\v2#.envoy.type.metadata.v3.MetadataKeyB\b\xfaB\x05\x8a\x01\x02\x10\x01R\vmetadataKey\x1aq\n" + + "\x11RateLimitOverride\x12*\n" + + "\x11requests_per_unit\x18\x01 \x01(\rR\x0frequestsPerUnit\x120\n" + + "\x04unit\x18\x02 \x01(\x0e2\x1c.envoy.type.v3.RateLimitUnitR\x04unitB\x19\n" + + "\x12override_specifier\x12\x03\xf8B\x01\x1a\xa1\x01\n" + "\n" + "HitsAddend\x12A\n" + "\x06number\x18\x01 \x01(\v2\x1c.google.protobuf.UInt64ValueB\v\xfaB\b2\x06\x18\x80\x94\xeb\xdc\x03R\x06number\x12&\n" + - "\x06format\x18\x02 \x01(\tB\x0e\xfaB\vr\t:\x01%B\x01%\xd0\x01\x01R\x06format:#\x9aň\x1e\x1e\n" + + "\x06format\x18\x02 \x01(\tB\x0e\xfaB\vr\t:\x01%B\x01%\xd0\x01\x01R\x06format\x12(\n" + + "\x10is_negative_hits\x18\x03 \x01(\bR\x0eisNegativeHits\"B\n" + + "\x10XRateLimitOption\x12\x0f\n" + + "\vUNSPECIFIED\x10\x00\x12\a\n" + + "\x03OFF\x10\x01\x12\x14\n" + + "\x10DRAFT_VERSION_03\x10\x02:#\x9aň\x1e\x1e\n" + "\x1cenvoy.api.v2.route.RateLimit\"\xe6\x05\n" + "\rHeaderMatcher\x12!\n" + "\x04name\x18\x01 \x01(\tB\r\xfaB\n" + @@ -7799,281 +8159,291 @@ func file_envoy_config_route_v3_route_components_proto_rawDescGZIP() []byte { return file_envoy_config_route_v3_route_components_proto_rawDescData } -var file_envoy_config_route_v3_route_components_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_envoy_config_route_v3_route_components_proto_msgTypes = make([]protoimpl.MessageInfo, 61) +var file_envoy_config_route_v3_route_components_proto_enumTypes = make([]protoimpl.EnumInfo, 7) +var file_envoy_config_route_v3_route_components_proto_msgTypes = make([]protoimpl.MessageInfo, 63) var file_envoy_config_route_v3_route_components_proto_goTypes = []any{ (VirtualHost_TlsRequirementType)(0), // 0: envoy.config.route.v3.VirtualHost.TlsRequirementType (RouteAction_ClusterNotFoundResponseCode)(0), // 1: envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode (RouteAction_InternalRedirectAction)(0), // 2: envoy.config.route.v3.RouteAction.InternalRedirectAction (RetryPolicy_ResetHeaderFormat)(0), // 3: envoy.config.route.v3.RetryPolicy.ResetHeaderFormat (RedirectAction_RedirectResponseCode)(0), // 4: envoy.config.route.v3.RedirectAction.RedirectResponseCode - (RateLimit_Action_MetaData_Source)(0), // 5: envoy.config.route.v3.RateLimit.Action.MetaData.Source - (*VirtualHost)(nil), // 6: envoy.config.route.v3.VirtualHost - (*FilterAction)(nil), // 7: envoy.config.route.v3.FilterAction - (*RouteList)(nil), // 8: envoy.config.route.v3.RouteList - (*Route)(nil), // 9: envoy.config.route.v3.Route - (*WeightedCluster)(nil), // 10: envoy.config.route.v3.WeightedCluster - (*ClusterSpecifierPlugin)(nil), // 11: envoy.config.route.v3.ClusterSpecifierPlugin - (*RouteMatch)(nil), // 12: envoy.config.route.v3.RouteMatch - (*CorsPolicy)(nil), // 13: envoy.config.route.v3.CorsPolicy - (*RouteAction)(nil), // 14: envoy.config.route.v3.RouteAction - (*RetryPolicy)(nil), // 15: envoy.config.route.v3.RetryPolicy - (*HedgePolicy)(nil), // 16: envoy.config.route.v3.HedgePolicy - (*RedirectAction)(nil), // 17: envoy.config.route.v3.RedirectAction - (*DirectResponseAction)(nil), // 18: envoy.config.route.v3.DirectResponseAction - (*NonForwardingAction)(nil), // 19: envoy.config.route.v3.NonForwardingAction - (*Decorator)(nil), // 20: envoy.config.route.v3.Decorator - (*Tracing)(nil), // 21: envoy.config.route.v3.Tracing - (*VirtualCluster)(nil), // 22: envoy.config.route.v3.VirtualCluster - (*RateLimit)(nil), // 23: envoy.config.route.v3.RateLimit - (*HeaderMatcher)(nil), // 24: envoy.config.route.v3.HeaderMatcher - (*QueryParameterMatcher)(nil), // 25: envoy.config.route.v3.QueryParameterMatcher - (*CookieMatcher)(nil), // 26: envoy.config.route.v3.CookieMatcher - (*InternalRedirectPolicy)(nil), // 27: envoy.config.route.v3.InternalRedirectPolicy - (*FilterConfig)(nil), // 28: envoy.config.route.v3.FilterConfig - nil, // 29: envoy.config.route.v3.VirtualHost.TypedPerFilterConfigEntry - nil, // 30: envoy.config.route.v3.Route.TypedPerFilterConfigEntry - (*WeightedCluster_ClusterWeight)(nil), // 31: envoy.config.route.v3.WeightedCluster.ClusterWeight - nil, // 32: envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry - (*RouteMatch_GrpcRouteMatchOptions)(nil), // 33: envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions - (*RouteMatch_TlsContextMatchOptions)(nil), // 34: envoy.config.route.v3.RouteMatch.TlsContextMatchOptions - (*RouteMatch_ConnectMatcher)(nil), // 35: envoy.config.route.v3.RouteMatch.ConnectMatcher - (*RouteAction_RequestMirrorPolicy)(nil), // 36: envoy.config.route.v3.RouteAction.RequestMirrorPolicy - (*RouteAction_HashPolicy)(nil), // 37: envoy.config.route.v3.RouteAction.HashPolicy - (*RouteAction_UpgradeConfig)(nil), // 38: envoy.config.route.v3.RouteAction.UpgradeConfig - (*RouteAction_MaxStreamDuration)(nil), // 39: envoy.config.route.v3.RouteAction.MaxStreamDuration - (*RouteAction_HashPolicy_Header)(nil), // 40: envoy.config.route.v3.RouteAction.HashPolicy.Header - (*RouteAction_HashPolicy_CookieAttribute)(nil), // 41: envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute - (*RouteAction_HashPolicy_Cookie)(nil), // 42: envoy.config.route.v3.RouteAction.HashPolicy.Cookie - (*RouteAction_HashPolicy_ConnectionProperties)(nil), // 43: envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties - (*RouteAction_HashPolicy_QueryParameter)(nil), // 44: envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter - (*RouteAction_HashPolicy_FilterState)(nil), // 45: envoy.config.route.v3.RouteAction.HashPolicy.FilterState - (*RouteAction_UpgradeConfig_ConnectConfig)(nil), // 46: envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig - (*RetryPolicy_RetryPriority)(nil), // 47: envoy.config.route.v3.RetryPolicy.RetryPriority - (*RetryPolicy_RetryHostPredicate)(nil), // 48: envoy.config.route.v3.RetryPolicy.RetryHostPredicate - (*RetryPolicy_RetryBackOff)(nil), // 49: envoy.config.route.v3.RetryPolicy.RetryBackOff - (*RetryPolicy_ResetHeader)(nil), // 50: envoy.config.route.v3.RetryPolicy.ResetHeader - (*RetryPolicy_RateLimitedRetryBackOff)(nil), // 51: envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff - (*RateLimit_Action)(nil), // 52: envoy.config.route.v3.RateLimit.Action - (*RateLimit_Override)(nil), // 53: envoy.config.route.v3.RateLimit.Override - (*RateLimit_HitsAddend)(nil), // 54: envoy.config.route.v3.RateLimit.HitsAddend - (*RateLimit_Action_SourceCluster)(nil), // 55: envoy.config.route.v3.RateLimit.Action.SourceCluster - (*RateLimit_Action_DestinationCluster)(nil), // 56: envoy.config.route.v3.RateLimit.Action.DestinationCluster - (*RateLimit_Action_RequestHeaders)(nil), // 57: envoy.config.route.v3.RateLimit.Action.RequestHeaders - (*RateLimit_Action_QueryParameters)(nil), // 58: envoy.config.route.v3.RateLimit.Action.QueryParameters - (*RateLimit_Action_RemoteAddress)(nil), // 59: envoy.config.route.v3.RateLimit.Action.RemoteAddress - (*RateLimit_Action_MaskedRemoteAddress)(nil), // 60: envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress - (*RateLimit_Action_GenericKey)(nil), // 61: envoy.config.route.v3.RateLimit.Action.GenericKey - (*RateLimit_Action_HeaderValueMatch)(nil), // 62: envoy.config.route.v3.RateLimit.Action.HeaderValueMatch - (*RateLimit_Action_DynamicMetaData)(nil), // 63: envoy.config.route.v3.RateLimit.Action.DynamicMetaData - (*RateLimit_Action_MetaData)(nil), // 64: envoy.config.route.v3.RateLimit.Action.MetaData - (*RateLimit_Action_QueryParameterValueMatch)(nil), // 65: envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch - (*RateLimit_Override_DynamicMetadata)(nil), // 66: envoy.config.route.v3.RateLimit.Override.DynamicMetadata - (*v3.Matcher)(nil), // 67: xds.type.matcher.v3.Matcher - (*v31.HeaderValueOption)(nil), // 68: envoy.config.core.v3.HeaderValueOption - (*anypb.Any)(nil), // 69: google.protobuf.Any - (*wrapperspb.UInt32Value)(nil), // 70: google.protobuf.UInt32Value - (*wrapperspb.UInt64Value)(nil), // 71: google.protobuf.UInt64Value - (*v31.Metadata)(nil), // 72: envoy.config.core.v3.Metadata - (*wrapperspb.BoolValue)(nil), // 73: google.protobuf.BoolValue - (*v31.TypedExtensionConfig)(nil), // 74: envoy.config.core.v3.TypedExtensionConfig - (*v32.RegexMatcher)(nil), // 75: envoy.type.matcher.v3.RegexMatcher - (*v31.RuntimeFractionalPercent)(nil), // 76: envoy.config.core.v3.RuntimeFractionalPercent - (*v32.MetadataMatcher)(nil), // 77: envoy.type.matcher.v3.MetadataMatcher - (*v32.FilterStateMatcher)(nil), // 78: envoy.type.matcher.v3.FilterStateMatcher - (*v32.StringMatcher)(nil), // 79: envoy.type.matcher.v3.StringMatcher - (*v32.RegexMatchAndSubstitute)(nil), // 80: envoy.type.matcher.v3.RegexMatchAndSubstitute - (*durationpb.Duration)(nil), // 81: google.protobuf.Duration - (v31.RoutingPriority)(0), // 82: envoy.config.core.v3.RoutingPriority - (*v33.FractionalPercent)(nil), // 83: envoy.type.v3.FractionalPercent - (*v31.DataSource)(nil), // 84: envoy.config.core.v3.DataSource - (*v31.SubstitutionFormatString)(nil), // 85: envoy.config.core.v3.SubstitutionFormatString - (*v34.CustomTag)(nil), // 86: envoy.type.tracing.v3.CustomTag - (*v33.Int64Range)(nil), // 87: envoy.type.v3.Int64Range - (*v35.HeaderMutation)(nil), // 88: envoy.config.common.mutation_rules.v3.HeaderMutation - (*v31.ProxyProtocolConfig)(nil), // 89: envoy.config.core.v3.ProxyProtocolConfig - (*v36.MetadataKey)(nil), // 90: envoy.type.metadata.v3.MetadataKey + (RateLimit_XRateLimitOption)(0), // 5: envoy.config.route.v3.RateLimit.XRateLimitOption + (RateLimit_Action_MetaData_Source)(0), // 6: envoy.config.route.v3.RateLimit.Action.MetaData.Source + (*VirtualHost)(nil), // 7: envoy.config.route.v3.VirtualHost + (*FilterAction)(nil), // 8: envoy.config.route.v3.FilterAction + (*RouteList)(nil), // 9: envoy.config.route.v3.RouteList + (*Route)(nil), // 10: envoy.config.route.v3.Route + (*WeightedCluster)(nil), // 11: envoy.config.route.v3.WeightedCluster + (*ClusterSpecifierPlugin)(nil), // 12: envoy.config.route.v3.ClusterSpecifierPlugin + (*RouteMatch)(nil), // 13: envoy.config.route.v3.RouteMatch + (*CorsPolicy)(nil), // 14: envoy.config.route.v3.CorsPolicy + (*RouteAction)(nil), // 15: envoy.config.route.v3.RouteAction + (*RetryPolicy)(nil), // 16: envoy.config.route.v3.RetryPolicy + (*HedgePolicy)(nil), // 17: envoy.config.route.v3.HedgePolicy + (*RedirectAction)(nil), // 18: envoy.config.route.v3.RedirectAction + (*DirectResponseAction)(nil), // 19: envoy.config.route.v3.DirectResponseAction + (*NonForwardingAction)(nil), // 20: envoy.config.route.v3.NonForwardingAction + (*Decorator)(nil), // 21: envoy.config.route.v3.Decorator + (*Tracing)(nil), // 22: envoy.config.route.v3.Tracing + (*VirtualCluster)(nil), // 23: envoy.config.route.v3.VirtualCluster + (*RateLimit)(nil), // 24: envoy.config.route.v3.RateLimit + (*HeaderMatcher)(nil), // 25: envoy.config.route.v3.HeaderMatcher + (*QueryParameterMatcher)(nil), // 26: envoy.config.route.v3.QueryParameterMatcher + (*CookieMatcher)(nil), // 27: envoy.config.route.v3.CookieMatcher + (*InternalRedirectPolicy)(nil), // 28: envoy.config.route.v3.InternalRedirectPolicy + (*FilterConfig)(nil), // 29: envoy.config.route.v3.FilterConfig + nil, // 30: envoy.config.route.v3.VirtualHost.TypedPerFilterConfigEntry + nil, // 31: envoy.config.route.v3.Route.TypedPerFilterConfigEntry + (*WeightedCluster_ClusterWeight)(nil), // 32: envoy.config.route.v3.WeightedCluster.ClusterWeight + nil, // 33: envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry + (*RouteMatch_GrpcRouteMatchOptions)(nil), // 34: envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions + (*RouteMatch_TlsContextMatchOptions)(nil), // 35: envoy.config.route.v3.RouteMatch.TlsContextMatchOptions + (*RouteMatch_ConnectMatcher)(nil), // 36: envoy.config.route.v3.RouteMatch.ConnectMatcher + (*RouteAction_RequestMirrorPolicy)(nil), // 37: envoy.config.route.v3.RouteAction.RequestMirrorPolicy + (*RouteAction_HashPolicy)(nil), // 38: envoy.config.route.v3.RouteAction.HashPolicy + (*RouteAction_UpgradeConfig)(nil), // 39: envoy.config.route.v3.RouteAction.UpgradeConfig + (*RouteAction_MaxStreamDuration)(nil), // 40: envoy.config.route.v3.RouteAction.MaxStreamDuration + (*RouteAction_HashPolicy_Header)(nil), // 41: envoy.config.route.v3.RouteAction.HashPolicy.Header + (*RouteAction_HashPolicy_CookieAttribute)(nil), // 42: envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute + (*RouteAction_HashPolicy_Cookie)(nil), // 43: envoy.config.route.v3.RouteAction.HashPolicy.Cookie + (*RouteAction_HashPolicy_ConnectionProperties)(nil), // 44: envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties + (*RouteAction_HashPolicy_QueryParameter)(nil), // 45: envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter + (*RouteAction_HashPolicy_FilterState)(nil), // 46: envoy.config.route.v3.RouteAction.HashPolicy.FilterState + (*RouteAction_UpgradeConfig_ConnectConfig)(nil), // 47: envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig + (*RetryPolicy_RetryPriority)(nil), // 48: envoy.config.route.v3.RetryPolicy.RetryPriority + (*RetryPolicy_RetryHostPredicate)(nil), // 49: envoy.config.route.v3.RetryPolicy.RetryHostPredicate + (*RetryPolicy_RetryBackOff)(nil), // 50: envoy.config.route.v3.RetryPolicy.RetryBackOff + (*RetryPolicy_ResetHeader)(nil), // 51: envoy.config.route.v3.RetryPolicy.ResetHeader + (*RetryPolicy_RateLimitedRetryBackOff)(nil), // 52: envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff + (*RateLimit_Action)(nil), // 53: envoy.config.route.v3.RateLimit.Action + (*RateLimit_Override)(nil), // 54: envoy.config.route.v3.RateLimit.Override + (*RateLimit_HitsAddend)(nil), // 55: envoy.config.route.v3.RateLimit.HitsAddend + (*RateLimit_Action_SourceCluster)(nil), // 56: envoy.config.route.v3.RateLimit.Action.SourceCluster + (*RateLimit_Action_DestinationCluster)(nil), // 57: envoy.config.route.v3.RateLimit.Action.DestinationCluster + (*RateLimit_Action_RequestHeaders)(nil), // 58: envoy.config.route.v3.RateLimit.Action.RequestHeaders + (*RateLimit_Action_QueryParameters)(nil), // 59: envoy.config.route.v3.RateLimit.Action.QueryParameters + (*RateLimit_Action_RemoteAddress)(nil), // 60: envoy.config.route.v3.RateLimit.Action.RemoteAddress + (*RateLimit_Action_MaskedRemoteAddress)(nil), // 61: envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress + (*RateLimit_Action_GenericKey)(nil), // 62: envoy.config.route.v3.RateLimit.Action.GenericKey + (*RateLimit_Action_HeaderValueMatch)(nil), // 63: envoy.config.route.v3.RateLimit.Action.HeaderValueMatch + (*RateLimit_Action_DynamicMetaData)(nil), // 64: envoy.config.route.v3.RateLimit.Action.DynamicMetaData + (*RateLimit_Action_MetaData)(nil), // 65: envoy.config.route.v3.RateLimit.Action.MetaData + (*RateLimit_Action_QueryParameterValueMatch)(nil), // 66: envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch + (*RateLimit_Action_RemoteAddressMatch)(nil), // 67: envoy.config.route.v3.RateLimit.Action.RemoteAddressMatch + (*RateLimit_Override_DynamicMetadata)(nil), // 68: envoy.config.route.v3.RateLimit.Override.DynamicMetadata + (*RateLimit_Override_RateLimitOverride)(nil), // 69: envoy.config.route.v3.RateLimit.Override.RateLimitOverride + (*v3.Matcher)(nil), // 70: xds.type.matcher.v3.Matcher + (*v31.HeaderValueOption)(nil), // 71: envoy.config.core.v3.HeaderValueOption + (*anypb.Any)(nil), // 72: google.protobuf.Any + (*wrapperspb.UInt32Value)(nil), // 73: google.protobuf.UInt32Value + (*wrapperspb.UInt64Value)(nil), // 74: google.protobuf.UInt64Value + (*v31.Metadata)(nil), // 75: envoy.config.core.v3.Metadata + (*wrapperspb.BoolValue)(nil), // 76: google.protobuf.BoolValue + (*v31.TypedExtensionConfig)(nil), // 77: envoy.config.core.v3.TypedExtensionConfig + (*v32.RegexMatcher)(nil), // 78: envoy.type.matcher.v3.RegexMatcher + (*v31.RuntimeFractionalPercent)(nil), // 79: envoy.config.core.v3.RuntimeFractionalPercent + (*v32.MetadataMatcher)(nil), // 80: envoy.type.matcher.v3.MetadataMatcher + (*v32.FilterStateMatcher)(nil), // 81: envoy.type.matcher.v3.FilterStateMatcher + (*v32.StringMatcher)(nil), // 82: envoy.type.matcher.v3.StringMatcher + (*v32.RegexMatchAndSubstitute)(nil), // 83: envoy.type.matcher.v3.RegexMatchAndSubstitute + (*durationpb.Duration)(nil), // 84: google.protobuf.Duration + (v31.RoutingPriority)(0), // 85: envoy.config.core.v3.RoutingPriority + (*v33.FractionalPercent)(nil), // 86: envoy.type.v3.FractionalPercent + (*v31.DataSource)(nil), // 87: envoy.config.core.v3.DataSource + (*v31.SubstitutionFormatString)(nil), // 88: envoy.config.core.v3.SubstitutionFormatString + (*v34.CustomTag)(nil), // 89: envoy.type.tracing.v3.CustomTag + (*v33.Int64Range)(nil), // 90: envoy.type.v3.Int64Range + (*v35.HeaderMutation)(nil), // 91: envoy.config.common.mutation_rules.v3.HeaderMutation + (*v31.ProxyProtocolConfig)(nil), // 92: envoy.config.core.v3.ProxyProtocolConfig + (*v36.MetadataKey)(nil), // 93: envoy.type.metadata.v3.MetadataKey + (*v32.AddressMatcher)(nil), // 94: envoy.type.matcher.v3.AddressMatcher + (v33.RateLimitUnit)(0), // 95: envoy.type.v3.RateLimitUnit } var file_envoy_config_route_v3_route_components_proto_depIdxs = []int32{ - 9, // 0: envoy.config.route.v3.VirtualHost.routes:type_name -> envoy.config.route.v3.Route - 67, // 1: envoy.config.route.v3.VirtualHost.matcher:type_name -> xds.type.matcher.v3.Matcher + 10, // 0: envoy.config.route.v3.VirtualHost.routes:type_name -> envoy.config.route.v3.Route + 70, // 1: envoy.config.route.v3.VirtualHost.matcher:type_name -> xds.type.matcher.v3.Matcher 0, // 2: envoy.config.route.v3.VirtualHost.require_tls:type_name -> envoy.config.route.v3.VirtualHost.TlsRequirementType - 22, // 3: envoy.config.route.v3.VirtualHost.virtual_clusters:type_name -> envoy.config.route.v3.VirtualCluster - 23, // 4: envoy.config.route.v3.VirtualHost.rate_limits:type_name -> envoy.config.route.v3.RateLimit - 68, // 5: envoy.config.route.v3.VirtualHost.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption - 68, // 6: envoy.config.route.v3.VirtualHost.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption - 13, // 7: envoy.config.route.v3.VirtualHost.cors:type_name -> envoy.config.route.v3.CorsPolicy - 29, // 8: envoy.config.route.v3.VirtualHost.typed_per_filter_config:type_name -> envoy.config.route.v3.VirtualHost.TypedPerFilterConfigEntry - 15, // 9: envoy.config.route.v3.VirtualHost.retry_policy:type_name -> envoy.config.route.v3.RetryPolicy - 69, // 10: envoy.config.route.v3.VirtualHost.retry_policy_typed_config:type_name -> google.protobuf.Any - 16, // 11: envoy.config.route.v3.VirtualHost.hedge_policy:type_name -> envoy.config.route.v3.HedgePolicy - 70, // 12: envoy.config.route.v3.VirtualHost.per_request_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value - 71, // 13: envoy.config.route.v3.VirtualHost.request_body_buffer_limit:type_name -> google.protobuf.UInt64Value - 36, // 14: envoy.config.route.v3.VirtualHost.request_mirror_policies:type_name -> envoy.config.route.v3.RouteAction.RequestMirrorPolicy - 72, // 15: envoy.config.route.v3.VirtualHost.metadata:type_name -> envoy.config.core.v3.Metadata - 69, // 16: envoy.config.route.v3.FilterAction.action:type_name -> google.protobuf.Any - 9, // 17: envoy.config.route.v3.RouteList.routes:type_name -> envoy.config.route.v3.Route - 12, // 18: envoy.config.route.v3.Route.match:type_name -> envoy.config.route.v3.RouteMatch - 14, // 19: envoy.config.route.v3.Route.route:type_name -> envoy.config.route.v3.RouteAction - 17, // 20: envoy.config.route.v3.Route.redirect:type_name -> envoy.config.route.v3.RedirectAction - 18, // 21: envoy.config.route.v3.Route.direct_response:type_name -> envoy.config.route.v3.DirectResponseAction - 7, // 22: envoy.config.route.v3.Route.filter_action:type_name -> envoy.config.route.v3.FilterAction - 19, // 23: envoy.config.route.v3.Route.non_forwarding_action:type_name -> envoy.config.route.v3.NonForwardingAction - 72, // 24: envoy.config.route.v3.Route.metadata:type_name -> envoy.config.core.v3.Metadata - 20, // 25: envoy.config.route.v3.Route.decorator:type_name -> envoy.config.route.v3.Decorator - 30, // 26: envoy.config.route.v3.Route.typed_per_filter_config:type_name -> envoy.config.route.v3.Route.TypedPerFilterConfigEntry - 68, // 27: envoy.config.route.v3.Route.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption - 68, // 28: envoy.config.route.v3.Route.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption - 21, // 29: envoy.config.route.v3.Route.tracing:type_name -> envoy.config.route.v3.Tracing - 70, // 30: envoy.config.route.v3.Route.per_request_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value - 71, // 31: envoy.config.route.v3.Route.request_body_buffer_limit:type_name -> google.protobuf.UInt64Value - 31, // 32: envoy.config.route.v3.WeightedCluster.clusters:type_name -> envoy.config.route.v3.WeightedCluster.ClusterWeight - 70, // 33: envoy.config.route.v3.WeightedCluster.total_weight:type_name -> google.protobuf.UInt32Value - 73, // 34: envoy.config.route.v3.WeightedCluster.use_hash_policy:type_name -> google.protobuf.BoolValue - 74, // 35: envoy.config.route.v3.ClusterSpecifierPlugin.extension:type_name -> envoy.config.core.v3.TypedExtensionConfig - 75, // 36: envoy.config.route.v3.RouteMatch.safe_regex:type_name -> envoy.type.matcher.v3.RegexMatcher - 35, // 37: envoy.config.route.v3.RouteMatch.connect_matcher:type_name -> envoy.config.route.v3.RouteMatch.ConnectMatcher - 74, // 38: envoy.config.route.v3.RouteMatch.path_match_policy:type_name -> envoy.config.core.v3.TypedExtensionConfig - 73, // 39: envoy.config.route.v3.RouteMatch.case_sensitive:type_name -> google.protobuf.BoolValue - 76, // 40: envoy.config.route.v3.RouteMatch.runtime_fraction:type_name -> envoy.config.core.v3.RuntimeFractionalPercent - 24, // 41: envoy.config.route.v3.RouteMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher - 25, // 42: envoy.config.route.v3.RouteMatch.query_parameters:type_name -> envoy.config.route.v3.QueryParameterMatcher - 26, // 43: envoy.config.route.v3.RouteMatch.cookies:type_name -> envoy.config.route.v3.CookieMatcher - 33, // 44: envoy.config.route.v3.RouteMatch.grpc:type_name -> envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions - 34, // 45: envoy.config.route.v3.RouteMatch.tls_context:type_name -> envoy.config.route.v3.RouteMatch.TlsContextMatchOptions - 77, // 46: envoy.config.route.v3.RouteMatch.dynamic_metadata:type_name -> envoy.type.matcher.v3.MetadataMatcher - 78, // 47: envoy.config.route.v3.RouteMatch.filter_state:type_name -> envoy.type.matcher.v3.FilterStateMatcher - 79, // 48: envoy.config.route.v3.CorsPolicy.allow_origin_string_match:type_name -> envoy.type.matcher.v3.StringMatcher - 73, // 49: envoy.config.route.v3.CorsPolicy.allow_credentials:type_name -> google.protobuf.BoolValue - 76, // 50: envoy.config.route.v3.CorsPolicy.filter_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent - 76, // 51: envoy.config.route.v3.CorsPolicy.shadow_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent - 73, // 52: envoy.config.route.v3.CorsPolicy.allow_private_network_access:type_name -> google.protobuf.BoolValue - 73, // 53: envoy.config.route.v3.CorsPolicy.forward_not_matching_preflights:type_name -> google.protobuf.BoolValue - 10, // 54: envoy.config.route.v3.RouteAction.weighted_clusters:type_name -> envoy.config.route.v3.WeightedCluster - 11, // 55: envoy.config.route.v3.RouteAction.inline_cluster_specifier_plugin:type_name -> envoy.config.route.v3.ClusterSpecifierPlugin + 23, // 3: envoy.config.route.v3.VirtualHost.virtual_clusters:type_name -> envoy.config.route.v3.VirtualCluster + 24, // 4: envoy.config.route.v3.VirtualHost.rate_limits:type_name -> envoy.config.route.v3.RateLimit + 71, // 5: envoy.config.route.v3.VirtualHost.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption + 71, // 6: envoy.config.route.v3.VirtualHost.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption + 14, // 7: envoy.config.route.v3.VirtualHost.cors:type_name -> envoy.config.route.v3.CorsPolicy + 30, // 8: envoy.config.route.v3.VirtualHost.typed_per_filter_config:type_name -> envoy.config.route.v3.VirtualHost.TypedPerFilterConfigEntry + 16, // 9: envoy.config.route.v3.VirtualHost.retry_policy:type_name -> envoy.config.route.v3.RetryPolicy + 72, // 10: envoy.config.route.v3.VirtualHost.retry_policy_typed_config:type_name -> google.protobuf.Any + 17, // 11: envoy.config.route.v3.VirtualHost.hedge_policy:type_name -> envoy.config.route.v3.HedgePolicy + 73, // 12: envoy.config.route.v3.VirtualHost.per_request_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value + 74, // 13: envoy.config.route.v3.VirtualHost.request_body_buffer_limit:type_name -> google.protobuf.UInt64Value + 37, // 14: envoy.config.route.v3.VirtualHost.request_mirror_policies:type_name -> envoy.config.route.v3.RouteAction.RequestMirrorPolicy + 75, // 15: envoy.config.route.v3.VirtualHost.metadata:type_name -> envoy.config.core.v3.Metadata + 72, // 16: envoy.config.route.v3.FilterAction.action:type_name -> google.protobuf.Any + 10, // 17: envoy.config.route.v3.RouteList.routes:type_name -> envoy.config.route.v3.Route + 13, // 18: envoy.config.route.v3.Route.match:type_name -> envoy.config.route.v3.RouteMatch + 15, // 19: envoy.config.route.v3.Route.route:type_name -> envoy.config.route.v3.RouteAction + 18, // 20: envoy.config.route.v3.Route.redirect:type_name -> envoy.config.route.v3.RedirectAction + 19, // 21: envoy.config.route.v3.Route.direct_response:type_name -> envoy.config.route.v3.DirectResponseAction + 8, // 22: envoy.config.route.v3.Route.filter_action:type_name -> envoy.config.route.v3.FilterAction + 20, // 23: envoy.config.route.v3.Route.non_forwarding_action:type_name -> envoy.config.route.v3.NonForwardingAction + 75, // 24: envoy.config.route.v3.Route.metadata:type_name -> envoy.config.core.v3.Metadata + 21, // 25: envoy.config.route.v3.Route.decorator:type_name -> envoy.config.route.v3.Decorator + 31, // 26: envoy.config.route.v3.Route.typed_per_filter_config:type_name -> envoy.config.route.v3.Route.TypedPerFilterConfigEntry + 71, // 27: envoy.config.route.v3.Route.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption + 71, // 28: envoy.config.route.v3.Route.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption + 22, // 29: envoy.config.route.v3.Route.tracing:type_name -> envoy.config.route.v3.Tracing + 73, // 30: envoy.config.route.v3.Route.per_request_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value + 74, // 31: envoy.config.route.v3.Route.request_body_buffer_limit:type_name -> google.protobuf.UInt64Value + 32, // 32: envoy.config.route.v3.WeightedCluster.clusters:type_name -> envoy.config.route.v3.WeightedCluster.ClusterWeight + 73, // 33: envoy.config.route.v3.WeightedCluster.total_weight:type_name -> google.protobuf.UInt32Value + 76, // 34: envoy.config.route.v3.WeightedCluster.use_hash_policy:type_name -> google.protobuf.BoolValue + 77, // 35: envoy.config.route.v3.ClusterSpecifierPlugin.extension:type_name -> envoy.config.core.v3.TypedExtensionConfig + 78, // 36: envoy.config.route.v3.RouteMatch.safe_regex:type_name -> envoy.type.matcher.v3.RegexMatcher + 36, // 37: envoy.config.route.v3.RouteMatch.connect_matcher:type_name -> envoy.config.route.v3.RouteMatch.ConnectMatcher + 77, // 38: envoy.config.route.v3.RouteMatch.path_match_policy:type_name -> envoy.config.core.v3.TypedExtensionConfig + 76, // 39: envoy.config.route.v3.RouteMatch.case_sensitive:type_name -> google.protobuf.BoolValue + 79, // 40: envoy.config.route.v3.RouteMatch.runtime_fraction:type_name -> envoy.config.core.v3.RuntimeFractionalPercent + 25, // 41: envoy.config.route.v3.RouteMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher + 26, // 42: envoy.config.route.v3.RouteMatch.query_parameters:type_name -> envoy.config.route.v3.QueryParameterMatcher + 27, // 43: envoy.config.route.v3.RouteMatch.cookies:type_name -> envoy.config.route.v3.CookieMatcher + 34, // 44: envoy.config.route.v3.RouteMatch.grpc:type_name -> envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions + 35, // 45: envoy.config.route.v3.RouteMatch.tls_context:type_name -> envoy.config.route.v3.RouteMatch.TlsContextMatchOptions + 80, // 46: envoy.config.route.v3.RouteMatch.dynamic_metadata:type_name -> envoy.type.matcher.v3.MetadataMatcher + 81, // 47: envoy.config.route.v3.RouteMatch.filter_state:type_name -> envoy.type.matcher.v3.FilterStateMatcher + 82, // 48: envoy.config.route.v3.CorsPolicy.allow_origin_string_match:type_name -> envoy.type.matcher.v3.StringMatcher + 76, // 49: envoy.config.route.v3.CorsPolicy.allow_credentials:type_name -> google.protobuf.BoolValue + 79, // 50: envoy.config.route.v3.CorsPolicy.filter_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent + 79, // 51: envoy.config.route.v3.CorsPolicy.shadow_enabled:type_name -> envoy.config.core.v3.RuntimeFractionalPercent + 76, // 52: envoy.config.route.v3.CorsPolicy.allow_private_network_access:type_name -> google.protobuf.BoolValue + 76, // 53: envoy.config.route.v3.CorsPolicy.forward_not_matching_preflights:type_name -> google.protobuf.BoolValue + 11, // 54: envoy.config.route.v3.RouteAction.weighted_clusters:type_name -> envoy.config.route.v3.WeightedCluster + 12, // 55: envoy.config.route.v3.RouteAction.inline_cluster_specifier_plugin:type_name -> envoy.config.route.v3.ClusterSpecifierPlugin 1, // 56: envoy.config.route.v3.RouteAction.cluster_not_found_response_code:type_name -> envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode - 72, // 57: envoy.config.route.v3.RouteAction.metadata_match:type_name -> envoy.config.core.v3.Metadata - 80, // 58: envoy.config.route.v3.RouteAction.regex_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute - 74, // 59: envoy.config.route.v3.RouteAction.path_rewrite_policy:type_name -> envoy.config.core.v3.TypedExtensionConfig - 73, // 60: envoy.config.route.v3.RouteAction.auto_host_rewrite:type_name -> google.protobuf.BoolValue - 80, // 61: envoy.config.route.v3.RouteAction.host_rewrite_path_regex:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute - 81, // 62: envoy.config.route.v3.RouteAction.timeout:type_name -> google.protobuf.Duration - 81, // 63: envoy.config.route.v3.RouteAction.idle_timeout:type_name -> google.protobuf.Duration - 81, // 64: envoy.config.route.v3.RouteAction.flush_timeout:type_name -> google.protobuf.Duration - 74, // 65: envoy.config.route.v3.RouteAction.early_data_policy:type_name -> envoy.config.core.v3.TypedExtensionConfig - 15, // 66: envoy.config.route.v3.RouteAction.retry_policy:type_name -> envoy.config.route.v3.RetryPolicy - 69, // 67: envoy.config.route.v3.RouteAction.retry_policy_typed_config:type_name -> google.protobuf.Any - 36, // 68: envoy.config.route.v3.RouteAction.request_mirror_policies:type_name -> envoy.config.route.v3.RouteAction.RequestMirrorPolicy - 82, // 69: envoy.config.route.v3.RouteAction.priority:type_name -> envoy.config.core.v3.RoutingPriority - 23, // 70: envoy.config.route.v3.RouteAction.rate_limits:type_name -> envoy.config.route.v3.RateLimit - 73, // 71: envoy.config.route.v3.RouteAction.include_vh_rate_limits:type_name -> google.protobuf.BoolValue - 37, // 72: envoy.config.route.v3.RouteAction.hash_policy:type_name -> envoy.config.route.v3.RouteAction.HashPolicy - 13, // 73: envoy.config.route.v3.RouteAction.cors:type_name -> envoy.config.route.v3.CorsPolicy - 81, // 74: envoy.config.route.v3.RouteAction.max_grpc_timeout:type_name -> google.protobuf.Duration - 81, // 75: envoy.config.route.v3.RouteAction.grpc_timeout_offset:type_name -> google.protobuf.Duration - 38, // 76: envoy.config.route.v3.RouteAction.upgrade_configs:type_name -> envoy.config.route.v3.RouteAction.UpgradeConfig - 27, // 77: envoy.config.route.v3.RouteAction.internal_redirect_policy:type_name -> envoy.config.route.v3.InternalRedirectPolicy + 75, // 57: envoy.config.route.v3.RouteAction.metadata_match:type_name -> envoy.config.core.v3.Metadata + 83, // 58: envoy.config.route.v3.RouteAction.regex_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute + 77, // 59: envoy.config.route.v3.RouteAction.path_rewrite_policy:type_name -> envoy.config.core.v3.TypedExtensionConfig + 76, // 60: envoy.config.route.v3.RouteAction.auto_host_rewrite:type_name -> google.protobuf.BoolValue + 83, // 61: envoy.config.route.v3.RouteAction.host_rewrite_path_regex:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute + 84, // 62: envoy.config.route.v3.RouteAction.timeout:type_name -> google.protobuf.Duration + 84, // 63: envoy.config.route.v3.RouteAction.idle_timeout:type_name -> google.protobuf.Duration + 84, // 64: envoy.config.route.v3.RouteAction.flush_timeout:type_name -> google.protobuf.Duration + 77, // 65: envoy.config.route.v3.RouteAction.early_data_policy:type_name -> envoy.config.core.v3.TypedExtensionConfig + 16, // 66: envoy.config.route.v3.RouteAction.retry_policy:type_name -> envoy.config.route.v3.RetryPolicy + 72, // 67: envoy.config.route.v3.RouteAction.retry_policy_typed_config:type_name -> google.protobuf.Any + 37, // 68: envoy.config.route.v3.RouteAction.request_mirror_policies:type_name -> envoy.config.route.v3.RouteAction.RequestMirrorPolicy + 85, // 69: envoy.config.route.v3.RouteAction.priority:type_name -> envoy.config.core.v3.RoutingPriority + 24, // 70: envoy.config.route.v3.RouteAction.rate_limits:type_name -> envoy.config.route.v3.RateLimit + 76, // 71: envoy.config.route.v3.RouteAction.include_vh_rate_limits:type_name -> google.protobuf.BoolValue + 38, // 72: envoy.config.route.v3.RouteAction.hash_policy:type_name -> envoy.config.route.v3.RouteAction.HashPolicy + 14, // 73: envoy.config.route.v3.RouteAction.cors:type_name -> envoy.config.route.v3.CorsPolicy + 84, // 74: envoy.config.route.v3.RouteAction.max_grpc_timeout:type_name -> google.protobuf.Duration + 84, // 75: envoy.config.route.v3.RouteAction.grpc_timeout_offset:type_name -> google.protobuf.Duration + 39, // 76: envoy.config.route.v3.RouteAction.upgrade_configs:type_name -> envoy.config.route.v3.RouteAction.UpgradeConfig + 28, // 77: envoy.config.route.v3.RouteAction.internal_redirect_policy:type_name -> envoy.config.route.v3.InternalRedirectPolicy 2, // 78: envoy.config.route.v3.RouteAction.internal_redirect_action:type_name -> envoy.config.route.v3.RouteAction.InternalRedirectAction - 70, // 79: envoy.config.route.v3.RouteAction.max_internal_redirects:type_name -> google.protobuf.UInt32Value - 16, // 80: envoy.config.route.v3.RouteAction.hedge_policy:type_name -> envoy.config.route.v3.HedgePolicy - 39, // 81: envoy.config.route.v3.RouteAction.max_stream_duration:type_name -> envoy.config.route.v3.RouteAction.MaxStreamDuration - 70, // 82: envoy.config.route.v3.RetryPolicy.num_retries:type_name -> google.protobuf.UInt32Value - 81, // 83: envoy.config.route.v3.RetryPolicy.per_try_timeout:type_name -> google.protobuf.Duration - 81, // 84: envoy.config.route.v3.RetryPolicy.per_try_idle_timeout:type_name -> google.protobuf.Duration - 47, // 85: envoy.config.route.v3.RetryPolicy.retry_priority:type_name -> envoy.config.route.v3.RetryPolicy.RetryPriority - 48, // 86: envoy.config.route.v3.RetryPolicy.retry_host_predicate:type_name -> envoy.config.route.v3.RetryPolicy.RetryHostPredicate - 74, // 87: envoy.config.route.v3.RetryPolicy.retry_options_predicates:type_name -> envoy.config.core.v3.TypedExtensionConfig - 49, // 88: envoy.config.route.v3.RetryPolicy.retry_back_off:type_name -> envoy.config.route.v3.RetryPolicy.RetryBackOff - 51, // 89: envoy.config.route.v3.RetryPolicy.rate_limited_retry_back_off:type_name -> envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff - 24, // 90: envoy.config.route.v3.RetryPolicy.retriable_headers:type_name -> envoy.config.route.v3.HeaderMatcher - 24, // 91: envoy.config.route.v3.RetryPolicy.retriable_request_headers:type_name -> envoy.config.route.v3.HeaderMatcher - 70, // 92: envoy.config.route.v3.HedgePolicy.initial_requests:type_name -> google.protobuf.UInt32Value - 83, // 93: envoy.config.route.v3.HedgePolicy.additional_request_chance:type_name -> envoy.type.v3.FractionalPercent - 80, // 94: envoy.config.route.v3.RedirectAction.regex_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute + 73, // 79: envoy.config.route.v3.RouteAction.max_internal_redirects:type_name -> google.protobuf.UInt32Value + 17, // 80: envoy.config.route.v3.RouteAction.hedge_policy:type_name -> envoy.config.route.v3.HedgePolicy + 40, // 81: envoy.config.route.v3.RouteAction.max_stream_duration:type_name -> envoy.config.route.v3.RouteAction.MaxStreamDuration + 73, // 82: envoy.config.route.v3.RetryPolicy.num_retries:type_name -> google.protobuf.UInt32Value + 84, // 83: envoy.config.route.v3.RetryPolicy.per_try_timeout:type_name -> google.protobuf.Duration + 84, // 84: envoy.config.route.v3.RetryPolicy.per_try_idle_timeout:type_name -> google.protobuf.Duration + 48, // 85: envoy.config.route.v3.RetryPolicy.retry_priority:type_name -> envoy.config.route.v3.RetryPolicy.RetryPriority + 49, // 86: envoy.config.route.v3.RetryPolicy.retry_host_predicate:type_name -> envoy.config.route.v3.RetryPolicy.RetryHostPredicate + 77, // 87: envoy.config.route.v3.RetryPolicy.retry_options_predicates:type_name -> envoy.config.core.v3.TypedExtensionConfig + 50, // 88: envoy.config.route.v3.RetryPolicy.retry_back_off:type_name -> envoy.config.route.v3.RetryPolicy.RetryBackOff + 52, // 89: envoy.config.route.v3.RetryPolicy.rate_limited_retry_back_off:type_name -> envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff + 25, // 90: envoy.config.route.v3.RetryPolicy.retriable_headers:type_name -> envoy.config.route.v3.HeaderMatcher + 25, // 91: envoy.config.route.v3.RetryPolicy.retriable_request_headers:type_name -> envoy.config.route.v3.HeaderMatcher + 73, // 92: envoy.config.route.v3.HedgePolicy.initial_requests:type_name -> google.protobuf.UInt32Value + 86, // 93: envoy.config.route.v3.HedgePolicy.additional_request_chance:type_name -> envoy.type.v3.FractionalPercent + 83, // 94: envoy.config.route.v3.RedirectAction.regex_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute 4, // 95: envoy.config.route.v3.RedirectAction.response_code:type_name -> envoy.config.route.v3.RedirectAction.RedirectResponseCode - 84, // 96: envoy.config.route.v3.DirectResponseAction.body:type_name -> envoy.config.core.v3.DataSource - 85, // 97: envoy.config.route.v3.DirectResponseAction.body_format:type_name -> envoy.config.core.v3.SubstitutionFormatString - 73, // 98: envoy.config.route.v3.Decorator.propagate:type_name -> google.protobuf.BoolValue - 83, // 99: envoy.config.route.v3.Tracing.client_sampling:type_name -> envoy.type.v3.FractionalPercent - 83, // 100: envoy.config.route.v3.Tracing.random_sampling:type_name -> envoy.type.v3.FractionalPercent - 83, // 101: envoy.config.route.v3.Tracing.overall_sampling:type_name -> envoy.type.v3.FractionalPercent - 86, // 102: envoy.config.route.v3.Tracing.custom_tags:type_name -> envoy.type.tracing.v3.CustomTag - 24, // 103: envoy.config.route.v3.VirtualCluster.headers:type_name -> envoy.config.route.v3.HeaderMatcher - 70, // 104: envoy.config.route.v3.RateLimit.stage:type_name -> google.protobuf.UInt32Value - 52, // 105: envoy.config.route.v3.RateLimit.actions:type_name -> envoy.config.route.v3.RateLimit.Action - 53, // 106: envoy.config.route.v3.RateLimit.limit:type_name -> envoy.config.route.v3.RateLimit.Override - 54, // 107: envoy.config.route.v3.RateLimit.hits_addend:type_name -> envoy.config.route.v3.RateLimit.HitsAddend - 75, // 108: envoy.config.route.v3.HeaderMatcher.safe_regex_match:type_name -> envoy.type.matcher.v3.RegexMatcher - 87, // 109: envoy.config.route.v3.HeaderMatcher.range_match:type_name -> envoy.type.v3.Int64Range - 79, // 110: envoy.config.route.v3.HeaderMatcher.string_match:type_name -> envoy.type.matcher.v3.StringMatcher - 79, // 111: envoy.config.route.v3.QueryParameterMatcher.string_match:type_name -> envoy.type.matcher.v3.StringMatcher - 79, // 112: envoy.config.route.v3.CookieMatcher.string_match:type_name -> envoy.type.matcher.v3.StringMatcher - 70, // 113: envoy.config.route.v3.InternalRedirectPolicy.max_internal_redirects:type_name -> google.protobuf.UInt32Value - 74, // 114: envoy.config.route.v3.InternalRedirectPolicy.predicates:type_name -> envoy.config.core.v3.TypedExtensionConfig - 69, // 115: envoy.config.route.v3.FilterConfig.config:type_name -> google.protobuf.Any - 69, // 116: envoy.config.route.v3.VirtualHost.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any - 69, // 117: envoy.config.route.v3.Route.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any - 70, // 118: envoy.config.route.v3.WeightedCluster.ClusterWeight.weight:type_name -> google.protobuf.UInt32Value - 72, // 119: envoy.config.route.v3.WeightedCluster.ClusterWeight.metadata_match:type_name -> envoy.config.core.v3.Metadata - 68, // 120: envoy.config.route.v3.WeightedCluster.ClusterWeight.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption - 68, // 121: envoy.config.route.v3.WeightedCluster.ClusterWeight.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption - 32, // 122: envoy.config.route.v3.WeightedCluster.ClusterWeight.typed_per_filter_config:type_name -> envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry - 69, // 123: envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any - 73, // 124: envoy.config.route.v3.RouteMatch.TlsContextMatchOptions.presented:type_name -> google.protobuf.BoolValue - 73, // 125: envoy.config.route.v3.RouteMatch.TlsContextMatchOptions.validated:type_name -> google.protobuf.BoolValue - 76, // 126: envoy.config.route.v3.RouteAction.RequestMirrorPolicy.runtime_fraction:type_name -> envoy.config.core.v3.RuntimeFractionalPercent - 73, // 127: envoy.config.route.v3.RouteAction.RequestMirrorPolicy.trace_sampled:type_name -> google.protobuf.BoolValue - 88, // 128: envoy.config.route.v3.RouteAction.RequestMirrorPolicy.request_headers_mutations:type_name -> envoy.config.common.mutation_rules.v3.HeaderMutation - 40, // 129: envoy.config.route.v3.RouteAction.HashPolicy.header:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.Header - 42, // 130: envoy.config.route.v3.RouteAction.HashPolicy.cookie:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.Cookie - 43, // 131: envoy.config.route.v3.RouteAction.HashPolicy.connection_properties:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties - 44, // 132: envoy.config.route.v3.RouteAction.HashPolicy.query_parameter:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter - 45, // 133: envoy.config.route.v3.RouteAction.HashPolicy.filter_state:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.FilterState - 73, // 134: envoy.config.route.v3.RouteAction.UpgradeConfig.enabled:type_name -> google.protobuf.BoolValue - 46, // 135: envoy.config.route.v3.RouteAction.UpgradeConfig.connect_config:type_name -> envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig - 81, // 136: envoy.config.route.v3.RouteAction.MaxStreamDuration.max_stream_duration:type_name -> google.protobuf.Duration - 81, // 137: envoy.config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_max:type_name -> google.protobuf.Duration - 81, // 138: envoy.config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_offset:type_name -> google.protobuf.Duration - 80, // 139: envoy.config.route.v3.RouteAction.HashPolicy.Header.regex_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute - 81, // 140: envoy.config.route.v3.RouteAction.HashPolicy.Cookie.ttl:type_name -> google.protobuf.Duration - 41, // 141: envoy.config.route.v3.RouteAction.HashPolicy.Cookie.attributes:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute - 89, // 142: envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig.proxy_protocol_config:type_name -> envoy.config.core.v3.ProxyProtocolConfig - 69, // 143: envoy.config.route.v3.RetryPolicy.RetryPriority.typed_config:type_name -> google.protobuf.Any - 69, // 144: envoy.config.route.v3.RetryPolicy.RetryHostPredicate.typed_config:type_name -> google.protobuf.Any - 81, // 145: envoy.config.route.v3.RetryPolicy.RetryBackOff.base_interval:type_name -> google.protobuf.Duration - 81, // 146: envoy.config.route.v3.RetryPolicy.RetryBackOff.max_interval:type_name -> google.protobuf.Duration - 3, // 147: envoy.config.route.v3.RetryPolicy.ResetHeader.format:type_name -> envoy.config.route.v3.RetryPolicy.ResetHeaderFormat - 50, // 148: envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.reset_headers:type_name -> envoy.config.route.v3.RetryPolicy.ResetHeader - 81, // 149: envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.max_interval:type_name -> google.protobuf.Duration - 55, // 150: envoy.config.route.v3.RateLimit.Action.source_cluster:type_name -> envoy.config.route.v3.RateLimit.Action.SourceCluster - 56, // 151: envoy.config.route.v3.RateLimit.Action.destination_cluster:type_name -> envoy.config.route.v3.RateLimit.Action.DestinationCluster - 57, // 152: envoy.config.route.v3.RateLimit.Action.request_headers:type_name -> envoy.config.route.v3.RateLimit.Action.RequestHeaders - 58, // 153: envoy.config.route.v3.RateLimit.Action.query_parameters:type_name -> envoy.config.route.v3.RateLimit.Action.QueryParameters - 59, // 154: envoy.config.route.v3.RateLimit.Action.remote_address:type_name -> envoy.config.route.v3.RateLimit.Action.RemoteAddress - 61, // 155: envoy.config.route.v3.RateLimit.Action.generic_key:type_name -> envoy.config.route.v3.RateLimit.Action.GenericKey - 62, // 156: envoy.config.route.v3.RateLimit.Action.header_value_match:type_name -> envoy.config.route.v3.RateLimit.Action.HeaderValueMatch - 63, // 157: envoy.config.route.v3.RateLimit.Action.dynamic_metadata:type_name -> envoy.config.route.v3.RateLimit.Action.DynamicMetaData - 64, // 158: envoy.config.route.v3.RateLimit.Action.metadata:type_name -> envoy.config.route.v3.RateLimit.Action.MetaData - 74, // 159: envoy.config.route.v3.RateLimit.Action.extension:type_name -> envoy.config.core.v3.TypedExtensionConfig - 60, // 160: envoy.config.route.v3.RateLimit.Action.masked_remote_address:type_name -> envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress - 65, // 161: envoy.config.route.v3.RateLimit.Action.query_parameter_value_match:type_name -> envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch - 66, // 162: envoy.config.route.v3.RateLimit.Override.dynamic_metadata:type_name -> envoy.config.route.v3.RateLimit.Override.DynamicMetadata - 71, // 163: envoy.config.route.v3.RateLimit.HitsAddend.number:type_name -> google.protobuf.UInt64Value - 70, // 164: envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress.v4_prefix_mask_len:type_name -> google.protobuf.UInt32Value - 70, // 165: envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress.v6_prefix_mask_len:type_name -> google.protobuf.UInt32Value - 73, // 166: envoy.config.route.v3.RateLimit.Action.HeaderValueMatch.expect_match:type_name -> google.protobuf.BoolValue - 24, // 167: envoy.config.route.v3.RateLimit.Action.HeaderValueMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher - 90, // 168: envoy.config.route.v3.RateLimit.Action.DynamicMetaData.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey - 90, // 169: envoy.config.route.v3.RateLimit.Action.MetaData.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey - 5, // 170: envoy.config.route.v3.RateLimit.Action.MetaData.source:type_name -> envoy.config.route.v3.RateLimit.Action.MetaData.Source - 73, // 171: envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch.expect_match:type_name -> google.protobuf.BoolValue - 25, // 172: envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch.query_parameters:type_name -> envoy.config.route.v3.QueryParameterMatcher - 90, // 173: envoy.config.route.v3.RateLimit.Override.DynamicMetadata.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey - 174, // [174:174] is the sub-list for method output_type - 174, // [174:174] is the sub-list for method input_type - 174, // [174:174] is the sub-list for extension type_name - 174, // [174:174] is the sub-list for extension extendee - 0, // [0:174] is the sub-list for field type_name + 87, // 96: envoy.config.route.v3.DirectResponseAction.body:type_name -> envoy.config.core.v3.DataSource + 88, // 97: envoy.config.route.v3.DirectResponseAction.body_format:type_name -> envoy.config.core.v3.SubstitutionFormatString + 76, // 98: envoy.config.route.v3.Decorator.propagate:type_name -> google.protobuf.BoolValue + 86, // 99: envoy.config.route.v3.Tracing.client_sampling:type_name -> envoy.type.v3.FractionalPercent + 86, // 100: envoy.config.route.v3.Tracing.random_sampling:type_name -> envoy.type.v3.FractionalPercent + 86, // 101: envoy.config.route.v3.Tracing.overall_sampling:type_name -> envoy.type.v3.FractionalPercent + 89, // 102: envoy.config.route.v3.Tracing.custom_tags:type_name -> envoy.type.tracing.v3.CustomTag + 25, // 103: envoy.config.route.v3.VirtualCluster.headers:type_name -> envoy.config.route.v3.HeaderMatcher + 73, // 104: envoy.config.route.v3.RateLimit.stage:type_name -> google.protobuf.UInt32Value + 53, // 105: envoy.config.route.v3.RateLimit.actions:type_name -> envoy.config.route.v3.RateLimit.Action + 54, // 106: envoy.config.route.v3.RateLimit.limit:type_name -> envoy.config.route.v3.RateLimit.Override + 55, // 107: envoy.config.route.v3.RateLimit.hits_addend:type_name -> envoy.config.route.v3.RateLimit.HitsAddend + 5, // 108: envoy.config.route.v3.RateLimit.x_ratelimit_option:type_name -> envoy.config.route.v3.RateLimit.XRateLimitOption + 78, // 109: envoy.config.route.v3.HeaderMatcher.safe_regex_match:type_name -> envoy.type.matcher.v3.RegexMatcher + 90, // 110: envoy.config.route.v3.HeaderMatcher.range_match:type_name -> envoy.type.v3.Int64Range + 82, // 111: envoy.config.route.v3.HeaderMatcher.string_match:type_name -> envoy.type.matcher.v3.StringMatcher + 82, // 112: envoy.config.route.v3.QueryParameterMatcher.string_match:type_name -> envoy.type.matcher.v3.StringMatcher + 82, // 113: envoy.config.route.v3.CookieMatcher.string_match:type_name -> envoy.type.matcher.v3.StringMatcher + 73, // 114: envoy.config.route.v3.InternalRedirectPolicy.max_internal_redirects:type_name -> google.protobuf.UInt32Value + 77, // 115: envoy.config.route.v3.InternalRedirectPolicy.predicates:type_name -> envoy.config.core.v3.TypedExtensionConfig + 72, // 116: envoy.config.route.v3.FilterConfig.config:type_name -> google.protobuf.Any + 72, // 117: envoy.config.route.v3.VirtualHost.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any + 72, // 118: envoy.config.route.v3.Route.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any + 73, // 119: envoy.config.route.v3.WeightedCluster.ClusterWeight.weight:type_name -> google.protobuf.UInt32Value + 75, // 120: envoy.config.route.v3.WeightedCluster.ClusterWeight.metadata_match:type_name -> envoy.config.core.v3.Metadata + 71, // 121: envoy.config.route.v3.WeightedCluster.ClusterWeight.request_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption + 71, // 122: envoy.config.route.v3.WeightedCluster.ClusterWeight.response_headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption + 33, // 123: envoy.config.route.v3.WeightedCluster.ClusterWeight.typed_per_filter_config:type_name -> envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry + 72, // 124: envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry.value:type_name -> google.protobuf.Any + 76, // 125: envoy.config.route.v3.RouteMatch.TlsContextMatchOptions.presented:type_name -> google.protobuf.BoolValue + 76, // 126: envoy.config.route.v3.RouteMatch.TlsContextMatchOptions.validated:type_name -> google.protobuf.BoolValue + 79, // 127: envoy.config.route.v3.RouteAction.RequestMirrorPolicy.runtime_fraction:type_name -> envoy.config.core.v3.RuntimeFractionalPercent + 76, // 128: envoy.config.route.v3.RouteAction.RequestMirrorPolicy.trace_sampled:type_name -> google.protobuf.BoolValue + 91, // 129: envoy.config.route.v3.RouteAction.RequestMirrorPolicy.request_headers_mutations:type_name -> envoy.config.common.mutation_rules.v3.HeaderMutation + 41, // 130: envoy.config.route.v3.RouteAction.HashPolicy.header:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.Header + 43, // 131: envoy.config.route.v3.RouteAction.HashPolicy.cookie:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.Cookie + 44, // 132: envoy.config.route.v3.RouteAction.HashPolicy.connection_properties:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties + 45, // 133: envoy.config.route.v3.RouteAction.HashPolicy.query_parameter:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter + 46, // 134: envoy.config.route.v3.RouteAction.HashPolicy.filter_state:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.FilterState + 76, // 135: envoy.config.route.v3.RouteAction.UpgradeConfig.enabled:type_name -> google.protobuf.BoolValue + 47, // 136: envoy.config.route.v3.RouteAction.UpgradeConfig.connect_config:type_name -> envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig + 84, // 137: envoy.config.route.v3.RouteAction.MaxStreamDuration.max_stream_duration:type_name -> google.protobuf.Duration + 84, // 138: envoy.config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_max:type_name -> google.protobuf.Duration + 84, // 139: envoy.config.route.v3.RouteAction.MaxStreamDuration.grpc_timeout_header_offset:type_name -> google.protobuf.Duration + 83, // 140: envoy.config.route.v3.RouteAction.HashPolicy.Header.regex_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute + 84, // 141: envoy.config.route.v3.RouteAction.HashPolicy.Cookie.ttl:type_name -> google.protobuf.Duration + 42, // 142: envoy.config.route.v3.RouteAction.HashPolicy.Cookie.attributes:type_name -> envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute + 92, // 143: envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig.proxy_protocol_config:type_name -> envoy.config.core.v3.ProxyProtocolConfig + 72, // 144: envoy.config.route.v3.RetryPolicy.RetryPriority.typed_config:type_name -> google.protobuf.Any + 72, // 145: envoy.config.route.v3.RetryPolicy.RetryHostPredicate.typed_config:type_name -> google.protobuf.Any + 84, // 146: envoy.config.route.v3.RetryPolicy.RetryBackOff.base_interval:type_name -> google.protobuf.Duration + 84, // 147: envoy.config.route.v3.RetryPolicy.RetryBackOff.max_interval:type_name -> google.protobuf.Duration + 3, // 148: envoy.config.route.v3.RetryPolicy.ResetHeader.format:type_name -> envoy.config.route.v3.RetryPolicy.ResetHeaderFormat + 51, // 149: envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.reset_headers:type_name -> envoy.config.route.v3.RetryPolicy.ResetHeader + 84, // 150: envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff.max_interval:type_name -> google.protobuf.Duration + 56, // 151: envoy.config.route.v3.RateLimit.Action.source_cluster:type_name -> envoy.config.route.v3.RateLimit.Action.SourceCluster + 57, // 152: envoy.config.route.v3.RateLimit.Action.destination_cluster:type_name -> envoy.config.route.v3.RateLimit.Action.DestinationCluster + 58, // 153: envoy.config.route.v3.RateLimit.Action.request_headers:type_name -> envoy.config.route.v3.RateLimit.Action.RequestHeaders + 59, // 154: envoy.config.route.v3.RateLimit.Action.query_parameters:type_name -> envoy.config.route.v3.RateLimit.Action.QueryParameters + 60, // 155: envoy.config.route.v3.RateLimit.Action.remote_address:type_name -> envoy.config.route.v3.RateLimit.Action.RemoteAddress + 62, // 156: envoy.config.route.v3.RateLimit.Action.generic_key:type_name -> envoy.config.route.v3.RateLimit.Action.GenericKey + 63, // 157: envoy.config.route.v3.RateLimit.Action.header_value_match:type_name -> envoy.config.route.v3.RateLimit.Action.HeaderValueMatch + 64, // 158: envoy.config.route.v3.RateLimit.Action.dynamic_metadata:type_name -> envoy.config.route.v3.RateLimit.Action.DynamicMetaData + 65, // 159: envoy.config.route.v3.RateLimit.Action.metadata:type_name -> envoy.config.route.v3.RateLimit.Action.MetaData + 77, // 160: envoy.config.route.v3.RateLimit.Action.extension:type_name -> envoy.config.core.v3.TypedExtensionConfig + 61, // 161: envoy.config.route.v3.RateLimit.Action.masked_remote_address:type_name -> envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress + 66, // 162: envoy.config.route.v3.RateLimit.Action.query_parameter_value_match:type_name -> envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch + 67, // 163: envoy.config.route.v3.RateLimit.Action.remote_address_match:type_name -> envoy.config.route.v3.RateLimit.Action.RemoteAddressMatch + 68, // 164: envoy.config.route.v3.RateLimit.Override.dynamic_metadata:type_name -> envoy.config.route.v3.RateLimit.Override.DynamicMetadata + 69, // 165: envoy.config.route.v3.RateLimit.Override.rate_limit:type_name -> envoy.config.route.v3.RateLimit.Override.RateLimitOverride + 74, // 166: envoy.config.route.v3.RateLimit.HitsAddend.number:type_name -> google.protobuf.UInt64Value + 73, // 167: envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress.v4_prefix_mask_len:type_name -> google.protobuf.UInt32Value + 73, // 168: envoy.config.route.v3.RateLimit.Action.MaskedRemoteAddress.v6_prefix_mask_len:type_name -> google.protobuf.UInt32Value + 76, // 169: envoy.config.route.v3.RateLimit.Action.HeaderValueMatch.expect_match:type_name -> google.protobuf.BoolValue + 25, // 170: envoy.config.route.v3.RateLimit.Action.HeaderValueMatch.headers:type_name -> envoy.config.route.v3.HeaderMatcher + 93, // 171: envoy.config.route.v3.RateLimit.Action.DynamicMetaData.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey + 93, // 172: envoy.config.route.v3.RateLimit.Action.MetaData.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey + 6, // 173: envoy.config.route.v3.RateLimit.Action.MetaData.source:type_name -> envoy.config.route.v3.RateLimit.Action.MetaData.Source + 76, // 174: envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch.expect_match:type_name -> google.protobuf.BoolValue + 26, // 175: envoy.config.route.v3.RateLimit.Action.QueryParameterValueMatch.query_parameters:type_name -> envoy.config.route.v3.QueryParameterMatcher + 94, // 176: envoy.config.route.v3.RateLimit.Action.RemoteAddressMatch.address_matcher:type_name -> envoy.type.matcher.v3.AddressMatcher + 93, // 177: envoy.config.route.v3.RateLimit.Override.DynamicMetadata.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey + 95, // 178: envoy.config.route.v3.RateLimit.Override.RateLimitOverride.unit:type_name -> envoy.type.v3.RateLimitUnit + 179, // [179:179] is the sub-list for method output_type + 179, // [179:179] is the sub-list for method input_type + 179, // [179:179] is the sub-list for extension type_name + 179, // [179:179] is the sub-list for extension extendee + 0, // [0:179] is the sub-list for field type_name } func init() { file_envoy_config_route_v3_route_components_proto_init() } @@ -8121,6 +8491,7 @@ func file_envoy_config_route_v3_route_components_proto_init() { (*RedirectAction_PathRedirect)(nil), (*RedirectAction_PrefixRewrite)(nil), (*RedirectAction_RegexRewrite)(nil), + (*RedirectAction_PathRewrite)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[18].OneofWrappers = []any{ (*HeaderMatcher_ExactMatch)(nil), @@ -8165,17 +8536,19 @@ func file_envoy_config_route_v3_route_components_proto_init() { (*RateLimit_Action_Extension)(nil), (*RateLimit_Action_MaskedRemoteAddress_)(nil), (*RateLimit_Action_QueryParameterValueMatch_)(nil), + (*RateLimit_Action_RemoteAddressMatch_)(nil), } file_envoy_config_route_v3_route_components_proto_msgTypes[47].OneofWrappers = []any{ (*RateLimit_Override_DynamicMetadata_)(nil), + (*RateLimit_Override_RateLimit)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_config_route_v3_route_components_proto_rawDesc), len(file_envoy_config_route_v3_route_components_proto_rawDesc)), - NumEnums: 6, - NumMessages: 61, + NumEnums: 7, + NumMessages: 63, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components.pb.validate.go index ba221e10..edfe6f3c 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components.pb.validate.go @@ -20,6 +20,8 @@ import ( "google.golang.org/protobuf/types/known/anypb" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" + + v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3" ) // ensure the imports are used @@ -38,6 +40,8 @@ var ( _ = sort.Sort _ = v3.RoutingPriority(0) + + _ = v31.RateLimitUnit(0) ) // Validate checks the field values on VirtualHost with the rules defined in @@ -4437,6 +4441,8 @@ func (m *RetryPolicy) validate(all bool) error { } + // no validation rules for RefreshClusterOnRetry + if len(errors) > 0 { return RetryPolicyMultiError(errors) } @@ -4823,6 +4829,18 @@ func (m *RedirectAction) validate(all bool) error { } } + case *RedirectAction_PathRewrite: + if v == nil { + err := RedirectActionValidationError{ + field: "PathRewriteSpecifier", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for PathRewrite default: _ = v // ensures v is used } @@ -5835,6 +5853,8 @@ func (m *RateLimit) validate(all bool) error { // no validation rules for ApplyOnStreamDone + // no validation rules for XRatelimitOption + if len(errors) > 0 { return RateLimitMultiError(errors) } @@ -10963,6 +10983,48 @@ func (m *RateLimit_Action) validate(all bool) error { } } + case *RateLimit_Action_RemoteAddressMatch_: + if v == nil { + err := RateLimit_ActionValidationError{ + field: "ActionSpecifier", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + oneofActionSpecifierPresent = true + + if all { + switch v := interface{}(m.GetRemoteAddressMatch()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, RateLimit_ActionValidationError{ + field: "RemoteAddressMatch", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, RateLimit_ActionValidationError{ + field: "RemoteAddressMatch", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetRemoteAddressMatch()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return RateLimit_ActionValidationError{ + field: "RemoteAddressMatch", + reason: "embedded message failed validation", + cause: err, + } + } + } + default: _ = v // ensures v is used } @@ -11121,6 +11183,48 @@ func (m *RateLimit_Override) validate(all bool) error { } } + case *RateLimit_Override_RateLimit: + if v == nil { + err := RateLimit_OverrideValidationError{ + field: "OverrideSpecifier", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + oneofOverrideSpecifierPresent = true + + if all { + switch v := interface{}(m.GetRateLimit()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, RateLimit_OverrideValidationError{ + field: "RateLimit", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, RateLimit_OverrideValidationError{ + field: "RateLimit", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetRateLimit()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return RateLimit_OverrideValidationError{ + field: "RateLimit", + reason: "embedded message failed validation", + cause: err, + } + } + } + default: _ = v // ensures v is used } @@ -11278,6 +11382,8 @@ func (m *RateLimit_HitsAddend) validate(all bool) error { } + // no validation rules for IsNegativeHits + if len(errors) > 0 { return RateLimit_HitsAddendMultiError(errors) } @@ -12906,6 +13012,166 @@ var _ interface { ErrorName() string } = RateLimit_Action_QueryParameterValueMatchValidationError{} +// Validate checks the field values on RateLimit_Action_RemoteAddressMatch with +// the rules defined in the proto definition for this message. If any rules +// are violated, the first error encountered is returned, or nil if there are +// no violations. +func (m *RateLimit_Action_RemoteAddressMatch) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on RateLimit_Action_RemoteAddressMatch +// with the rules defined in the proto definition for this message. If any +// rules are violated, the result is a list of violation errors wrapped in +// RateLimit_Action_RemoteAddressMatchMultiError, or nil if none found. +func (m *RateLimit_Action_RemoteAddressMatch) ValidateAll() error { + return m.validate(true) +} + +func (m *RateLimit_Action_RemoteAddressMatch) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if utf8.RuneCountInString(m.GetDescriptorValue()) < 1 { + err := RateLimit_Action_RemoteAddressMatchValidationError{ + field: "DescriptorValue", + reason: "value length must be at least 1 runes", + } + if !all { + return err + } + errors = append(errors, err) + } + + // no validation rules for DescriptorKey + + // no validation rules for DefaultValue + + if m.GetAddressMatcher() == nil { + err := RateLimit_Action_RemoteAddressMatchValidationError{ + field: "AddressMatcher", + reason: "value is required", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetAddressMatcher()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, RateLimit_Action_RemoteAddressMatchValidationError{ + field: "AddressMatcher", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, RateLimit_Action_RemoteAddressMatchValidationError{ + field: "AddressMatcher", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetAddressMatcher()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return RateLimit_Action_RemoteAddressMatchValidationError{ + field: "AddressMatcher", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return RateLimit_Action_RemoteAddressMatchMultiError(errors) + } + + return nil +} + +// RateLimit_Action_RemoteAddressMatchMultiError is an error wrapping multiple +// validation errors returned by +// RateLimit_Action_RemoteAddressMatch.ValidateAll() if the designated +// constraints aren't met. +type RateLimit_Action_RemoteAddressMatchMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m RateLimit_Action_RemoteAddressMatchMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m RateLimit_Action_RemoteAddressMatchMultiError) AllErrors() []error { return m } + +// RateLimit_Action_RemoteAddressMatchValidationError is the validation error +// returned by RateLimit_Action_RemoteAddressMatch.Validate if the designated +// constraints aren't met. +type RateLimit_Action_RemoteAddressMatchValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RateLimit_Action_RemoteAddressMatchValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RateLimit_Action_RemoteAddressMatchValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RateLimit_Action_RemoteAddressMatchValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RateLimit_Action_RemoteAddressMatchValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RateLimit_Action_RemoteAddressMatchValidationError) ErrorName() string { + return "RateLimit_Action_RemoteAddressMatchValidationError" +} + +// Error satisfies the builtin error interface +func (e RateLimit_Action_RemoteAddressMatchValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sRateLimit_Action_RemoteAddressMatch.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RateLimit_Action_RemoteAddressMatchValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RateLimit_Action_RemoteAddressMatchValidationError{} + // Validate checks the field values on RateLimit_Override_DynamicMetadata with // the rules defined in the proto definition for this message. If any rules // are violated, the first error encountered is returned, or nil if there are @@ -13050,3 +13316,112 @@ var _ interface { Cause() error ErrorName() string } = RateLimit_Override_DynamicMetadataValidationError{} + +// Validate checks the field values on RateLimit_Override_RateLimitOverride +// with the rules defined in the proto definition for this message. If any +// rules are violated, the first error encountered is returned, or nil if +// there are no violations. +func (m *RateLimit_Override_RateLimitOverride) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on RateLimit_Override_RateLimitOverride +// with the rules defined in the proto definition for this message. If any +// rules are violated, the result is a list of violation errors wrapped in +// RateLimit_Override_RateLimitOverrideMultiError, or nil if none found. +func (m *RateLimit_Override_RateLimitOverride) ValidateAll() error { + return m.validate(true) +} + +func (m *RateLimit_Override_RateLimitOverride) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for RequestsPerUnit + + // no validation rules for Unit + + if len(errors) > 0 { + return RateLimit_Override_RateLimitOverrideMultiError(errors) + } + + return nil +} + +// RateLimit_Override_RateLimitOverrideMultiError is an error wrapping multiple +// validation errors returned by +// RateLimit_Override_RateLimitOverride.ValidateAll() if the designated +// constraints aren't met. +type RateLimit_Override_RateLimitOverrideMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m RateLimit_Override_RateLimitOverrideMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m RateLimit_Override_RateLimitOverrideMultiError) AllErrors() []error { return m } + +// RateLimit_Override_RateLimitOverrideValidationError is the validation error +// returned by RateLimit_Override_RateLimitOverride.Validate if the designated +// constraints aren't met. +type RateLimit_Override_RateLimitOverrideValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RateLimit_Override_RateLimitOverrideValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RateLimit_Override_RateLimitOverrideValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RateLimit_Override_RateLimitOverrideValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RateLimit_Override_RateLimitOverrideValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RateLimit_Override_RateLimitOverrideValidationError) ErrorName() string { + return "RateLimit_Override_RateLimitOverrideValidationError" +} + +// Error satisfies the builtin error interface +func (e RateLimit_Override_RateLimitOverrideValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sRateLimit_Override_RateLimitOverride.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RateLimit_Override_RateLimitOverrideValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RateLimit_Override_RateLimitOverrideValidationError{} diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components_vtproto.pb.go index 9f9c9c86..cad6845c 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/route_components_vtproto.pb.go @@ -3612,6 +3612,16 @@ func (m *RetryPolicy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.RefreshClusterOnRetry { + i-- + if m.RefreshClusterOnRetry { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x70 + } if m.PerTryIdleTimeout != nil { size, err := (*durationpb.Duration)(m.PerTryIdleTimeout).MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -3872,6 +3882,13 @@ func (m *RedirectAction) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if msg, ok := m.PathRewriteSpecifier.(*RedirectAction_PathRewrite); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } if msg, ok := m.PathRewriteSpecifier.(*RedirectAction_RegexRewrite); ok { size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -4031,6 +4048,20 @@ func (m *RedirectAction_RegexRewrite) MarshalToSizedBufferVTStrict(dAtA []byte) } return len(dAtA) - i, nil } +func (m *RedirectAction_PathRewrite) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *RedirectAction_PathRewrite) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.PathRewrite) + copy(dAtA[i:], m.PathRewrite) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PathRewrite))) + i-- + dAtA[i] = 0x52 + return len(dAtA) - i, nil +} func (m *DirectResponseAction) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -5010,6 +5041,82 @@ func (m *RateLimit_Action_QueryParameterValueMatch) MarshalToSizedBufferVTStrict return len(dAtA) - i, nil } +func (m *RateLimit_Action_RemoteAddressMatch) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RateLimit_Action_RemoteAddressMatch) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *RateLimit_Action_RemoteAddressMatch) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.AddressMatcher != nil { + if vtmsg, ok := interface{}(m.AddressMatcher).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AddressMatcher) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x22 + } + if len(m.DefaultValue) > 0 { + i -= len(m.DefaultValue) + copy(dAtA[i:], m.DefaultValue) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DefaultValue))) + i-- + dAtA[i] = 0x1a + } + if len(m.DescriptorKey) > 0 { + i -= len(m.DescriptorKey) + copy(dAtA[i:], m.DescriptorKey) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DescriptorKey))) + i-- + dAtA[i] = 0x12 + } + if len(m.DescriptorValue) > 0 { + i -= len(m.DescriptorValue) + copy(dAtA[i:], m.DescriptorValue) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DescriptorValue))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *RateLimit_Action) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -5040,6 +5147,13 @@ func (m *RateLimit_Action) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if msg, ok := m.ActionSpecifier.(*RateLimit_Action_RemoteAddressMatch_); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } if msg, ok := m.ActionSpecifier.(*RateLimit_Action_QueryParameters_); ok { size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -5415,6 +5529,29 @@ func (m *RateLimit_Action_QueryParameters_) MarshalToSizedBufferVTStrict(dAtA [] } return len(dAtA) - i, nil } +func (m *RateLimit_Action_RemoteAddressMatch_) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *RateLimit_Action_RemoteAddressMatch_) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RemoteAddressMatch != nil { + size, err := m.RemoteAddressMatch.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } else { + i = protohelpers.EncodeVarint(dAtA, i, 0) + i-- + dAtA[i] = 0x6a + } + return len(dAtA) - i, nil +} func (m *RateLimit_Override_DynamicMetadata) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -5470,6 +5607,49 @@ func (m *RateLimit_Override_DynamicMetadata) MarshalToSizedBufferVTStrict(dAtA [ return len(dAtA) - i, nil } +func (m *RateLimit_Override_RateLimitOverride) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RateLimit_Override_RateLimitOverride) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *RateLimit_Override_RateLimitOverride) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Unit != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Unit)) + i-- + dAtA[i] = 0x10 + } + if m.RequestsPerUnit != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RequestsPerUnit)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *RateLimit_Override) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -5500,6 +5680,13 @@ func (m *RateLimit_Override) MarshalToSizedBufferVTStrict(dAtA []byte) (int, err i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if msg, ok := m.OverrideSpecifier.(*RateLimit_Override_RateLimit); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } if msg, ok := m.OverrideSpecifier.(*RateLimit_Override_DynamicMetadata_); ok { size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -5533,6 +5720,29 @@ func (m *RateLimit_Override_DynamicMetadata_) MarshalToSizedBufferVTStrict(dAtA } return len(dAtA) - i, nil } +func (m *RateLimit_Override_RateLimit) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *RateLimit_Override_RateLimit) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RateLimit != nil { + size, err := m.RateLimit.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } else { + i = protohelpers.EncodeVarint(dAtA, i, 0) + i-- + dAtA[i] = 0x12 + } + return len(dAtA) - i, nil +} func (m *RateLimit_HitsAddend) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -5563,6 +5773,16 @@ func (m *RateLimit_HitsAddend) MarshalToSizedBufferVTStrict(dAtA []byte) (int, e i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.IsNegativeHits { + i-- + if m.IsNegativeHits { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } if len(m.Format) > 0 { i -= len(m.Format) copy(dAtA[i:], m.Format) @@ -5613,6 +5833,11 @@ func (m *RateLimit) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.XRatelimitOption != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.XRatelimitOption)) + i-- + dAtA[i] = 0x38 + } if m.ApplyOnStreamDone { i-- if m.ApplyOnStreamDone { @@ -7895,6 +8120,9 @@ func (m *RetryPolicy) SizeVT() (n int) { l = (*durationpb.Duration)(m.PerTryIdleTimeout).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.RefreshClusterOnRetry { + n += 2 + } n += len(m.unknownFields) return n } @@ -8014,6 +8242,16 @@ func (m *RedirectAction_RegexRewrite) SizeVT() (n int) { } return n } +func (m *RedirectAction_PathRewrite) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PathRewrite) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} func (m *DirectResponseAction) SizeVT() (n int) { if m == nil { return 0 @@ -8393,6 +8631,38 @@ func (m *RateLimit_Action_QueryParameterValueMatch) SizeVT() (n int) { return n } +func (m *RateLimit_Action_RemoteAddressMatch) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DescriptorValue) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.DescriptorKey) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.DefaultValue) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.AddressMatcher != nil { + if size, ok := interface{}(m.AddressMatcher).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.AddressMatcher) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + func (m *RateLimit_Action) SizeVT() (n int) { if m == nil { return 0 @@ -8580,6 +8850,20 @@ func (m *RateLimit_Action_QueryParameters_) SizeVT() (n int) { } return n } +func (m *RateLimit_Action_RemoteAddressMatch_) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RemoteAddressMatch != nil { + l = m.RemoteAddressMatch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } else { + n += 2 + } + return n +} func (m *RateLimit_Override_DynamicMetadata) SizeVT() (n int) { if m == nil { return 0 @@ -8600,6 +8884,22 @@ func (m *RateLimit_Override_DynamicMetadata) SizeVT() (n int) { return n } +func (m *RateLimit_Override_RateLimitOverride) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RequestsPerUnit != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.RequestsPerUnit)) + } + if m.Unit != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Unit)) + } + n += len(m.unknownFields) + return n +} + func (m *RateLimit_Override) SizeVT() (n int) { if m == nil { return 0 @@ -8627,6 +8927,20 @@ func (m *RateLimit_Override_DynamicMetadata_) SizeVT() (n int) { } return n } +func (m *RateLimit_Override_RateLimit) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RateLimit != nil { + l = m.RateLimit.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } else { + n += 2 + } + return n +} func (m *RateLimit_HitsAddend) SizeVT() (n int) { if m == nil { return 0 @@ -8641,6 +8955,9 @@ func (m *RateLimit_HitsAddend) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.IsNegativeHits { + n += 2 + } n += len(m.unknownFields) return n } @@ -8676,6 +8993,9 @@ func (m *RateLimit) SizeVT() (n int) { if m.ApplyOnStreamDone { n += 2 } + if m.XRatelimitOption != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.XRatelimitOption)) + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/scoped_route.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/scoped_route.pb.go index 10a35d01..888cf11e 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/scoped_route.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/route/v3/scoped_route.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/route/v3/scoped_route.proto package routev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/tap/v3/common.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/tap/v3/common.pb.go index 93602ac3..30b75613 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/tap/v3/common.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/tap/v3/common.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/tap/v3/common.proto package tapv3 @@ -130,14 +130,16 @@ type TapConfig struct { // The tap output configuration. If a match configuration matches a data source being tapped, // a tap will occur and the data will be written to the configured output. OutputConfig *OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` - // [#not-implemented-hide:] Specify if Tap matching is enabled. The % of requests\connections for - // which the tap matching is enabled. When not enabled, the request\connection will not be - // recorded. - // - // .. note:: - // - // This field defaults to 100/:ref:`HUNDRED - // `. + // Specifies the fraction of requests (HTTP tap filter) or connections (transport + // socket tap) for which the tap match predicate is evaluated. When unset, every + // request/connection proceeds to match evaluation (equivalent to sampling at 100%), + // the runtime layer is not consulted, and “configured_sample_rate“ is not set on + // emitted traces. When set, only the configured fraction is matched; the remainder + // is not tapped. The value can be overridden at runtime via :ref:`runtime_key + // `. The + // configured sampling rate is recorded on the :ref:`configured_sample_rate + // ` of the + // first segment of each emitted trace. TapEnabled *v31.RuntimeFractionalPercent `protobuf:"bytes,3,opt,name=tap_enabled,json=tapEnabled,proto3" json:"tap_enabled,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/datadog.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/datadog.pb.go index cde55e48..30d115ea 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/datadog.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/datadog.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/trace/v3/datadog.proto package tracev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/dynamic_ot.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/dynamic_ot.pb.go index 329db007..3784e9db 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/dynamic_ot.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/dynamic_ot.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/trace/v3/dynamic_ot.proto package tracev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/http_tracer.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/http_tracer.pb.go index 225289fe..50d38a43 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/http_tracer.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/http_tracer.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/trace/v3/http_tracer.proto package tracev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/lightstep.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/lightstep.pb.go index 063dbea5..8694247a 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/lightstep.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/lightstep.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/trace/v3/lightstep.proto package tracev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry.pb.go index 437f8e20..9b099c8a 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/trace/v3/opentelemetry.proto package tracev3 @@ -28,7 +28,7 @@ const ( // // [#extension: envoy.tracers.opentelemetry] // -// [#next-free-field: 7] +// [#next-free-field: 9] type OpenTelemetryConfig struct { state protoimpl.MessageState `protogen:"open.v1"` // The upstream gRPC cluster that will receive OTLP traces. @@ -42,11 +42,9 @@ type OpenTelemetryConfig struct { // // .. note:: // - // Note: The ``request_headers_to_add`` property in the OTLP HTTP exporter service - // does not support the :ref:`format specifier ` as used for - // :ref:`HTTP access logging `. - // The values configured are added as HTTP headers on the OTLP export request - // without any formatting applied. + // The ``request_headers_to_add`` property in the OTLP HTTP exporter service supports + // substitution formatters. The formatters cannot access any HTTP or connection properties, but + // can load content such as environment variables or files or secrets. HttpService *v3.HttpService `protobuf:"bytes,3,opt,name=http_service,json=httpService,proto3" json:"http_service,omitempty"` // The name for the service. This will be populated in the ResourceSpan Resource attributes. // If it is not provided, it will default to "unknown_service:envoy". @@ -64,9 +62,21 @@ type OpenTelemetryConfig struct { // Envoy caches the span in memory when the OpenTelemetry backend service is temporarily unavailable. // This field specifies the maximum number of spans that can be cached. If not specified, the // default is 1024. - MaxCacheSize *wrapperspb.UInt32Value `protobuf:"bytes,6,opt,name=max_cache_size,json=maxCacheSize,proto3" json:"max_cache_size,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + MaxCacheSize *wrapperspb.UInt32Value `protobuf:"bytes,6,opt,name=max_cache_size,json=maxCacheSize,proto3" json:"max_cache_size,omitempty"` + // Specifies whether to set the telemetry SDK resource attributes. + // The following attributes will be set: + // + // - telemetry.sdk.language + // - telemetry.sdk.name + // - telemetry.sdk.version + // + // If not specified, the default is to set these attributes. + SetTelemetrySdkResourceAttributes *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=set_telemetry_sdk_resource_attributes,json=setTelemetrySdkResourceAttributes,proto3" json:"set_telemetry_sdk_resource_attributes,omitempty"` + // Specifies whether to set the “service.name“ resource attribute. + // If not specified, the default is to set this attribute. + SetServiceNameResourceAttribute *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=set_service_name_resource_attribute,json=setServiceNameResourceAttribute,proto3" json:"set_service_name_resource_attribute,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *OpenTelemetryConfig) Reset() { @@ -141,18 +151,34 @@ func (x *OpenTelemetryConfig) GetMaxCacheSize() *wrapperspb.UInt32Value { return nil } +func (x *OpenTelemetryConfig) GetSetTelemetrySdkResourceAttributes() *wrapperspb.BoolValue { + if x != nil { + return x.SetTelemetrySdkResourceAttributes + } + return nil +} + +func (x *OpenTelemetryConfig) GetSetServiceNameResourceAttribute() *wrapperspb.BoolValue { + if x != nil { + return x.SetServiceNameResourceAttribute + } + return nil +} + var File_envoy_config_trace_v3_opentelemetry_proto protoreflect.FileDescriptor const file_envoy_config_trace_v3_opentelemetry_proto_rawDesc = "" + "\n" + - ")envoy/config/trace/v3/opentelemetry.proto\x12\x15envoy.config.trace.v3\x1a$envoy/config/core/v3/extension.proto\x1a'envoy/config/core/v3/grpc_service.proto\x1a'envoy/config/core/v3/http_service.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1dudpa/annotations/status.proto\"\xd7\x03\n" + + ")envoy/config/trace/v3/opentelemetry.proto\x12\x15envoy.config.trace.v3\x1a$envoy/config/core/v3/extension.proto\x1a'envoy/config/core/v3/grpc_service.proto\x1a'envoy/config/core/v3/http_service.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1dudpa/annotations/status.proto\"\xaf\x05\n" + "\x13OpenTelemetryConfig\x12[\n" + "\fgrpc_service\x18\x01 \x01(\v2!.envoy.config.core.v3.GrpcServiceB\x15\xf2\x98\xfe\x8f\x05\x0f\x12\rotlp_exporterR\vgrpcService\x12[\n" + "\fhttp_service\x18\x03 \x01(\v2!.envoy.config.core.v3.HttpServiceB\x15\xf2\x98\xfe\x8f\x05\x0f\x12\rotlp_exporterR\vhttpService\x12!\n" + "\fservice_name\x18\x02 \x01(\tR\vserviceName\x12Y\n" + "\x12resource_detectors\x18\x04 \x03(\v2*.envoy.config.core.v3.TypedExtensionConfigR\x11resourceDetectors\x12D\n" + "\asampler\x18\x05 \x01(\v2*.envoy.config.core.v3.TypedExtensionConfigR\asampler\x12B\n" + - "\x0emax_cache_size\x18\x06 \x01(\v2\x1c.google.protobuf.UInt32ValueR\fmaxCacheSizeB\x89\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + + "\x0emax_cache_size\x18\x06 \x01(\v2\x1c.google.protobuf.UInt32ValueR\fmaxCacheSize\x12l\n" + + "%set_telemetry_sdk_resource_attributes\x18\a \x01(\v2\x1a.google.protobuf.BoolValueR!setTelemetrySdkResourceAttributes\x12h\n" + + "#set_service_name_resource_attribute\x18\b \x01(\v2\x1a.google.protobuf.BoolValueR\x1fsetServiceNameResourceAttributeB\x89\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + "#io.envoyproxy.envoy.config.trace.v3B\x12OpentelemetryProtoP\x01ZDgithub.com/envoyproxy/go-control-plane/envoy/config/trace/v3;tracev3b\x06proto3" var ( @@ -174,6 +200,7 @@ var file_envoy_config_trace_v3_opentelemetry_proto_goTypes = []any{ (*v3.HttpService)(nil), // 2: envoy.config.core.v3.HttpService (*v3.TypedExtensionConfig)(nil), // 3: envoy.config.core.v3.TypedExtensionConfig (*wrapperspb.UInt32Value)(nil), // 4: google.protobuf.UInt32Value + (*wrapperspb.BoolValue)(nil), // 5: google.protobuf.BoolValue } var file_envoy_config_trace_v3_opentelemetry_proto_depIdxs = []int32{ 1, // 0: envoy.config.trace.v3.OpenTelemetryConfig.grpc_service:type_name -> envoy.config.core.v3.GrpcService @@ -181,11 +208,13 @@ var file_envoy_config_trace_v3_opentelemetry_proto_depIdxs = []int32{ 3, // 2: envoy.config.trace.v3.OpenTelemetryConfig.resource_detectors:type_name -> envoy.config.core.v3.TypedExtensionConfig 3, // 3: envoy.config.trace.v3.OpenTelemetryConfig.sampler:type_name -> envoy.config.core.v3.TypedExtensionConfig 4, // 4: envoy.config.trace.v3.OpenTelemetryConfig.max_cache_size:type_name -> google.protobuf.UInt32Value - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 5, // 5: envoy.config.trace.v3.OpenTelemetryConfig.set_telemetry_sdk_resource_attributes:type_name -> google.protobuf.BoolValue + 5, // 6: envoy.config.trace.v3.OpenTelemetryConfig.set_service_name_resource_attribute:type_name -> google.protobuf.BoolValue + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_envoy_config_trace_v3_opentelemetry_proto_init() } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry.pb.validate.go index c025e67d..c7ed0457 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry.pb.validate.go @@ -210,6 +210,64 @@ func (m *OpenTelemetryConfig) validate(all bool) error { } } + if all { + switch v := interface{}(m.GetSetTelemetrySdkResourceAttributes()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, OpenTelemetryConfigValidationError{ + field: "SetTelemetrySdkResourceAttributes", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, OpenTelemetryConfigValidationError{ + field: "SetTelemetrySdkResourceAttributes", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetSetTelemetrySdkResourceAttributes()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OpenTelemetryConfigValidationError{ + field: "SetTelemetrySdkResourceAttributes", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetSetServiceNameResourceAttribute()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, OpenTelemetryConfigValidationError{ + field: "SetServiceNameResourceAttribute", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, OpenTelemetryConfigValidationError{ + field: "SetServiceNameResourceAttribute", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetSetServiceNameResourceAttribute()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OpenTelemetryConfigValidationError{ + field: "SetServiceNameResourceAttribute", + reason: "embedded message failed validation", + cause: err, + } + } + } + if len(errors) > 0 { return OpenTelemetryConfigMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry_vtproto.pb.go index 13e95982..18b6c40d 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/opentelemetry_vtproto.pb.go @@ -50,6 +50,26 @@ func (m *OpenTelemetryConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, er i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.SetServiceNameResourceAttribute != nil { + size, err := (*wrapperspb.BoolValue)(m.SetServiceNameResourceAttribute).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.SetTelemetrySdkResourceAttributes != nil { + size, err := (*wrapperspb.BoolValue)(m.SetTelemetrySdkResourceAttributes).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } if m.MaxCacheSize != nil { size, err := (*wrapperspb.UInt32Value)(m.MaxCacheSize).MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -216,6 +236,14 @@ func (m *OpenTelemetryConfig) SizeVT() (n int) { l = (*wrapperspb.UInt32Value)(m.MaxCacheSize).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.SetTelemetrySdkResourceAttributes != nil { + l = (*wrapperspb.BoolValue)(m.SetTelemetrySdkResourceAttributes).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.SetServiceNameResourceAttribute != nil { + l = (*wrapperspb.BoolValue)(m.SetServiceNameResourceAttribute).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/service.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/service.pb.go index 16ee4de2..4623e0d9 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/service.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/service.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/trace/v3/service.proto package tracev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/skywalking.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/skywalking.pb.go index 6c7b2ad5..7f19084a 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/skywalking.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/skywalking.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/trace/v3/skywalking.proto package tracev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/trace.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/trace.pb.go index 485c9aa5..de1d043e 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/trace.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/trace.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/trace/v3/trace.proto package tracev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/xray.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/xray.pb.go index dd09f1b3..5af8c2f5 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/xray.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/xray.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/trace/v3/xray.proto package tracev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin.pb.go index ddc1a7ad..e6b8b287 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/config/trace/v3/zipkin.proto package tracev3 @@ -144,7 +144,7 @@ func (ZipkinConfig_CollectorEndpointVersion) EnumDescriptor() ([]byte, []int) { // Configuration for the Zipkin tracer. // [#extension: envoy.tracers.zipkin] -// [#next-free-field: 10] +// [#next-free-field: 11] type ZipkinConfig struct { state protoimpl.MessageState `protogen:"open.v1"` // The cluster manager cluster that hosts the Zipkin collectors. @@ -256,8 +256,13 @@ type ZipkinConfig struct { // - Hostname: Uses cluster name as fallback // - Path: “/api/v2/spans“ CollectorService *v3.HttpService `protobuf:"bytes,9,opt,name=collector_service,json=collectorService,proto3" json:"collector_service,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Determines whether trace IDs will include a timestamp in the first 4 bytes. + // When enabled, trace IDs are generated with the format: [32-bit epoch seconds][32-bit random]. + // The default value is false, which results in fully random trace IDs. + // For 128-bit trace IDs, the timestamp is encoded in the high 32 bits of the high 64-bit word. + TimestampTraceIds bool `protobuf:"varint,10,opt,name=timestamp_trace_ids,json=timestampTraceIds,proto3" json:"timestamp_trace_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ZipkinConfig) Reset() { @@ -354,11 +359,18 @@ func (x *ZipkinConfig) GetCollectorService() *v3.HttpService { return nil } +func (x *ZipkinConfig) GetTimestampTraceIds() bool { + if x != nil { + return x.TimestampTraceIds + } + return false +} + var File_envoy_config_trace_v3_zipkin_proto protoreflect.FileDescriptor const file_envoy_config_trace_v3_zipkin_proto_rawDesc = "" + "\n" + - "\"envoy/config/trace/v3/zipkin.proto\x12\x15envoy.config.trace.v3\x1a'envoy/config/core/v3/http_service.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\"\xef\x06\n" + + "\"envoy/config/trace/v3/zipkin.proto\x12\x15envoy.config.trace.v3\x1a'envoy/config/core/v3/http_service.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\"\x9f\a\n" + "\fZipkinConfig\x12+\n" + "\x11collector_cluster\x18\x01 \x01(\tR\x10collectorCluster\x12-\n" + "\x12collector_endpoint\x18\x02 \x01(\tR\x11collectorEndpoint\x12&\n" + @@ -368,7 +380,9 @@ const file_envoy_config_trace_v3_zipkin_proto_rawDesc = "" + "\x12collector_hostname\x18\x06 \x01(\tR\x11collectorHostname\x12B\n" + "\x17split_spans_for_request\x18\a \x01(\bB\v\x92dž\xd8\x04\x033.0\x18\x01R\x14splitSpansForRequest\x12h\n" + "\x14trace_context_option\x18\b \x01(\x0e26.envoy.config.trace.v3.ZipkinConfig.TraceContextOptionR\x12traceContextOption\x12N\n" + - "\x11collector_service\x18\t \x01(\v2!.envoy.config.core.v3.HttpServiceR\x10collectorService\"A\n" + + "\x11collector_service\x18\t \x01(\v2!.envoy.config.core.v3.HttpServiceR\x10collectorService\x12.\n" + + "\x13timestamp_trace_ids\x18\n" + + " \x01(\bR\x11timestampTraceIds\"A\n" + "\x12TraceContextOption\x12\n" + "\n" + "\x06USE_B3\x10\x00\x12\x1f\n" + diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin.pb.validate.go index 62c93832..a1c66e03 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin.pb.validate.go @@ -130,6 +130,8 @@ func (m *ZipkinConfig) validate(all bool) error { } } + // no validation rules for TimestampTraceIds + if len(errors) > 0 { return ZipkinConfigMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin_vtproto.pb.go index 16323629..a0a607f1 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/config/trace/v3/zipkin_vtproto.pb.go @@ -50,6 +50,16 @@ func (m *ZipkinConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.TimestampTraceIds { + i-- + if m.TimestampTraceIds { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } if m.CollectorService != nil { if vtmsg, ok := interface{}(m.CollectorService).(interface { MarshalToSizedBufferVTStrict([]byte) (int, error) @@ -180,6 +190,9 @@ func (m *ZipkinConfig) SizeVT() (n int) { } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.TimestampTraceIds { + n += 2 + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/data/accesslog/v3/accesslog.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/data/accesslog/v3/accesslog.pb.go index f9fb977b..8ca25fc3 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/data/accesslog/v3/accesslog.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/data/accesslog/v3/accesslog.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/data/accesslog/v3/accesslog.proto package accesslogv3 @@ -35,6 +35,7 @@ const ( AccessLogType_NotSet AccessLogType = 0 AccessLogType_TcpUpstreamConnected AccessLogType = 1 AccessLogType_TcpPeriodic AccessLogType = 2 + AccessLogType_TcpConnectionStart AccessLogType = 14 AccessLogType_TcpConnectionEnd AccessLogType = 3 AccessLogType_DownstreamStart AccessLogType = 4 AccessLogType_DownstreamPeriodic AccessLogType = 5 @@ -54,6 +55,7 @@ var ( 0: "NotSet", 1: "TcpUpstreamConnected", 2: "TcpPeriodic", + 14: "TcpConnectionStart", 3: "TcpConnectionEnd", 4: "DownstreamStart", 5: "DownstreamPeriodic", @@ -70,6 +72,7 @@ var ( "NotSet": 0, "TcpUpstreamConnected": 1, "TcpPeriodic": 2, + "TcpConnectionStart": 14, "TcpConnectionEnd": 3, "DownstreamStart": 4, "DownstreamPeriodic": 5, @@ -1923,12 +1926,13 @@ const file_envoy_data_accesslog_v3_accesslog_proto_rawDesc = "" + "\x15ResponseTrailersEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01:5\x9aň\x1e0\n" + - ".envoy.data.accesslog.v2.HTTPResponseProperties*\xcb\x02\n" + + ".envoy.data.accesslog.v2.HTTPResponseProperties*\xe3\x02\n" + "\rAccessLogType\x12\n" + "\n" + "\x06NotSet\x10\x00\x12\x18\n" + "\x14TcpUpstreamConnected\x10\x01\x12\x0f\n" + - "\vTcpPeriodic\x10\x02\x12\x14\n" + + "\vTcpPeriodic\x10\x02\x12\x16\n" + + "\x12TcpConnectionStart\x10\x0e\x12\x14\n" + "\x10TcpConnectionEnd\x10\x03\x12\x13\n" + "\x0fDownstreamStart\x10\x04\x12\x16\n" + "\x12DownstreamPeriodic\x10\x05\x12\x11\n" + diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/access_loggers/stream/v3/stream.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/access_loggers/stream/v3/stream.pb.go index b416dffc..8f794760 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/access_loggers/stream/v3/stream.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/access_loggers/stream/v3/stream.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/access_loggers/stream/v3/stream.proto package streamv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/router/v3/router.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/router/v3/router.pb.go index caa84436..ed50dadc 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/router/v3/router.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/router/v3/router.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/filters/http/router/v3/router.proto package routerv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/listener/original_dst/v3/original_dst.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/listener/original_dst/v3/original_dst.pb.go index 7b4159a0..fa5dd3f3 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/listener/original_dst/v3/original_dst.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/listener/original_dst/v3/original_dst.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/filters/listener/original_dst/v3/original_dst.proto package original_dstv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.go index b4607822..5297b756 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.go @@ -1,22 +1,22 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto package http_connection_managerv3 import ( _ "github.com/cncf/xds/go/udpa/annotations" - v32 "github.com/cncf/xds/go/xds/type/matcher/v3" + v33 "github.com/cncf/xds/go/xds/type/matcher/v3" _ "github.com/envoyproxy/go-control-plane/envoy/annotations" - v31 "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" + v32 "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" - v33 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" + v34 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" v36 "github.com/envoyproxy/go-control-plane/envoy/config/trace/v3" v37 "github.com/envoyproxy/go-control-plane/envoy/type/http/v3" v35 "github.com/envoyproxy/go-control-plane/envoy/type/tracing/v3" - v34 "github.com/envoyproxy/go-control-plane/envoy/type/v3" + v31 "github.com/envoyproxy/go-control-plane/envoy/type/v3" _ "github.com/envoyproxy/protoc-gen-validate/validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -299,6 +299,57 @@ func (HttpConnectionManager_PathWithEscapedSlashesAction) EnumDescriptor() ([]by return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 3} } +// The format to use when writing the +// :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) header value. +type HttpConnectionManager_ForwardClientCertFormat int32 + +const ( + // Use the :ref:`text format `. + // This is the default. + HttpConnectionManager_TEXT HttpConnectionManager_ForwardClientCertFormat = 0 + // Use the :ref:`JSON format `. + HttpConnectionManager_JSON HttpConnectionManager_ForwardClientCertFormat = 1 +) + +// Enum value maps for HttpConnectionManager_ForwardClientCertFormat. +var ( + HttpConnectionManager_ForwardClientCertFormat_name = map[int32]string{ + 0: "TEXT", + 1: "JSON", + } + HttpConnectionManager_ForwardClientCertFormat_value = map[string]int32{ + "TEXT": 0, + "JSON": 1, + } +) + +func (x HttpConnectionManager_ForwardClientCertFormat) Enum() *HttpConnectionManager_ForwardClientCertFormat { + p := new(HttpConnectionManager_ForwardClientCertFormat) + *p = x + return p +} + +func (x HttpConnectionManager_ForwardClientCertFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (HttpConnectionManager_ForwardClientCertFormat) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[4].Descriptor() +} + +func (HttpConnectionManager_ForwardClientCertFormat) Type() protoreflect.EnumType { + return &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[4] +} + +func (x HttpConnectionManager_ForwardClientCertFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use HttpConnectionManager_ForwardClientCertFormat.Descriptor instead. +func (HttpConnectionManager_ForwardClientCertFormat) EnumDescriptor() ([]byte, []int) { + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 4} +} + // This OperationName makes no sense and is unnecessary in the current tracing API. // [#not-implemented-hide:] type HttpConnectionManager_Tracing_OperationName int32 @@ -333,11 +384,11 @@ func (x HttpConnectionManager_Tracing_OperationName) String() string { } func (HttpConnectionManager_Tracing_OperationName) Descriptor() protoreflect.EnumDescriptor { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[4].Descriptor() + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[5].Descriptor() } func (HttpConnectionManager_Tracing_OperationName) Type() protoreflect.EnumType { - return &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[4] + return &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes[5] } func (x HttpConnectionManager_Tracing_OperationName) Number() protoreflect.EnumNumber { @@ -349,7 +400,7 @@ func (HttpConnectionManager_Tracing_OperationName) EnumDescriptor() ([]byte, []i return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 0, 0} } -// [#next-free-field: 61] +// [#next-free-field: 63] type HttpConnectionManager struct { state protoimpl.MessageState `protogen:"open.v1"` // Supplies the type of codec that the connection manager should use. @@ -423,11 +474,13 @@ type HttpConnectionManager struct { // // Currently some protocol codecs impose limits on the maximum size of a single header. // - // * HTTP/2 (when using nghttp2) limits a single header to around 100kb. - // * HTTP/3 limits a single header to around 1024kb. + // * HTTP/2 (when using nghttp2) limits a single header to around 100 KB by default. This can be + // adjusted via :ref:`max_header_field_size_kb + // `. + // * HTTP/3 limits a single header to around 1024 KB. MaxRequestHeadersKb *wrapperspb.UInt32Value `protobuf:"bytes,29,opt,name=max_request_headers_kb,json=maxRequestHeadersKb,proto3" json:"max_request_headers_kb,omitempty"` // The stream idle timeout for connections managed by the connection manager. - // If not specified, this defaults to 5 minutes. The default value was selected + // If not specified, this defaults to “5 minutes“. The default value was selected // so as not to interfere with any smaller configured timeouts that may have // existed in configurations prior to the introduction of this feature, while // introducing robustness to TCP connections that terminate without a FIN. @@ -436,28 +489,29 @@ type HttpConnectionManager struct { // :ref:`route-level idle_timeout // `. Even on a stream in // which the override applies, prior to receipt of the initial request - // headers, the :ref:`stream_idle_timeout - // ` - // applies. Each time an encode/decode event for headers or data is processed - // for the stream, the timer will be reset. If the timeout fires, the stream - // is terminated with a 408 Request Timeout error code if no upstream response - // header has been received, otherwise a stream reset occurs. - // - // If the :ref:`overload action ` "envoy.overload_actions.reduce_timeouts" - // is configured, this timeout is scaled according to the value for + // headers, the “stream_idle_timeout“ applies. Each time an encode/decode event + // for headers or data is processed for the stream, the timer will be reset. If the + // timeout fires, the stream is terminated with a “408 Request Timeout“ error code + // if no upstream response header has been received, otherwise a stream reset occurs. + // + // If the :ref:`overload action ` + // “envoy.overload_actions.reduce_timeouts“ is configured, this timeout is scaled + // according to the value for // :ref:`HTTP_DOWNSTREAM_STREAM_IDLE `. // - // Note that it is possible to idle timeout even if the wire traffic for a stream is non-idle, due - // to the granularity of events presented to the connection manager. For example, while receiving - // very large request headers, it may be the case that there is traffic regularly arriving on the - // wire while the connection manage is only able to observe the end-of-headers event, hence the - // stream may still idle timeout. + // .. note:: + // + // It is possible to idle timeout even if the wire traffic for a stream is non-idle, due + // to the granularity of events presented to the connection manager. For example, while receiving + // very large request headers, it may be the case that there is traffic regularly arriving on the + // wire while the connection manager is only able to observe the end-of-headers event, hence the + // stream may still idle timeout. // - // A value of 0 will completely disable the connection manager stream idle + // A value of “0“ will completely disable the connection manager stream idle // timeout, although per-route idle timeout overrides will continue to apply. // - // This timeout is also used as the default value for :ref:`stream_flush_timeout - // `. + // This timeout is also used as the default value for + // :ref:`stream_flush_timeout `. StreamIdleTimeout *durationpb.Duration `protobuf:"bytes,24,opt,name=stream_idle_timeout,json=streamIdleTimeout,proto3" json:"stream_idle_timeout,omitempty"` // The stream flush timeout for connections managed by the connection manager. // @@ -495,6 +549,17 @@ type HttpConnectionManager struct { // is reached, or during general server draining. The default grace period is // 5000 milliseconds (5 seconds) if this option is not specified. DrainTimeout *durationpb.Duration `protobuf:"bytes,12,opt,name=drain_timeout,json=drainTimeout,proto3" json:"drain_timeout,omitempty"` + // Percentage-based jitter for “drain_timeout“. If set, the actual drain grace period + // is extended by a random duration up to “drain_timeout * jitter / 100“ per connection. + // This staggers the final GOAWAY (and connection close) across time so that connections + // entering the drain state simultaneously do not all complete draining at the same instant, + // mitigating thundering-herd reconnects. If not set, no jitter is added. + // + // This is analogous to + // :ref:`max_connection_duration_jitter + // `, + // but applied to the drain grace timer rather than the connection duration timer. + DrainTimeoutJitter *v31.Percent `protobuf:"bytes,62,opt,name=drain_timeout_jitter,json=drainTimeoutJitter,proto3" json:"drain_timeout_jitter,omitempty"` // The delayed close timeout is for downstream connections managed by the HTTP connection manager. // It is defined as a grace period after connection close processing has been locally initiated // during which Envoy will wait for the peer to close (i.e., a TCP FIN/RST is received by Envoy @@ -532,7 +597,7 @@ type HttpConnectionManager struct { DelayedCloseTimeout *durationpb.Duration `protobuf:"bytes,26,opt,name=delayed_close_timeout,json=delayedCloseTimeout,proto3" json:"delayed_close_timeout,omitempty"` // Configuration for :ref:`HTTP access logs ` // emitted by the connection manager. - AccessLog []*v31.AccessLog `protobuf:"bytes,13,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` + AccessLog []*v32.AccessLog `protobuf:"bytes,13,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` // The interval to flush the above access logs. // // .. attention:: @@ -718,7 +783,7 @@ type HttpConnectionManager struct { // forward_client_cert_details: SANITIZE_SET // set_current_client_cert_details: // uri: true - ForwardClientCertMatcher *v32.Matcher `protobuf:"bytes,60,opt,name=forward_client_cert_matcher,json=forwardClientCertMatcher,proto3" json:"forward_client_cert_matcher,omitempty"` + ForwardClientCertMatcher *v33.Matcher `protobuf:"bytes,60,opt,name=forward_client_cert_matcher,json=forwardClientCertMatcher,proto3" json:"forward_client_cert_matcher,omitempty"` // If proxy_100_continue is true, Envoy will proxy incoming "Expect: // 100-continue" headers upstream, and forward "100 Continue" responses // downstream. If this is false or not set, Envoy will instead strip the @@ -881,8 +946,32 @@ type HttpConnectionManager struct { // This should be set to “false“ in cases where Envoy's view of the downstream address may not correspond to the // actual client address, for example, if there's another proxy in front of the Envoy. AddProxyProtocolConnectionState *wrapperspb.BoolValue `protobuf:"bytes,53,opt,name=add_proxy_protocol_connection_state,json=addProxyProtocolConnectionState,proto3" json:"add_proxy_protocol_connection_state,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Configuration for controlling how the “x-forwarded-proto“ header is set. + // This allows customization of protocol inference, including support for inferring the original + // protocol (HTTP or HTTPS) from the PROXY protocol destination port. + // + // This is useful when a Layer 4 load balancer (such as AWS NLB) terminates TLS and uses + // PROXY protocol to communicate with Envoy. + // + // When configured and the local address was restored from PROXY protocol (indicating the + // original destination address is available), the “x-forwarded-proto“ header will be set + // based on whether the destination port is in “https_destination_ports“ or + // “http_destination_ports“. + // + // Example configuration: + // + // .. code-block:: yaml + // + // http_connection_manager: + // forward_proto_config: + // https_destination_ports: [443, 8443] + // http_destination_ports: [80, 8080] + // + // If not configured, defaults to disabled and the standard behavior applies (using connection + // TLS status or trusted downstream headers). + ForwardProtoConfig *ForwardProtoConfig `protobuf:"bytes,61,opt,name=forward_proto_config,json=forwardProtoConfig,proto3" json:"forward_proto_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpConnectionManager) Reset() { @@ -945,7 +1034,7 @@ func (x *HttpConnectionManager) GetRds() *Rds { return nil } -func (x *HttpConnectionManager) GetRouteConfig() *v33.RouteConfiguration { +func (x *HttpConnectionManager) GetRouteConfig() *v34.RouteConfiguration { if x != nil { if x, ok := x.RouteSpecifier.(*HttpConnectionManager_RouteConfig); ok { return x.RouteConfig @@ -1082,6 +1171,13 @@ func (x *HttpConnectionManager) GetDrainTimeout() *durationpb.Duration { return nil } +func (x *HttpConnectionManager) GetDrainTimeoutJitter() *v31.Percent { + if x != nil { + return x.DrainTimeoutJitter + } + return nil +} + func (x *HttpConnectionManager) GetDelayedCloseTimeout() *durationpb.Duration { if x != nil { return x.DelayedCloseTimeout @@ -1089,7 +1185,7 @@ func (x *HttpConnectionManager) GetDelayedCloseTimeout() *durationpb.Duration { return nil } -func (x *HttpConnectionManager) GetAccessLog() []*v31.AccessLog { +func (x *HttpConnectionManager) GetAccessLog() []*v32.AccessLog { if x != nil { return x.AccessLog } @@ -1203,7 +1299,7 @@ func (x *HttpConnectionManager) GetSetCurrentClientCertDetails() *HttpConnection return nil } -func (x *HttpConnectionManager) GetForwardClientCertMatcher() *v32.Matcher { +func (x *HttpConnectionManager) GetForwardClientCertMatcher() *v33.Matcher { if x != nil { return x.ForwardClientCertMatcher } @@ -1345,6 +1441,13 @@ func (x *HttpConnectionManager) GetAddProxyProtocolConnectionState() *wrapperspb return nil } +func (x *HttpConnectionManager) GetForwardProtoConfig() *ForwardProtoConfig { + if x != nil { + return x.ForwardProtoConfig + } + return nil +} + type isHttpConnectionManager_RouteSpecifier interface { isHttpConnectionManager_RouteSpecifier() } @@ -1356,7 +1459,7 @@ type HttpConnectionManager_Rds struct { type HttpConnectionManager_RouteConfig struct { // The route table for the connection manager is static and is specified in this property. - RouteConfig *v33.RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3,oneof"` + RouteConfig *v34.RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3,oneof"` } type HttpConnectionManager_ScopedRoutes struct { @@ -1390,6 +1493,70 @@ type HttpConnectionManager_StripAnyHostPort struct { func (*HttpConnectionManager_StripAnyHostPort) isHttpConnectionManager_StripPortMode() {} +// Configuration options for setting the “x-forwarded-proto“ header. +// This message provides flexibility for future enhancements to protocol inference. +type ForwardProtoConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + // List of destination ports that should be treated as HTTPS. + // When the PROXY protocol destination port matches one of these ports, + // “x-forwarded-proto“ will be set to “https“. + // + // Common values: 443, 8443 + HttpsDestinationPorts []uint32 `protobuf:"varint,1,rep,packed,name=https_destination_ports,json=httpsDestinationPorts,proto3" json:"https_destination_ports,omitempty"` + // List of destination ports that should be treated as HTTP. + // When the PROXY protocol destination port matches one of these ports, + // “x-forwarded-proto“ will be set to “http“. + // + // Common values: 80, 8080 + HttpDestinationPorts []uint32 `protobuf:"varint,2,rep,packed,name=http_destination_ports,json=httpDestinationPorts,proto3" json:"http_destination_ports,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ForwardProtoConfig) Reset() { + *x = ForwardProtoConfig{} + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ForwardProtoConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForwardProtoConfig) ProtoMessage() {} + +func (x *ForwardProtoConfig) ProtoReflect() protoreflect.Message { + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ForwardProtoConfig.ProtoReflect.Descriptor instead. +func (*ForwardProtoConfig) Descriptor() ([]byte, []int) { + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{1} +} + +func (x *ForwardProtoConfig) GetHttpsDestinationPorts() []uint32 { + if x != nil { + return x.HttpsDestinationPorts + } + return nil +} + +func (x *ForwardProtoConfig) GetHttpDestinationPorts() []uint32 { + if x != nil { + return x.HttpDestinationPorts + } + return nil +} + // The configuration to customize local reply returned by Envoy. type LocalReplyConfig struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1442,7 +1609,7 @@ type LocalReplyConfig struct { func (x *LocalReplyConfig) Reset() { *x = LocalReplyConfig{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[1] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1454,7 +1621,7 @@ func (x *LocalReplyConfig) String() string { func (*LocalReplyConfig) ProtoMessage() {} func (x *LocalReplyConfig) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[1] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1467,7 +1634,7 @@ func (x *LocalReplyConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use LocalReplyConfig.ProtoReflect.Descriptor instead. func (*LocalReplyConfig) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{1} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{2} } func (x *LocalReplyConfig) GetMappers() []*ResponseMapper { @@ -1489,7 +1656,7 @@ func (x *LocalReplyConfig) GetBodyFormat() *v3.SubstitutionFormatString { type ResponseMapper struct { state protoimpl.MessageState `protogen:"open.v1"` // Filter to determine if this mapper should apply. - Filter *v31.AccessLogFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + Filter *v32.AccessLogFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` // The new response status code if specified. StatusCode *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"` // The new local reply body text if specified. It will be used in the “%LOCAL_REPLY_BODY%“ @@ -1507,7 +1674,7 @@ type ResponseMapper struct { func (x *ResponseMapper) Reset() { *x = ResponseMapper{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[2] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1519,7 +1686,7 @@ func (x *ResponseMapper) String() string { func (*ResponseMapper) ProtoMessage() {} func (x *ResponseMapper) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[2] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1532,10 +1699,10 @@ func (x *ResponseMapper) ProtoReflect() protoreflect.Message { // Deprecated: Use ResponseMapper.ProtoReflect.Descriptor instead. func (*ResponseMapper) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{2} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{3} } -func (x *ResponseMapper) GetFilter() *v31.AccessLogFilter { +func (x *ResponseMapper) GetFilter() *v32.AccessLogFilter { if x != nil { return x.Filter } @@ -1585,7 +1752,7 @@ type Rds struct { func (x *Rds) Reset() { *x = Rds{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[3] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1597,7 +1764,7 @@ func (x *Rds) String() string { func (*Rds) ProtoMessage() {} func (x *Rds) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[3] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1610,7 +1777,7 @@ func (x *Rds) ProtoReflect() protoreflect.Message { // Deprecated: Use Rds.ProtoReflect.Descriptor instead. func (*Rds) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{3} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{4} } func (x *Rds) GetConfigSource() *v3.ConfigSource { @@ -1630,14 +1797,14 @@ func (x *Rds) GetRouteConfigName() string { // This message is used to work around the limitations with 'oneof' and repeated fields. type ScopedRouteConfigurationsList struct { state protoimpl.MessageState `protogen:"open.v1"` - ScopedRouteConfigurations []*v33.ScopedRouteConfiguration `protobuf:"bytes,1,rep,name=scoped_route_configurations,json=scopedRouteConfigurations,proto3" json:"scoped_route_configurations,omitempty"` + ScopedRouteConfigurations []*v34.ScopedRouteConfiguration `protobuf:"bytes,1,rep,name=scoped_route_configurations,json=scopedRouteConfigurations,proto3" json:"scoped_route_configurations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ScopedRouteConfigurationsList) Reset() { *x = ScopedRouteConfigurationsList{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[4] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1649,7 +1816,7 @@ func (x *ScopedRouteConfigurationsList) String() string { func (*ScopedRouteConfigurationsList) ProtoMessage() {} func (x *ScopedRouteConfigurationsList) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[4] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1662,10 +1829,10 @@ func (x *ScopedRouteConfigurationsList) ProtoReflect() protoreflect.Message { // Deprecated: Use ScopedRouteConfigurationsList.ProtoReflect.Descriptor instead. func (*ScopedRouteConfigurationsList) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{4} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{5} } -func (x *ScopedRouteConfigurationsList) GetScopedRouteConfigurations() []*v33.ScopedRouteConfiguration { +func (x *ScopedRouteConfigurationsList) GetScopedRouteConfigurations() []*v34.ScopedRouteConfiguration { if x != nil { return x.ScopedRouteConfigurations } @@ -1694,7 +1861,7 @@ type ScopedRoutes struct { func (x *ScopedRoutes) Reset() { *x = ScopedRoutes{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[5] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1706,7 +1873,7 @@ func (x *ScopedRoutes) String() string { func (*ScopedRoutes) ProtoMessage() {} func (x *ScopedRoutes) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[5] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1719,7 +1886,7 @@ func (x *ScopedRoutes) ProtoReflect() protoreflect.Message { // Deprecated: Use ScopedRoutes.ProtoReflect.Descriptor instead. func (*ScopedRoutes) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{5} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{6} } func (x *ScopedRoutes) GetName() string { @@ -1807,7 +1974,7 @@ type ScopedRds struct { func (x *ScopedRds) Reset() { *x = ScopedRds{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[6] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1819,7 +1986,7 @@ func (x *ScopedRds) String() string { func (*ScopedRds) ProtoMessage() {} func (x *ScopedRds) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[6] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1832,7 +1999,7 @@ func (x *ScopedRds) ProtoReflect() protoreflect.Message { // Deprecated: Use ScopedRds.ProtoReflect.Descriptor instead. func (*ScopedRds) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{6} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{7} } func (x *ScopedRds) GetScopedRdsConfigSource() *v3.ConfigSource { @@ -1876,7 +2043,7 @@ type HttpFilter struct { func (x *HttpFilter) Reset() { *x = HttpFilter{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[7] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1888,7 +2055,7 @@ func (x *HttpFilter) String() string { func (*HttpFilter) ProtoMessage() {} func (x *HttpFilter) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[7] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1901,7 +2068,7 @@ func (x *HttpFilter) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpFilter.ProtoReflect.Descriptor instead. func (*HttpFilter) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{7} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{8} } func (x *HttpFilter) GetName() string { @@ -1991,7 +2158,7 @@ type RequestIDExtension struct { func (x *RequestIDExtension) Reset() { *x = RequestIDExtension{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[8] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2003,7 +2170,7 @@ func (x *RequestIDExtension) String() string { func (*RequestIDExtension) ProtoMessage() {} func (x *RequestIDExtension) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[8] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2016,7 +2183,7 @@ func (x *RequestIDExtension) ProtoReflect() protoreflect.Message { // Deprecated: Use RequestIDExtension.ProtoReflect.Descriptor instead. func (*RequestIDExtension) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{8} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{9} } func (x *RequestIDExtension) GetTypedConfig() *anypb.Any { @@ -2040,7 +2207,7 @@ type EnvoyMobileHttpConnectionManager struct { func (x *EnvoyMobileHttpConnectionManager) Reset() { *x = EnvoyMobileHttpConnectionManager{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[9] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2052,7 +2219,7 @@ func (x *EnvoyMobileHttpConnectionManager) String() string { func (*EnvoyMobileHttpConnectionManager) ProtoMessage() {} func (x *EnvoyMobileHttpConnectionManager) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[9] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2065,7 +2232,7 @@ func (x *EnvoyMobileHttpConnectionManager) ProtoReflect() protoreflect.Message { // Deprecated: Use EnvoyMobileHttpConnectionManager.ProtoReflect.Descriptor instead. func (*EnvoyMobileHttpConnectionManager) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{9} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{10} } func (x *EnvoyMobileHttpConnectionManager) GetConfig() *HttpConnectionManager { @@ -2075,7 +2242,7 @@ func (x *EnvoyMobileHttpConnectionManager) GetConfig() *HttpConnectionManager { return nil } -// [#next-free-field: 13] +// [#next-free-field: 14] type HttpConnectionManager_Tracing struct { state protoimpl.MessageState `protogen:"open.v1"` // Target percentage of requests managed by this HTTP connection manager that will be force @@ -2084,13 +2251,13 @@ type HttpConnectionManager_Tracing struct { // 'tracing.client_enabled' in the :ref:`HTTP Connection Manager // `. // Default: 100% - ClientSampling *v34.Percent `protobuf:"bytes,3,opt,name=client_sampling,json=clientSampling,proto3" json:"client_sampling,omitempty"` + ClientSampling *v31.Percent `protobuf:"bytes,3,opt,name=client_sampling,json=clientSampling,proto3" json:"client_sampling,omitempty"` // Target percentage of requests managed by this HTTP connection manager that will be randomly // selected for trace generation, if not requested by the client or not forced. This field is // a direct analog for the runtime variable 'tracing.random_sampling' in the // :ref:`HTTP Connection Manager `. // Default: 100% - RandomSampling *v34.Percent `protobuf:"bytes,4,opt,name=random_sampling,json=randomSampling,proto3" json:"random_sampling,omitempty"` + RandomSampling *v31.Percent `protobuf:"bytes,4,opt,name=random_sampling,json=randomSampling,proto3" json:"random_sampling,omitempty"` // Target percentage of requests managed by this HTTP connection manager that will be traced // after all other sampling checks have been applied (client-directed, force tracing, random // sampling). This field functions as an upper limit on the total configured sampling rate. For @@ -2099,7 +2266,7 @@ type HttpConnectionManager_Tracing struct { // analog for the runtime variable 'tracing.global_enabled' in the // :ref:`HTTP Connection Manager `. // Default: 100% - OverallSampling *v34.Percent `protobuf:"bytes,5,opt,name=overall_sampling,json=overallSampling,proto3" json:"overall_sampling,omitempty"` + OverallSampling *v31.Percent `protobuf:"bytes,5,opt,name=overall_sampling,json=overallSampling,proto3" json:"overall_sampling,omitempty"` // Whether to annotate spans with additional data. If true, spans will include logs for stream // events. Verbose bool `protobuf:"varint,6,opt,name=verbose,proto3" json:"verbose,omitempty"` @@ -2152,13 +2319,26 @@ type HttpConnectionManager_Tracing struct { // :ref:`HTTP access logging ` applies here, however // unknown specifier values are replaced with the empty string instead of “-“. UpstreamOperation string `protobuf:"bytes,12,opt,name=upstream_operation,json=upstreamOperation,proto3" json:"upstream_operation,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // If set to true, trace context propagation is disabled, meaning that trace context headers + // (e.g. “traceparent“, “tracestate“ for OpenTelemetry/W3C, or “X-B3-*“ headers for Zipkin) + // will not be injected when proxying requests to upstreams. + // + // This is useful for scenarios where you want to report spans from a proxy (e.g., an egress + // gateway) while preventing trace context from being propagated to external services, + // effectively stopping the trace at the mesh boundary. + // + // Note that span reporting is still performed when this is set to true - only context + // propagation is disabled. + // + // Default: false (context propagation is enabled) + NoContextPropagation bool `protobuf:"varint,13,opt,name=no_context_propagation,json=noContextPropagation,proto3" json:"no_context_propagation,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HttpConnectionManager_Tracing) Reset() { *x = HttpConnectionManager_Tracing{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[10] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2170,7 +2350,7 @@ func (x *HttpConnectionManager_Tracing) String() string { func (*HttpConnectionManager_Tracing) ProtoMessage() {} func (x *HttpConnectionManager_Tracing) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[10] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2186,21 +2366,21 @@ func (*HttpConnectionManager_Tracing) Descriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{0, 0} } -func (x *HttpConnectionManager_Tracing) GetClientSampling() *v34.Percent { +func (x *HttpConnectionManager_Tracing) GetClientSampling() *v31.Percent { if x != nil { return x.ClientSampling } return nil } -func (x *HttpConnectionManager_Tracing) GetRandomSampling() *v34.Percent { +func (x *HttpConnectionManager_Tracing) GetRandomSampling() *v31.Percent { if x != nil { return x.RandomSampling } return nil } -func (x *HttpConnectionManager_Tracing) GetOverallSampling() *v34.Percent { +func (x *HttpConnectionManager_Tracing) GetOverallSampling() *v31.Percent { if x != nil { return x.OverallSampling } @@ -2256,6 +2436,13 @@ func (x *HttpConnectionManager_Tracing) GetUpstreamOperation() string { return "" } +func (x *HttpConnectionManager_Tracing) GetNoContextPropagation() bool { + if x != nil { + return x.NoContextPropagation + } + return false +} + type HttpConnectionManager_InternalAddressConfig struct { state protoimpl.MessageState `protogen:"open.v1"` // Whether unix socket addresses should be considered internal. @@ -2269,7 +2456,7 @@ type HttpConnectionManager_InternalAddressConfig struct { func (x *HttpConnectionManager_InternalAddressConfig) Reset() { *x = HttpConnectionManager_InternalAddressConfig{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[11] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2281,7 +2468,7 @@ func (x *HttpConnectionManager_InternalAddressConfig) String() string { func (*HttpConnectionManager_InternalAddressConfig) ProtoMessage() {} func (x *HttpConnectionManager_InternalAddressConfig) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[11] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2311,7 +2498,7 @@ func (x *HttpConnectionManager_InternalAddressConfig) GetCidrRanges() []*v3.Cidr return nil } -// [#next-free-field: 7] +// [#next-free-field: 8] type HttpConnectionManager_SetCurrentClientCertDetails struct { state protoimpl.MessageState `protogen:"open.v1"` // Whether to forward the subject of the client cert. Defaults to false. @@ -2330,14 +2517,20 @@ type HttpConnectionManager_SetCurrentClientCertDetails struct { Dns bool `protobuf:"varint,4,opt,name=dns,proto3" json:"dns,omitempty"` // Whether to forward the URI type Subject Alternative Name of the client cert. Defaults to // false. - Uri bool `protobuf:"varint,5,opt,name=uri,proto3" json:"uri,omitempty"` + Uri bool `protobuf:"varint,5,opt,name=uri,proto3" json:"uri,omitempty"` + // The format for the header. When the :ref:`forward_client_cert_details + // ` + // is APPEND_FORWARD and an existing XFCC header is present, the format of the existing header + // is used. The configured format is used when there is no existing header value + // (APPEND_FORWARD with no prior XFCC header, or SANITIZE_SET which always replaces the value). + Format HttpConnectionManager_ForwardClientCertFormat `protobuf:"varint,7,opt,name=format,proto3,enum=envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager_ForwardClientCertFormat" json:"format,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *HttpConnectionManager_SetCurrentClientCertDetails) Reset() { *x = HttpConnectionManager_SetCurrentClientCertDetails{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[12] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2349,7 +2542,7 @@ func (x *HttpConnectionManager_SetCurrentClientCertDetails) String() string { func (*HttpConnectionManager_SetCurrentClientCertDetails) ProtoMessage() {} func (x *HttpConnectionManager_SetCurrentClientCertDetails) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[12] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2400,12 +2593,24 @@ func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetUri() bool { return false } -// The configuration for forwarding client cert details. +func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetFormat() HttpConnectionManager_ForwardClientCertFormat { + if x != nil { + return x.Format + } + return HttpConnectionManager_TEXT +} + +// The configuration for forwarding client cert details, used as the action config in a +// :ref:`forward_client_cert_matcher +// `. type HttpConnectionManager_ForwardClientCertConfig struct { state protoimpl.MessageState `protogen:"open.v1"` // How to handle the XFCC header. ForwardClientCertDetails HttpConnectionManager_ForwardClientCertDetails `protobuf:"varint,1,opt,name=forward_client_cert_details,json=forwardClientCertDetails,proto3,enum=envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager_ForwardClientCertDetails" json:"forward_client_cert_details,omitempty"` - // How to set the current client cert details. + // The fields in the client certificate to forward. See + // :ref:`set_current_client_cert_details + // ` + // for details. SetCurrentClientCertDetails *HttpConnectionManager_SetCurrentClientCertDetails `protobuf:"bytes,2,opt,name=set_current_client_cert_details,json=setCurrentClientCertDetails,proto3" json:"set_current_client_cert_details,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -2413,7 +2618,7 @@ type HttpConnectionManager_ForwardClientCertConfig struct { func (x *HttpConnectionManager_ForwardClientCertConfig) Reset() { *x = HttpConnectionManager_ForwardClientCertConfig{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[13] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2425,7 +2630,7 @@ func (x *HttpConnectionManager_ForwardClientCertConfig) String() string { func (*HttpConnectionManager_ForwardClientCertConfig) ProtoMessage() {} func (x *HttpConnectionManager_ForwardClientCertConfig) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[13] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2488,7 +2693,7 @@ type HttpConnectionManager_UpgradeConfig struct { func (x *HttpConnectionManager_UpgradeConfig) Reset() { *x = HttpConnectionManager_UpgradeConfig{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[14] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2500,7 +2705,7 @@ func (x *HttpConnectionManager_UpgradeConfig) String() string { func (*HttpConnectionManager_UpgradeConfig) ProtoMessage() {} func (x *HttpConnectionManager_UpgradeConfig) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[14] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2575,7 +2780,7 @@ type HttpConnectionManager_PathNormalizationOptions struct { func (x *HttpConnectionManager_PathNormalizationOptions) Reset() { *x = HttpConnectionManager_PathNormalizationOptions{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[15] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2587,7 +2792,7 @@ func (x *HttpConnectionManager_PathNormalizationOptions) String() string { func (*HttpConnectionManager_PathNormalizationOptions) ProtoMessage() {} func (x *HttpConnectionManager_PathNormalizationOptions) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[15] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2664,7 +2869,7 @@ type HttpConnectionManager_ProxyStatusConfig struct { func (x *HttpConnectionManager_ProxyStatusConfig) Reset() { *x = HttpConnectionManager_ProxyStatusConfig{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[16] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2676,7 +2881,7 @@ func (x *HttpConnectionManager_ProxyStatusConfig) String() string { func (*HttpConnectionManager_ProxyStatusConfig) ProtoMessage() {} func (x *HttpConnectionManager_ProxyStatusConfig) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[16] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2792,7 +2997,7 @@ type HttpConnectionManager_HcmAccessLogOptions struct { func (x *HttpConnectionManager_HcmAccessLogOptions) Reset() { *x = HttpConnectionManager_HcmAccessLogOptions{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[17] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2804,7 +3009,7 @@ func (x *HttpConnectionManager_HcmAccessLogOptions) String() string { func (*HttpConnectionManager_HcmAccessLogOptions) ProtoMessage() {} func (x *HttpConnectionManager_HcmAccessLogOptions) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[17] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2862,7 +3067,7 @@ type ScopedRoutes_ScopeKeyBuilder struct { func (x *ScopedRoutes_ScopeKeyBuilder) Reset() { *x = ScopedRoutes_ScopeKeyBuilder{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[18] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2874,7 +3079,7 @@ func (x *ScopedRoutes_ScopeKeyBuilder) String() string { func (*ScopedRoutes_ScopeKeyBuilder) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[18] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2887,7 +3092,7 @@ func (x *ScopedRoutes_ScopeKeyBuilder) ProtoReflect() protoreflect.Message { // Deprecated: Use ScopedRoutes_ScopeKeyBuilder.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{5, 0} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{6, 0} } func (x *ScopedRoutes_ScopeKeyBuilder) GetFragments() []*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder { @@ -2910,7 +3115,7 @@ type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder struct { func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Reset() { *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[19] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2922,7 +3127,7 @@ func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) String() string { func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[19] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2935,7 +3140,7 @@ func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoReflect() protorefle // Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{5, 0, 0} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{6, 0, 0} } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetType() isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type { @@ -3007,7 +3212,7 @@ type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor struct { func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Reset() { *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[20] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3019,7 +3224,7 @@ func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Stri func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[20] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3032,7 +3237,7 @@ func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Prot // Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{5, 0, 0, 0} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{6, 0, 0, 0} } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetName() string { @@ -3113,7 +3318,7 @@ type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Reset() { *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement{} - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[21] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3125,7 +3330,7 @@ func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvEle func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ProtoMessage() {} func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ProtoReflect() protoreflect.Message { - mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[21] + mi := &file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3138,7 +3343,7 @@ func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvEle // Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement.ProtoReflect.Descriptor instead. func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Descriptor() ([]byte, []int) { - return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{5, 0, 0, 0, 0} + return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescGZIP(), []int{6, 0, 0, 0, 0} } func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) GetSeparator() string { @@ -3159,7 +3364,7 @@ var File_envoy_extensions_filters_network_http_connection_manager_v3_http_connec const file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDesc = "" + "\n" + - "Yenvoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto\x12;envoy.extensions.filters.network.http_connection_manager.v3\x1a)envoy/config/accesslog/v3/accesslog.proto\x1a\"envoy/config/core/v3/address.proto\x1a\x1fenvoy/config/core/v3/base.proto\x1a(envoy/config/core/v3/config_source.proto\x1a$envoy/config/core/v3/extension.proto\x1a#envoy/config/core/v3/protocol.proto\x1a5envoy/config/core/v3/substitution_format_string.proto\x1a!envoy/config/route/v3/route.proto\x1a(envoy/config/route/v3/scoped_route.proto\x1a'envoy/config/trace/v3/http_tracer.proto\x1a,envoy/type/http/v3/path_transformation.proto\x1a&envoy/type/tracing/v3/custom_tag.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a!xds/type/matcher/v3/matcher.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1fudpa/annotations/security.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\x95G\n" + + "Yenvoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto\x12;envoy.extensions.filters.network.http_connection_manager.v3\x1a)envoy/config/accesslog/v3/accesslog.proto\x1a\"envoy/config/core/v3/address.proto\x1a\x1fenvoy/config/core/v3/base.proto\x1a(envoy/config/core/v3/config_source.proto\x1a$envoy/config/core/v3/extension.proto\x1a#envoy/config/core/v3/protocol.proto\x1a5envoy/config/core/v3/substitution_format_string.proto\x1a!envoy/config/route/v3/route.proto\x1a(envoy/config/route/v3/scoped_route.proto\x1a'envoy/config/trace/v3/http_tracer.proto\x1a,envoy/type/http/v3/path_transformation.proto\x1a&envoy/type/tracing/v3/custom_tag.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a!xds/type/matcher/v3/matcher.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1fudpa/annotations/security.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xcdJ\n" + "\x15HttpConnectionManager\x12\x85\x01\n" + "\n" + "codec_type\x18\x01 \x01(\x0e2\\.envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.CodecTypeB\b\xfaB\x05\x82\x01\x02\x10\x01R\tcodecType\x12(\n" + @@ -3187,7 +3392,8 @@ const file_envoy_extensions_filters_network_http_connection_manager_v3_http_conn "\x14stream_flush_timeout\x18; \x01(\v2\x19.google.protobuf.DurationR\x12streamFlushTimeout\x12K\n" + "\x0frequest_timeout\x18\x1c \x01(\v2\x19.google.protobuf.DurationB\a\x8a\x93\xb7*\x02\b\x01R\x0erequestTimeout\x12b\n" + "\x17request_headers_timeout\x18) \x01(\v2\x19.google.protobuf.DurationB\x0f\xfaB\x05\xaa\x01\x022\x00\x8a\x93\xb7*\x02\b\x01R\x15requestHeadersTimeout\x12>\n" + - "\rdrain_timeout\x18\f \x01(\v2\x19.google.protobuf.DurationR\fdrainTimeout\x12M\n" + + "\rdrain_timeout\x18\f \x01(\v2\x19.google.protobuf.DurationR\fdrainTimeout\x12H\n" + + "\x14drain_timeout_jitter\x18> \x01(\v2\x16.envoy.type.v3.PercentR\x12drainTimeoutJitter\x12M\n" + "\x15delayed_close_timeout\x18\x1a \x01(\v2\x19.google.protobuf.DurationR\x13delayedCloseTimeout\x12C\n" + "\n" + "access_log\x18\r \x03(\v2$.envoy.config.accesslog.v3.AccessLogR\taccessLog\x12m\n" + @@ -3224,7 +3430,8 @@ const file_envoy_extensions_filters_network_http_connection_manager_v3_http_conn "\x1etyped_header_validation_config\x182 \x01(\v2*.envoy.config.core.v3.TypedExtensionConfigR\x1btypedHeaderValidationConfig\x125\n" + "\x17append_x_forwarded_port\x183 \x01(\bR\x14appendXForwardedPort\x122\n" + "\x15append_local_overload\x189 \x01(\bR\x13appendLocalOverload\x12h\n" + - "#add_proxy_protocol_connection_state\x185 \x01(\v2\x1a.google.protobuf.BoolValueR\x1faddProxyProtocolConnectionState\x1a\x8f\x06\n" + + "#add_proxy_protocol_connection_state\x185 \x01(\v2\x1a.google.protobuf.BoolValueR\x1faddProxyProtocolConnectionState\x12\x81\x01\n" + + "\x14forward_proto_config\x18= \x01(\v2O.envoy.extensions.filters.network.http_connection_manager.v3.ForwardProtoConfigR\x12forwardProtoConfig\x1a\xc5\x06\n" + "\aTracing\x12?\n" + "\x0fclient_sampling\x18\x03 \x01(\v2\x16.envoy.type.v3.PercentR\x0eclientSampling\x12?\n" + "\x0frandom_sampling\x18\x04 \x01(\v2\x16.envoy.type.v3.PercentR\x0erandomSampling\x12A\n" + @@ -3237,7 +3444,8 @@ const file_envoy_extensions_filters_network_http_connection_manager_v3_http_conn "\x13spawn_upstream_span\x18\n" + " \x01(\v2\x1a.google.protobuf.BoolValueR\x11spawnUpstreamSpan\x12\x1c\n" + "\toperation\x18\v \x01(\tR\toperation\x12-\n" + - "\x12upstream_operation\x18\f \x01(\tR\x11upstreamOperation\"(\n" + + "\x12upstream_operation\x18\f \x01(\tR\x11upstreamOperation\x124\n" + + "\x16no_context_propagation\x18\r \x01(\bR\x14noContextPropagation\"(\n" + "\rOperationName\x12\v\n" + "\aINGRESS\x10\x00\x12\n" + "\n" + @@ -3247,13 +3455,14 @@ const file_envoy_extensions_filters_network_http_connection_manager_v3_http_conn "\funix_sockets\x18\x01 \x01(\bR\vunixSockets\x12@\n" + "\vcidr_ranges\x18\x02 \x03(\v2\x1f.envoy.config.core.v3.CidrRangeR\n" + "cidrRanges:i\x9aň\x1ed\n" + - "benvoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.InternalAddressConfig\x1a\x98\x02\n" + + "benvoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.InternalAddressConfig\x1a\x9d\x03\n" + "\x1bSetCurrentClientCertDetails\x124\n" + "\asubject\x18\x01 \x01(\v2\x1a.google.protobuf.BoolValueR\asubject\x12\x12\n" + "\x04cert\x18\x03 \x01(\bR\x04cert\x12\x14\n" + "\x05chain\x18\x06 \x01(\bR\x05chain\x12\x10\n" + "\x03dns\x18\x04 \x01(\bR\x03dns\x12\x10\n" + - "\x03uri\x18\x05 \x01(\bR\x03uri:o\x9aň\x1ej\n" + + "\x03uri\x18\x05 \x01(\bR\x03uri\x12\x82\x01\n" + + "\x06format\x18\a \x01(\x0e2j.envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertFormatR\x06format:o\x9aň\x1ej\n" + "henvoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.SetCurrentClientCertDetailsJ\x04\b\x02\x10\x03\x1a\xfd\x02\n" + "\x17ForwardClientCertConfig\x12\xaa\x01\n" + "\x1bforward_client_cert_details\x18\x01 \x01(\x0e2k.envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetailsR\x18forwardClientCertDetails\x12\xb4\x01\n" + @@ -3299,10 +3508,16 @@ const file_envoy_extensions_filters_network_http_connection_manager_v3_http_conn "\x0eKEEP_UNCHANGED\x10\x01\x12\x12\n" + "\x0eREJECT_REQUEST\x10\x02\x12\x19\n" + "\x15UNESCAPE_AND_REDIRECT\x10\x03\x12\x18\n" + - "\x14UNESCAPE_AND_FORWARD\x10\x04:S\x9aň\x1eN\n" + + "\x14UNESCAPE_AND_FORWARD\x10\x04\"-\n" + + "\x17ForwardClientCertFormat\x12\b\n" + + "\x04TEXT\x10\x00\x12\b\n" + + "\x04JSON\x10\x01:S\x9aň\x1eN\n" + "Lenvoy.config.filter.network.http_connection_manager.v2.HttpConnectionManagerB\x16\n" + "\x0froute_specifier\x12\x03\xf8B\x01B\x11\n" + - "\x0fstrip_port_modeJ\x04\b\x1b\x10\x1cJ\x04\b\v\x10\fR\fidle_timeout\"\xca\x01\n" + + "\x0fstrip_port_modeJ\x04\b\x1b\x10\x1cJ\x04\b\v\x10\fR\fidle_timeout\"\x82\x01\n" + + "\x12ForwardProtoConfig\x126\n" + + "\x17https_destination_ports\x18\x01 \x03(\rR\x15httpsDestinationPorts\x124\n" + + "\x16http_destination_ports\x18\x02 \x03(\rR\x14httpDestinationPorts\"\xca\x01\n" + "\x10LocalReplyConfig\x12e\n" + "\amappers\x18\x01 \x03(\v2K.envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapperR\amappers\x12O\n" + "\vbody_format\x18\x02 \x01(\v2..envoy.config.core.v3.SubstitutionFormatStringR\n" + @@ -3382,146 +3597,151 @@ func file_envoy_extensions_filters_network_http_connection_manager_v3_http_conne return file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDescData } -var file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_goTypes = []any{ (HttpConnectionManager_CodecType)(0), // 0: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.CodecType (HttpConnectionManager_ServerHeaderTransformation)(0), // 1: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ServerHeaderTransformation (HttpConnectionManager_ForwardClientCertDetails)(0), // 2: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetails (HttpConnectionManager_PathWithEscapedSlashesAction)(0), // 3: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathWithEscapedSlashesAction - (HttpConnectionManager_Tracing_OperationName)(0), // 4: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.OperationName - (*HttpConnectionManager)(nil), // 5: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager - (*LocalReplyConfig)(nil), // 6: envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig - (*ResponseMapper)(nil), // 7: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper - (*Rds)(nil), // 8: envoy.extensions.filters.network.http_connection_manager.v3.Rds - (*ScopedRouteConfigurationsList)(nil), // 9: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRouteConfigurationsList - (*ScopedRoutes)(nil), // 10: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes - (*ScopedRds)(nil), // 11: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRds - (*HttpFilter)(nil), // 12: envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter - (*RequestIDExtension)(nil), // 13: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension - (*EnvoyMobileHttpConnectionManager)(nil), // 14: envoy.extensions.filters.network.http_connection_manager.v3.EnvoyMobileHttpConnectionManager - (*HttpConnectionManager_Tracing)(nil), // 15: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing - (*HttpConnectionManager_InternalAddressConfig)(nil), // 16: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig - (*HttpConnectionManager_SetCurrentClientCertDetails)(nil), // 17: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails - (*HttpConnectionManager_ForwardClientCertConfig)(nil), // 18: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertConfig - (*HttpConnectionManager_UpgradeConfig)(nil), // 19: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig - (*HttpConnectionManager_PathNormalizationOptions)(nil), // 20: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions - (*HttpConnectionManager_ProxyStatusConfig)(nil), // 21: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ProxyStatusConfig - (*HttpConnectionManager_HcmAccessLogOptions)(nil), // 22: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions - (*ScopedRoutes_ScopeKeyBuilder)(nil), // 23: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder - (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder)(nil), // 24: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder - (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor)(nil), // 25: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor - (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement)(nil), // 26: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.KvElement - (*v33.RouteConfiguration)(nil), // 27: envoy.config.route.v3.RouteConfiguration - (*wrapperspb.BoolValue)(nil), // 28: google.protobuf.BoolValue - (*v3.HttpProtocolOptions)(nil), // 29: envoy.config.core.v3.HttpProtocolOptions - (*v3.Http1ProtocolOptions)(nil), // 30: envoy.config.core.v3.Http1ProtocolOptions - (*v3.Http2ProtocolOptions)(nil), // 31: envoy.config.core.v3.Http2ProtocolOptions - (*v3.Http3ProtocolOptions)(nil), // 32: envoy.config.core.v3.Http3ProtocolOptions - (*v3.SchemeHeaderTransformation)(nil), // 33: envoy.config.core.v3.SchemeHeaderTransformation - (*wrapperspb.UInt32Value)(nil), // 34: google.protobuf.UInt32Value - (*durationpb.Duration)(nil), // 35: google.protobuf.Duration - (*v31.AccessLog)(nil), // 36: envoy.config.accesslog.v3.AccessLog - (*v3.TypedExtensionConfig)(nil), // 37: envoy.config.core.v3.TypedExtensionConfig - (*v32.Matcher)(nil), // 38: xds.type.matcher.v3.Matcher - (*v3.SubstitutionFormatString)(nil), // 39: envoy.config.core.v3.SubstitutionFormatString - (*v31.AccessLogFilter)(nil), // 40: envoy.config.accesslog.v3.AccessLogFilter - (*v3.DataSource)(nil), // 41: envoy.config.core.v3.DataSource - (*v3.HeaderValueOption)(nil), // 42: envoy.config.core.v3.HeaderValueOption - (*v3.ConfigSource)(nil), // 43: envoy.config.core.v3.ConfigSource - (*v33.ScopedRouteConfiguration)(nil), // 44: envoy.config.route.v3.ScopedRouteConfiguration - (*anypb.Any)(nil), // 45: google.protobuf.Any - (*v3.ExtensionConfigSource)(nil), // 46: envoy.config.core.v3.ExtensionConfigSource - (*v34.Percent)(nil), // 47: envoy.type.v3.Percent - (*v35.CustomTag)(nil), // 48: envoy.type.tracing.v3.CustomTag - (*v36.Tracing_Http)(nil), // 49: envoy.config.trace.v3.Tracing.Http - (*v3.CidrRange)(nil), // 50: envoy.config.core.v3.CidrRange - (*v37.PathTransformation)(nil), // 51: envoy.type.http.v3.PathTransformation + (HttpConnectionManager_ForwardClientCertFormat)(0), // 4: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertFormat + (HttpConnectionManager_Tracing_OperationName)(0), // 5: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.OperationName + (*HttpConnectionManager)(nil), // 6: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager + (*ForwardProtoConfig)(nil), // 7: envoy.extensions.filters.network.http_connection_manager.v3.ForwardProtoConfig + (*LocalReplyConfig)(nil), // 8: envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig + (*ResponseMapper)(nil), // 9: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper + (*Rds)(nil), // 10: envoy.extensions.filters.network.http_connection_manager.v3.Rds + (*ScopedRouteConfigurationsList)(nil), // 11: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRouteConfigurationsList + (*ScopedRoutes)(nil), // 12: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes + (*ScopedRds)(nil), // 13: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRds + (*HttpFilter)(nil), // 14: envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter + (*RequestIDExtension)(nil), // 15: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension + (*EnvoyMobileHttpConnectionManager)(nil), // 16: envoy.extensions.filters.network.http_connection_manager.v3.EnvoyMobileHttpConnectionManager + (*HttpConnectionManager_Tracing)(nil), // 17: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing + (*HttpConnectionManager_InternalAddressConfig)(nil), // 18: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig + (*HttpConnectionManager_SetCurrentClientCertDetails)(nil), // 19: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails + (*HttpConnectionManager_ForwardClientCertConfig)(nil), // 20: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertConfig + (*HttpConnectionManager_UpgradeConfig)(nil), // 21: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig + (*HttpConnectionManager_PathNormalizationOptions)(nil), // 22: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions + (*HttpConnectionManager_ProxyStatusConfig)(nil), // 23: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ProxyStatusConfig + (*HttpConnectionManager_HcmAccessLogOptions)(nil), // 24: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions + (*ScopedRoutes_ScopeKeyBuilder)(nil), // 25: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder + (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder)(nil), // 26: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder + (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor)(nil), // 27: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor + (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement)(nil), // 28: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.KvElement + (*v34.RouteConfiguration)(nil), // 29: envoy.config.route.v3.RouteConfiguration + (*wrapperspb.BoolValue)(nil), // 30: google.protobuf.BoolValue + (*v3.HttpProtocolOptions)(nil), // 31: envoy.config.core.v3.HttpProtocolOptions + (*v3.Http1ProtocolOptions)(nil), // 32: envoy.config.core.v3.Http1ProtocolOptions + (*v3.Http2ProtocolOptions)(nil), // 33: envoy.config.core.v3.Http2ProtocolOptions + (*v3.Http3ProtocolOptions)(nil), // 34: envoy.config.core.v3.Http3ProtocolOptions + (*v3.SchemeHeaderTransformation)(nil), // 35: envoy.config.core.v3.SchemeHeaderTransformation + (*wrapperspb.UInt32Value)(nil), // 36: google.protobuf.UInt32Value + (*durationpb.Duration)(nil), // 37: google.protobuf.Duration + (*v31.Percent)(nil), // 38: envoy.type.v3.Percent + (*v32.AccessLog)(nil), // 39: envoy.config.accesslog.v3.AccessLog + (*v3.TypedExtensionConfig)(nil), // 40: envoy.config.core.v3.TypedExtensionConfig + (*v33.Matcher)(nil), // 41: xds.type.matcher.v3.Matcher + (*v3.SubstitutionFormatString)(nil), // 42: envoy.config.core.v3.SubstitutionFormatString + (*v32.AccessLogFilter)(nil), // 43: envoy.config.accesslog.v3.AccessLogFilter + (*v3.DataSource)(nil), // 44: envoy.config.core.v3.DataSource + (*v3.HeaderValueOption)(nil), // 45: envoy.config.core.v3.HeaderValueOption + (*v3.ConfigSource)(nil), // 46: envoy.config.core.v3.ConfigSource + (*v34.ScopedRouteConfiguration)(nil), // 47: envoy.config.route.v3.ScopedRouteConfiguration + (*anypb.Any)(nil), // 48: google.protobuf.Any + (*v3.ExtensionConfigSource)(nil), // 49: envoy.config.core.v3.ExtensionConfigSource + (*v35.CustomTag)(nil), // 50: envoy.type.tracing.v3.CustomTag + (*v36.Tracing_Http)(nil), // 51: envoy.config.trace.v3.Tracing.Http + (*v3.CidrRange)(nil), // 52: envoy.config.core.v3.CidrRange + (*v37.PathTransformation)(nil), // 53: envoy.type.http.v3.PathTransformation } var file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_depIdxs = []int32{ 0, // 0: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.codec_type:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.CodecType - 8, // 1: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.rds:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.Rds - 27, // 2: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config:type_name -> envoy.config.route.v3.RouteConfiguration - 10, // 3: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.scoped_routes:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes - 12, // 4: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http_filters:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter - 28, // 5: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.add_user_agent:type_name -> google.protobuf.BoolValue - 15, // 6: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.tracing:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing - 29, // 7: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.common_http_protocol_options:type_name -> envoy.config.core.v3.HttpProtocolOptions - 30, // 8: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http_protocol_options:type_name -> envoy.config.core.v3.Http1ProtocolOptions - 31, // 9: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions - 32, // 10: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http3_protocol_options:type_name -> envoy.config.core.v3.Http3ProtocolOptions + 10, // 1: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.rds:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.Rds + 29, // 2: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config:type_name -> envoy.config.route.v3.RouteConfiguration + 12, // 3: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.scoped_routes:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes + 14, // 4: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http_filters:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter + 30, // 5: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.add_user_agent:type_name -> google.protobuf.BoolValue + 17, // 6: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.tracing:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing + 31, // 7: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.common_http_protocol_options:type_name -> envoy.config.core.v3.HttpProtocolOptions + 32, // 8: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http_protocol_options:type_name -> envoy.config.core.v3.Http1ProtocolOptions + 33, // 9: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http2_protocol_options:type_name -> envoy.config.core.v3.Http2ProtocolOptions + 34, // 10: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.http3_protocol_options:type_name -> envoy.config.core.v3.Http3ProtocolOptions 1, // 11: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.server_header_transformation:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ServerHeaderTransformation - 33, // 12: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.scheme_header_transformation:type_name -> envoy.config.core.v3.SchemeHeaderTransformation - 34, // 13: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.max_request_headers_kb:type_name -> google.protobuf.UInt32Value - 35, // 14: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout:type_name -> google.protobuf.Duration - 35, // 15: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_flush_timeout:type_name -> google.protobuf.Duration - 35, // 16: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.request_timeout:type_name -> google.protobuf.Duration - 35, // 17: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.request_headers_timeout:type_name -> google.protobuf.Duration - 35, // 18: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout:type_name -> google.protobuf.Duration - 35, // 19: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.delayed_close_timeout:type_name -> google.protobuf.Duration - 36, // 20: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.access_log:type_name -> envoy.config.accesslog.v3.AccessLog - 35, // 21: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.access_log_flush_interval:type_name -> google.protobuf.Duration - 22, // 22: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.access_log_options:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions - 28, // 23: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address:type_name -> google.protobuf.BoolValue - 37, // 24: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.original_ip_detection_extensions:type_name -> envoy.config.core.v3.TypedExtensionConfig - 37, // 25: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.early_header_mutation_extensions:type_name -> envoy.config.core.v3.TypedExtensionConfig - 16, // 26: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.internal_address_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig - 28, // 27: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.generate_request_id:type_name -> google.protobuf.BoolValue - 2, // 28: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.forward_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetails - 17, // 29: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.set_current_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails - 38, // 30: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.forward_client_cert_matcher:type_name -> xds.type.matcher.v3.Matcher - 19, // 31: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.upgrade_configs:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig - 28, // 32: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.normalize_path:type_name -> google.protobuf.BoolValue - 3, // 33: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.path_with_escaped_slashes_action:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathWithEscapedSlashesAction - 13, // 34: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.request_id_extension:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension - 6, // 35: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.local_reply_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig - 28, // 36: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue - 20, // 37: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.path_normalization_options:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions - 21, // 38: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.proxy_status_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ProxyStatusConfig - 37, // 39: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.typed_header_validation_config:type_name -> envoy.config.core.v3.TypedExtensionConfig - 28, // 40: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.add_proxy_protocol_connection_state:type_name -> google.protobuf.BoolValue - 7, // 41: envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig.mappers:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper - 39, // 42: envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig.body_format:type_name -> envoy.config.core.v3.SubstitutionFormatString - 40, // 43: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.filter:type_name -> envoy.config.accesslog.v3.AccessLogFilter - 34, // 44: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.status_code:type_name -> google.protobuf.UInt32Value - 41, // 45: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.body:type_name -> envoy.config.core.v3.DataSource - 39, // 46: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.body_format_override:type_name -> envoy.config.core.v3.SubstitutionFormatString - 42, // 47: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption - 43, // 48: envoy.extensions.filters.network.http_connection_manager.v3.Rds.config_source:type_name -> envoy.config.core.v3.ConfigSource - 44, // 49: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRouteConfigurationsList.scoped_route_configurations:type_name -> envoy.config.route.v3.ScopedRouteConfiguration - 23, // 50: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scope_key_builder:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder - 43, // 51: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.rds_config_source:type_name -> envoy.config.core.v3.ConfigSource - 9, // 52: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scoped_route_configurations_list:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRouteConfigurationsList - 11, // 53: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scoped_rds:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRds - 43, // 54: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRds.scoped_rds_config_source:type_name -> envoy.config.core.v3.ConfigSource - 45, // 55: envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.typed_config:type_name -> google.protobuf.Any - 46, // 56: envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.config_discovery:type_name -> envoy.config.core.v3.ExtensionConfigSource - 45, // 57: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension.typed_config:type_name -> google.protobuf.Any - 5, // 58: envoy.extensions.filters.network.http_connection_manager.v3.EnvoyMobileHttpConnectionManager.config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager - 47, // 59: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.client_sampling:type_name -> envoy.type.v3.Percent - 47, // 60: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.random_sampling:type_name -> envoy.type.v3.Percent - 47, // 61: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.overall_sampling:type_name -> envoy.type.v3.Percent - 34, // 62: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.max_path_tag_length:type_name -> google.protobuf.UInt32Value - 48, // 63: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.custom_tags:type_name -> envoy.type.tracing.v3.CustomTag - 49, // 64: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.provider:type_name -> envoy.config.trace.v3.Tracing.Http - 28, // 65: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.spawn_upstream_span:type_name -> google.protobuf.BoolValue - 50, // 66: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig.cidr_ranges:type_name -> envoy.config.core.v3.CidrRange - 28, // 67: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails.subject:type_name -> google.protobuf.BoolValue - 2, // 68: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertConfig.forward_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetails - 17, // 69: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertConfig.set_current_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails - 12, // 70: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig.filters:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter - 28, // 71: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig.enabled:type_name -> google.protobuf.BoolValue - 51, // 72: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions.forwarding_transformation:type_name -> envoy.type.http.v3.PathTransformation - 51, // 73: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions.http_filter_transformation:type_name -> envoy.type.http.v3.PathTransformation - 35, // 74: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.access_log_flush_interval:type_name -> google.protobuf.Duration - 24, // 75: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.fragments:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder - 25, // 76: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.header_value_extractor:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor - 26, // 77: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.element:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.KvElement - 78, // [78:78] is the sub-list for method output_type - 78, // [78:78] is the sub-list for method input_type - 78, // [78:78] is the sub-list for extension type_name - 78, // [78:78] is the sub-list for extension extendee - 0, // [0:78] is the sub-list for field type_name + 35, // 12: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.scheme_header_transformation:type_name -> envoy.config.core.v3.SchemeHeaderTransformation + 36, // 13: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.max_request_headers_kb:type_name -> google.protobuf.UInt32Value + 37, // 14: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout:type_name -> google.protobuf.Duration + 37, // 15: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_flush_timeout:type_name -> google.protobuf.Duration + 37, // 16: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.request_timeout:type_name -> google.protobuf.Duration + 37, // 17: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.request_headers_timeout:type_name -> google.protobuf.Duration + 37, // 18: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout:type_name -> google.protobuf.Duration + 38, // 19: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout_jitter:type_name -> envoy.type.v3.Percent + 37, // 20: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.delayed_close_timeout:type_name -> google.protobuf.Duration + 39, // 21: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.access_log:type_name -> envoy.config.accesslog.v3.AccessLog + 37, // 22: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.access_log_flush_interval:type_name -> google.protobuf.Duration + 24, // 23: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.access_log_options:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions + 30, // 24: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address:type_name -> google.protobuf.BoolValue + 40, // 25: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.original_ip_detection_extensions:type_name -> envoy.config.core.v3.TypedExtensionConfig + 40, // 26: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.early_header_mutation_extensions:type_name -> envoy.config.core.v3.TypedExtensionConfig + 18, // 27: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.internal_address_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig + 30, // 28: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.generate_request_id:type_name -> google.protobuf.BoolValue + 2, // 29: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.forward_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetails + 19, // 30: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.set_current_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails + 41, // 31: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.forward_client_cert_matcher:type_name -> xds.type.matcher.v3.Matcher + 21, // 32: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.upgrade_configs:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig + 30, // 33: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.normalize_path:type_name -> google.protobuf.BoolValue + 3, // 34: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.path_with_escaped_slashes_action:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathWithEscapedSlashesAction + 15, // 35: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.request_id_extension:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension + 8, // 36: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.local_reply_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig + 30, // 37: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue + 22, // 38: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.path_normalization_options:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions + 23, // 39: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.proxy_status_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ProxyStatusConfig + 40, // 40: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.typed_header_validation_config:type_name -> envoy.config.core.v3.TypedExtensionConfig + 30, // 41: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.add_proxy_protocol_connection_state:type_name -> google.protobuf.BoolValue + 7, // 42: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.forward_proto_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ForwardProtoConfig + 9, // 43: envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig.mappers:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper + 42, // 44: envoy.extensions.filters.network.http_connection_manager.v3.LocalReplyConfig.body_format:type_name -> envoy.config.core.v3.SubstitutionFormatString + 43, // 45: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.filter:type_name -> envoy.config.accesslog.v3.AccessLogFilter + 36, // 46: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.status_code:type_name -> google.protobuf.UInt32Value + 44, // 47: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.body:type_name -> envoy.config.core.v3.DataSource + 42, // 48: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.body_format_override:type_name -> envoy.config.core.v3.SubstitutionFormatString + 45, // 49: envoy.extensions.filters.network.http_connection_manager.v3.ResponseMapper.headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption + 46, // 50: envoy.extensions.filters.network.http_connection_manager.v3.Rds.config_source:type_name -> envoy.config.core.v3.ConfigSource + 47, // 51: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRouteConfigurationsList.scoped_route_configurations:type_name -> envoy.config.route.v3.ScopedRouteConfiguration + 25, // 52: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scope_key_builder:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder + 46, // 53: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.rds_config_source:type_name -> envoy.config.core.v3.ConfigSource + 11, // 54: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scoped_route_configurations_list:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRouteConfigurationsList + 13, // 55: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scoped_rds:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRds + 46, // 56: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRds.scoped_rds_config_source:type_name -> envoy.config.core.v3.ConfigSource + 48, // 57: envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.typed_config:type_name -> google.protobuf.Any + 49, // 58: envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.config_discovery:type_name -> envoy.config.core.v3.ExtensionConfigSource + 48, // 59: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension.typed_config:type_name -> google.protobuf.Any + 6, // 60: envoy.extensions.filters.network.http_connection_manager.v3.EnvoyMobileHttpConnectionManager.config:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager + 38, // 61: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.client_sampling:type_name -> envoy.type.v3.Percent + 38, // 62: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.random_sampling:type_name -> envoy.type.v3.Percent + 38, // 63: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.overall_sampling:type_name -> envoy.type.v3.Percent + 36, // 64: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.max_path_tag_length:type_name -> google.protobuf.UInt32Value + 50, // 65: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.custom_tags:type_name -> envoy.type.tracing.v3.CustomTag + 51, // 66: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.provider:type_name -> envoy.config.trace.v3.Tracing.Http + 30, // 67: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.spawn_upstream_span:type_name -> google.protobuf.BoolValue + 52, // 68: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig.cidr_ranges:type_name -> envoy.config.core.v3.CidrRange + 30, // 69: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails.subject:type_name -> google.protobuf.BoolValue + 4, // 70: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails.format:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertFormat + 2, // 71: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertConfig.forward_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetails + 19, // 72: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertConfig.set_current_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.SetCurrentClientCertDetails + 14, // 73: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig.filters:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter + 30, // 74: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.UpgradeConfig.enabled:type_name -> google.protobuf.BoolValue + 53, // 75: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions.forwarding_transformation:type_name -> envoy.type.http.v3.PathTransformation + 53, // 76: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.PathNormalizationOptions.http_filter_transformation:type_name -> envoy.type.http.v3.PathTransformation + 37, // 77: envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.access_log_flush_interval:type_name -> google.protobuf.Duration + 26, // 78: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.fragments:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder + 27, // 79: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.header_value_extractor:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor + 28, // 80: envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.element:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.KvElement + 81, // [81:81] is the sub-list for method output_type + 81, // [81:81] is the sub-list for method input_type + 81, // [81:81] is the sub-list for extension type_name + 81, // [81:81] is the sub-list for extension extendee + 0, // [0:81] is the sub-list for field type_name } func init() { @@ -3537,22 +3757,22 @@ func file_envoy_extensions_filters_network_http_connection_manager_v3_http_conne (*HttpConnectionManager_ScopedRoutes)(nil), (*HttpConnectionManager_StripAnyHostPort)(nil), } - file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[5].OneofWrappers = []any{ + file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[6].OneofWrappers = []any{ (*ScopedRoutes_ScopedRouteConfigurationsList)(nil), (*ScopedRoutes_ScopedRds)(nil), } - file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[7].OneofWrappers = []any{ + file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[8].OneofWrappers = []any{ (*HttpFilter_TypedConfig)(nil), (*HttpFilter_ConfigDiscovery)(nil), } - file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[16].OneofWrappers = []any{ + file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[17].OneofWrappers = []any{ (*HttpConnectionManager_ProxyStatusConfig_UseNodeId)(nil), (*HttpConnectionManager_ProxyStatusConfig_LiteralProxyName)(nil), } - file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[19].OneofWrappers = []any{ + file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[20].OneofWrappers = []any{ (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_)(nil), } - file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[20].OneofWrappers = []any{ + file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_msgTypes[21].OneofWrappers = []any{ (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index)(nil), (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element)(nil), } @@ -3561,8 +3781,8 @@ func file_envoy_extensions_filters_network_http_connection_manager_v3_http_conne File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDesc), len(file_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto_rawDesc)), - NumEnums: 5, - NumMessages: 22, + NumEnums: 6, + NumMessages: 23, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.validate.go index 5e667b75..0eaa4995 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.pb.validate.go @@ -502,6 +502,35 @@ func (m *HttpConnectionManager) validate(all bool) error { } } + if all { + switch v := interface{}(m.GetDrainTimeoutJitter()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, HttpConnectionManagerValidationError{ + field: "DrainTimeoutJitter", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, HttpConnectionManagerValidationError{ + field: "DrainTimeoutJitter", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetDrainTimeoutJitter()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return HttpConnectionManagerValidationError{ + field: "DrainTimeoutJitter", + reason: "embedded message failed validation", + cause: err, + } + } + } + if all { switch v := interface{}(m.GetDelayedCloseTimeout()).(type) { case interface{ ValidateAll() error }: @@ -1151,6 +1180,35 @@ func (m *HttpConnectionManager) validate(all bool) error { } } + if all { + switch v := interface{}(m.GetForwardProtoConfig()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, HttpConnectionManagerValidationError{ + field: "ForwardProtoConfig", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, HttpConnectionManagerValidationError{ + field: "ForwardProtoConfig", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetForwardProtoConfig()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return HttpConnectionManagerValidationError{ + field: "ForwardProtoConfig", + reason: "embedded message failed validation", + cause: err, + } + } + } + oneofRouteSpecifierPresent := false switch v := m.RouteSpecifier.(type) { case *HttpConnectionManager_Rds: @@ -1393,6 +1451,108 @@ var _HttpConnectionManager_ServerName_Pattern = regexp.MustCompile("^[^\x00\n\r] var _HttpConnectionManager_Via_Pattern = regexp.MustCompile("^[^\x00\n\r]*$") +// Validate checks the field values on ForwardProtoConfig with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ForwardProtoConfig) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ForwardProtoConfig with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ForwardProtoConfigMultiError, or nil if none found. +func (m *ForwardProtoConfig) ValidateAll() error { + return m.validate(true) +} + +func (m *ForwardProtoConfig) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return ForwardProtoConfigMultiError(errors) + } + + return nil +} + +// ForwardProtoConfigMultiError is an error wrapping multiple validation errors +// returned by ForwardProtoConfig.ValidateAll() if the designated constraints +// aren't met. +type ForwardProtoConfigMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ForwardProtoConfigMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ForwardProtoConfigMultiError) AllErrors() []error { return m } + +// ForwardProtoConfigValidationError is the validation error returned by +// ForwardProtoConfig.Validate if the designated constraints aren't met. +type ForwardProtoConfigValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ForwardProtoConfigValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ForwardProtoConfigValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ForwardProtoConfigValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ForwardProtoConfigValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ForwardProtoConfigValidationError) ErrorName() string { + return "ForwardProtoConfigValidationError" +} + +// Error satisfies the builtin error interface +func (e ForwardProtoConfigValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sForwardProtoConfig.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ForwardProtoConfigValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ForwardProtoConfigValidationError{} + // Validate checks the field values on LocalReplyConfig with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. @@ -3213,6 +3373,8 @@ func (m *HttpConnectionManager_Tracing) validate(all bool) error { // no validation rules for UpstreamOperation + // no validation rules for NoContextPropagation + if len(errors) > 0 { return HttpConnectionManager_TracingMultiError(errors) } @@ -3497,6 +3659,8 @@ func (m *HttpConnectionManager_SetCurrentClientCertDetails) validate(all bool) e // no validation rules for Uri + // no validation rules for Format + if len(errors) > 0 { return HttpConnectionManager_SetCurrentClientCertDetailsMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager_vtproto.pb.go index 758f1b61..18fb3aad 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager_vtproto.pb.go @@ -52,6 +52,16 @@ func (m *HttpConnectionManager_Tracing) MarshalToSizedBufferVTStrict(dAtA []byte i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.NoContextPropagation { + i-- + if m.NoContextPropagation { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x68 + } if len(m.UpstreamOperation) > 0 { i -= len(m.UpstreamOperation) copy(dAtA[i:], m.UpstreamOperation) @@ -308,6 +318,11 @@ func (m *HttpConnectionManager_SetCurrentClientCertDetails) MarshalToSizedBuffer i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Format != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Format)) + i-- + dAtA[i] = 0x38 + } if m.Chain { i-- if m.Chain { @@ -759,6 +774,42 @@ func (m *HttpConnectionManager) MarshalToSizedBufferVTStrict(dAtA []byte) (int, i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.DrainTimeoutJitter != nil { + if vtmsg, ok := interface{}(m.DrainTimeoutJitter).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.DrainTimeoutJitter) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xf2 + } + if m.ForwardProtoConfig != nil { + size, err := m.ForwardProtoConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xea + } if m.ForwardClientCertMatcher != nil { if vtmsg, ok := interface{}(m.ForwardClientCertMatcher).(interface { MarshalToSizedBufferVTStrict([]byte) (int, error) @@ -1614,6 +1665,79 @@ func (m *HttpConnectionManager_StripAnyHostPort) MarshalToSizedBufferVTStrict(dA dAtA[i] = 0xd0 return len(dAtA) - i, nil } +func (m *ForwardProtoConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ForwardProtoConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ForwardProtoConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.HttpDestinationPorts) > 0 { + var pksize2 int + for _, num := range m.HttpDestinationPorts { + pksize2 += protohelpers.SizeOfVarint(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range m.HttpDestinationPorts { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x12 + } + if len(m.HttpsDestinationPorts) > 0 { + var pksize4 int + for _, num := range m.HttpsDestinationPorts { + pksize4 += protohelpers.SizeOfVarint(uint64(num)) + } + i -= pksize4 + j3 := i + for _, num := range m.HttpsDestinationPorts { + for num >= 1<<7 { + dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j3++ + } + dAtA[j3] = uint8(num) + j3++ + } + i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize4)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *LocalReplyConfig) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -2673,6 +2797,9 @@ func (m *HttpConnectionManager_Tracing) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.NoContextPropagation { + n += 2 + } n += len(m.unknownFields) return n } @@ -2724,6 +2851,9 @@ func (m *HttpConnectionManager_SetCurrentClientCertDetails) SizeVT() (n int) { if m.Chain { n += 2 } + if m.Format != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Format)) + } n += len(m.unknownFields) return n } @@ -3144,6 +3274,20 @@ func (m *HttpConnectionManager) SizeVT() (n int) { } n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.ForwardProtoConfig != nil { + l = m.ForwardProtoConfig.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.DrainTimeoutJitter != nil { + if size, ok := interface{}(m.DrainTimeoutJitter).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.DrainTimeoutJitter) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -3205,6 +3349,30 @@ func (m *HttpConnectionManager_StripAnyHostPort) SizeVT() (n int) { n += 3 return n } +func (m *ForwardProtoConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.HttpsDestinationPorts) > 0 { + l = 0 + for _, e := range m.HttpsDestinationPorts { + l += protohelpers.SizeOfVarint(uint64(e)) + } + n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l + } + if len(m.HttpDestinationPorts) > 0 { + l = 0 + for _, e := range m.HttpDestinationPorts { + l += protohelpers.SizeOfVarint(uint64(e)) + } + n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l + } + n += len(m.unknownFields) + return n +} + func (m *LocalReplyConfig) SizeVT() (n int) { if m == nil { return 0 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.pb.go index cf460cb5..732799fa 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto package tcp_proxyv3 @@ -53,6 +53,8 @@ const ( // and negotiated parameters, which can be used for routing decisions or passed as metadata // to the upstream. // + // This mode requires “max_early_data_bytes“ to be set (can be zero to disable buffering). + // // .. note:: // // This mode is only effective when the downstream connection uses TLS. For non-TLS @@ -101,7 +103,69 @@ func (UpstreamConnectMode) EnumDescriptor() ([]byte, []int) { return file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescGZIP(), []int{0} } -// [#next-free-field: 23] +// Specifies how TLVs in “proxy_protocol_tlvs“ are merged with existing PROXY protocol state +// (e.g., downstream TLVs parsed by the proxy_protocol listener filter). +type ProxyProtocolTlvMergePolicy int32 + +const ( + // Add configured TLVs only if no PROXY protocol state exists (e.g., no downstream TLVs). + // If state exists, ignore configured TLVs and use only the existing TLVs. + // This is the default for backward compatibility. + ProxyProtocolTlvMergePolicy_ADD_IF_ABSENT ProxyProtocolTlvMergePolicy = 0 + // Overwrite existing TLVs (e.g., downstream TLVs) by type with configured TLVs. + // Non-conflicting TLVs from both sources are preserved. + // If no state exists, add all configured TLVs. + // Source/destination addresses from existing state are preserved. + ProxyProtocolTlvMergePolicy_OVERWRITE_BY_TYPE_IF_EXISTS_OR_ADD ProxyProtocolTlvMergePolicy = 1 + // Append configured TLVs to existing TLVs (e.g., downstream TLVs), preserving all TLVs + // from both sources (PROXY protocol v2 allows duplicate types). + // If no state exists, add all configured TLVs. + // Source/destination addresses from existing state are preserved. + ProxyProtocolTlvMergePolicy_APPEND_IF_EXISTS_OR_ADD ProxyProtocolTlvMergePolicy = 2 +) + +// Enum value maps for ProxyProtocolTlvMergePolicy. +var ( + ProxyProtocolTlvMergePolicy_name = map[int32]string{ + 0: "ADD_IF_ABSENT", + 1: "OVERWRITE_BY_TYPE_IF_EXISTS_OR_ADD", + 2: "APPEND_IF_EXISTS_OR_ADD", + } + ProxyProtocolTlvMergePolicy_value = map[string]int32{ + "ADD_IF_ABSENT": 0, + "OVERWRITE_BY_TYPE_IF_EXISTS_OR_ADD": 1, + "APPEND_IF_EXISTS_OR_ADD": 2, + } +) + +func (x ProxyProtocolTlvMergePolicy) Enum() *ProxyProtocolTlvMergePolicy { + p := new(ProxyProtocolTlvMergePolicy) + *p = x + return p +} + +func (x ProxyProtocolTlvMergePolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ProxyProtocolTlvMergePolicy) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_enumTypes[1].Descriptor() +} + +func (ProxyProtocolTlvMergePolicy) Type() protoreflect.EnumType { + return &file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_enumTypes[1] +} + +func (x ProxyProtocolTlvMergePolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ProxyProtocolTlvMergePolicy.Descriptor instead. +func (ProxyProtocolTlvMergePolicy) EnumDescriptor() ([]byte, []int) { + return file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescGZIP(), []int{1} +} + +// [#next-free-field: 25] type TcpProxy struct { state protoimpl.MessageState `protogen:"open.v1"` // The prefix to use when emitting :ref:`statistics @@ -192,23 +256,21 @@ type TcpProxy struct { FlushAccessLogOnConnected bool `protobuf:"varint,16,opt,name=flush_access_log_on_connected,json=flushAccessLogOnConnected,proto3" json:"flush_access_log_on_connected,omitempty"` // Additional access log options for the TCP proxy. AccessLogOptions *TcpProxy_TcpAccessLogOptions `protobuf:"bytes,17,opt,name=access_log_options,json=accessLogOptions,proto3" json:"access_log_options,omitempty"` - // If set, the specified “PROXY“ protocol TLVs (Type-Length-Value) are added to the “PROXY“ protocol state - // created by the TCP proxy filter. These TLVs are sent in the PROXY protocol v2 header to the upstream. - // - // This field only takes effect when the TCP proxy filter is creating new “PROXY“ protocol state and an - // upstream proxy protocol transport socket is configured in the cluster. If the connection already - // contains “PROXY“ protocol state (including any TLVs) parsed by a downstream proxy protocol listener - // upstream proxy protocol transport socket is configured in the cluster. If the connection already - // contains PROXY protocol state (including any TLVs) parsed by a downstream proxy protocol listener - // filter, the TLVs specified here are ignored. + // TLVs to add to the PROXY protocol header sent upstream. Behavior when PROXY protocol + // state already exists (e.g., downstream TLVs from proxy_protocol listener filter) is + // controlled by “proxy_protocol_tlv_merge_policy“. // // .. note:: // - // To ensure the specified TLVs are allowed in the upstream ``PROXY`` protocol header, you must also - // configure passthrough TLVs on the upstream proxy protocol transport. See - // :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs ` - // for details. + // To ensure the TLVs are allowed upstream, configure passthrough TLVs on the upstream + // proxy protocol transport. See :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs + // ` for details. ProxyProtocolTlvs []*v3.TlvEntry `protobuf:"bytes,19,rep,name=proxy_protocol_tlvs,json=proxyProtocolTlvs,proto3" json:"proxy_protocol_tlvs,omitempty"` + // Specifies how TLVs in “proxy_protocol_tlvs“ are merged with existing PROXY protocol state + // (e.g., downstream TLVs from the proxy_protocol listener filter). See + // :ref:`ProxyProtocolTlvMergePolicy + // `. + ProxyProtocolTlvMergePolicy ProxyProtocolTlvMergePolicy `protobuf:"varint,23,opt,name=proxy_protocol_tlv_merge_policy,json=proxyProtocolTlvMergePolicy,proto3,enum=envoy.extensions.filters.network.tcp_proxy.v3.ProxyProtocolTlvMergePolicy" json:"proxy_protocol_tlv_merge_policy,omitempty"` // Specifies when to establish the upstream connection. // // When not specified, defaults to “IMMEDIATE“ for backward compatibility. @@ -228,15 +290,21 @@ type TcpProxy struct { // buffered and forwarded once the upstream connection is ready. When the buffer exceeds // this limit, the downstream connection is read-disabled to prevent excessive memory usage. // - // This field is required when “upstream_connect_mode“ is “ON_DOWNSTREAM_DATA“. + // This field is required when “upstream_connect_mode“ is not “IMMEDIATE“. // // .. note:: // // Use this carefully with server-first protocols. The upstream may send data before // receiving anything from downstream, which could fill the early data buffer. MaxEarlyDataBytes *wrapperspb.UInt32Value `protobuf:"bytes,22,opt,name=max_early_data_bytes,json=maxEarlyDataBytes,proto3" json:"max_early_data_bytes,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // If set to “true“, the TCP proxy checks if the downstream connection was marked as drained + // after each read or write. When drain close is requested for the listener's traffic direction, + // the downstream connection is closed with “FlushWrite“. + // + // This is disabled by default for backward compatibility. + CheckDrainClose *wrapperspb.BoolValue `protobuf:"bytes,24,opt,name=check_drain_close,json=checkDrainClose,proto3" json:"check_drain_close,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TcpProxy) Reset() { @@ -415,6 +483,13 @@ func (x *TcpProxy) GetProxyProtocolTlvs() []*v3.TlvEntry { return nil } +func (x *TcpProxy) GetProxyProtocolTlvMergePolicy() ProxyProtocolTlvMergePolicy { + if x != nil { + return x.ProxyProtocolTlvMergePolicy + } + return ProxyProtocolTlvMergePolicy_ADD_IF_ABSENT +} + func (x *TcpProxy) GetUpstreamConnectMode() UpstreamConnectMode { if x != nil { return x.UpstreamConnectMode @@ -429,6 +504,13 @@ func (x *TcpProxy) GetMaxEarlyDataBytes() *wrapperspb.UInt32Value { return nil } +func (x *TcpProxy) GetCheckDrainClose() *wrapperspb.BoolValue { + if x != nil { + return x.CheckDrainClose + } + return nil +} + type isTcpProxy_ClusterSpecifier interface { isTcpProxy_ClusterSpecifier() } @@ -498,7 +580,7 @@ func (x *TcpProxy_WeightedCluster) GetClusters() []*TcpProxy_WeightedCluster_Clu // Configuration for tunneling TCP over other transports or application layers. // Tunneling is supported over HTTP/1.1 and HTTP/2. The upstream protocol is // determined by the cluster configuration. -// [#next-free-field: 10] +// [#next-free-field: 11] type TcpProxy_TunnelingConfig struct { state protoimpl.MessageState `protogen:"open.v1"` // The hostname to send in the synthesized CONNECT headers to the upstream proxy. @@ -533,7 +615,7 @@ type TcpProxy_TunnelingConfig struct { PropagateResponseHeaders bool `protobuf:"varint,4,opt,name=propagate_response_headers,json=propagateResponseHeaders,proto3" json:"propagate_response_headers,omitempty"` // The path used with the POST method. The default path is “/“. If this field is specified and // :ref:`use_post field ` - // is not set to true, the configuration will be rejected. + // is not set to “true“, the configuration will be rejected. PostPath string `protobuf:"bytes,5,opt,name=post_path,json=postPath,proto3" json:"post_path,omitempty"` // Save response trailers to the downstream connection's filter state for consumption // by network filters. The filter state key is “envoy.tcp_proxy.propagate_response_trailers“. @@ -568,8 +650,13 @@ type TcpProxy_TunnelingConfig struct { // This enables customizing the key used by access log formatters such as // “%DYNAMIC_METADATA(envoy.filters.network.tcp_proxy:)%“. RequestIdMetadataKey string `protobuf:"bytes,9,opt,name=request_id_metadata_key,json=requestIdMetadataKey,proto3" json:"request_id_metadata_key,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Specifies a collection of Formatter plugins that can be used in substitution formatters + // in “headers_to_add“. + // See the formatters extensions documentation for details. + // [#extension-category: envoy.formatter] + Formatters []*v3.TypedExtensionConfig `protobuf:"bytes,10,rep,name=formatters,proto3" json:"formatters,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TcpProxy_TunnelingConfig) Reset() { @@ -665,6 +752,13 @@ func (x *TcpProxy_TunnelingConfig) GetRequestIdMetadataKey() string { return "" } +func (x *TcpProxy_TunnelingConfig) GetFormatters() []*v3.TypedExtensionConfig { + if x != nil { + return x.Formatters + } + return nil +} + type TcpProxy_OnDemand struct { state protoimpl.MessageState `protogen:"open.v1"` // Optional configuration for the on-demand cluster discovery service. @@ -741,11 +835,13 @@ type TcpProxy_TcpAccessLogOptions struct { // specified interval. // The interval must be at least 1ms. AccessLogFlushInterval *durationpb.Duration `protobuf:"bytes,1,opt,name=access_log_flush_interval,json=accessLogFlushInterval,proto3" json:"access_log_flush_interval,omitempty"` - // If set to true, the access log is flushed when the TCP proxy successfully establishes a + // If set to “true“, the access log is flushed when the TCP proxy successfully establishes a // connection with the upstream. If the connection fails, the access log is not flushed. FlushAccessLogOnConnected bool `protobuf:"varint,2,opt,name=flush_access_log_on_connected,json=flushAccessLogOnConnected,proto3" json:"flush_access_log_on_connected,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // If set to “true“, the access log is flushed when the TCP proxy accepts a connection. + FlushAccessLogOnStart bool `protobuf:"varint,3,opt,name=flush_access_log_on_start,json=flushAccessLogOnStart,proto3" json:"flush_access_log_on_start,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TcpProxy_TcpAccessLogOptions) Reset() { @@ -792,6 +888,13 @@ func (x *TcpProxy_TcpAccessLogOptions) GetFlushAccessLogOnConnected() bool { return false } +func (x *TcpProxy_TcpAccessLogOptions) GetFlushAccessLogOnStart() bool { + if x != nil { + return x.FlushAccessLogOnStart + } + return false +} + type TcpProxy_WeightedCluster_ClusterWeight struct { state protoimpl.MessageState `protogen:"open.v1"` // Name of the upstream cluster. @@ -866,7 +969,7 @@ var File_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto protorefl const file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDesc = "" + "\n" + - "=envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto\x12-envoy.extensions.filters.network.tcp_proxy.v3\x1a)envoy/config/accesslog/v3/accesslog.proto\x1a\"envoy/config/core/v3/backoff.proto\x1a\x1fenvoy/config/core/v3/base.proto\x1a(envoy/config/core/v3/config_source.proto\x1a)envoy/config/core/v3/proxy_protocol.proto\x1aYenvoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto\x1a\x1fenvoy/type/v3/hash_policy.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xfb\x1a\n" + + "=envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto\x12-envoy.extensions.filters.network.tcp_proxy.v3\x1a)envoy/config/accesslog/v3/accesslog.proto\x1a\"envoy/config/core/v3/backoff.proto\x1a\x1fenvoy/config/core/v3/base.proto\x1a(envoy/config/core/v3/config_source.proto\x1a$envoy/config/core/v3/extension.proto\x1a)envoy/config/core/v3/proxy_protocol.proto\x1aYenvoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto\x1a\x1fenvoy/type/v3/hash_policy.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xe6\x1d\n" + "\bTcpProxy\x12(\n" + "\vstat_prefix\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\n" + "statPrefix\x12\x1a\n" + @@ -890,9 +993,11 @@ const file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDesc "\x19access_log_flush_interval\x18\x0f \x01(\v2\x19.google.protobuf.DurationB\x17\xfaB\t\xaa\x01\x062\x04\x10\xc0\x84=\x92dž\xd8\x04\x033.0\x18\x01R\x16accessLogFlushInterval\x12M\n" + "\x1dflush_access_log_on_connected\x18\x10 \x01(\bB\v\x92dž\xd8\x04\x033.0\x18\x01R\x19flushAccessLogOnConnected\x12y\n" + "\x12access_log_options\x18\x11 \x01(\v2K.envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptionsR\x10accessLogOptions\x12N\n" + - "\x13proxy_protocol_tlvs\x18\x13 \x03(\v2\x1e.envoy.config.core.v3.TlvEntryR\x11proxyProtocolTlvs\x12\x80\x01\n" + + "\x13proxy_protocol_tlvs\x18\x13 \x03(\v2\x1e.envoy.config.core.v3.TlvEntryR\x11proxyProtocolTlvs\x12\x9a\x01\n" + + "\x1fproxy_protocol_tlv_merge_policy\x18\x17 \x01(\x0e2J.envoy.extensions.filters.network.tcp_proxy.v3.ProxyProtocolTlvMergePolicyB\b\xfaB\x05\x82\x01\x02\x10\x01R\x1bproxyProtocolTlvMergePolicy\x12\x80\x01\n" + "\x15upstream_connect_mode\x18\x15 \x01(\x0e2B.envoy.extensions.filters.network.tcp_proxy.v3.UpstreamConnectModeB\b\xfaB\x05\x82\x01\x02\x10\x01R\x13upstreamConnectMode\x12X\n" + - "\x14max_early_data_bytes\x18\x16 \x01(\v2\x1c.google.protobuf.UInt32ValueB\t\xfaB\x06*\x04\x18\x80\x80@R\x11maxEarlyDataBytes\x1a\xc7\x03\n" + + "\x14max_early_data_bytes\x18\x16 \x01(\v2\x1c.google.protobuf.UInt32ValueB\t\xfaB\x06*\x04\x18\x80\x80@R\x11maxEarlyDataBytes\x12F\n" + + "\x11check_drain_close\x18\x18 \x01(\v2\x1a.google.protobuf.BoolValueR\x0fcheckDrainClose\x1a\xc7\x03\n" + "\x0fWeightedCluster\x12{\n" + "\bclusters\x18\x01 \x03(\v2U.envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeightB\b\xfaB\x05\x92\x01\x02\b\x01R\bclusters\x1a\xec\x01\n" + "\rClusterWeight\x12\x1b\n" + @@ -900,7 +1005,7 @@ const file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDesc "\x06weight\x18\x02 \x01(\rB\a\xfaB\x04*\x02(\x01R\x06weight\x12E\n" + "\x0emetadata_match\x18\x03 \x01(\v2\x1e.envoy.config.core.v3.MetadataR\rmetadataMatch:V\x9aň\x1eQ\n" + "Oenvoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster.ClusterWeight:H\x9aň\x1eC\n" + - "Aenvoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster\x1a\xf7\x04\n" + + "Aenvoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster\x1a\xc3\x05\n" + "\x0fTunnelingConfig\x12#\n" + "\bhostname\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\bhostname\x12\x19\n" + "\buse_post\x18\x02 \x01(\bR\ausePost\x12X\n" + @@ -910,21 +1015,30 @@ const file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDesc "\x1bpropagate_response_trailers\x18\x06 \x01(\bR\x19propagateResponseTrailers\x12\x81\x01\n" + "\x14request_id_extension\x18\a \x01(\v2O.envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtensionR\x12requestIdExtension\x12*\n" + "\x11request_id_header\x18\b \x01(\tR\x0frequestIdHeader\x125\n" + - "\x17request_id_metadata_key\x18\t \x01(\tR\x14requestIdMetadataKey:H\x9aň\x1eC\n" + + "\x17request_id_metadata_key\x18\t \x01(\tR\x14requestIdMetadataKey\x12J\n" + + "\n" + + "formatters\x18\n" + + " \x03(\v2*.envoy.config.core.v3.TypedExtensionConfigR\n" + + "formatters:H\x9aň\x1eC\n" + "Aenvoy.config.filter.network.tcp_proxy.v2.TcpProxy.TunnelingConfig\x1a\xb3\x01\n" + "\bOnDemand\x12E\n" + "\fodcds_config\x18\x01 \x01(\v2\".envoy.config.core.v3.ConfigSourceR\vodcdsConfig\x12+\n" + "\x11resources_locator\x18\x02 \x01(\tR\x10resourcesLocator\x123\n" + - "\atimeout\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\atimeout\x1a\xbb\x01\n" + + "\atimeout\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\atimeout\x1a\xf5\x01\n" + "\x13TcpAccessLogOptions\x12b\n" + "\x19access_log_flush_interval\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\f\xfaB\t\xaa\x01\x062\x04\x10\xc0\x84=R\x16accessLogFlushInterval\x12@\n" + - "\x1dflush_access_log_on_connected\x18\x02 \x01(\bR\x19flushAccessLogOnConnected:8\x9aň\x1e3\n" + + "\x1dflush_access_log_on_connected\x18\x02 \x01(\bR\x19flushAccessLogOnConnected\x128\n" + + "\x19flush_access_log_on_start\x18\x03 \x01(\bR\x15flushAccessLogOnStart:8\x9aň\x1e3\n" + "1envoy.config.filter.network.tcp_proxy.v2.TcpProxyB\x18\n" + "\x11cluster_specifier\x12\x03\xf8B\x01J\x04\b\x06\x10\aR\rdeprecated_v1*]\n" + "\x13UpstreamConnectMode\x12\r\n" + "\tIMMEDIATE\x10\x00\x12\x16\n" + "\x12ON_DOWNSTREAM_DATA\x10\x01\x12\x1f\n" + - "\x1bON_DOWNSTREAM_TLS_HANDSHAKE\x10\x02B\xb8\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + + "\x1bON_DOWNSTREAM_TLS_HANDSHAKE\x10\x02*u\n" + + "\x1bProxyProtocolTlvMergePolicy\x12\x11\n" + + "\rADD_IF_ABSENT\x10\x00\x12&\n" + + "\"OVERWRITE_BY_TYPE_IF_EXISTS_OR_ADD\x10\x01\x12\x1b\n" + + "\x17APPEND_IF_EXISTS_OR_ADD\x10\x02B\xb8\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + ";io.envoyproxy.envoy.extensions.filters.network.tcp_proxy.v3B\rTcpProxyProtoP\x01Z`github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3;tcp_proxyv3b\x06proto3" var ( @@ -939,59 +1053,65 @@ func file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescG return file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDescData } -var file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_goTypes = []any{ (UpstreamConnectMode)(0), // 0: envoy.extensions.filters.network.tcp_proxy.v3.UpstreamConnectMode - (*TcpProxy)(nil), // 1: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy - (*TcpProxy_WeightedCluster)(nil), // 2: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster - (*TcpProxy_TunnelingConfig)(nil), // 3: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig - (*TcpProxy_OnDemand)(nil), // 4: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand - (*TcpProxy_TcpAccessLogOptions)(nil), // 5: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions - (*TcpProxy_WeightedCluster_ClusterWeight)(nil), // 6: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeight - (*v3.Metadata)(nil), // 7: envoy.config.core.v3.Metadata - (*durationpb.Duration)(nil), // 8: google.protobuf.Duration - (*v31.AccessLog)(nil), // 9: envoy.config.accesslog.v3.AccessLog - (*wrapperspb.UInt32Value)(nil), // 10: google.protobuf.UInt32Value - (*v3.BackoffStrategy)(nil), // 11: envoy.config.core.v3.BackoffStrategy - (*v32.HashPolicy)(nil), // 12: envoy.type.v3.HashPolicy - (*v32.Percent)(nil), // 13: envoy.type.v3.Percent - (*v3.TlvEntry)(nil), // 14: envoy.config.core.v3.TlvEntry - (*v3.HeaderValueOption)(nil), // 15: envoy.config.core.v3.HeaderValueOption - (*v33.RequestIDExtension)(nil), // 16: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension - (*v3.ConfigSource)(nil), // 17: envoy.config.core.v3.ConfigSource + (ProxyProtocolTlvMergePolicy)(0), // 1: envoy.extensions.filters.network.tcp_proxy.v3.ProxyProtocolTlvMergePolicy + (*TcpProxy)(nil), // 2: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy + (*TcpProxy_WeightedCluster)(nil), // 3: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster + (*TcpProxy_TunnelingConfig)(nil), // 4: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig + (*TcpProxy_OnDemand)(nil), // 5: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand + (*TcpProxy_TcpAccessLogOptions)(nil), // 6: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions + (*TcpProxy_WeightedCluster_ClusterWeight)(nil), // 7: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeight + (*v3.Metadata)(nil), // 8: envoy.config.core.v3.Metadata + (*durationpb.Duration)(nil), // 9: google.protobuf.Duration + (*v31.AccessLog)(nil), // 10: envoy.config.accesslog.v3.AccessLog + (*wrapperspb.UInt32Value)(nil), // 11: google.protobuf.UInt32Value + (*v3.BackoffStrategy)(nil), // 12: envoy.config.core.v3.BackoffStrategy + (*v32.HashPolicy)(nil), // 13: envoy.type.v3.HashPolicy + (*v32.Percent)(nil), // 14: envoy.type.v3.Percent + (*v3.TlvEntry)(nil), // 15: envoy.config.core.v3.TlvEntry + (*wrapperspb.BoolValue)(nil), // 16: google.protobuf.BoolValue + (*v3.HeaderValueOption)(nil), // 17: envoy.config.core.v3.HeaderValueOption + (*v33.RequestIDExtension)(nil), // 18: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension + (*v3.TypedExtensionConfig)(nil), // 19: envoy.config.core.v3.TypedExtensionConfig + (*v3.ConfigSource)(nil), // 20: envoy.config.core.v3.ConfigSource } var file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_depIdxs = []int32{ - 2, // 0: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.weighted_clusters:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster - 4, // 1: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.on_demand:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand - 7, // 2: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.metadata_match:type_name -> envoy.config.core.v3.Metadata - 8, // 3: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.idle_timeout:type_name -> google.protobuf.Duration - 8, // 4: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.downstream_idle_timeout:type_name -> google.protobuf.Duration - 8, // 5: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.upstream_idle_timeout:type_name -> google.protobuf.Duration - 9, // 6: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.access_log:type_name -> envoy.config.accesslog.v3.AccessLog - 10, // 7: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.max_connect_attempts:type_name -> google.protobuf.UInt32Value - 11, // 8: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.backoff_options:type_name -> envoy.config.core.v3.BackoffStrategy - 12, // 9: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.hash_policy:type_name -> envoy.type.v3.HashPolicy - 3, // 10: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.tunneling_config:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig - 8, // 11: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.max_downstream_connection_duration:type_name -> google.protobuf.Duration - 13, // 12: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.max_downstream_connection_duration_jitter_percentage:type_name -> envoy.type.v3.Percent - 8, // 13: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.access_log_flush_interval:type_name -> google.protobuf.Duration - 5, // 14: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.access_log_options:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions - 14, // 15: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.proxy_protocol_tlvs:type_name -> envoy.config.core.v3.TlvEntry - 0, // 16: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.upstream_connect_mode:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.UpstreamConnectMode - 10, // 17: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.max_early_data_bytes:type_name -> google.protobuf.UInt32Value - 6, // 18: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.clusters:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeight - 15, // 19: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig.headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption - 16, // 20: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig.request_id_extension:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension - 17, // 21: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand.odcds_config:type_name -> envoy.config.core.v3.ConfigSource - 8, // 22: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand.timeout:type_name -> google.protobuf.Duration - 8, // 23: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions.access_log_flush_interval:type_name -> google.protobuf.Duration - 7, // 24: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeight.metadata_match:type_name -> envoy.config.core.v3.Metadata - 25, // [25:25] is the sub-list for method output_type - 25, // [25:25] is the sub-list for method input_type - 25, // [25:25] is the sub-list for extension type_name - 25, // [25:25] is the sub-list for extension extendee - 0, // [0:25] is the sub-list for field type_name + 3, // 0: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.weighted_clusters:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster + 5, // 1: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.on_demand:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand + 8, // 2: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.metadata_match:type_name -> envoy.config.core.v3.Metadata + 9, // 3: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.idle_timeout:type_name -> google.protobuf.Duration + 9, // 4: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.downstream_idle_timeout:type_name -> google.protobuf.Duration + 9, // 5: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.upstream_idle_timeout:type_name -> google.protobuf.Duration + 10, // 6: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.access_log:type_name -> envoy.config.accesslog.v3.AccessLog + 11, // 7: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.max_connect_attempts:type_name -> google.protobuf.UInt32Value + 12, // 8: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.backoff_options:type_name -> envoy.config.core.v3.BackoffStrategy + 13, // 9: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.hash_policy:type_name -> envoy.type.v3.HashPolicy + 4, // 10: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.tunneling_config:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig + 9, // 11: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.max_downstream_connection_duration:type_name -> google.protobuf.Duration + 14, // 12: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.max_downstream_connection_duration_jitter_percentage:type_name -> envoy.type.v3.Percent + 9, // 13: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.access_log_flush_interval:type_name -> google.protobuf.Duration + 6, // 14: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.access_log_options:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions + 15, // 15: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.proxy_protocol_tlvs:type_name -> envoy.config.core.v3.TlvEntry + 1, // 16: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.proxy_protocol_tlv_merge_policy:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.ProxyProtocolTlvMergePolicy + 0, // 17: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.upstream_connect_mode:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.UpstreamConnectMode + 11, // 18: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.max_early_data_bytes:type_name -> google.protobuf.UInt32Value + 16, // 19: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.check_drain_close:type_name -> google.protobuf.BoolValue + 7, // 20: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.clusters:type_name -> envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeight + 17, // 21: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig.headers_to_add:type_name -> envoy.config.core.v3.HeaderValueOption + 18, // 22: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig.request_id_extension:type_name -> envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension + 19, // 23: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig.formatters:type_name -> envoy.config.core.v3.TypedExtensionConfig + 20, // 24: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand.odcds_config:type_name -> envoy.config.core.v3.ConfigSource + 9, // 25: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand.timeout:type_name -> google.protobuf.Duration + 9, // 26: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions.access_log_flush_interval:type_name -> google.protobuf.Duration + 8, // 27: envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeight.metadata_match:type_name -> envoy.config.core.v3.Metadata + 28, // [28:28] is the sub-list for method output_type + 28, // [28:28] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name } func init() { file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_init() } @@ -1008,7 +1128,7 @@ func file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDesc), len(file_envoy_extensions_filters_network_tcp_proxy_v3_tcp_proxy_proto_rawDesc)), - NumEnums: 1, + NumEnums: 2, NumMessages: 6, NumExtensions: 0, NumServices: 0, diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.pb.validate.go index 6d6e0d35..7f0bb8e8 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.pb.validate.go @@ -520,6 +520,17 @@ func (m *TcpProxy) validate(all bool) error { } + if _, ok := ProxyProtocolTlvMergePolicy_name[int32(m.GetProxyProtocolTlvMergePolicy())]; !ok { + err := TcpProxyValidationError{ + field: "ProxyProtocolTlvMergePolicy", + reason: "value must be one of the defined enum values", + } + if !all { + return err + } + errors = append(errors, err) + } + if _, ok := UpstreamConnectMode_name[int32(m.GetUpstreamConnectMode())]; !ok { err := TcpProxyValidationError{ field: "UpstreamConnectMode", @@ -546,6 +557,35 @@ func (m *TcpProxy) validate(all bool) error { } + if all { + switch v := interface{}(m.GetCheckDrainClose()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TcpProxyValidationError{ + field: "CheckDrainClose", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TcpProxyValidationError{ + field: "CheckDrainClose", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCheckDrainClose()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TcpProxyValidationError{ + field: "CheckDrainClose", + reason: "embedded message failed validation", + cause: err, + } + } + } + oneofClusterSpecifierPresent := false switch v := m.ClusterSpecifier.(type) { case *TcpProxy_Cluster: @@ -960,6 +1000,40 @@ func (m *TcpProxy_TunnelingConfig) validate(all bool) error { // no validation rules for RequestIdMetadataKey + for idx, item := range m.GetFormatters() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TcpProxy_TunnelingConfigValidationError{ + field: fmt.Sprintf("Formatters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TcpProxy_TunnelingConfigValidationError{ + field: fmt.Sprintf("Formatters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TcpProxy_TunnelingConfigValidationError{ + field: fmt.Sprintf("Formatters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + if len(errors) > 0 { return TcpProxy_TunnelingConfigMultiError(errors) } @@ -1256,6 +1330,8 @@ func (m *TcpProxy_TcpAccessLogOptions) validate(all bool) error { // no validation rules for FlushAccessLogOnConnected + // no validation rules for FlushAccessLogOnStart + if len(errors) > 0 { return TcpProxy_TcpAccessLogOptionsMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy_vtproto.pb.go index 3411083e..25505563 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy_vtproto.pb.go @@ -163,6 +163,30 @@ func (m *TcpProxy_TunnelingConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (in i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.Formatters) > 0 { + for iNdEx := len(m.Formatters) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.Formatters[iNdEx]).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Formatters[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x52 + } + } if len(m.RequestIdMetadataKey) > 0 { i -= len(m.RequestIdMetadataKey) copy(dAtA[i:], m.RequestIdMetadataKey) @@ -372,6 +396,16 @@ func (m *TcpProxy_TcpAccessLogOptions) MarshalToSizedBufferVTStrict(dAtA []byte) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.FlushAccessLogOnStart { + i-- + if m.FlushAccessLogOnStart { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } if m.FlushAccessLogOnConnected { i-- if m.FlushAccessLogOnConnected { @@ -425,6 +459,25 @@ func (m *TcpProxy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.CheckDrainClose != nil { + size, err := (*wrapperspb.BoolValue)(m.CheckDrainClose).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc2 + } + if m.ProxyProtocolTlvMergePolicy != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ProxyProtocolTlvMergePolicy)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb8 + } if m.MaxEarlyDataBytes != nil { size, err := (*wrapperspb.UInt32Value)(m.MaxEarlyDataBytes).MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -849,6 +902,18 @@ func (m *TcpProxy_TunnelingConfig) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if len(m.Formatters) > 0 { + for _, e := range m.Formatters { + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } n += len(m.unknownFields) return n } @@ -894,6 +959,9 @@ func (m *TcpProxy_TcpAccessLogOptions) SizeVT() (n int) { if m.FlushAccessLogOnConnected { n += 2 } + if m.FlushAccessLogOnStart { + n += 2 + } n += len(m.unknownFields) return n } @@ -1023,6 +1091,13 @@ func (m *TcpProxy) SizeVT() (n int) { l = (*wrapperspb.UInt32Value)(m.MaxEarlyDataBytes).SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.ProxyProtocolTlvMergePolicy != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.ProxyProtocolTlvMergePolicy)) + } + if m.CheckDrainClose != nil { + l = (*wrapperspb.BoolValue)(m.CheckDrainClose).SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/udp/udp_proxy/v3/route.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/udp/udp_proxy/v3/route.pb.go index 0320a402..bfb650af 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/udp/udp_proxy/v3/route.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/udp/udp_proxy/v3/route.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/filters/udp/udp_proxy/v3/route.proto package udp_proxyv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.pb.go index 86a91410..e2821ac1 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto package udp_proxyv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/cert.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/cert.pb.go index 238cb111..7a0ad3bd 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/cert.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/cert.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/transport_sockets/tls/v3/cert.proto package tlsv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common.pb.go index a9d7fb19..87bd1a9f 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/transport_sockets/tls/v3/common.proto package tlsv3 @@ -102,18 +102,55 @@ const ( // // .. attention:: // - // Please refer to `BoringSSL policies `_ + // Please refer to the `BoringSSL FIPS_202205 compliance policy `_ // for details. TlsParameters_FIPS_202205 TlsParameters_CompliancePolicy = 0 + // CNSA2_202603 configures a TLS connection to use: + // + // - Only TLS 1.3, with AES-256-GCM. + // - Only ML-KEM-1024 for key agreement. + // - For handshake signatures, only ECDSA with P-384 and SHA-384, or RSA + // with SHA-384. + // + // Note: this setting aids with compliance with CNSA requirements but does not + // guarantee it. Careful reading of “draft-becker-cnsa2-tls-profile“ is + // recommended. + // + // .. attention:: + // + // Please refer to the `BoringSSL CNSA2_202603 compliance policy `_ + // for details. + TlsParameters_CNSA2_202603 TlsParameters_CompliancePolicy = 1 + // CNSA1_202603 configures a TLS connection to use: + // - TLS 1.2 or TLS 1.3. + // - For TLS 1.2, only TLS_ECDHE_[ECDSA|RSA]_WITH_AES_256_GCM_SHA384. + // - For TLS 1.3, only AES-256-GCM. + // - ML-KEM-1024 or P-384 for key agreement, preferring ML-KEM-1024 if the + // client supports it. + // - For handshake signatures, only ECDSA with P-384 and SHA-384, or RSA + // with SHA-384. + // + // Note: this setting aids with compliance with CNSA requirements but does not + // guarantee it. Careful reading of RFC 9151 is recommended. + // + // .. attention:: + // + // Please refer to the `BoringSSL CNSA1_202603 compliance policy `_ + // for details. + TlsParameters_CNSA1_202603 TlsParameters_CompliancePolicy = 2 ) // Enum value maps for TlsParameters_CompliancePolicy. var ( TlsParameters_CompliancePolicy_name = map[int32]string{ 0: "FIPS_202205", + 1: "CNSA2_202603", + 2: "CNSA1_202603", } TlsParameters_CompliancePolicy_value = map[string]int32{ - "FIPS_202205": 0, + "FIPS_202205": 0, + "CNSA2_202603": 1, + "CNSA1_202603": 2, } ) @@ -903,7 +940,7 @@ func (x *SubjectAltNameMatcher) GetOid() string { return "" } -// [#next-free-field: 18] +// [#next-free-field: 19] type CertificateValidationContext struct { state protoimpl.MessageState `protogen:"open.v1"` // TLS certificate data containing certificate authority certificates to use in verifying @@ -1090,8 +1127,31 @@ type CertificateValidationContext struct { // in OpenSSL 1.1.x and newer versions of BoringSSL in that the trust anchor is included. // Trusted issues are specified by setting :ref:`trusted_ca ` MaxVerifyDepth *wrapperspb.UInt32Value `protobuf:"bytes,16,opt,name=max_verify_depth,json=maxVerifyDepth,proto3" json:"max_verify_depth,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // If true, the server does not include the trusted-CA distinguished names in the + // TLS “CertificateRequest“ message. CAs from :ref:`trusted_ca + // ` + // are still used to validate presented client certificates; only the wire + // advertisement changes. + // + // This is useful when the configured CA set is large enough that the + // “CertificateRequest“ would exceed client-side TLS record limits, or when + // clients mishandle the CA set in some way. + // + // .. attention:: + // + // When enabled, clients that rely on the advertised CA list to select among + // multiple client certificates may now send no certificate or the wrong one; + // validation will then fail with the standard TLS alert. + // + // This option only affects downstream (server) TLS connections where Envoy sends a + // “CertificateRequest“ to clients. It has no effect on upstream connections. + // + // Honored by the built-in validator and the SPIFFE validator. Validators that do + // not set a client CA list themselves (e.g., the dynamic-modules validator) are + // unaffected. Defaults to false. + SuppressClientCaList bool `protobuf:"varint,18,opt,name=suppress_client_ca_list,json=suppressClientCaList,proto3" json:"suppress_client_ca_list,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CertificateValidationContext) Reset() { @@ -1230,6 +1290,13 @@ func (x *CertificateValidationContext) GetMaxVerifyDepth() *wrapperspb.UInt32Val return nil } +func (x *CertificateValidationContext) GetSuppressClientCaList() bool { + if x != nil { + return x.SuppressClientCaList + } + return false +} + type CertificateValidationContext_SystemRootCerts struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields @@ -1270,7 +1337,7 @@ var File_envoy_extensions_transport_sockets_tls_v3_common_proto protoreflect.Fil const file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDesc = "" + "\n" + - "6envoy/extensions/transport_sockets/tls/v3/common.proto\x12)envoy.extensions.transport_sockets.tls.v3\x1a\x1fenvoy/config/core/v3/base.proto\x1a$envoy/config/core/v3/extension.proto\x1a\"envoy/type/matcher/v3/string.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1eudpa/annotations/migrate.proto\x1a udpa/annotations/sensitive.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xd1\x05\n" + + "6envoy/extensions/transport_sockets/tls/v3/common.proto\x12)envoy.extensions.transport_sockets.tls.v3\x1a\x1fenvoy/config/core/v3/base.proto\x1a$envoy/config/core/v3/extension.proto\x1a\"envoy/type/matcher/v3/string.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1eudpa/annotations/migrate.proto\x1a udpa/annotations/sensitive.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xf5\x05\n" + "\rTlsParameters\x12\x8f\x01\n" + "\x1ctls_minimum_protocol_version\x18\x01 \x01(\x0e2D.envoy.extensions.transport_sockets.tls.v3.TlsParameters.TlsProtocolB\b\xfaB\x05\x82\x01\x02\x10\x01R\x19tlsMinimumProtocolVersion\x12\x8f\x01\n" + "\x1ctls_maximum_protocol_version\x18\x02 \x01(\x0e2D.envoy.extensions.transport_sockets.tls.v3.TlsParameters.TlsProtocolB\b\xfaB\x05\x82\x01\x02\x10\x01R\x19tlsMaximumProtocolVersion\x12#\n" + @@ -1284,9 +1351,11 @@ const file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDesc = "" + "\aTLSv1_0\x10\x01\x12\v\n" + "\aTLSv1_1\x10\x02\x12\v\n" + "\aTLSv1_2\x10\x03\x12\v\n" + - "\aTLSv1_3\x10\x04\"#\n" + + "\aTLSv1_3\x10\x04\"G\n" + "\x10CompliancePolicy\x12\x0f\n" + - "\vFIPS_202205\x10\x00:&\x9aň\x1e!\n" + + "\vFIPS_202205\x10\x00\x12\x10\n" + + "\fCNSA2_202603\x10\x01\x12\x10\n" + + "\fCNSA1_202603\x10\x02:&\x9aň\x1e!\n" + "\x1fenvoy.api.v2.auth.TlsParameters\"\xeb\x01\n" + "\x12PrivateKeyProvider\x12,\n" + "\rprovider_name\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\fproviderName\x12A\n" + @@ -1325,7 +1394,7 @@ const file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDesc = "" + "\n" + "IP_ADDRESS\x10\x04\x12\x0e\n" + "\n" + - "OTHER_NAME\x10\x05\"\xa9\r\n" + + "OTHER_NAME\x10\x05\"\xe0\r\n" + "\x1cCertificateValidationContext\x12W\n" + "\n" + "trusted_ca\x18\x01 \x01(\v2 .envoy.config.core.v3.DataSourceB\x16\xf2\x98\xfe\x8f\x05\x10\x12\x0eca_cert_sourceR\ttrustedCa\x12\xad\x01\n" + @@ -1343,7 +1412,8 @@ const file_envoy_extensions_transport_sockets_tls_v3_common_proto_rawDesc = "" + " \x01(\x0e2^.envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext.TrustChainVerificationB\b\xfaB\x05\x82\x01\x02\x10\x01R\x16trustChainVerification\x12b\n" + "\x17custom_validator_config\x18\f \x01(\v2*.envoy.config.core.v3.TypedExtensionConfigR\x15customValidatorConfig\x128\n" + "\x19only_verify_leaf_cert_crl\x18\x0e \x01(\bR\x15onlyVerifyLeafCertCrl\x12O\n" + - "\x10max_verify_depth\x18\x10 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\xfaB\x04*\x02\x18dR\x0emaxVerifyDepth\x1a\x11\n" + + "\x10max_verify_depth\x18\x10 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\xfaB\x04*\x02\x18dR\x0emaxVerifyDepth\x125\n" + + "\x17suppress_client_ca_list\x18\x12 \x01(\bR\x14suppressClientCaList\x1a\x11\n" + "\x0fSystemRootCerts\"F\n" + "\x16TrustChainVerification\x12\x16\n" + "\x12VERIFY_TRUST_CHAIN\x10\x00\x12\x14\n" + diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common.pb.validate.go index 9bc7b637..7e65f00a 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common.pb.validate.go @@ -1479,6 +1479,8 @@ func (m *CertificateValidationContext) validate(all bool) error { } + // no validation rules for SuppressClientCaList + if len(errors) > 0 { return CertificateValidationContextMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common_vtproto.pb.go index d7dc3a9f..841d04fb 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/common_vtproto.pb.go @@ -625,6 +625,18 @@ func (m *CertificateValidationContext) MarshalToSizedBufferVTStrict(dAtA []byte) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.SuppressClientCaList { + i-- + if m.SuppressClientCaList { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x90 + } if m.SystemRootCerts != nil { size, err := m.SystemRootCerts.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -1178,6 +1190,9 @@ func (m *CertificateValidationContext) SizeVT() (n int) { l = m.SystemRootCerts.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.SuppressClientCaList { + n += 3 + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/secret.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/secret.pb.go index 37f96f29..2ac67e9e 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/secret.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/secret.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/transport_sockets/tls/v3/secret.proto package tlsv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls.pb.go index a31a491a..ea6e882b 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/transport_sockets/tls/v3/tls.proto package tlsv3 @@ -122,15 +122,15 @@ type UpstreamTlsContext struct { // // Defaults to 1, setting this to 0 disables session resumption. MaxSessionKeys *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=max_session_keys,json=maxSessionKeys,proto3" json:"max_session_keys,omitempty"` - // Controls enforcement of the “keyUsage“ extension in peer certificates. If set to “true“, the handshake will fail if - // the “keyUsage“ is incompatible with TLS usage. + // Controls enforcement of the “keyUsage“ extension in peer certificates. If set to “true“, + // the handshake will fail if the “keyUsage“ is incompatible with TLS usage. // - // .. note:: + // .. attention:: // - // The default value is ``false`` (i.e., enforcement off). It is expected to change to ``true`` in a future release. + // This field is deprecated and ignored. Envoy now always enforces the ``keyUsage`` extension + // in peer certificates, making this option unconfigurable. // - // The “ssl.was_key_usage_invalid“ in :ref:`listener metrics ` metric will be incremented - // for configurations that would fail if this option were enabled. + // Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. EnforceRsaKeyUsage *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=enforce_rsa_key_usage,json=enforceRsaKeyUsage,proto3" json:"enforce_rsa_key_usage,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -208,6 +208,7 @@ func (x *UpstreamTlsContext) GetMaxSessionKeys() *wrapperspb.UInt32Value { return nil } +// Deprecated: Marked as deprecated in envoy/extensions/transport_sockets/tls/v3/tls.proto. func (x *UpstreamTlsContext) GetEnforceRsaKeyUsage() *wrapperspb.BoolValue { if x != nil { return x.EnforceRsaKeyUsage @@ -514,10 +515,13 @@ type CommonTlsContext struct { TlsCertificateProviderInstance *CertificateProviderPluginInstance `protobuf:"bytes,14,opt,name=tls_certificate_provider_instance,json=tlsCertificateProviderInstance,proto3" json:"tls_certificate_provider_instance,omitempty"` // Custom TLS certificate selector. // - // Select TLS certificate based on TLS client hello. - // If empty, defaults to native TLS certificate selection behavior: - // DNS SANs or Subject Common Name in TLS certificates is extracted as server name pattern to match SNI. - // [#extension-category: envoy.tls.certificate_selectors] + // For the downstream TLS socket, select a TLS certificate based on TLS client hello. If empty, + // defaults to native TLS certificate selection behavior: DNS SANs or Subject Common Name in TLS + // certificates is extracted as server name pattern to match SNI. + // + // For the upstream TLS socket, select a TLS certificate based on TLS server hello and the + // transport socket options. + // [#extension-category: envoy.tls.certificate_selectors,envoy.tls.upstream_certificate_selectors] CustomTlsCertificateSelector *v3.TypedExtensionConfig `protobuf:"bytes,16,opt,name=custom_tls_certificate_selector,json=customTlsCertificateSelector,proto3" json:"custom_tls_certificate_selector,omitempty"` // Certificate provider for fetching TLS certificates. // [#not-implemented-hide:] @@ -1022,15 +1026,15 @@ var File_envoy_extensions_transport_sockets_tls_v3_tls_proto protoreflect.FileDe const file_envoy_extensions_transport_sockets_tls_v3_tls_proto_rawDesc = "" + "\n" + - "3envoy/extensions/transport_sockets/tls/v3/tls.proto\x12)envoy.extensions.transport_sockets.tls.v3\x1a\"envoy/config/core/v3/address.proto\x1a$envoy/config/core/v3/extension.proto\x1a6envoy/extensions/transport_sockets/tls/v3/common.proto\x1a6envoy/extensions/transport_sockets/tls/v3/secret.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xeb\x03\n" + + "3envoy/extensions/transport_sockets/tls/v3/tls.proto\x12)envoy.extensions.transport_sockets.tls.v3\x1a\"envoy/config/core/v3/address.proto\x1a$envoy/config/core/v3/extension.proto\x1a6envoy/extensions/transport_sockets/tls/v3/common.proto\x1a6envoy/extensions/transport_sockets/tls/v3/secret.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xf8\x03\n" + "\x12UpstreamTlsContext\x12i\n" + "\x12common_tls_context\x18\x01 \x01(\v2;.envoy.extensions.transport_sockets.tls.v3.CommonTlsContextR\x10commonTlsContext\x12\x1a\n" + "\x03sni\x18\x02 \x01(\tB\b\xfaB\x05r\x03(\xff\x01R\x03sni\x12\"\n" + "\rauto_host_sni\x18\x06 \x01(\bR\vautoHostSni\x125\n" + "\x17auto_sni_san_validation\x18\a \x01(\bR\x14autoSniSanValidation\x12/\n" + "\x13allow_renegotiation\x18\x03 \x01(\bR\x12allowRenegotiation\x12F\n" + - "\x10max_session_keys\x18\x04 \x01(\v2\x1c.google.protobuf.UInt32ValueR\x0emaxSessionKeys\x12M\n" + - "\x15enforce_rsa_key_usage\x18\x05 \x01(\v2\x1a.google.protobuf.BoolValueR\x12enforceRsaKeyUsage:+\x9aň\x1e&\n" + + "\x10max_session_keys\x18\x04 \x01(\v2\x1c.google.protobuf.UInt32ValueR\x0emaxSessionKeys\x12Z\n" + + "\x15enforce_rsa_key_usage\x18\x05 \x01(\v2\x1a.google.protobuf.BoolValueB\v\x92dž\xd8\x04\x033.0\x18\x01R\x12enforceRsaKeyUsage:+\x9aň\x1e&\n" + "$envoy.api.v2.auth.UpstreamTlsContext\"\xce\t\n" + "\x14DownstreamTlsContext\x12i\n" + "\x12common_tls_context\x18\x01 \x01(\v2;.envoy.extensions.transport_sockets.tls.v3.CommonTlsContextR\x10commonTlsContext\x12X\n" + diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.pb.go index 2357c283..b2f8960b 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.proto package tlsv3 @@ -53,6 +53,11 @@ const ( // // - :ref:`allow_expired_certificate ` to allow expired certificates. // - :ref:`match_typed_subject_alt_names ` to match **URI** SAN of certificates. Unlike the default validator, SPIFFE validator only matches **URI** SAN (which equals to SVID in SPIFFE terminology) and ignore other SAN types. +// +// To support multi-tenant use cases, a filter state object “envoy.tls.cert_validator.spiffe.workload_trust_domain“ +// should be used to define the per-connection workload trust domain. When matching a peer trust domain, both the +// workload and the peer trust domains are used in selecting the validation certificate. The filter state object +// should be shared with the upstream to be used in the upstream TLS context SPIFFE validation context. type SPIFFECertValidatorConfig struct { state protoimpl.MessageState `protogen:"open.v1"` // This field specifies trust domains used for validating incoming X.509-SVID(s). @@ -117,9 +122,13 @@ type SPIFFECertValidatorConfig_TrustDomain struct { // Note that this must *not* have "spiffe://" prefix. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Specify a data source holding x.509 trust bundle used for validating incoming SVID(s) in this trust domain. - TrustBundle *v3.DataSource `protobuf:"bytes,2,opt,name=trust_bundle,json=trustBundle,proto3" json:"trust_bundle,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + TrustBundle *v3.DataSource `protobuf:"bytes,2,opt,name=trust_bundle,json=trustBundle,proto3" json:"trust_bundle,omitempty"` + // Optional workload trust domain selection condition. The filter object + // “envoy.tls.cert_validator.spiffe.workload_trust_domain“ must match exactly the value of this field. + // If not specified, the filter state object must be absent or be empty to match this trust domain. + WorkloadTrustDomain string `protobuf:"bytes,3,opt,name=workload_trust_domain,json=workloadTrustDomain,proto3" json:"workload_trust_domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SPIFFECertValidatorConfig_TrustDomain) Reset() { @@ -166,17 +175,25 @@ func (x *SPIFFECertValidatorConfig_TrustDomain) GetTrustBundle() *v3.DataSource return nil } +func (x *SPIFFECertValidatorConfig_TrustDomain) GetWorkloadTrustDomain() string { + if x != nil { + return x.WorkloadTrustDomain + } + return "" +} + var File_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto protoreflect.FileDescriptor const file_envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config_proto_rawDesc = "" + "\n" + - "Kenvoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.proto\x12)envoy.extensions.transport_sockets.tls.v3\x1a\x1fenvoy/config/core/v3/base.proto\x1a\x1dudpa/annotations/status.proto\x1a\x17validate/validate.proto\"\xd4\x02\n" + + "Kenvoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.proto\x12)envoy.extensions.transport_sockets.tls.v3\x1a\x1fenvoy/config/core/v3/base.proto\x1a\x1dudpa/annotations/status.proto\x1a\x17validate/validate.proto\"\x89\x03\n" + "\x19SPIFFECertValidatorConfig\x12\x7f\n" + "\rtrust_domains\x18\x01 \x03(\v2P.envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomainB\b\xfaB\x05\x92\x01\x02\b\x01R\ftrustDomains\x12E\n" + - "\rtrust_bundles\x18\x02 \x01(\v2 .envoy.config.core.v3.DataSourceR\ftrustBundles\x1ao\n" + + "\rtrust_bundles\x18\x02 \x01(\v2 .envoy.config.core.v3.DataSourceR\ftrustBundles\x1a\xa3\x01\n" + "\vTrustDomain\x12\x1b\n" + "\x04name\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x04name\x12C\n" + - "\ftrust_bundle\x18\x02 \x01(\v2 .envoy.config.core.v3.DataSourceR\vtrustBundleB\xba\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + + "\ftrust_bundle\x18\x02 \x01(\v2 .envoy.config.core.v3.DataSourceR\vtrustBundle\x122\n" + + "\x15workload_trust_domain\x18\x03 \x01(\tR\x13workloadTrustDomainB\xba\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + "7io.envoyproxy.envoy.extensions.transport_sockets.tls.v3B\x1dTlsSpiffeValidatorConfigProtoP\x01ZVgithub.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3;tlsv3b\x06proto3" var ( diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.pb.validate.go index 777bd968..3a9936f9 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.pb.validate.go @@ -275,6 +275,8 @@ func (m *SPIFFECertValidatorConfig_TrustDomain) validate(all bool) error { } } + // no validation rules for WorkloadTrustDomain + if len(errors) > 0 { return SPIFFECertValidatorConfig_TrustDomainMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config_vtproto.pb.go index 08fc5e49..ad66a724 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config_vtproto.pb.go @@ -49,6 +49,13 @@ func (m *SPIFFECertValidatorConfig_TrustDomain) MarshalToSizedBufferVTStrict(dAt i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.WorkloadTrustDomain) > 0 { + i -= len(m.WorkloadTrustDomain) + copy(dAtA[i:], m.WorkloadTrustDomain) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WorkloadTrustDomain))) + i-- + dAtA[i] = 0x1a + } if m.TrustBundle != nil { if vtmsg, ok := interface{}(m.TrustBundle).(interface { MarshalToSizedBufferVTStrict([]byte) (int, error) @@ -168,6 +175,10 @@ func (m *SPIFFECertValidatorConfig_TrustDomain) SizeVT() (n int) { } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + l = len(m.WorkloadTrustDomain) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3/cds.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3/cds.pb.go index 2acaf47e..6b838b86 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3/cds.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3/cds.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/service/cluster/v3/cds.proto package clusterv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3/cds_grpc.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3/cds_grpc.pb.go index cfa87521..b584c481 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3/cds_grpc.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/cluster/v3/cds_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v6.33.2 +// - protoc v7.35.1 // source: envoy/service/cluster/v3/cds.proto package clusterv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/ads.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/ads.pb.go index f8dc8ad5..6d7a0903 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/ads.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/ads.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/service/discovery/v3/ads.proto package discoveryv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/ads_grpc.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/ads_grpc.pb.go index c7384ce3..ffb4f3dc 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/ads_grpc.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/ads_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v6.33.2 +// - protoc v7.35.1 // source: envoy/service/discovery/v3/ads.proto package discoveryv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/discovery.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/discovery.pb.go index b8bebb41..5b2da829 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/discovery.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3/discovery.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/service/discovery/v3/discovery.proto package discoveryv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/eds.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/eds.pb.go index 226eed6d..90bf35dd 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/eds.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/eds.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/service/endpoint/v3/eds.proto package endpointv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/eds_grpc.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/eds_grpc.pb.go index 1462834b..b478e421 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/eds_grpc.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/eds_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v6.33.2 +// - protoc v7.35.1 // source: envoy/service/endpoint/v3/eds.proto package endpointv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/leds.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/leds.pb.go index d7532c54..f163bc53 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/leds.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/leds.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/service/endpoint/v3/leds.proto package endpointv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/leds_grpc.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/leds_grpc.pb.go index 5785b801..ebef26a8 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/leds_grpc.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/endpoint/v3/leds_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v6.33.2 +// - protoc v7.35.1 // source: envoy/service/endpoint/v3/leds.proto package endpointv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/extension/v3/config_discovery.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/extension/v3/config_discovery.pb.go index 51a9b016..632ed30a 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/extension/v3/config_discovery.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/extension/v3/config_discovery.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/service/extension/v3/config_discovery.proto package extensionv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/extension/v3/config_discovery_grpc.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/extension/v3/config_discovery_grpc.pb.go index d80b6681..597bf68c 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/extension/v3/config_discovery_grpc.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/extension/v3/config_discovery_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v6.33.2 +// - protoc v7.35.1 // source: envoy/service/extension/v3/config_discovery.proto package extensionv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/listener/v3/lds.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/listener/v3/lds.pb.go index 4c6ce428..23808906 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/listener/v3/lds.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/listener/v3/lds.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/service/listener/v3/lds.proto package listenerv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/listener/v3/lds_grpc.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/listener/v3/lds_grpc.pb.go index f35cf5e8..5a051f19 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/listener/v3/lds_grpc.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/listener/v3/lds_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v6.33.2 +// - protoc v7.35.1 // source: envoy/service/listener/v3/lds.proto package listenerv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/rds.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/rds.pb.go index a2010f32..0c9a9e46 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/rds.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/rds.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/service/route/v3/rds.proto package routev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/rds_grpc.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/rds_grpc.pb.go index ff605c82..85291547 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/rds_grpc.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/rds_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v6.33.2 +// - protoc v7.35.1 // source: envoy/service/route/v3/rds.proto package routev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/srds.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/srds.pb.go index 67fddf61..5f46a891 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/srds.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/srds.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/service/route/v3/srds.proto package routev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/srds_grpc.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/srds_grpc.pb.go index af33acd9..9035464f 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/srds_grpc.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/route/v3/srds_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v6.33.2 +// - protoc v7.35.1 // source: envoy/service/route/v3/srds.proto package routev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3/rtds.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3/rtds.pb.go index e6fc95a2..9eb99f58 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3/rtds.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3/rtds.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/service/runtime/v3/rtds.proto package runtimev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3/rtds_grpc.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3/rtds_grpc.pb.go index c3cc8aa0..436f543b 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3/rtds_grpc.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/runtime/v3/rtds_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v6.33.2 +// - protoc v7.35.1 // source: envoy/service/runtime/v3/rtds.proto package runtimev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/secret/v3/sds.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/secret/v3/sds.pb.go index 03b70465..1162e01b 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/secret/v3/sds.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/secret/v3/sds.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/service/secret/v3/sds.proto package secretv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/secret/v3/sds_grpc.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/secret/v3/sds_grpc.pb.go index 01eaae41..db8da68b 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/service/secret/v3/sds_grpc.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/service/secret/v3/sds_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v6.33.2 +// - protoc v7.35.1 // source: envoy/service/secret/v3/sds.proto package secretv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/http/v3/cookie.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/http/v3/cookie.pb.go index c1d40a1c..30f564c7 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/http/v3/cookie.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/http/v3/cookie.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/http/v3/cookie.proto package httpv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/http/v3/path_transformation.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/http/v3/path_transformation.pb.go index b6315f07..32449e1d 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/http/v3/path_transformation.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/http/v3/path_transformation.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/http/v3/path_transformation.proto package httpv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address.pb.go index 3f29fecb..5a95db6d 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/address.proto package matcherv3 @@ -27,8 +27,13 @@ const ( // used in other matchers, for example in the filter state matcher to match a // filter state object as an IP. type AddressMatcher struct { - state protoimpl.MessageState `protogen:"open.v1"` - Ranges []*v3.CidrRange `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Ranges []*v3.CidrRange `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"` + // If true, the match result will be inverted. Defaults to false. + // + // * If set to false (default), the matcher will return true if the IP matches any of the CIDR ranges. + // * If set to true, the matcher will return true if the IP does NOT match any of the CIDR ranges. + InvertMatch bool `protobuf:"varint,2,opt,name=invert_match,json=invertMatch,proto3" json:"invert_match,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -70,13 +75,21 @@ func (x *AddressMatcher) GetRanges() []*v3.CidrRange { return nil } +func (x *AddressMatcher) GetInvertMatch() bool { + if x != nil { + return x.InvertMatch + } + return false +} + var File_envoy_type_matcher_v3_address_proto protoreflect.FileDescriptor const file_envoy_type_matcher_v3_address_proto_rawDesc = "" + "\n" + - "#envoy/type/matcher/v3/address.proto\x12\x15envoy.type.matcher.v3\x1a\x16xds/core/v3/cidr.proto\x1a\x1dudpa/annotations/status.proto\"@\n" + + "#envoy/type/matcher/v3/address.proto\x12\x15envoy.type.matcher.v3\x1a\x16xds/core/v3/cidr.proto\x1a\x1dudpa/annotations/status.proto\"c\n" + "\x0eAddressMatcher\x12.\n" + - "\x06ranges\x18\x01 \x03(\v2\x16.xds.core.v3.CidrRangeR\x06rangesB\x85\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + + "\x06ranges\x18\x01 \x03(\v2\x16.xds.core.v3.CidrRangeR\x06ranges\x12!\n" + + "\finvert_match\x18\x02 \x01(\bR\vinvertMatchB\x85\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + "#io.envoyproxy.envoy.type.matcher.v3B\fAddressProtoP\x01ZFgithub.com/envoyproxy/go-control-plane/envoy/type/matcher/v3;matcherv3b\x06proto3" var ( diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address.pb.validate.go index fb3e9d1e..3e7dd4cb 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address.pb.validate.go @@ -92,6 +92,8 @@ func (m *AddressMatcher) validate(all bool) error { } + // no validation rules for InvertMatch + if len(errors) > 0 { return AddressMatcherMultiError(errors) } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address_vtproto.pb.go index 558850b9..8490394e 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/address_vtproto.pb.go @@ -49,6 +49,16 @@ func (m *AddressMatcher) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.InvertMatch { + i-- + if m.InvertMatch { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } if len(m.Ranges) > 0 { for iNdEx := len(m.Ranges) - 1; iNdEx >= 0; iNdEx-- { if vtmsg, ok := interface{}(m.Ranges[iNdEx]).(interface { @@ -94,6 +104,9 @@ func (m *AddressMatcher) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } + if m.InvertMatch { + n += 2 + } n += len(m.unknownFields) return n } diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/filter_state.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/filter_state.pb.go index bb1f4b28..5338a3e1 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/filter_state.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/filter_state.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/filter_state.proto package matcherv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/http_inputs.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/http_inputs.pb.go index 44be2c2a..fda083ad 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/http_inputs.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/http_inputs.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/http_inputs.proto package matcherv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/metadata.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/metadata.pb.go index 85d65197..58f55754 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/metadata.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/metadata.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/metadata.proto package matcherv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/node.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/node.pb.go index 6a18a846..0d284eb8 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/node.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/node.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/node.proto package matcherv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/number.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/number.pb.go index d32e1b0e..0b0097d9 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/number.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/number.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/number.proto package matcherv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/path.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/path.pb.go index 47d155cd..785ff5da 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/path.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/path.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/path.proto package matcherv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/regex.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/regex.pb.go index b273f121..61f18093 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/regex.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/regex.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/regex.proto package matcherv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input.pb.go index 5ee9becf..9bc80b96 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/status_code_input.proto package matcherv3 @@ -98,13 +98,59 @@ func (*HttpResponseStatusCodeClassMatchInput) Descriptor() ([]byte, []int) { return file_envoy_type_matcher_v3_status_code_input_proto_rawDescGZIP(), []int{1} } +// This match input determines whether the response is a local reply which gets +// generated by Envoy or a response from the upstream. +// +// The input string is “true“ for local replies and “false“ for the upstream +// responses. +// +// It can be used with the “custom_response“ filter to apply policies only to +// the Envoy generated local replies. +// [#extension: envoy.matching.inputs.local_reply] +type HttpResponseLocalReplyMatchInput struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HttpResponseLocalReplyMatchInput) Reset() { + *x = HttpResponseLocalReplyMatchInput{} + mi := &file_envoy_type_matcher_v3_status_code_input_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HttpResponseLocalReplyMatchInput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HttpResponseLocalReplyMatchInput) ProtoMessage() {} + +func (x *HttpResponseLocalReplyMatchInput) ProtoReflect() protoreflect.Message { + mi := &file_envoy_type_matcher_v3_status_code_input_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HttpResponseLocalReplyMatchInput.ProtoReflect.Descriptor instead. +func (*HttpResponseLocalReplyMatchInput) Descriptor() ([]byte, []int) { + return file_envoy_type_matcher_v3_status_code_input_proto_rawDescGZIP(), []int{2} +} + var File_envoy_type_matcher_v3_status_code_input_proto protoreflect.FileDescriptor const file_envoy_type_matcher_v3_status_code_input_proto_rawDesc = "" + "\n" + "-envoy/type/matcher/v3/status_code_input.proto\x12\x15envoy.type.matcher.v3\x1a\x1dudpa/annotations/status.proto\"\"\n" + " HttpResponseStatusCodeMatchInput\"'\n" + - "%HttpResponseStatusCodeClassMatchInputB\x8d\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + + "%HttpResponseStatusCodeClassMatchInput\"\"\n" + + " HttpResponseLocalReplyMatchInputB\x8d\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + "#io.envoyproxy.envoy.type.matcher.v3B\x14StatusCodeInputProtoP\x01ZFgithub.com/envoyproxy/go-control-plane/envoy/type/matcher/v3;matcherv3b\x06proto3" var ( @@ -119,10 +165,11 @@ func file_envoy_type_matcher_v3_status_code_input_proto_rawDescGZIP() []byte { return file_envoy_type_matcher_v3_status_code_input_proto_rawDescData } -var file_envoy_type_matcher_v3_status_code_input_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_envoy_type_matcher_v3_status_code_input_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_envoy_type_matcher_v3_status_code_input_proto_goTypes = []any{ (*HttpResponseStatusCodeMatchInput)(nil), // 0: envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput (*HttpResponseStatusCodeClassMatchInput)(nil), // 1: envoy.type.matcher.v3.HttpResponseStatusCodeClassMatchInput + (*HttpResponseLocalReplyMatchInput)(nil), // 2: envoy.type.matcher.v3.HttpResponseLocalReplyMatchInput } var file_envoy_type_matcher_v3_status_code_input_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -143,7 +190,7 @@ func file_envoy_type_matcher_v3_status_code_input_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_type_matcher_v3_status_code_input_proto_rawDesc), len(file_envoy_type_matcher_v3_status_code_input_proto_rawDesc)), NumEnums: 0, - NumMessages: 2, + NumMessages: 3, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input.pb.validate.go index 2b1a291a..0ebaaf90 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input.pb.validate.go @@ -245,3 +245,108 @@ var _ interface { Cause() error ErrorName() string } = HttpResponseStatusCodeClassMatchInputValidationError{} + +// Validate checks the field values on HttpResponseLocalReplyMatchInput with +// the rules defined in the proto definition for this message. If any rules +// are violated, the first error encountered is returned, or nil if there are +// no violations. +func (m *HttpResponseLocalReplyMatchInput) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on HttpResponseLocalReplyMatchInput with +// the rules defined in the proto definition for this message. If any rules +// are violated, the result is a list of violation errors wrapped in +// HttpResponseLocalReplyMatchInputMultiError, or nil if none found. +func (m *HttpResponseLocalReplyMatchInput) ValidateAll() error { + return m.validate(true) +} + +func (m *HttpResponseLocalReplyMatchInput) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return HttpResponseLocalReplyMatchInputMultiError(errors) + } + + return nil +} + +// HttpResponseLocalReplyMatchInputMultiError is an error wrapping multiple +// validation errors returned by +// HttpResponseLocalReplyMatchInput.ValidateAll() if the designated +// constraints aren't met. +type HttpResponseLocalReplyMatchInputMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m HttpResponseLocalReplyMatchInputMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m HttpResponseLocalReplyMatchInputMultiError) AllErrors() []error { return m } + +// HttpResponseLocalReplyMatchInputValidationError is the validation error +// returned by HttpResponseLocalReplyMatchInput.Validate if the designated +// constraints aren't met. +type HttpResponseLocalReplyMatchInputValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e HttpResponseLocalReplyMatchInputValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e HttpResponseLocalReplyMatchInputValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e HttpResponseLocalReplyMatchInputValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e HttpResponseLocalReplyMatchInputValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e HttpResponseLocalReplyMatchInputValidationError) ErrorName() string { + return "HttpResponseLocalReplyMatchInputValidationError" +} + +// Error satisfies the builtin error interface +func (e HttpResponseLocalReplyMatchInputValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sHttpResponseLocalReplyMatchInput.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = HttpResponseLocalReplyMatchInputValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = HttpResponseLocalReplyMatchInputValidationError{} diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input_vtproto.pb.go index 156377f5..513a709f 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input_vtproto.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/status_code_input_vtproto.pb.go @@ -83,6 +83,39 @@ func (m *HttpResponseStatusCodeClassMatchInput) MarshalToSizedBufferVTStrict(dAt return len(dAtA) - i, nil } +func (m *HttpResponseLocalReplyMatchInput) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *HttpResponseLocalReplyMatchInput) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *HttpResponseLocalReplyMatchInput) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + func (m *HttpResponseStatusCodeMatchInput) SizeVT() (n int) { if m == nil { return 0 @@ -102,3 +135,13 @@ func (m *HttpResponseStatusCodeClassMatchInput) SizeVT() (n int) { n += len(m.unknownFields) return n } + +func (m *HttpResponseLocalReplyMatchInput) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/string.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/string.pb.go index 9d447ac3..3dcd17a3 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/string.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/string.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/string.proto package matcherv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/struct.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/struct.pb.go index 6bc14d10..deb5fc8b 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/struct.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/struct.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/struct.proto package matcherv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/value.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/value.pb.go index e5c82307..4c9a4301 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/value.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3/value.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/matcher/v3/value.proto package matcherv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/metadata/v3/metadata.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/metadata/v3/metadata.pb.go index 58070a9d..13f35bef 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/metadata/v3/metadata.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/metadata/v3/metadata.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/metadata/v3/metadata.proto package metadatav3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/tracing/v3/custom_tag.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/tracing/v3/custom_tag.pb.go index 6d23e750..df2cbd07 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/tracing/v3/custom_tag.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/tracing/v3/custom_tag.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/tracing/v3/custom_tag.proto package tracingv3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/hash_policy.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/hash_policy.pb.go index 1d3a72a2..7efc7a7b 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/hash_policy.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/hash_policy.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/v3/hash_policy.proto package typev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/http.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/http.pb.go index 2cf11153..db7ebf39 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/http.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/http.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/v3/http.proto package typev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/http_status.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/http_status.pb.go index eb244bc7..91b9ed3c 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/http_status.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/http_status.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/v3/http_status.proto package typev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/percent.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/percent.pb.go index 9b9bb1d9..51fdc612 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/percent.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/percent.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/v3/percent.proto package typev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/range.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/range.pb.go index 0f841305..b13da29a 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/range.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/range.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/v3/range.proto package typev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/ratelimit_strategy.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/ratelimit_strategy.pb.go index b574dfce..0eb44645 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/ratelimit_strategy.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/ratelimit_strategy.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/v3/ratelimit_strategy.proto package typev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/ratelimit_unit.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/ratelimit_unit.pb.go index 61520783..2b233a79 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/ratelimit_unit.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/ratelimit_unit.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/v3/ratelimit_unit.proto package typev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/scope.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/scope.pb.go new file mode 100644 index 00000000..b5e367df --- /dev/null +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/scope.pb.go @@ -0,0 +1,192 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc v7.35.1 +// source: envoy/type/v3/scope.proto + +package typev3 + +import ( + _ "github.com/cncf/xds/go/udpa/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Stats scope configuration. +// This configuration can be used to create a singleton scope that is shared +// across multiple instances within the process. +// [#next-free-field: 7] +type Scope struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Max number of counters allowed in this scope. + MaxCounters *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=max_counters,json=maxCounters,proto3" json:"max_counters,omitempty"` + // Max number of gauges allowed in this scope. + MaxGauges *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=max_gauges,json=maxGauges,proto3" json:"max_gauges,omitempty"` + // Max number of histograms allowed in this scope. + MaxHistograms *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=max_histograms,json=maxHistograms,proto3" json:"max_histograms,omitempty"` + // Whether the scope and its stats can be evicted from the store caches. + // The eviction policy is a mark-and-sweep approach where stats are evicted + // if they are not updated or accessed between two successive eviction sweeps. + // The eviction will happen only if the :ref:`stats_eviction_interval ` is configured in + // the bootstrap. + EnableEviction bool `protobuf:"varint,4,opt,name=enable_eviction,json=enableEviction,proto3" json:"enable_eviction,omitempty"` + // The stats scope prefix. + Prefix string `protobuf:"bytes,5,opt,name=prefix,proto3" json:"prefix,omitempty"` + // The sharing name of the scope. If non-empty, the scope is shared across + // multiple instances with the same sharing_name if all fields in this message + // have the same values. + SharingName string `protobuf:"bytes,6,opt,name=sharing_name,json=sharingName,proto3" json:"sharing_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Scope) Reset() { + *x = Scope{} + mi := &file_envoy_type_v3_scope_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Scope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Scope) ProtoMessage() {} + +func (x *Scope) ProtoReflect() protoreflect.Message { + mi := &file_envoy_type_v3_scope_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Scope.ProtoReflect.Descriptor instead. +func (*Scope) Descriptor() ([]byte, []int) { + return file_envoy_type_v3_scope_proto_rawDescGZIP(), []int{0} +} + +func (x *Scope) GetMaxCounters() *wrapperspb.UInt32Value { + if x != nil { + return x.MaxCounters + } + return nil +} + +func (x *Scope) GetMaxGauges() *wrapperspb.UInt32Value { + if x != nil { + return x.MaxGauges + } + return nil +} + +func (x *Scope) GetMaxHistograms() *wrapperspb.UInt32Value { + if x != nil { + return x.MaxHistograms + } + return nil +} + +func (x *Scope) GetEnableEviction() bool { + if x != nil { + return x.EnableEviction + } + return false +} + +func (x *Scope) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *Scope) GetSharingName() string { + if x != nil { + return x.SharingName + } + return "" +} + +var File_envoy_type_v3_scope_proto protoreflect.FileDescriptor + +const file_envoy_type_v3_scope_proto_rawDesc = "" + + "\n" + + "\x19envoy/type/v3/scope.proto\x12\renvoy.type.v3\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1dudpa/annotations/status.proto\"\xae\x02\n" + + "\x05Scope\x12?\n" + + "\fmax_counters\x18\x01 \x01(\v2\x1c.google.protobuf.UInt32ValueR\vmaxCounters\x12;\n" + + "\n" + + "max_gauges\x18\x02 \x01(\v2\x1c.google.protobuf.UInt32ValueR\tmaxGauges\x12C\n" + + "\x0emax_histograms\x18\x03 \x01(\v2\x1c.google.protobuf.UInt32ValueR\rmaxHistograms\x12'\n" + + "\x0fenable_eviction\x18\x04 \x01(\bR\x0eenableEviction\x12\x16\n" + + "\x06prefix\x18\x05 \x01(\tR\x06prefix\x12!\n" + + "\fsharing_name\x18\x06 \x01(\tR\vsharingNameBp\xba\x80\xc8\xd1\x06\x02\x10\x02\n" + + "\x1bio.envoyproxy.envoy.type.v3B\n" + + "ScopeProtoP\x01Z;github.com/envoyproxy/go-control-plane/envoy/type/v3;typev3b\x06proto3" + +var ( + file_envoy_type_v3_scope_proto_rawDescOnce sync.Once + file_envoy_type_v3_scope_proto_rawDescData []byte +) + +func file_envoy_type_v3_scope_proto_rawDescGZIP() []byte { + file_envoy_type_v3_scope_proto_rawDescOnce.Do(func() { + file_envoy_type_v3_scope_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_envoy_type_v3_scope_proto_rawDesc), len(file_envoy_type_v3_scope_proto_rawDesc))) + }) + return file_envoy_type_v3_scope_proto_rawDescData +} + +var file_envoy_type_v3_scope_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_type_v3_scope_proto_goTypes = []any{ + (*Scope)(nil), // 0: envoy.type.v3.Scope + (*wrapperspb.UInt32Value)(nil), // 1: google.protobuf.UInt32Value +} +var file_envoy_type_v3_scope_proto_depIdxs = []int32{ + 1, // 0: envoy.type.v3.Scope.max_counters:type_name -> google.protobuf.UInt32Value + 1, // 1: envoy.type.v3.Scope.max_gauges:type_name -> google.protobuf.UInt32Value + 1, // 2: envoy.type.v3.Scope.max_histograms:type_name -> google.protobuf.UInt32Value + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_envoy_type_v3_scope_proto_init() } +func file_envoy_type_v3_scope_proto_init() { + if File_envoy_type_v3_scope_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_type_v3_scope_proto_rawDesc), len(file_envoy_type_v3_scope_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_type_v3_scope_proto_goTypes, + DependencyIndexes: file_envoy_type_v3_scope_proto_depIdxs, + MessageInfos: file_envoy_type_v3_scope_proto_msgTypes, + }.Build() + File_envoy_type_v3_scope_proto = out.File + file_envoy_type_v3_scope_proto_goTypes = nil + file_envoy_type_v3_scope_proto_depIdxs = nil +} diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/scope.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/scope.pb.validate.go new file mode 100644 index 00000000..7bd70b97 --- /dev/null +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/scope.pb.validate.go @@ -0,0 +1,228 @@ +//go:build !disable_pgv +// Code generated by protoc-gen-validate. DO NOT EDIT. +// source: envoy/type/v3/scope.proto + +package typev3 + +import ( + "bytes" + "errors" + "fmt" + "net" + "net/mail" + "net/url" + "regexp" + "sort" + "strings" + "time" + "unicode/utf8" + + "google.golang.org/protobuf/types/known/anypb" +) + +// ensure the imports are used +var ( + _ = bytes.MinRead + _ = errors.New("") + _ = fmt.Print + _ = utf8.UTFMax + _ = (*regexp.Regexp)(nil) + _ = (*strings.Reader)(nil) + _ = net.IPv4len + _ = time.Duration(0) + _ = (*url.URL)(nil) + _ = (*mail.Address)(nil) + _ = anypb.Any{} + _ = sort.Sort +) + +// Validate checks the field values on Scope with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *Scope) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on Scope with the rules defined in the +// proto definition for this message. If any rules are violated, the result is +// a list of violation errors wrapped in ScopeMultiError, or nil if none found. +func (m *Scope) ValidateAll() error { + return m.validate(true) +} + +func (m *Scope) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetMaxCounters()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ScopeValidationError{ + field: "MaxCounters", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ScopeValidationError{ + field: "MaxCounters", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetMaxCounters()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ScopeValidationError{ + field: "MaxCounters", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetMaxGauges()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ScopeValidationError{ + field: "MaxGauges", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ScopeValidationError{ + field: "MaxGauges", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetMaxGauges()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ScopeValidationError{ + field: "MaxGauges", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetMaxHistograms()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ScopeValidationError{ + field: "MaxHistograms", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ScopeValidationError{ + field: "MaxHistograms", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetMaxHistograms()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ScopeValidationError{ + field: "MaxHistograms", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for EnableEviction + + // no validation rules for Prefix + + // no validation rules for SharingName + + if len(errors) > 0 { + return ScopeMultiError(errors) + } + + return nil +} + +// ScopeMultiError is an error wrapping multiple validation errors returned by +// Scope.ValidateAll() if the designated constraints aren't met. +type ScopeMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ScopeMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ScopeMultiError) AllErrors() []error { return m } + +// ScopeValidationError is the validation error returned by Scope.Validate if +// the designated constraints aren't met. +type ScopeValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ScopeValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ScopeValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ScopeValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ScopeValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ScopeValidationError) ErrorName() string { return "ScopeValidationError" } + +// Error satisfies the builtin error interface +func (e ScopeValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sScope.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ScopeValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ScopeValidationError{} diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/scope_vtproto.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/scope_vtproto.pb.go new file mode 100644 index 00000000..07375648 --- /dev/null +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/scope_vtproto.pb.go @@ -0,0 +1,140 @@ +//go:build vtprotobuf +// +build vtprotobuf + +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// source: envoy/type/v3/scope.proto + +package typev3 + +import ( + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *Scope) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Scope) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Scope) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.SharingName) > 0 { + i -= len(m.SharingName) + copy(dAtA[i:], m.SharingName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SharingName))) + i-- + dAtA[i] = 0x32 + } + if len(m.Prefix) > 0 { + i -= len(m.Prefix) + copy(dAtA[i:], m.Prefix) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Prefix))) + i-- + dAtA[i] = 0x2a + } + if m.EnableEviction { + i-- + if m.EnableEviction { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.MaxHistograms != nil { + size, err := (*wrapperspb.UInt32Value)(m.MaxHistograms).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.MaxGauges != nil { + size, err := (*wrapperspb.UInt32Value)(m.MaxGauges).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.MaxCounters != nil { + size, err := (*wrapperspb.UInt32Value)(m.MaxCounters).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Scope) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MaxCounters != nil { + l = (*wrapperspb.UInt32Value)(m.MaxCounters).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MaxGauges != nil { + l = (*wrapperspb.UInt32Value)(m.MaxGauges).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MaxHistograms != nil { + l = (*wrapperspb.UInt32Value)(m.MaxHistograms).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.EnableEviction { + n += 2 + } + l = len(m.Prefix) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.SharingName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/semantic_version.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/semantic_version.pb.go index eb2b18d2..74db9451 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/semantic_version.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/semantic_version.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/v3/semantic_version.proto package typev3 diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/token_bucket.pb.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/token_bucket.pb.go index 31b2589a..ac7b87f2 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/token_bucket.pb.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/token_bucket.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v6.33.2 +// protoc v7.35.1 // source: envoy/type/v3/token_bucket.proto package typev3 @@ -29,7 +29,8 @@ const ( type TokenBucket struct { state protoimpl.MessageState `protogen:"open.v1"` // The maximum tokens that the bucket can hold. This is also the number of tokens that the bucket - // initially contains. + // initially contains. A value of 0 means the bucket will always be empty and all requests will + // be rate limited (i.e., always reject). MaxTokens uint32 `protobuf:"varint,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"` // The number of tokens added to the bucket during each fill interval. If not specified, defaults // to a single token. @@ -100,7 +101,7 @@ const file_envoy_type_v3_token_bucket_proto_rawDesc = "" + " envoy/type/v3/token_bucket.proto\x12\renvoy.type.v3\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xef\x01\n" + "\vTokenBucket\x12&\n" + "\n" + - "max_tokens\x18\x01 \x01(\rB\a\xfaB\x04*\x02 \x00R\tmaxTokens\x12M\n" + + "max_tokens\x18\x01 \x01(\rB\a\xfaB\x04*\x02(\x00R\tmaxTokens\x12M\n" + "\x0ftokens_per_fill\x18\x02 \x01(\v2\x1c.google.protobuf.UInt32ValueB\a\xfaB\x04*\x02 \x00R\rtokensPerFill\x12J\n" + "\rfill_interval\x18\x03 \x01(\v2\x19.google.protobuf.DurationB\n" + "\xfaB\a\xaa\x01\x04\b\x01*\x00R\ffillInterval:\x1d\x9aň\x1e\x18\n" + diff --git a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/token_bucket.pb.validate.go b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/token_bucket.pb.validate.go index 86f6c721..8bd460de 100644 --- a/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/token_bucket.pb.validate.go +++ b/vendor/github.com/envoyproxy/go-control-plane/envoy/type/v3/token_bucket.pb.validate.go @@ -58,10 +58,10 @@ func (m *TokenBucket) validate(all bool) error { var errors []error - if m.GetMaxTokens() <= 0 { + if m.GetMaxTokens() < 0 { err := TokenBucketValidationError{ field: "MaxTokens", - reason: "value must be greater than 0", + reason: "value must be greater than or equal to 0", } if !all { return err diff --git a/vendor/modules.txt b/vendor/modules.txt index a049ce69..10eaff1f 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -314,8 +314,8 @@ github.com/envoyproxy/go-control-plane/pkg/server/rest/v3 github.com/envoyproxy/go-control-plane/pkg/server/sotw/v3 github.com/envoyproxy/go-control-plane/pkg/server/stream/v3 github.com/envoyproxy/go-control-plane/pkg/server/v3 -# github.com/envoyproxy/go-control-plane/envoy v1.37.0 -## explicit; go 1.24.0 +# github.com/envoyproxy/go-control-plane/envoy v1.39.0 +## explicit; go 1.25.0 github.com/envoyproxy/go-control-plane/envoy/admin/v3 github.com/envoyproxy/go-control-plane/envoy/annotations github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3