From 173051fe431370f8bd560384e5a633cea37b607f Mon Sep 17 00:00:00 2001 From: Bhasker Hariharan Date: Wed, 14 Jan 2026 06:22:53 +0000 Subject: [PATCH 1/4] Add exportToSelectors field to networking resources Add label selector support to export_to field for ServiceEntry, VirtualService, and DestinationRule. This allows resources to be dynamically exported to namespaces matching label selectors without knowing namespace names in advance. Related to istio/istio#50661 --- networking/v1alpha3/destination_rule.proto | 34 ++++++++++++++++++++++ networking/v1alpha3/service_entry.proto | 33 +++++++++++++++++++++ networking/v1alpha3/virtual_service.proto | 31 ++++++++++++++++++++ 3 files changed, 98 insertions(+) diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index d2589a87aa..df2fcc8ca3 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -119,6 +119,7 @@ package istio.networking.v1alpha3; import "google/api/field_behavior.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/wrappers.proto"; +import "mesh/v1alpha1/config.proto"; import "networking/v1alpha3/virtual_service.proto"; import "type/v1beta1/selector.proto"; @@ -191,6 +192,39 @@ message DestinationRule { // the destination rule is declared in. Similarly, the value "*" is reserved and // defines an export to all namespaces. repeated string export_to = 4; + + // A list of label selectors to dynamically select namespaces to which this + // destination rule is exported. Each selector can match namespaces based on their labels. + // This provides a mechanism for service owners and mesh administrators to control + // the visibility of destination rules across namespace boundaries without knowing namespace + // names in advance. + // + // For example, to export to all namespaces with a specific label: + // ```yaml + // exportToSelectors: + // - matchLabels: + // mesh: enabled + // ``` + // + // Or using match expressions for more complex selection: + // ```yaml + // exportToSelectors: + // - matchExpressions: + // - key: environment + // operator: In + // values: [production, staging] + // ``` + // + // When both export_to and export_to_selectors are specified, the destination rule is + // exported to the union of all matched namespaces. If neither is specified, + // the destination rule is exported to all namespaces by default. + // + // **Note:** Using "*" in export_to makes export_to_selectors redundant as + // the destination rule would already be visible to all namespaces. + // + // **Note:** DestinationRule with workload_selector cannot use export_to_selectors + // and must only export to the current namespace ("."). + repeated istio.mesh.v1alpha1.LabelSelector export_to_selectors = 6; // // Criteria used to select the specific set of pods/VMs on which this // `DestinationRule` configuration should be applied. If specified, the `DestinationRule` diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index 883e74498b..6f8b3e2353 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -399,6 +399,7 @@ package istio.networking.v1alpha3; import "analysis/v1alpha1/message.proto"; import "google/api/field_behavior.proto"; +import "mesh/v1alpha1/config.proto"; import "meta/v1alpha1/status.proto"; import "networking/v1alpha3/sidecar.proto"; import "networking/v1alpha3/workload_entry.proto"; @@ -621,6 +622,38 @@ message ServiceEntry { // **Note:** Ztunnel and Waypoint proxies not support this field and will read it at "*". repeated string export_to = 7; + // A list of label selectors to dynamically select namespaces to which this + // service is exported. Each selector can match namespaces based on their labels. + // This provides a mechanism for service owners and mesh administrators to control + // the visibility of services across namespace boundaries without knowing namespace + // names in advance. + // + // For example, to export to all namespaces with a specific label: + // ```yaml + // exportToSelectors: + // - matchLabels: + // mesh: enabled + // ``` + // + // Or using match expressions for more complex selection: + // ```yaml + // exportToSelectors: + // - matchExpressions: + // - key: environment + // operator: In + // values: [production, staging] + // ``` + // + // When both export_to and export_to_selectors are specified, the service is + // exported to the union of all matched namespaces. If neither is specified, + // the service is exported to all namespaces by default. + // + // **Note:** Using "*" in export_to makes export_to_selectors redundant as + // the service would already be visible to all namespaces. + // + // **Note:** Ztunnel and Waypoint proxies do not support this field. + repeated istio.mesh.v1alpha1.LabelSelector export_to_selectors = 10; + // If specified, the proxy will verify that the server certificate's // subject alternate name matches one of the specified values. // diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index d81ad2d72c..e2bfecfedc 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -116,6 +116,7 @@ package istio.networking.v1alpha3; import "google/api/field_behavior.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/wrappers.proto"; +import "mesh/v1alpha1/config.proto"; option go_package = "istio.io/api/networking/v1alpha3"; @@ -228,6 +229,36 @@ message VirtualService { // the virtual service is declared in. Similarly the value "*" is reserved and // defines an export to all namespaces. repeated string export_to = 6; + + // A list of label selectors to dynamically select namespaces to which this + // virtual service is exported. Each selector can match namespaces based on their labels. + // This provides a mechanism for service owners and mesh administrators to control + // the visibility of virtual services across namespace boundaries without knowing namespace + // names in advance. + // + // For example, to export to all namespaces with a specific label: + // ```yaml + // exportToSelectors: + // - matchLabels: + // mesh: enabled + // ``` + // + // Or using match expressions for more complex selection: + // ```yaml + // exportToSelectors: + // - matchExpressions: + // - key: environment + // operator: In + // values: [production, staging] + // ``` + // + // When both export_to and export_to_selectors are specified, the virtual service is + // exported to the union of all matched namespaces. If neither is specified, + // the virtual service is exported to all namespaces by default. + // + // **Note:** Using "*" in export_to makes export_to_selectors redundant as + // the virtual service would already be visible to all namespaces. + repeated istio.mesh.v1alpha1.LabelSelector export_to_selectors = 7; } // Destination indicates the network addressable service to which the From 8b8693e30a0e505b6988d56199e29db707fec7ee Mon Sep 17 00:00:00 2001 From: Bhasker Hariharan Date: Wed, 14 Jan 2026 06:55:14 +0000 Subject: [PATCH 2/4] Refactor LabelSelector to type/v1beta1 and keep in mesh/v1alpha1 for backward compatibility - Add LabelSelector to type/v1beta1/selector.proto for networking resources - Keep LabelSelector in mesh/v1alpha1/config.proto for MeshConfig fields - This maintains backward compatibility with existing code using meshconfig.LabelSelector - New networking resources (VirtualService, DestinationRule, ServiceEntry) use istio.type.v1beta1.LabelSelector --- kubernetes/customresourcedefinitions.gen.yaml | 279 ++++++++ mesh/v1alpha1/config.pb.go | 633 +++++++----------- mesh/v1alpha1/config_json.gen.go | 22 - mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 124 ++-- networking/v1alpha3/destination_rule.pb.go | 172 +++-- networking/v1alpha3/destination_rule.pb.html | 32 + networking/v1alpha3/destination_rule.proto | 3 +- networking/v1alpha3/service_entry.pb.go | 79 ++- networking/v1alpha3/service_entry.pb.html | 31 + networking/v1alpha3/service_entry.proto | 4 +- networking/v1alpha3/virtual_service.pb.go | 186 +++-- networking/v1alpha3/virtual_service.pb.html | 30 + networking/v1alpha3/virtual_service.proto | 4 +- type/v1beta1/selector.pb.go | 183 ++++- type/v1beta1/selector.pb.html | 87 ++- type/v1beta1/selector.proto | 36 + type/v1beta1/selector_deepcopy.gen.go | 42 ++ type/v1beta1/selector_json.gen.go | 22 + 18 files changed, 1294 insertions(+), 675 deletions(-) diff --git a/kubernetes/customresourcedefinitions.gen.yaml b/kubernetes/customresourcedefinitions.gen.yaml index 2055db0036..70c0d5363e 100644 --- a/kubernetes/customresourcedefinitions.gen.yaml +++ b/kubernetes/customresourcedefinitions.gen.yaml @@ -412,6 +412,37 @@ spec: items: type: string type: array + exportToSelectors: + description: A list of label selectors to dynamically select namespaces + to which this destination rule is exported. + items: + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + items: + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. + type: string + values: + description: values is an array of string values. + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + type: object + type: object + type: array host: description: The name of a service from the service registry. type: string @@ -2413,6 +2444,37 @@ spec: items: type: string type: array + exportToSelectors: + description: A list of label selectors to dynamically select namespaces + to which this destination rule is exported. + items: + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + items: + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. + type: string + values: + description: values is an array of string values. + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + type: object + type: object + type: array host: description: The name of a service from the service registry. type: string @@ -4414,6 +4476,37 @@ spec: items: type: string type: array + exportToSelectors: + description: A list of label selectors to dynamically select namespaces + to which this destination rule is exported. + items: + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + items: + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. + type: string + values: + description: values is an array of string values. + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + type: object + type: object + type: array host: description: The name of a service from the service registry. type: string @@ -7974,6 +8067,37 @@ spec: items: type: string type: array + exportToSelectors: + description: A list of label selectors to dynamically select namespaces + to which this service is exported. + items: + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + items: + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. + type: string + values: + description: values is an array of string values. + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + type: object + type: object + type: array hosts: description: The hosts associated with the ServiceEntry. items: @@ -8273,6 +8397,37 @@ spec: items: type: string type: array + exportToSelectors: + description: A list of label selectors to dynamically select namespaces + to which this service is exported. + items: + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + items: + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. + type: string + values: + description: values is an array of string values. + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + type: object + type: object + type: array hosts: description: The hosts associated with the ServiceEntry. items: @@ -8572,6 +8727,37 @@ spec: items: type: string type: array + exportToSelectors: + description: A list of label selectors to dynamically select namespaces + to which this service is exported. + items: + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + items: + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. + type: string + values: + description: values is an array of string values. + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + type: object + type: object + type: array hosts: description: The hosts associated with the ServiceEntry. items: @@ -10580,6 +10766,37 @@ spec: items: type: string type: array + exportToSelectors: + description: A list of label selectors to dynamically select namespaces + to which this virtual service is exported. + items: + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + items: + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. + type: string + values: + description: values is an array of string values. + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + type: object + type: object + type: array gateways: description: The names of gateways and sidecars that should apply these routes. @@ -11632,6 +11849,37 @@ spec: items: type: string type: array + exportToSelectors: + description: A list of label selectors to dynamically select namespaces + to which this virtual service is exported. + items: + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + items: + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. + type: string + values: + description: values is an array of string values. + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + type: object + type: object + type: array gateways: description: The names of gateways and sidecars that should apply these routes. @@ -12684,6 +12932,37 @@ spec: items: type: string type: array + exportToSelectors: + description: A list of label selectors to dynamically select namespaces + to which this virtual service is exported. + items: + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + items: + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. + type: string + values: + description: values is an array of string values. + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + type: object + type: object + type: array gateways: description: The names of gateways and sidecars that should apply these routes. diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 16c6520b15..47d9a7d156 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -35,6 +35,7 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" v1alpha3 "istio.io/api/networking/v1alpha3" + v1beta1 "istio.io/api/type/v1beta1" reflect "reflect" sync "sync" unsafe "unsafe" @@ -1001,7 +1002,7 @@ type MeshConfig struct { // ``` // Refer to the [Kubernetes selector docs](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors) // for additional detail on selector semantics. - DiscoverySelectors []*LabelSelector `protobuf:"bytes,59,rep,name=discovery_selectors,json=discoverySelectors,proto3" json:"discovery_selectors,omitempty"` + DiscoverySelectors []*v1beta1.LabelSelector `protobuf:"bytes,59,rep,name=discovery_selectors,json=discoverySelectors,proto3" json:"discovery_selectors,omitempty"` // ProxyPathNormalization configures how URL paths in incoming and outgoing HTTP requests are // normalized by the sidecars and gateways. // The normalized paths will be used in all aspects through the requests' lifetime on the @@ -1373,7 +1374,7 @@ func (x *MeshConfig) GetDefaultProviders() *MeshConfig_DefaultProviders { return nil } -func (x *MeshConfig) GetDiscoverySelectors() []*LabelSelector { +func (x *MeshConfig) GetDiscoverySelectors() []*v1beta1.LabelSelector { if x != nil { return x.DiscoverySelectors } @@ -1408,140 +1409,6 @@ func (x *MeshConfig) GetTlsDefaults() *MeshConfig_TLSConfig { return nil } -// A label selector requirement is a selector that contains values, a key, and an operator that -// relates the key and values. -// Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries. -type LabelSelector struct { - state protoimpl.MessageState `protogen:"open.v1"` - // matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - // map is equivalent to an element of matchExpressions, whose key field is "key", the - // operator is "In", and the values array contains only "value". The requirements are ANDed. - // +optional - MatchLabels map[string]string `protobuf:"bytes,1,rep,name=matchLabels,proto3" json:"matchLabels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - // matchExpressions is a list of label selector requirements. The requirements are ANDed. - // +optional - MatchExpressions []*LabelSelectorRequirement `protobuf:"bytes,2,rep,name=matchExpressions,proto3" json:"matchExpressions,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LabelSelector) Reset() { - *x = LabelSelector{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LabelSelector) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LabelSelector) ProtoMessage() {} - -func (x *LabelSelector) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_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 LabelSelector.ProtoReflect.Descriptor instead. -func (*LabelSelector) Descriptor() ([]byte, []int) { - return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{1} -} - -func (x *LabelSelector) GetMatchLabels() map[string]string { - if x != nil { - return x.MatchLabels - } - return nil -} - -func (x *LabelSelector) GetMatchExpressions() []*LabelSelectorRequirement { - if x != nil { - return x.MatchExpressions - } - return nil -} - -// A label selector requirement is a selector that contains values, a key, and an operator that -// relates the key and values. -// Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries. -type LabelSelectorRequirement struct { - state protoimpl.MessageState `protogen:"open.v1"` - // key is the label key that the selector applies to. - // +patchMergeKey=key - // +patchStrategy=merge - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - // operator represents a key's relationship to a set of values. - // Valid operators are In, NotIn, Exists and DoesNotExist. - Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"` - // values is an array of string values. If the operator is In or NotIn, - // the values array must be non-empty. If the operator is Exists or DoesNotExist, - // the values array must be empty. This array is replaced during a strategic - // merge patch. - // +optional - Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *LabelSelectorRequirement) Reset() { - *x = LabelSelectorRequirement{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *LabelSelectorRequirement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LabelSelectorRequirement) ProtoMessage() {} - -func (x *LabelSelectorRequirement) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_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 LabelSelectorRequirement.ProtoReflect.Descriptor instead. -func (*LabelSelectorRequirement) Descriptor() ([]byte, []int) { - return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{2} -} - -func (x *LabelSelectorRequirement) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -func (x *LabelSelectorRequirement) GetOperator() string { - if x != nil { - return x.Operator - } - return "" -} - -func (x *LabelSelectorRequirement) GetValues() []string { - if x != nil { - return x.Values - } - return nil -} - // ConfigSource describes information about a configuration store inside a // mesh. A single control plane instance can interact with one or more data // sources. @@ -1564,7 +1431,7 @@ type ConfigSource struct { func (x *ConfigSource) Reset() { *x = ConfigSource{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[3] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1576,7 +1443,7 @@ func (x *ConfigSource) String() string { func (*ConfigSource) ProtoMessage() {} func (x *ConfigSource) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[3] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1589,7 +1456,7 @@ func (x *ConfigSource) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigSource.ProtoReflect.Descriptor instead. func (*ConfigSource) Descriptor() ([]byte, []int) { - return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{3} + return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{1} } func (x *ConfigSource) GetAddress() string { @@ -1650,7 +1517,7 @@ type Certificate struct { func (x *Certificate) Reset() { *x = Certificate{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[4] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1662,7 +1529,7 @@ func (x *Certificate) String() string { func (*Certificate) ProtoMessage() {} func (x *Certificate) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[4] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1675,7 +1542,7 @@ func (x *Certificate) ProtoReflect() protoreflect.Message { // Deprecated: Use Certificate.ProtoReflect.Descriptor instead. func (*Certificate) Descriptor() ([]byte, []int) { - return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{4} + return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{2} } func (x *Certificate) GetSecretName() string { @@ -1703,7 +1570,7 @@ type MeshConfig_OutboundTrafficPolicy struct { func (x *MeshConfig_OutboundTrafficPolicy) Reset() { *x = MeshConfig_OutboundTrafficPolicy{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[5] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1715,7 +1582,7 @@ func (x *MeshConfig_OutboundTrafficPolicy) String() string { func (*MeshConfig_OutboundTrafficPolicy) ProtoMessage() {} func (x *MeshConfig_OutboundTrafficPolicy) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[5] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1747,7 +1614,7 @@ type MeshConfig_InboundTrafficPolicy struct { func (x *MeshConfig_InboundTrafficPolicy) Reset() { *x = MeshConfig_InboundTrafficPolicy{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[6] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1759,7 +1626,7 @@ func (x *MeshConfig_InboundTrafficPolicy) String() string { func (*MeshConfig_InboundTrafficPolicy) ProtoMessage() {} func (x *MeshConfig_InboundTrafficPolicy) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[6] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1809,7 +1676,7 @@ type MeshConfig_CertificateData struct { func (x *MeshConfig_CertificateData) Reset() { *x = MeshConfig_CertificateData{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[7] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1821,7 +1688,7 @@ func (x *MeshConfig_CertificateData) String() string { func (*MeshConfig_CertificateData) ProtoMessage() {} func (x *MeshConfig_CertificateData) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[7] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1936,7 +1803,7 @@ type MeshConfig_ServiceSettings struct { func (x *MeshConfig_ServiceSettings) Reset() { *x = MeshConfig_ServiceSettings{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[8] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1948,7 +1815,7 @@ func (x *MeshConfig_ServiceSettings) String() string { func (*MeshConfig_ServiceSettings) ProtoMessage() {} func (x *MeshConfig_ServiceSettings) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[8] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2009,9 +1876,9 @@ func (x *MeshConfig_ServiceSettings) GetHosts() []string { type MeshConfig_ServiceScopeConfigs struct { state protoimpl.MessageState `protogen:"open.v1"` // Match expression for namespaces. - NamespaceSelector *LabelSelector `protobuf:"bytes,1,opt,name=namespace_selector,json=namespaceSelector,proto3" json:"namespace_selector,omitempty"` + NamespaceSelector *v1beta1.LabelSelector `protobuf:"bytes,1,opt,name=namespace_selector,json=namespaceSelector,proto3" json:"namespace_selector,omitempty"` // Match expression for serivces. - ServicesSelector *LabelSelector `protobuf:"bytes,2,opt,name=services_selector,json=servicesSelector,proto3" json:"services_selector,omitempty"` + ServicesSelector *v1beta1.LabelSelector `protobuf:"bytes,2,opt,name=services_selector,json=servicesSelector,proto3" json:"services_selector,omitempty"` // Specifics the available scope for matching services. Scope MeshConfig_ServiceScopeConfigs_Scope `protobuf:"varint,3,opt,name=scope,proto3,enum=istio.mesh.v1alpha1.MeshConfig_ServiceScopeConfigs_Scope" json:"scope,omitempty"` unknownFields protoimpl.UnknownFields @@ -2020,7 +1887,7 @@ type MeshConfig_ServiceScopeConfigs struct { func (x *MeshConfig_ServiceScopeConfigs) Reset() { *x = MeshConfig_ServiceScopeConfigs{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[9] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2032,7 +1899,7 @@ func (x *MeshConfig_ServiceScopeConfigs) String() string { func (*MeshConfig_ServiceScopeConfigs) ProtoMessage() {} func (x *MeshConfig_ServiceScopeConfigs) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[9] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2048,14 +1915,14 @@ func (*MeshConfig_ServiceScopeConfigs) Descriptor() ([]byte, []int) { return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{0, 4} } -func (x *MeshConfig_ServiceScopeConfigs) GetNamespaceSelector() *LabelSelector { +func (x *MeshConfig_ServiceScopeConfigs) GetNamespaceSelector() *v1beta1.LabelSelector { if x != nil { return x.NamespaceSelector } return nil } -func (x *MeshConfig_ServiceScopeConfigs) GetServicesSelector() *LabelSelector { +func (x *MeshConfig_ServiceScopeConfigs) GetServicesSelector() *v1beta1.LabelSelector { if x != nil { return x.ServicesSelector } @@ -2095,7 +1962,7 @@ type MeshConfig_CA struct { func (x *MeshConfig_CA) Reset() { *x = MeshConfig_CA{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[10] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2107,7 +1974,7 @@ func (x *MeshConfig_CA) String() string { func (*MeshConfig_CA) ProtoMessage() {} func (x *MeshConfig_CA) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[10] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2181,7 +2048,7 @@ type MeshConfig_ExtensionProvider struct { func (x *MeshConfig_ExtensionProvider) Reset() { *x = MeshConfig_ExtensionProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[11] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2193,7 +2060,7 @@ func (x *MeshConfig_ExtensionProvider) String() string { func (*MeshConfig_ExtensionProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[11] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2500,7 +2367,7 @@ type MeshConfig_DefaultProviders struct { func (x *MeshConfig_DefaultProviders) Reset() { *x = MeshConfig_DefaultProviders{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[12] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2512,7 +2379,7 @@ func (x *MeshConfig_DefaultProviders) String() string { func (*MeshConfig_DefaultProviders) ProtoMessage() {} func (x *MeshConfig_DefaultProviders) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[12] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2558,7 +2425,7 @@ type MeshConfig_ProxyPathNormalization struct { func (x *MeshConfig_ProxyPathNormalization) Reset() { *x = MeshConfig_ProxyPathNormalization{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[13] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2570,7 +2437,7 @@ func (x *MeshConfig_ProxyPathNormalization) String() string { func (*MeshConfig_ProxyPathNormalization) ProtoMessage() {} func (x *MeshConfig_ProxyPathNormalization) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[13] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2623,7 +2490,7 @@ type MeshConfig_TLSConfig struct { func (x *MeshConfig_TLSConfig) Reset() { *x = MeshConfig_TLSConfig{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[14] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2635,7 +2502,7 @@ func (x *MeshConfig_TLSConfig) String() string { func (*MeshConfig_TLSConfig) ProtoMessage() {} func (x *MeshConfig_TLSConfig) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[14] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2699,7 +2566,7 @@ type MeshConfig_ServiceSettings_Settings struct { func (x *MeshConfig_ServiceSettings_Settings) Reset() { *x = MeshConfig_ServiceSettings_Settings{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[15] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2711,7 +2578,7 @@ func (x *MeshConfig_ServiceSettings_Settings) String() string { func (*MeshConfig_ServiceSettings_Settings) ProtoMessage() {} func (x *MeshConfig_ServiceSettings_Settings) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[15] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2758,7 +2625,7 @@ type MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody struct { func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[16] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2770,7 +2637,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody) Str func (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[16] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2906,7 +2773,7 @@ type MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider struct func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[17] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2918,7 +2785,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider) St func (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[17] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3067,7 +2934,7 @@ type MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider struct func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[18] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3079,7 +2946,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider) St func (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[18] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3181,7 +3048,7 @@ type MeshConfig_ExtensionProvider_ZipkinTracingProvider struct { func (x *MeshConfig_ExtensionProvider_ZipkinTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_ZipkinTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[19] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3193,7 +3060,7 @@ func (x *MeshConfig_ExtensionProvider_ZipkinTracingProvider) String() string { func (*MeshConfig_ExtensionProvider_ZipkinTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_ZipkinTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[19] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3290,7 +3157,7 @@ type MeshConfig_ExtensionProvider_LightstepTracingProvider struct { func (x *MeshConfig_ExtensionProvider_LightstepTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_LightstepTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[20] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3302,7 +3169,7 @@ func (x *MeshConfig_ExtensionProvider_LightstepTracingProvider) String() string func (*MeshConfig_ExtensionProvider_LightstepTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_LightstepTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[20] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3367,7 +3234,7 @@ type MeshConfig_ExtensionProvider_DatadogTracingProvider struct { func (x *MeshConfig_ExtensionProvider_DatadogTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_DatadogTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[21] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3379,7 +3246,7 @@ func (x *MeshConfig_ExtensionProvider_DatadogTracingProvider) String() string { func (*MeshConfig_ExtensionProvider_DatadogTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_DatadogTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[21] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3436,7 +3303,7 @@ type MeshConfig_ExtensionProvider_SkyWalkingTracingProvider struct { func (x *MeshConfig_ExtensionProvider_SkyWalkingTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_SkyWalkingTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[22] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3448,7 +3315,7 @@ func (x *MeshConfig_ExtensionProvider_SkyWalkingTracingProvider) String() string func (*MeshConfig_ExtensionProvider_SkyWalkingTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_SkyWalkingTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[22] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3526,7 +3393,7 @@ type MeshConfig_ExtensionProvider_StackdriverProvider struct { func (x *MeshConfig_ExtensionProvider_StackdriverProvider) Reset() { *x = MeshConfig_ExtensionProvider_StackdriverProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[23] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3538,7 +3405,7 @@ func (x *MeshConfig_ExtensionProvider_StackdriverProvider) String() string { func (*MeshConfig_ExtensionProvider_StackdriverProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_StackdriverProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[23] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3635,7 +3502,7 @@ type MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider struct { func (x *MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[24] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3647,7 +3514,7 @@ func (x *MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider) String() s func (*MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[24] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3699,7 +3566,7 @@ type MeshConfig_ExtensionProvider_PrometheusMetricsProvider struct { func (x *MeshConfig_ExtensionProvider_PrometheusMetricsProvider) Reset() { *x = MeshConfig_ExtensionProvider_PrometheusMetricsProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[25] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3711,7 +3578,7 @@ func (x *MeshConfig_ExtensionProvider_PrometheusMetricsProvider) String() string func (*MeshConfig_ExtensionProvider_PrometheusMetricsProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_PrometheusMetricsProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[25] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3747,7 +3614,7 @@ type MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider struct { func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[26] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3759,7 +3626,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider) String() strin func (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[26] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3828,7 +3695,7 @@ type MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider struct { func (x *MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[27] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3840,7 +3707,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider) String() strin func (*MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[27] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3931,7 +3798,7 @@ type MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider struct { func (x *MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[28] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3943,7 +3810,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider) String() string func (*MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[28] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4012,7 +3879,7 @@ type MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider struct { func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[29] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4024,7 +3891,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider) String() st func (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[29] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4212,7 +4079,7 @@ type MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider struct { func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[30] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4224,7 +4091,7 @@ func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider) String() str func (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[30] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4349,7 +4216,7 @@ type MeshConfig_ExtensionProvider_SDSProvider struct { func (x *MeshConfig_ExtensionProvider_SDSProvider) Reset() { *x = MeshConfig_ExtensionProvider_SDSProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[31] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4361,7 +4228,7 @@ func (x *MeshConfig_ExtensionProvider_SDSProvider) String() string { func (*MeshConfig_ExtensionProvider_SDSProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_SDSProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[31] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4416,7 +4283,7 @@ type MeshConfig_ExtensionProvider_HttpService struct { func (x *MeshConfig_ExtensionProvider_HttpService) Reset() { *x = MeshConfig_ExtensionProvider_HttpService{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[32] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4428,7 +4295,7 @@ func (x *MeshConfig_ExtensionProvider_HttpService) String() string { func (*MeshConfig_ExtensionProvider_HttpService) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_HttpService) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[32] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4482,7 +4349,7 @@ type MeshConfig_ExtensionProvider_HttpHeader struct { func (x *MeshConfig_ExtensionProvider_HttpHeader) Reset() { *x = MeshConfig_ExtensionProvider_HttpHeader{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[33] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4494,7 +4361,7 @@ func (x *MeshConfig_ExtensionProvider_HttpHeader) String() string { func (*MeshConfig_ExtensionProvider_HttpHeader) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_HttpHeader) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[33] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4576,7 +4443,7 @@ type MeshConfig_ExtensionProvider_ResourceDetectors struct { func (x *MeshConfig_ExtensionProvider_ResourceDetectors) Reset() { *x = MeshConfig_ExtensionProvider_ResourceDetectors{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[34] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4588,7 +4455,7 @@ func (x *MeshConfig_ExtensionProvider_ResourceDetectors) String() string { func (*MeshConfig_ExtensionProvider_ResourceDetectors) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_ResourceDetectors) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[34] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4634,7 +4501,7 @@ type MeshConfig_ExtensionProvider_GrpcService struct { func (x *MeshConfig_ExtensionProvider_GrpcService) Reset() { *x = MeshConfig_ExtensionProvider_GrpcService{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[35] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4646,7 +4513,7 @@ func (x *MeshConfig_ExtensionProvider_GrpcService) String() string { func (*MeshConfig_ExtensionProvider_GrpcService) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_GrpcService) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[35] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4694,7 +4561,7 @@ type MeshConfig_ExtensionProvider_StackdriverProvider_Logging struct { func (x *MeshConfig_ExtensionProvider_StackdriverProvider_Logging) Reset() { *x = MeshConfig_ExtensionProvider_StackdriverProvider_Logging{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[37] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4706,7 +4573,7 @@ func (x *MeshConfig_ExtensionProvider_StackdriverProvider_Logging) String() stri func (*MeshConfig_ExtensionProvider_StackdriverProvider_Logging) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_StackdriverProvider_Logging) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[37] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4742,7 +4609,7 @@ type MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat struct { func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[39] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4754,7 +4621,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat) Stri func (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[39] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4866,7 +4733,7 @@ type MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat struct func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[40] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4878,7 +4745,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat) S func (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[40] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4938,7 +4805,7 @@ type MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler) Reset() { *x = MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[41] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4950,7 +4817,7 @@ func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSamp func (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[41] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5012,7 +4879,7 @@ type MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_ func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi) Reset() { *x = MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[42] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5025,7 +4892,7 @@ func (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSample } func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[42] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5075,7 +4942,7 @@ type MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector func (x *MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector) Reset() { *x = MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[43] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5087,7 +4954,7 @@ func (x *MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetec func (*MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[43] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5116,7 +4983,7 @@ type MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector st func (x *MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector) Reset() { *x = MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[44] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5128,7 +4995,7 @@ func (x *MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetecto func (*MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[44] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5148,7 +5015,7 @@ var File_mesh_v1alpha1_config_proto protoreflect.FileDescriptor const file_mesh_v1alpha1_config_proto_rawDesc = "" + "\n" + - "\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\x1a)networking/v1alpha3/virtual_service.proto\"\x83q\n" + + "\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\x1btype/v1beta1/selector.proto\"\x80q\n" + "\n" + "MeshConfig\x12*\n" + "\x11proxy_listen_port\x18\x04 \x01(\x05R\x0fproxyListenPort\x129\n" + @@ -5192,8 +5059,8 @@ const file_mesh_v1alpha1_config_proto_rawDesc = "" + "\x1cverify_certificate_at_client\x186 \x01(\v2\x1a.google.protobuf.BoolValueB\x02\x18\x01R\x19verifyCertificateAtClient\x122\n" + "\x02ca\x187 \x01(\v2\".istio.mesh.v1alpha1.MeshConfig.CAR\x02ca\x12b\n" + "\x13extension_providers\x189 \x03(\v21.istio.mesh.v1alpha1.MeshConfig.ExtensionProviderR\x12extensionProviders\x12]\n" + - "\x11default_providers\x18< \x01(\v20.istio.mesh.v1alpha1.MeshConfig.DefaultProvidersR\x10defaultProviders\x12S\n" + - "\x13discovery_selectors\x18; \x03(\v2\".istio.mesh.v1alpha1.LabelSelectorR\x12discoverySelectors\x12e\n" + + "\x11default_providers\x18< \x01(\v20.istio.mesh.v1alpha1.MeshConfig.DefaultProvidersR\x10defaultProviders\x12R\n" + + "\x13discovery_selectors\x18; \x03(\v2!.istio.type.v1beta1.LabelSelectorR\x12discoverySelectors\x12e\n" + "\x12path_normalization\x18= \x01(\v26.istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalizationR\x11pathNormalization\x12_\n" + "\x19default_http_retry_policy\x18> \x01(\v2$.istio.networking.v1alpha3.HTTPRetryR\x16defaultHttpRetryPolicy\x12F\n" + "\tmesh_mTLS\x18? \x01(\v2).istio.mesh.v1alpha1.MeshConfig.TLSConfigR\bmeshMTLS\x12L\n" + @@ -5218,10 +5085,10 @@ const file_mesh_v1alpha1_config_proto_rawDesc = "" + "\bsettings\x18\x01 \x01(\v28.istio.mesh.v1alpha1.MeshConfig.ServiceSettings.SettingsR\bsettings\x12\x14\n" + "\x05hosts\x18\x02 \x03(\tR\x05hosts\x1a/\n" + "\bSettings\x12#\n" + - "\rcluster_local\x18\x01 \x01(\bR\fclusterLocal\x1a\xaa\x02\n" + - "\x13ServiceScopeConfigs\x12Q\n" + - "\x12namespace_selector\x18\x01 \x01(\v2\".istio.mesh.v1alpha1.LabelSelectorR\x11namespaceSelector\x12O\n" + - "\x11services_selector\x18\x02 \x01(\v2\".istio.mesh.v1alpha1.LabelSelectorR\x10servicesSelector\x12O\n" + + "\rcluster_local\x18\x01 \x01(\bR\fclusterLocal\x1a\xa8\x02\n" + + "\x13ServiceScopeConfigs\x12P\n" + + "\x12namespace_selector\x18\x01 \x01(\v2!.istio.type.v1beta1.LabelSelectorR\x11namespaceSelector\x12N\n" + + "\x11services_selector\x18\x02 \x01(\v2!.istio.type.v1beta1.LabelSelectorR\x10servicesSelector\x12O\n" + "\x05scope\x18\x03 \x01(\x0e29.istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.ScopeR\x05scope\"\x1e\n" + "\x05Scope\x12\t\n" + "\x05LOCAL\x10\x00\x12\n" + @@ -5453,17 +5320,7 @@ const file_mesh_v1alpha1_config_proto_rawDesc = "" + "\x0fH2UpgradePolicy\x12\x12\n" + "\x0eDO_NOT_UPGRADE\x10\x00\x12\v\n" + "\aUPGRADE\x10\x01J\x04\b1\x102J\x04\b\x01\x10\x02J\x04\b\x02\x10\x03J\x04\b\x03\x10\x04J\x04\b0\x101J\x04\b\x19\x10\x1aJ\x04\b\x1e\x10\x1fJ\x04\b\n" + - "\x10\vJ\x04\b\v\x10\fJ\x04\b\x0f\x10\x10J\x04\b\x10\x10\x11J\x04\b\x12\x10\x13J\x04\b\x13\x10\x14J\x04\b\x14\x10\x15J\x04\b\x15\x10\x16J\x04\b\x17\x10\x18J\x04\b\x1d\x10\x1eJ\x04\b5\x106J\x04\b%\x10&J\x04\b&\x10'J\x04\b'\x10(J\x04\bD\x10EJ\x04\bE\x10FR\rthrift_configR\x12mixer_check_serverR\x13mixer_report_serverR\x15disable_policy_checksR\x1adisable_mixer_http_reportsR\x16policy_check_fail_openR%sidecar_to_telemetry_session_affinityR\vauth_policyR\x11rds_refresh_delayR\rmixer_addressR\x1fenable_client_side_policy_checkR\fsds_uds_pathR\x11sds_refresh_delayR\x16enable_sds_token_mountR\x12sds_use_k8s_sa_jwtR\x1atermination_drain_durationR\x14disable_report_batchR\x18report_batch_max_entriesR\x15report_batch_max_timeR\x13file_flush_intervalR\x13file_flush_min_size\"\x81\x02\n" + - "\rLabelSelector\x12U\n" + - "\vmatchLabels\x18\x01 \x03(\v23.istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntryR\vmatchLabels\x12Y\n" + - "\x10matchExpressions\x18\x02 \x03(\v2-.istio.mesh.v1alpha1.LabelSelectorRequirementR\x10matchExpressions\x1a>\n" + - "\x10MatchLabelsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"`\n" + - "\x18LabelSelectorRequirement\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n" + - "\boperator\x18\x02 \x01(\tR\boperator\x12\x16\n" + - "\x06values\x18\x03 \x03(\tR\x06values\"\xcb\x01\n" + + "\x10\vJ\x04\b\v\x10\fJ\x04\b\x0f\x10\x10J\x04\b\x10\x10\x11J\x04\b\x12\x10\x13J\x04\b\x13\x10\x14J\x04\b\x14\x10\x15J\x04\b\x15\x10\x16J\x04\b\x17\x10\x18J\x04\b\x1d\x10\x1eJ\x04\b5\x106J\x04\b%\x10&J\x04\b&\x10'J\x04\b'\x10(J\x04\bD\x10EJ\x04\bE\x10FR\rthrift_configR\x12mixer_check_serverR\x13mixer_report_serverR\x15disable_policy_checksR\x1adisable_mixer_http_reportsR\x16policy_check_fail_openR%sidecar_to_telemetry_session_affinityR\vauth_policyR\x11rds_refresh_delayR\rmixer_addressR\x1fenable_client_side_policy_checkR\fsds_uds_pathR\x11sds_refresh_delayR\x16enable_sds_token_mountR\x12sds_use_k8s_sa_jwtR\x1atermination_drain_durationR\x14disable_report_batchR\x18report_batch_max_entriesR\x15report_batch_max_timeR\x13file_flush_intervalR\x13file_flush_min_size\"\xcb\x01\n" + "\fConfigSource\x12\x18\n" + "\aaddress\x18\x01 \x01(\tR\aaddress\x12O\n" + "\ftls_settings\x18\x02 \x01(\v2,.istio.networking.v1alpha3.ClientTLSSettingsR\vtlsSettings\x12P\n" + @@ -5488,7 +5345,7 @@ func file_mesh_v1alpha1_config_proto_rawDescGZIP() []byte { } var file_mesh_v1alpha1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 12) -var file_mesh_v1alpha1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 46) +var file_mesh_v1alpha1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 43) var file_mesh_v1alpha1_config_proto_goTypes = []any{ (Resource)(0), // 0: istio.mesh.v1alpha1.Resource (MeshConfig_IngressControllerMode)(0), // 1: istio.mesh.v1alpha1.MeshConfig.IngressControllerMode @@ -5503,154 +5360,150 @@ var file_mesh_v1alpha1_config_proto_goTypes = []any{ (MeshConfig_ProxyPathNormalization_NormalizationType)(0), // 10: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.NormalizationType (MeshConfig_TLSConfig_TLSProtocol)(0), // 11: istio.mesh.v1alpha1.MeshConfig.TLSConfig.TLSProtocol (*MeshConfig)(nil), // 12: istio.mesh.v1alpha1.MeshConfig - (*LabelSelector)(nil), // 13: istio.mesh.v1alpha1.LabelSelector - (*LabelSelectorRequirement)(nil), // 14: istio.mesh.v1alpha1.LabelSelectorRequirement - (*ConfigSource)(nil), // 15: istio.mesh.v1alpha1.ConfigSource - (*Certificate)(nil), // 16: istio.mesh.v1alpha1.Certificate - (*MeshConfig_OutboundTrafficPolicy)(nil), // 17: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy - (*MeshConfig_InboundTrafficPolicy)(nil), // 18: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy - (*MeshConfig_CertificateData)(nil), // 19: istio.mesh.v1alpha1.MeshConfig.CertificateData - (*MeshConfig_ServiceSettings)(nil), // 20: istio.mesh.v1alpha1.MeshConfig.ServiceSettings - (*MeshConfig_ServiceScopeConfigs)(nil), // 21: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs - (*MeshConfig_CA)(nil), // 22: istio.mesh.v1alpha1.MeshConfig.CA - (*MeshConfig_ExtensionProvider)(nil), // 23: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider - (*MeshConfig_DefaultProviders)(nil), // 24: istio.mesh.v1alpha1.MeshConfig.DefaultProviders - (*MeshConfig_ProxyPathNormalization)(nil), // 25: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization - (*MeshConfig_TLSConfig)(nil), // 26: istio.mesh.v1alpha1.MeshConfig.TLSConfig - (*MeshConfig_ServiceSettings_Settings)(nil), // 27: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings - (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody)(nil), // 28: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody - (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider)(nil), // 29: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider - (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider)(nil), // 30: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider - (*MeshConfig_ExtensionProvider_ZipkinTracingProvider)(nil), // 31: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider - (*MeshConfig_ExtensionProvider_LightstepTracingProvider)(nil), // 32: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider - (*MeshConfig_ExtensionProvider_DatadogTracingProvider)(nil), // 33: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider - (*MeshConfig_ExtensionProvider_SkyWalkingTracingProvider)(nil), // 34: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider - (*MeshConfig_ExtensionProvider_StackdriverProvider)(nil), // 35: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider - (*MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider)(nil), // 36: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider - (*MeshConfig_ExtensionProvider_PrometheusMetricsProvider)(nil), // 37: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider - (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider)(nil), // 38: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider - (*MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider)(nil), // 39: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider - (*MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider)(nil), // 40: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider - (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider)(nil), // 41: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider - (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider)(nil), // 42: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider - (*MeshConfig_ExtensionProvider_SDSProvider)(nil), // 43: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider - (*MeshConfig_ExtensionProvider_HttpService)(nil), // 44: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService - (*MeshConfig_ExtensionProvider_HttpHeader)(nil), // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader - (*MeshConfig_ExtensionProvider_ResourceDetectors)(nil), // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors - (*MeshConfig_ExtensionProvider_GrpcService)(nil), // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService - nil, // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry - (*MeshConfig_ExtensionProvider_StackdriverProvider_Logging)(nil), // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging - nil, // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry - (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat)(nil), // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat - (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat)(nil), // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat - (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler)(nil), // 53: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler - (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi)(nil), // 54: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi - (*MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector)(nil), // 55: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector - (*MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector)(nil), // 56: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector - nil, // 57: istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntry - (*duration.Duration)(nil), // 58: google.protobuf.Duration - (*v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 59: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive - (*ProxyConfig)(nil), // 60: istio.mesh.v1alpha1.ProxyConfig - (*wrappers.BoolValue)(nil), // 61: google.protobuf.BoolValue - (*v1alpha3.LocalityLoadBalancerSetting)(nil), // 62: istio.networking.v1alpha3.LocalityLoadBalancerSetting - (*v1alpha3.HTTPRetry)(nil), // 63: istio.networking.v1alpha3.HTTPRetry - (*v1alpha3.ClientTLSSettings)(nil), // 64: istio.networking.v1alpha3.ClientTLSSettings - (*wrappers.Int64Value)(nil), // 65: google.protobuf.Int64Value - (*_struct.Struct)(nil), // 66: google.protobuf.Struct + (*ConfigSource)(nil), // 13: istio.mesh.v1alpha1.ConfigSource + (*Certificate)(nil), // 14: istio.mesh.v1alpha1.Certificate + (*MeshConfig_OutboundTrafficPolicy)(nil), // 15: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy + (*MeshConfig_InboundTrafficPolicy)(nil), // 16: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy + (*MeshConfig_CertificateData)(nil), // 17: istio.mesh.v1alpha1.MeshConfig.CertificateData + (*MeshConfig_ServiceSettings)(nil), // 18: istio.mesh.v1alpha1.MeshConfig.ServiceSettings + (*MeshConfig_ServiceScopeConfigs)(nil), // 19: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs + (*MeshConfig_CA)(nil), // 20: istio.mesh.v1alpha1.MeshConfig.CA + (*MeshConfig_ExtensionProvider)(nil), // 21: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider + (*MeshConfig_DefaultProviders)(nil), // 22: istio.mesh.v1alpha1.MeshConfig.DefaultProviders + (*MeshConfig_ProxyPathNormalization)(nil), // 23: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization + (*MeshConfig_TLSConfig)(nil), // 24: istio.mesh.v1alpha1.MeshConfig.TLSConfig + (*MeshConfig_ServiceSettings_Settings)(nil), // 25: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings + (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody)(nil), // 26: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody + (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider)(nil), // 27: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider + (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider)(nil), // 28: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider + (*MeshConfig_ExtensionProvider_ZipkinTracingProvider)(nil), // 29: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider + (*MeshConfig_ExtensionProvider_LightstepTracingProvider)(nil), // 30: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider + (*MeshConfig_ExtensionProvider_DatadogTracingProvider)(nil), // 31: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider + (*MeshConfig_ExtensionProvider_SkyWalkingTracingProvider)(nil), // 32: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider + (*MeshConfig_ExtensionProvider_StackdriverProvider)(nil), // 33: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider + (*MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider)(nil), // 34: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider + (*MeshConfig_ExtensionProvider_PrometheusMetricsProvider)(nil), // 35: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider + (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider)(nil), // 36: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider + (*MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider)(nil), // 37: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider + (*MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider)(nil), // 38: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider + (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider)(nil), // 39: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider + (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider)(nil), // 40: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider + (*MeshConfig_ExtensionProvider_SDSProvider)(nil), // 41: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider + (*MeshConfig_ExtensionProvider_HttpService)(nil), // 42: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService + (*MeshConfig_ExtensionProvider_HttpHeader)(nil), // 43: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader + (*MeshConfig_ExtensionProvider_ResourceDetectors)(nil), // 44: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors + (*MeshConfig_ExtensionProvider_GrpcService)(nil), // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService + nil, // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry + (*MeshConfig_ExtensionProvider_StackdriverProvider_Logging)(nil), // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging + nil, // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry + (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat)(nil), // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat + (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat)(nil), // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat + (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler)(nil), // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler + (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi)(nil), // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi + (*MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector)(nil), // 53: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector + (*MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector)(nil), // 54: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector + (*duration.Duration)(nil), // 55: google.protobuf.Duration + (*v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 56: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive + (*ProxyConfig)(nil), // 57: istio.mesh.v1alpha1.ProxyConfig + (*wrappers.BoolValue)(nil), // 58: google.protobuf.BoolValue + (*v1alpha3.LocalityLoadBalancerSetting)(nil), // 59: istio.networking.v1alpha3.LocalityLoadBalancerSetting + (*v1beta1.LabelSelector)(nil), // 60: istio.type.v1beta1.LabelSelector + (*v1alpha3.HTTPRetry)(nil), // 61: istio.networking.v1alpha3.HTTPRetry + (*v1alpha3.ClientTLSSettings)(nil), // 62: istio.networking.v1alpha3.ClientTLSSettings + (*wrappers.Int64Value)(nil), // 63: google.protobuf.Int64Value + (*_struct.Struct)(nil), // 64: google.protobuf.Struct } var file_mesh_v1alpha1_config_proto_depIdxs = []int32{ - 58, // 0: istio.mesh.v1alpha1.MeshConfig.connect_timeout:type_name -> google.protobuf.Duration - 58, // 1: istio.mesh.v1alpha1.MeshConfig.hbone_idle_timeout:type_name -> google.protobuf.Duration - 58, // 2: istio.mesh.v1alpha1.MeshConfig.protocol_detection_timeout:type_name -> google.protobuf.Duration - 59, // 3: istio.mesh.v1alpha1.MeshConfig.tcp_keepalive:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive + 55, // 0: istio.mesh.v1alpha1.MeshConfig.connect_timeout:type_name -> google.protobuf.Duration + 55, // 1: istio.mesh.v1alpha1.MeshConfig.hbone_idle_timeout:type_name -> google.protobuf.Duration + 55, // 2: istio.mesh.v1alpha1.MeshConfig.protocol_detection_timeout:type_name -> google.protobuf.Duration + 56, // 3: istio.mesh.v1alpha1.MeshConfig.tcp_keepalive:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive 1, // 4: istio.mesh.v1alpha1.MeshConfig.ingress_controller_mode:type_name -> istio.mesh.v1alpha1.MeshConfig.IngressControllerMode 3, // 5: istio.mesh.v1alpha1.MeshConfig.access_log_encoding:type_name -> istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding - 60, // 6: istio.mesh.v1alpha1.MeshConfig.default_config:type_name -> istio.mesh.v1alpha1.ProxyConfig - 17, // 7: istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy - 18, // 8: istio.mesh.v1alpha1.MeshConfig.inbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy - 15, // 9: istio.mesh.v1alpha1.MeshConfig.config_sources:type_name -> istio.mesh.v1alpha1.ConfigSource - 61, // 10: istio.mesh.v1alpha1.MeshConfig.enable_auto_mtls:type_name -> google.protobuf.BoolValue - 19, // 11: istio.mesh.v1alpha1.MeshConfig.ca_certificates:type_name -> istio.mesh.v1alpha1.MeshConfig.CertificateData - 62, // 12: istio.mesh.v1alpha1.MeshConfig.locality_lb_setting:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting - 58, // 13: istio.mesh.v1alpha1.MeshConfig.dns_refresh_rate:type_name -> google.protobuf.Duration + 57, // 6: istio.mesh.v1alpha1.MeshConfig.default_config:type_name -> istio.mesh.v1alpha1.ProxyConfig + 15, // 7: istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy + 16, // 8: istio.mesh.v1alpha1.MeshConfig.inbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy + 13, // 9: istio.mesh.v1alpha1.MeshConfig.config_sources:type_name -> istio.mesh.v1alpha1.ConfigSource + 58, // 10: istio.mesh.v1alpha1.MeshConfig.enable_auto_mtls:type_name -> google.protobuf.BoolValue + 17, // 11: istio.mesh.v1alpha1.MeshConfig.ca_certificates:type_name -> istio.mesh.v1alpha1.MeshConfig.CertificateData + 59, // 12: istio.mesh.v1alpha1.MeshConfig.locality_lb_setting:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting + 55, // 13: istio.mesh.v1alpha1.MeshConfig.dns_refresh_rate:type_name -> google.protobuf.Duration 4, // 14: istio.mesh.v1alpha1.MeshConfig.h2_upgrade_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.H2UpgradePolicy - 16, // 15: istio.mesh.v1alpha1.MeshConfig.certificates:type_name -> istio.mesh.v1alpha1.Certificate - 20, // 16: istio.mesh.v1alpha1.MeshConfig.service_settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings - 21, // 17: istio.mesh.v1alpha1.MeshConfig.service_scope_configs:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs - 61, // 18: istio.mesh.v1alpha1.MeshConfig.enable_prometheus_merge:type_name -> google.protobuf.BoolValue - 61, // 19: istio.mesh.v1alpha1.MeshConfig.verify_certificate_at_client:type_name -> google.protobuf.BoolValue - 22, // 20: istio.mesh.v1alpha1.MeshConfig.ca:type_name -> istio.mesh.v1alpha1.MeshConfig.CA - 23, // 21: istio.mesh.v1alpha1.MeshConfig.extension_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider - 24, // 22: istio.mesh.v1alpha1.MeshConfig.default_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.DefaultProviders - 13, // 23: istio.mesh.v1alpha1.MeshConfig.discovery_selectors:type_name -> istio.mesh.v1alpha1.LabelSelector - 25, // 24: istio.mesh.v1alpha1.MeshConfig.path_normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization - 63, // 25: istio.mesh.v1alpha1.MeshConfig.default_http_retry_policy:type_name -> istio.networking.v1alpha3.HTTPRetry - 26, // 26: istio.mesh.v1alpha1.MeshConfig.mesh_mTLS:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig - 26, // 27: istio.mesh.v1alpha1.MeshConfig.tls_defaults:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig - 57, // 28: istio.mesh.v1alpha1.LabelSelector.matchLabels:type_name -> istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntry - 14, // 29: istio.mesh.v1alpha1.LabelSelector.matchExpressions:type_name -> istio.mesh.v1alpha1.LabelSelectorRequirement - 64, // 30: istio.mesh.v1alpha1.ConfigSource.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings - 0, // 31: istio.mesh.v1alpha1.ConfigSource.subscribed_resources:type_name -> istio.mesh.v1alpha1.Resource - 5, // 32: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode - 6, // 33: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.Mode - 27, // 34: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings - 13, // 35: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.namespace_selector:type_name -> istio.mesh.v1alpha1.LabelSelector - 13, // 36: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.services_selector:type_name -> istio.mesh.v1alpha1.LabelSelector - 7, // 37: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.scope:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.Scope - 64, // 38: istio.mesh.v1alpha1.MeshConfig.CA.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings - 58, // 39: istio.mesh.v1alpha1.MeshConfig.CA.request_timeout:type_name -> google.protobuf.Duration - 29, // 40: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider - 30, // 41: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider - 31, // 42: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.zipkin:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider - 32, // 43: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.lightstep:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider - 33, // 44: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.datadog:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider - 35, // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.stackdriver:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider - 36, // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opencensus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider - 34, // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.skywalking:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider - 42, // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opentelemetry:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider - 37, // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.prometheus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider - 38, // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_file_access_log:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider - 39, // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_http_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider - 40, // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_tcp_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider - 41, // 53: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_otel_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider - 43, // 54: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.sds:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider - 10, // 55: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.NormalizationType - 11, // 56: istio.mesh.v1alpha1.MeshConfig.TLSConfig.min_protocol_version:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig.TLSProtocol - 58, // 57: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.timeout:type_name -> google.protobuf.Duration - 48, // 58: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_additional_headers_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry - 28, // 59: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody - 58, // 60: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.timeout:type_name -> google.protobuf.Duration - 28, // 61: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody - 8, // 62: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.trace_context_option:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.TraceContextOption - 58, // 63: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.timeout:type_name -> google.protobuf.Duration - 45, // 64: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader - 65, // 65: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_attributes:type_name -> google.protobuf.Int64Value - 65, // 66: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_annotations:type_name -> google.protobuf.Int64Value - 65, // 67: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_message_events:type_name -> google.protobuf.Int64Value - 49, // 68: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.logging:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging - 9, // 69: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.context:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.TraceContext - 51, // 70: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat - 52, // 71: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat - 44, // 72: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService - 47, // 73: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService - 46, // 74: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.resource_detectors:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors - 53, // 75: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.dynatrace_sampler:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler - 58, // 76: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.timeout:type_name -> google.protobuf.Duration - 45, // 77: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader - 55, // 78: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.environment:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector - 56, // 79: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.dynatrace:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector - 58, // 80: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.timeout:type_name -> google.protobuf.Duration - 45, // 81: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.initial_metadata:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader - 50, // 82: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.labels:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry - 66, // 83: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct - 66, // 84: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct - 54, // 85: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.http_service:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi - 44, // 86: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService - 87, // [87:87] is the sub-list for method output_type - 87, // [87:87] is the sub-list for method input_type - 87, // [87:87] is the sub-list for extension type_name - 87, // [87:87] is the sub-list for extension extendee - 0, // [0:87] is the sub-list for field type_name + 14, // 15: istio.mesh.v1alpha1.MeshConfig.certificates:type_name -> istio.mesh.v1alpha1.Certificate + 18, // 16: istio.mesh.v1alpha1.MeshConfig.service_settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings + 19, // 17: istio.mesh.v1alpha1.MeshConfig.service_scope_configs:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs + 58, // 18: istio.mesh.v1alpha1.MeshConfig.enable_prometheus_merge:type_name -> google.protobuf.BoolValue + 58, // 19: istio.mesh.v1alpha1.MeshConfig.verify_certificate_at_client:type_name -> google.protobuf.BoolValue + 20, // 20: istio.mesh.v1alpha1.MeshConfig.ca:type_name -> istio.mesh.v1alpha1.MeshConfig.CA + 21, // 21: istio.mesh.v1alpha1.MeshConfig.extension_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider + 22, // 22: istio.mesh.v1alpha1.MeshConfig.default_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.DefaultProviders + 60, // 23: istio.mesh.v1alpha1.MeshConfig.discovery_selectors:type_name -> istio.type.v1beta1.LabelSelector + 23, // 24: istio.mesh.v1alpha1.MeshConfig.path_normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization + 61, // 25: istio.mesh.v1alpha1.MeshConfig.default_http_retry_policy:type_name -> istio.networking.v1alpha3.HTTPRetry + 24, // 26: istio.mesh.v1alpha1.MeshConfig.mesh_mTLS:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig + 24, // 27: istio.mesh.v1alpha1.MeshConfig.tls_defaults:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig + 62, // 28: istio.mesh.v1alpha1.ConfigSource.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings + 0, // 29: istio.mesh.v1alpha1.ConfigSource.subscribed_resources:type_name -> istio.mesh.v1alpha1.Resource + 5, // 30: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode + 6, // 31: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.Mode + 25, // 32: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings + 60, // 33: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.namespace_selector:type_name -> istio.type.v1beta1.LabelSelector + 60, // 34: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.services_selector:type_name -> istio.type.v1beta1.LabelSelector + 7, // 35: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.scope:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.Scope + 62, // 36: istio.mesh.v1alpha1.MeshConfig.CA.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings + 55, // 37: istio.mesh.v1alpha1.MeshConfig.CA.request_timeout:type_name -> google.protobuf.Duration + 27, // 38: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider + 28, // 39: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider + 29, // 40: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.zipkin:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider + 30, // 41: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.lightstep:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider + 31, // 42: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.datadog:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider + 33, // 43: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.stackdriver:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider + 34, // 44: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opencensus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider + 32, // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.skywalking:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider + 40, // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opentelemetry:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider + 35, // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.prometheus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider + 36, // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_file_access_log:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider + 37, // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_http_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider + 38, // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_tcp_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider + 39, // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_otel_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider + 41, // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.sds:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider + 10, // 53: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.NormalizationType + 11, // 54: istio.mesh.v1alpha1.MeshConfig.TLSConfig.min_protocol_version:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig.TLSProtocol + 55, // 55: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.timeout:type_name -> google.protobuf.Duration + 46, // 56: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_additional_headers_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry + 26, // 57: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody + 55, // 58: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.timeout:type_name -> google.protobuf.Duration + 26, // 59: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody + 8, // 60: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.trace_context_option:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.TraceContextOption + 55, // 61: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.timeout:type_name -> google.protobuf.Duration + 43, // 62: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader + 63, // 63: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_attributes:type_name -> google.protobuf.Int64Value + 63, // 64: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_annotations:type_name -> google.protobuf.Int64Value + 63, // 65: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_message_events:type_name -> google.protobuf.Int64Value + 47, // 66: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.logging:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging + 9, // 67: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.context:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.TraceContext + 49, // 68: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat + 50, // 69: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat + 42, // 70: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService + 45, // 71: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService + 44, // 72: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.resource_detectors:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors + 51, // 73: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.dynatrace_sampler:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler + 55, // 74: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.timeout:type_name -> google.protobuf.Duration + 43, // 75: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader + 53, // 76: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.environment:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector + 54, // 77: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.dynatrace:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector + 55, // 78: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.timeout:type_name -> google.protobuf.Duration + 43, // 79: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.initial_metadata:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader + 48, // 80: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.labels:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry + 64, // 81: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct + 64, // 82: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct + 52, // 83: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.http_service:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi + 42, // 84: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService + 85, // [85:85] is the sub-list for method output_type + 85, // [85:85] is the sub-list for method input_type + 85, // [85:85] is the sub-list for extension type_name + 85, // [85:85] is the sub-list for extension extendee + 0, // [0:85] is the sub-list for field type_name } func init() { file_mesh_v1alpha1_config_proto_init() } @@ -5659,11 +5512,11 @@ func file_mesh_v1alpha1_config_proto_init() { return } file_mesh_v1alpha1_proxy_proto_init() - file_mesh_v1alpha1_config_proto_msgTypes[7].OneofWrappers = []any{ + file_mesh_v1alpha1_config_proto_msgTypes[5].OneofWrappers = []any{ (*MeshConfig_CertificateData_Pem)(nil), (*MeshConfig_CertificateData_SpiffeBundleUrl)(nil), } - file_mesh_v1alpha1_config_proto_msgTypes[11].OneofWrappers = []any{ + file_mesh_v1alpha1_config_proto_msgTypes[9].OneofWrappers = []any{ (*MeshConfig_ExtensionProvider_EnvoyExtAuthzHttp)(nil), (*MeshConfig_ExtensionProvider_EnvoyExtAuthzGrpc)(nil), (*MeshConfig_ExtensionProvider_Zipkin)(nil), @@ -5680,14 +5533,14 @@ func file_mesh_v1alpha1_config_proto_init() { (*MeshConfig_ExtensionProvider_EnvoyOtelAls)(nil), (*MeshConfig_ExtensionProvider_Sds)(nil), } - file_mesh_v1alpha1_config_proto_msgTypes[30].OneofWrappers = []any{ + file_mesh_v1alpha1_config_proto_msgTypes[28].OneofWrappers = []any{ (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_)(nil), } - file_mesh_v1alpha1_config_proto_msgTypes[33].OneofWrappers = []any{ + file_mesh_v1alpha1_config_proto_msgTypes[31].OneofWrappers = []any{ (*MeshConfig_ExtensionProvider_HttpHeader_Value)(nil), (*MeshConfig_ExtensionProvider_HttpHeader_EnvName)(nil), } - file_mesh_v1alpha1_config_proto_msgTypes[39].OneofWrappers = []any{ + file_mesh_v1alpha1_config_proto_msgTypes[37].OneofWrappers = []any{ (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat_Text)(nil), (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat_Labels)(nil), } @@ -5697,7 +5550,7 @@ func file_mesh_v1alpha1_config_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_mesh_v1alpha1_config_proto_rawDesc), len(file_mesh_v1alpha1_config_proto_rawDesc)), NumEnums: 12, - NumMessages: 46, + NumMessages: 43, NumExtensions: 0, NumServices: 0, }, diff --git a/mesh/v1alpha1/config_json.gen.go b/mesh/v1alpha1/config_json.gen.go index 20a0af3f2d..d7a52176de 100644 --- a/mesh/v1alpha1/config_json.gen.go +++ b/mesh/v1alpha1/config_json.gen.go @@ -435,28 +435,6 @@ func (this *MeshConfig_TLSConfig) UnmarshalJSON(b []byte) error { return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this) } -// MarshalJSON is a custom marshaler for LabelSelector -func (this *LabelSelector) MarshalJSON() ([]byte, error) { - str, err := ConfigMarshaler.MarshalToString(this) - return []byte(str), err -} - -// UnmarshalJSON is a custom unmarshaler for LabelSelector -func (this *LabelSelector) UnmarshalJSON(b []byte) error { - return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this) -} - -// MarshalJSON is a custom marshaler for LabelSelectorRequirement -func (this *LabelSelectorRequirement) MarshalJSON() ([]byte, error) { - str, err := ConfigMarshaler.MarshalToString(this) - return []byte(str), err -} - -// UnmarshalJSON is a custom unmarshaler for LabelSelectorRequirement -func (this *LabelSelectorRequirement) UnmarshalJSON(b []byte) error { - return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this) -} - // MarshalJSON is a custom marshaler for ConfigSource func (this *ConfigSource) MarshalJSON() ([]byte, error) { str, err := ConfigMarshaler.MarshalToString(this) diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index b76770c287..dccb213677 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -5,7 +5,7 @@ layout: protoc-gen-docs generator: protoc-gen-docs weight: 20 -number_of_entries: 84 +number_of_entries: 83 ---

Configuration affecting the service mesh as a whole.

@@ -497,7 +497,7 @@

MeshConfig

A list of Kubernetes selectors that specify the set of namespaces that Istio considers when @@ -798,7 +798,7 @@

ServiceScopeConfigs

Match expression for namespaces.

@@ -807,7 +807,7 @@

ServiceScopeConfigs

Match expression for serivces.

@@ -3063,48 +3063,11 @@

H2UpgradePolicy

-

LabelSelector

-
-

A label selector requirement is a selector that contains values, a key, and an operator that -relates the key and values. -Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries.

- - - - - - - - - - - - - - - - - - -
FieldDescription
-
map<string, string>
-
-

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels -map is equivalent to an element of matchExpressions, whose key field is “key”, the -operator is “In”, and the values array contains only “value”. The requirements are ANDed.

- -
-

matchExpressions is a list of label selector requirements. The requirements are ANDed.

- -
-
-

LabelSelectorRequirement

+

ConfigSource

-

A label selector requirement is a selector that contains values, a key, and an operator that -relates the key and values. -Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries.

+

ConfigSource describes information about a configuration store inside a +mesh. A single control plane instance can interact with one or more data +sources.

@@ -3114,45 +3077,46 @@

LabelSelectorRequirement

- - + - - + - - +
+
string
-

key is the label key that the selector applies to.

+

Address of the server implementing the Istio Mesh Configuration +protocol (MCP). Can be IP address or a fully qualified DNS name. +Use xds:// to specify a grpc-based xds backend, k8s:// to specify a k8s controller or +fs:/// to specify a file-based backend with absolute path to the directory.

-
string
+
-

operator represents a key’s relationship to a set of values. -Valid operators are In, NotIn, Exists and DoesNotExist.

+

Use the tlsSettings to specify the tls mode to use. If the MCP server +uses Istio mutual TLS and shares the root CA with istiod, specify the TLS +mode as ISTIO_MUTUAL.

-
string[]
+
-

values is an array of string values. If the operator is In or NotIn, -the values array must be non-empty. If the operator is Exists or DoesNotExist, -the values array must be empty. This array is replaced during a strategic -merge patch.

+

Describes the source of configuration, if nothing is specified default is MCP

-

ConfigSource

+
LabelSelector
-

ConfigSource describes information about a configuration store inside a -mesh. A single control plane instance can interact with one or more data -sources.

+

LabelSelector is a label query over resources. +It matches resources based on their labels. +Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries.

@@ -3162,35 +3126,23 @@

ConfigSource

- - - - - - + - - + diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index c2a1474e78..7eabe8bce6 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -452,6 +452,40 @@ type DestinationRule struct { // the destination rule is declared in. Similarly, the value "*" is reserved and // defines an export to all namespaces. ExportTo []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` + // A list of label selectors to dynamically select namespaces to which this + // destination rule is exported. Each selector can match namespaces based on their labels. + // This provides a mechanism for service owners and mesh administrators to control + // the visibility of destination rules across namespace boundaries without knowing namespace + // names in advance. + // + // For example, to export to all namespaces with a specific label: + // ```yaml + // exportToSelectors: + // - matchLabels: + // mesh: enabled + // + // ``` + // + // Or using match expressions for more complex selection: + // ```yaml + // exportToSelectors: + // - matchExpressions: + // - key: environment + // operator: In + // values: [production, staging] + // + // ``` + // + // When both export_to and export_to_selectors are specified, the destination rule is + // exported to the union of all matched namespaces. If neither is specified, + // the destination rule is exported to all namespaces by default. + // + // **Note:** Using "*" in export_to makes export_to_selectors redundant as + // the destination rule would already be visible to all namespaces. + // + // **Note:** DestinationRule with workload_selector cannot use export_to_selectors + // and must only export to the current namespace ("."). + ExportToSelectors []*v1beta1.LabelSelector `protobuf:"bytes,6,rep,name=export_to_selectors,json=exportToSelectors,proto3" json:"export_to_selectors,omitempty"` // Criteria used to select the specific set of pods/VMs on which this // `DestinationRule` configuration should be applied. If specified, the `DestinationRule` // configuration will be applied only to the workload instances matching the workload selector @@ -523,6 +557,13 @@ func (x *DestinationRule) GetExportTo() []string { return nil } +func (x *DestinationRule) GetExportToSelectors() []*v1beta1.LabelSelector { + if x != nil { + return x.ExportToSelectors + } + return nil +} + func (x *DestinationRule) GetWorkloadSelector() *v1beta1.WorkloadSelector { if x != nil { return x.WorkloadSelector @@ -2816,12 +2857,13 @@ var File_networking_v1alpha3_destination_rule_proto protoreflect.FileDescriptor const file_networking_v1alpha3_destination_rule_proto_rawDesc = "" + "\n" + - "*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\x1btype/v1beta1/selector.proto\"\xa9\x02\n" + + "*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\x1btype/v1beta1/selector.proto\"\xfc\x02\n" + "\x0fDestinationRule\x12\x18\n" + "\x04host\x18\x01 \x01(\tB\x04\xe2A\x01\x02R\x04host\x12O\n" + "\x0etraffic_policy\x18\x02 \x01(\v2(.istio.networking.v1alpha3.TrafficPolicyR\rtrafficPolicy\x12;\n" + "\asubsets\x18\x03 \x03(\v2!.istio.networking.v1alpha3.SubsetR\asubsets\x12\x1b\n" + "\texport_to\x18\x04 \x03(\tR\bexportTo\x12Q\n" + + "\x13export_to_selectors\x18\x06 \x03(\v2!.istio.type.v1beta1.LabelSelectorR\x11exportToSelectors\x12Q\n" + "\x11workload_selector\x18\x05 \x01(\v2$.istio.type.v1beta1.WorkloadSelectorR\x10workloadSelector\"\xed\v\n" + "\rTrafficPolicy\x12T\n" + "\rload_balancer\x18\x01 \x01(\v2/.istio.networking.v1alpha3.LoadBalancerSettingsR\floadBalancer\x12Z\n" + @@ -3027,73 +3069,75 @@ var file_networking_v1alpha3_destination_rule_proto_goTypes = []any{ (*LocalityLoadBalancerSetting_Distribute)(nil), // 26: istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute (*LocalityLoadBalancerSetting_Failover)(nil), // 27: istio.networking.v1alpha3.LocalityLoadBalancerSetting.Failover nil, // 28: istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute.ToEntry - (*v1beta1.WorkloadSelector)(nil), // 29: istio.type.v1beta1.WorkloadSelector - (*duration.Duration)(nil), // 30: google.protobuf.Duration - (*wrappers.DoubleValue)(nil), // 31: google.protobuf.DoubleValue - (*wrappers.UInt32Value)(nil), // 32: google.protobuf.UInt32Value - (*wrappers.BoolValue)(nil), // 33: google.protobuf.BoolValue - (*PortSelector)(nil), // 34: istio.networking.v1alpha3.PortSelector + (*v1beta1.LabelSelector)(nil), // 29: istio.type.v1beta1.LabelSelector + (*v1beta1.WorkloadSelector)(nil), // 30: istio.type.v1beta1.WorkloadSelector + (*duration.Duration)(nil), // 31: google.protobuf.Duration + (*wrappers.DoubleValue)(nil), // 32: google.protobuf.DoubleValue + (*wrappers.UInt32Value)(nil), // 33: google.protobuf.UInt32Value + (*wrappers.BoolValue)(nil), // 34: google.protobuf.BoolValue + (*PortSelector)(nil), // 35: istio.networking.v1alpha3.PortSelector } var file_networking_v1alpha3_destination_rule_proto_depIdxs = []int32{ 5, // 0: istio.networking.v1alpha3.DestinationRule.traffic_policy:type_name -> istio.networking.v1alpha3.TrafficPolicy 6, // 1: istio.networking.v1alpha3.DestinationRule.subsets:type_name -> istio.networking.v1alpha3.Subset - 29, // 2: istio.networking.v1alpha3.DestinationRule.workload_selector:type_name -> istio.type.v1beta1.WorkloadSelector - 7, // 3: istio.networking.v1alpha3.TrafficPolicy.load_balancer:type_name -> istio.networking.v1alpha3.LoadBalancerSettings - 9, // 4: istio.networking.v1alpha3.TrafficPolicy.connection_pool:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings - 10, // 5: istio.networking.v1alpha3.TrafficPolicy.outlier_detection:type_name -> istio.networking.v1alpha3.OutlierDetection - 11, // 6: istio.networking.v1alpha3.TrafficPolicy.tls:type_name -> istio.networking.v1alpha3.ClientTLSSettings - 13, // 7: istio.networking.v1alpha3.TrafficPolicy.port_level_settings:type_name -> istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy - 14, // 8: istio.networking.v1alpha3.TrafficPolicy.tunnel:type_name -> istio.networking.v1alpha3.TrafficPolicy.TunnelSettings - 15, // 9: istio.networking.v1alpha3.TrafficPolicy.proxy_protocol:type_name -> istio.networking.v1alpha3.TrafficPolicy.ProxyProtocol - 16, // 10: istio.networking.v1alpha3.TrafficPolicy.retry_budget:type_name -> istio.networking.v1alpha3.TrafficPolicy.RetryBudget - 17, // 11: istio.networking.v1alpha3.Subset.labels:type_name -> istio.networking.v1alpha3.Subset.LabelsEntry - 5, // 12: istio.networking.v1alpha3.Subset.traffic_policy:type_name -> istio.networking.v1alpha3.TrafficPolicy - 1, // 13: istio.networking.v1alpha3.LoadBalancerSettings.simple:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.SimpleLB - 18, // 14: istio.networking.v1alpha3.LoadBalancerSettings.consistent_hash:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB - 12, // 15: istio.networking.v1alpha3.LoadBalancerSettings.locality_lb_setting:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting - 30, // 16: istio.networking.v1alpha3.LoadBalancerSettings.warmup_duration_secs:type_name -> google.protobuf.Duration - 8, // 17: istio.networking.v1alpha3.LoadBalancerSettings.warmup:type_name -> istio.networking.v1alpha3.WarmupConfiguration - 30, // 18: istio.networking.v1alpha3.WarmupConfiguration.duration:type_name -> google.protobuf.Duration - 31, // 19: istio.networking.v1alpha3.WarmupConfiguration.minimum_percent:type_name -> google.protobuf.DoubleValue - 31, // 20: istio.networking.v1alpha3.WarmupConfiguration.aggression:type_name -> google.protobuf.DoubleValue - 23, // 21: istio.networking.v1alpha3.ConnectionPoolSettings.tcp:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings - 24, // 22: istio.networking.v1alpha3.ConnectionPoolSettings.http:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings - 32, // 23: istio.networking.v1alpha3.OutlierDetection.consecutive_local_origin_failures:type_name -> google.protobuf.UInt32Value - 32, // 24: istio.networking.v1alpha3.OutlierDetection.consecutive_gateway_errors:type_name -> google.protobuf.UInt32Value - 32, // 25: istio.networking.v1alpha3.OutlierDetection.consecutive_5xx_errors:type_name -> google.protobuf.UInt32Value - 30, // 26: istio.networking.v1alpha3.OutlierDetection.interval:type_name -> google.protobuf.Duration - 30, // 27: istio.networking.v1alpha3.OutlierDetection.base_ejection_time:type_name -> google.protobuf.Duration - 3, // 28: istio.networking.v1alpha3.ClientTLSSettings.mode:type_name -> istio.networking.v1alpha3.ClientTLSSettings.TLSmode - 33, // 29: istio.networking.v1alpha3.ClientTLSSettings.insecure_skip_verify:type_name -> google.protobuf.BoolValue - 26, // 30: istio.networking.v1alpha3.LocalityLoadBalancerSetting.distribute:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute - 27, // 31: istio.networking.v1alpha3.LocalityLoadBalancerSetting.failover:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting.Failover - 33, // 32: istio.networking.v1alpha3.LocalityLoadBalancerSetting.enabled:type_name -> google.protobuf.BoolValue - 34, // 33: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.port:type_name -> istio.networking.v1alpha3.PortSelector - 7, // 34: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.load_balancer:type_name -> istio.networking.v1alpha3.LoadBalancerSettings - 9, // 35: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.connection_pool:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings - 10, // 36: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.outlier_detection:type_name -> istio.networking.v1alpha3.OutlierDetection - 11, // 37: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.tls:type_name -> istio.networking.v1alpha3.ClientTLSSettings - 0, // 38: istio.networking.v1alpha3.TrafficPolicy.ProxyProtocol.version:type_name -> istio.networking.v1alpha3.TrafficPolicy.ProxyProtocol.VERSION - 31, // 39: istio.networking.v1alpha3.TrafficPolicy.RetryBudget.percent:type_name -> google.protobuf.DoubleValue - 21, // 40: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.http_cookie:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie - 19, // 41: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.ring_hash:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.RingHash - 20, // 42: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.maglev:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.MagLev - 30, // 43: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie.ttl:type_name -> google.protobuf.Duration - 22, // 44: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie.attributes:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie.Attribute - 30, // 45: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.connect_timeout:type_name -> google.protobuf.Duration - 25, // 46: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.tcp_keepalive:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive - 30, // 47: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.max_connection_duration:type_name -> google.protobuf.Duration - 30, // 48: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.idle_timeout:type_name -> google.protobuf.Duration - 30, // 49: istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings.idle_timeout:type_name -> google.protobuf.Duration - 2, // 50: istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings.h2_upgrade_policy:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings.H2UpgradePolicy - 30, // 51: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.time:type_name -> google.protobuf.Duration - 30, // 52: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.interval:type_name -> google.protobuf.Duration - 28, // 53: istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute.to:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute.ToEntry - 54, // [54:54] is the sub-list for method output_type - 54, // [54:54] is the sub-list for method input_type - 54, // [54:54] is the sub-list for extension type_name - 54, // [54:54] is the sub-list for extension extendee - 0, // [0:54] is the sub-list for field type_name + 29, // 2: istio.networking.v1alpha3.DestinationRule.export_to_selectors:type_name -> istio.type.v1beta1.LabelSelector + 30, // 3: istio.networking.v1alpha3.DestinationRule.workload_selector:type_name -> istio.type.v1beta1.WorkloadSelector + 7, // 4: istio.networking.v1alpha3.TrafficPolicy.load_balancer:type_name -> istio.networking.v1alpha3.LoadBalancerSettings + 9, // 5: istio.networking.v1alpha3.TrafficPolicy.connection_pool:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings + 10, // 6: istio.networking.v1alpha3.TrafficPolicy.outlier_detection:type_name -> istio.networking.v1alpha3.OutlierDetection + 11, // 7: istio.networking.v1alpha3.TrafficPolicy.tls:type_name -> istio.networking.v1alpha3.ClientTLSSettings + 13, // 8: istio.networking.v1alpha3.TrafficPolicy.port_level_settings:type_name -> istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy + 14, // 9: istio.networking.v1alpha3.TrafficPolicy.tunnel:type_name -> istio.networking.v1alpha3.TrafficPolicy.TunnelSettings + 15, // 10: istio.networking.v1alpha3.TrafficPolicy.proxy_protocol:type_name -> istio.networking.v1alpha3.TrafficPolicy.ProxyProtocol + 16, // 11: istio.networking.v1alpha3.TrafficPolicy.retry_budget:type_name -> istio.networking.v1alpha3.TrafficPolicy.RetryBudget + 17, // 12: istio.networking.v1alpha3.Subset.labels:type_name -> istio.networking.v1alpha3.Subset.LabelsEntry + 5, // 13: istio.networking.v1alpha3.Subset.traffic_policy:type_name -> istio.networking.v1alpha3.TrafficPolicy + 1, // 14: istio.networking.v1alpha3.LoadBalancerSettings.simple:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.SimpleLB + 18, // 15: istio.networking.v1alpha3.LoadBalancerSettings.consistent_hash:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB + 12, // 16: istio.networking.v1alpha3.LoadBalancerSettings.locality_lb_setting:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting + 31, // 17: istio.networking.v1alpha3.LoadBalancerSettings.warmup_duration_secs:type_name -> google.protobuf.Duration + 8, // 18: istio.networking.v1alpha3.LoadBalancerSettings.warmup:type_name -> istio.networking.v1alpha3.WarmupConfiguration + 31, // 19: istio.networking.v1alpha3.WarmupConfiguration.duration:type_name -> google.protobuf.Duration + 32, // 20: istio.networking.v1alpha3.WarmupConfiguration.minimum_percent:type_name -> google.protobuf.DoubleValue + 32, // 21: istio.networking.v1alpha3.WarmupConfiguration.aggression:type_name -> google.protobuf.DoubleValue + 23, // 22: istio.networking.v1alpha3.ConnectionPoolSettings.tcp:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings + 24, // 23: istio.networking.v1alpha3.ConnectionPoolSettings.http:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings + 33, // 24: istio.networking.v1alpha3.OutlierDetection.consecutive_local_origin_failures:type_name -> google.protobuf.UInt32Value + 33, // 25: istio.networking.v1alpha3.OutlierDetection.consecutive_gateway_errors:type_name -> google.protobuf.UInt32Value + 33, // 26: istio.networking.v1alpha3.OutlierDetection.consecutive_5xx_errors:type_name -> google.protobuf.UInt32Value + 31, // 27: istio.networking.v1alpha3.OutlierDetection.interval:type_name -> google.protobuf.Duration + 31, // 28: istio.networking.v1alpha3.OutlierDetection.base_ejection_time:type_name -> google.protobuf.Duration + 3, // 29: istio.networking.v1alpha3.ClientTLSSettings.mode:type_name -> istio.networking.v1alpha3.ClientTLSSettings.TLSmode + 34, // 30: istio.networking.v1alpha3.ClientTLSSettings.insecure_skip_verify:type_name -> google.protobuf.BoolValue + 26, // 31: istio.networking.v1alpha3.LocalityLoadBalancerSetting.distribute:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute + 27, // 32: istio.networking.v1alpha3.LocalityLoadBalancerSetting.failover:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting.Failover + 34, // 33: istio.networking.v1alpha3.LocalityLoadBalancerSetting.enabled:type_name -> google.protobuf.BoolValue + 35, // 34: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.port:type_name -> istio.networking.v1alpha3.PortSelector + 7, // 35: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.load_balancer:type_name -> istio.networking.v1alpha3.LoadBalancerSettings + 9, // 36: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.connection_pool:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings + 10, // 37: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.outlier_detection:type_name -> istio.networking.v1alpha3.OutlierDetection + 11, // 38: istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy.tls:type_name -> istio.networking.v1alpha3.ClientTLSSettings + 0, // 39: istio.networking.v1alpha3.TrafficPolicy.ProxyProtocol.version:type_name -> istio.networking.v1alpha3.TrafficPolicy.ProxyProtocol.VERSION + 32, // 40: istio.networking.v1alpha3.TrafficPolicy.RetryBudget.percent:type_name -> google.protobuf.DoubleValue + 21, // 41: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.http_cookie:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie + 19, // 42: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.ring_hash:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.RingHash + 20, // 43: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.maglev:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.MagLev + 31, // 44: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie.ttl:type_name -> google.protobuf.Duration + 22, // 45: istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie.attributes:type_name -> istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie.Attribute + 31, // 46: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.connect_timeout:type_name -> google.protobuf.Duration + 25, // 47: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.tcp_keepalive:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive + 31, // 48: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.max_connection_duration:type_name -> google.protobuf.Duration + 31, // 49: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.idle_timeout:type_name -> google.protobuf.Duration + 31, // 50: istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings.idle_timeout:type_name -> google.protobuf.Duration + 2, // 51: istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings.h2_upgrade_policy:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings.H2UpgradePolicy + 31, // 52: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.time:type_name -> google.protobuf.Duration + 31, // 53: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.interval:type_name -> google.protobuf.Duration + 28, // 54: istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute.to:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting.Distribute.ToEntry + 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 } func init() { file_networking_v1alpha3_destination_rule_proto_init() } diff --git a/networking/v1alpha3/destination_rule.pb.html b/networking/v1alpha3/destination_rule.pb.html index d465b81f6a..c8f513ad26 100644 --- a/networking/v1alpha3/destination_rule.pb.html +++ b/networking/v1alpha3/destination_rule.pb.html @@ -166,6 +166,38 @@

DestinationRule

the destination rule is declared in. Similarly, the value “*” is reserved and defines an export to all namespaces.

+ + + + + diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index df2fcc8ca3..1a26a9e93f 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -119,7 +119,6 @@ package istio.networking.v1alpha3; import "google/api/field_behavior.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/wrappers.proto"; -import "mesh/v1alpha1/config.proto"; import "networking/v1alpha3/virtual_service.proto"; import "type/v1beta1/selector.proto"; @@ -224,7 +223,7 @@ message DestinationRule { // // **Note:** DestinationRule with workload_selector cannot use export_to_selectors // and must only export to the current namespace ("."). - repeated istio.mesh.v1alpha1.LabelSelector export_to_selectors = 6; + repeated istio.type.v1beta1.LabelSelector export_to_selectors = 6; // // Criteria used to select the specific set of pods/VMs on which this // `DestinationRule` configuration should be applied. If specified, the `DestinationRule` diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index 164814714f..cf5af1485b 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -408,6 +408,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" v1alpha11 "istio.io/api/analysis/v1alpha1" v1alpha1 "istio.io/api/meta/v1alpha1" + v1beta1 "istio.io/api/type/v1beta1" reflect "reflect" sync "sync" unsafe "unsafe" @@ -712,6 +713,39 @@ type ServiceEntry struct { // // **Note:** Ztunnel and Waypoint proxies not support this field and will read it at "*". ExportTo []string `protobuf:"bytes,7,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` + // A list of label selectors to dynamically select namespaces to which this + // service is exported. Each selector can match namespaces based on their labels. + // This provides a mechanism for service owners and mesh administrators to control + // the visibility of services across namespace boundaries without knowing namespace + // names in advance. + // + // For example, to export to all namespaces with a specific label: + // ```yaml + // exportToSelectors: + // - matchLabels: + // mesh: enabled + // + // ``` + // + // Or using match expressions for more complex selection: + // ```yaml + // exportToSelectors: + // - matchExpressions: + // - key: environment + // operator: In + // values: [production, staging] + // + // ``` + // + // When both export_to and export_to_selectors are specified, the service is + // exported to the union of all matched namespaces. If neither is specified, + // the service is exported to all namespaces by default. + // + // **Note:** Using "*" in export_to makes export_to_selectors redundant as + // the service would already be visible to all namespaces. + // + // **Note:** Ztunnel and Waypoint proxies do not support this field. + ExportToSelectors []*v1beta1.LabelSelector `protobuf:"bytes,10,rep,name=export_to_selectors,json=exportToSelectors,proto3" json:"export_to_selectors,omitempty"` // If specified, the proxy will verify that the server certificate's // subject alternate name matches one of the specified values. // @@ -810,6 +844,13 @@ func (x *ServiceEntry) GetExportTo() []string { return nil } +func (x *ServiceEntry) GetExportToSelectors() []*v1beta1.LabelSelector { + if x != nil { + return x.ExportToSelectors + } + return nil +} + func (x *ServiceEntry) GetSubjectAltNames() []string { if x != nil { return x.SubjectAltNames @@ -1040,7 +1081,7 @@ var File_networking_v1alpha3_service_entry_proto protoreflect.FileDescriptor const file_networking_v1alpha3_service_entry_proto_rawDesc = "" + "\n" + - "'networking/v1alpha3/service_entry.proto\x12\x19istio.networking.v1alpha3\x1a\x1fanalysis/v1alpha1/message.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1ameta/v1alpha1/status.proto\x1a!networking/v1alpha3/sidecar.proto\x1a(networking/v1alpha3/workload_entry.proto\"\x98\x05\n" + + "'networking/v1alpha3/service_entry.proto\x12\x19istio.networking.v1alpha3\x1a\x1fanalysis/v1alpha1/message.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1ameta/v1alpha1/status.proto\x1a!networking/v1alpha3/sidecar.proto\x1a(networking/v1alpha3/workload_entry.proto\x1a\x1btype/v1beta1/selector.proto\"\xeb\x05\n" + "\fServiceEntry\x12\x1a\n" + "\x05hosts\x18\x01 \x03(\tB\x04\xe2A\x01\x02R\x05hosts\x12\x1c\n" + "\taddresses\x18\x02 \x03(\tR\taddresses\x12<\n" + @@ -1051,7 +1092,9 @@ const file_networking_v1alpha3_service_entry_proto_rawDesc = "" + "resolution\x12F\n" + "\tendpoints\x18\x06 \x03(\v2(.istio.networking.v1alpha3.WorkloadEntryR\tendpoints\x12X\n" + "\x11workload_selector\x18\t \x01(\v2+.istio.networking.v1alpha3.WorkloadSelectorR\x10workloadSelector\x12\x1b\n" + - "\texport_to\x18\a \x03(\tR\bexportTo\x12*\n" + + "\texport_to\x18\a \x03(\tR\bexportTo\x12Q\n" + + "\x13export_to_selectors\x18\n" + + " \x03(\v2!.istio.type.v1beta1.LabelSelectorR\x11exportToSelectors\x12*\n" + "\x11subject_alt_names\x18\b \x03(\tR\x0fsubjectAltNames\"0\n" + "\bLocation\x12\x11\n" + "\rMESH_EXTERNAL\x10\x00\x12\x11\n" + @@ -1105,23 +1148,25 @@ var file_networking_v1alpha3_service_entry_proto_goTypes = []any{ (*ServiceEntryAddress)(nil), // 5: istio.networking.v1alpha3.ServiceEntryAddress (*WorkloadEntry)(nil), // 6: istio.networking.v1alpha3.WorkloadEntry (*WorkloadSelector)(nil), // 7: istio.networking.v1alpha3.WorkloadSelector - (*v1alpha1.IstioCondition)(nil), // 8: istio.meta.v1alpha1.IstioCondition - (*v1alpha11.AnalysisMessageBase)(nil), // 9: istio.analysis.v1alpha1.AnalysisMessageBase + (*v1beta1.LabelSelector)(nil), // 8: istio.type.v1beta1.LabelSelector + (*v1alpha1.IstioCondition)(nil), // 9: istio.meta.v1alpha1.IstioCondition + (*v1alpha11.AnalysisMessageBase)(nil), // 10: istio.analysis.v1alpha1.AnalysisMessageBase } var file_networking_v1alpha3_service_entry_proto_depIdxs = []int32{ - 3, // 0: istio.networking.v1alpha3.ServiceEntry.ports:type_name -> istio.networking.v1alpha3.ServicePort - 0, // 1: istio.networking.v1alpha3.ServiceEntry.location:type_name -> istio.networking.v1alpha3.ServiceEntry.Location - 1, // 2: istio.networking.v1alpha3.ServiceEntry.resolution:type_name -> istio.networking.v1alpha3.ServiceEntry.Resolution - 6, // 3: istio.networking.v1alpha3.ServiceEntry.endpoints:type_name -> istio.networking.v1alpha3.WorkloadEntry - 7, // 4: istio.networking.v1alpha3.ServiceEntry.workload_selector:type_name -> istio.networking.v1alpha3.WorkloadSelector - 8, // 5: istio.networking.v1alpha3.ServiceEntryStatus.conditions:type_name -> istio.meta.v1alpha1.IstioCondition - 9, // 6: istio.networking.v1alpha3.ServiceEntryStatus.validation_messages:type_name -> istio.analysis.v1alpha1.AnalysisMessageBase - 5, // 7: istio.networking.v1alpha3.ServiceEntryStatus.addresses:type_name -> istio.networking.v1alpha3.ServiceEntryAddress - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 3, // 0: istio.networking.v1alpha3.ServiceEntry.ports:type_name -> istio.networking.v1alpha3.ServicePort + 0, // 1: istio.networking.v1alpha3.ServiceEntry.location:type_name -> istio.networking.v1alpha3.ServiceEntry.Location + 1, // 2: istio.networking.v1alpha3.ServiceEntry.resolution:type_name -> istio.networking.v1alpha3.ServiceEntry.Resolution + 6, // 3: istio.networking.v1alpha3.ServiceEntry.endpoints:type_name -> istio.networking.v1alpha3.WorkloadEntry + 7, // 4: istio.networking.v1alpha3.ServiceEntry.workload_selector:type_name -> istio.networking.v1alpha3.WorkloadSelector + 8, // 5: istio.networking.v1alpha3.ServiceEntry.export_to_selectors:type_name -> istio.type.v1beta1.LabelSelector + 9, // 6: istio.networking.v1alpha3.ServiceEntryStatus.conditions:type_name -> istio.meta.v1alpha1.IstioCondition + 10, // 7: istio.networking.v1alpha3.ServiceEntryStatus.validation_messages:type_name -> istio.analysis.v1alpha1.AnalysisMessageBase + 5, // 8: istio.networking.v1alpha3.ServiceEntryStatus.addresses:type_name -> istio.networking.v1alpha3.ServiceEntryAddress + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_networking_v1alpha3_service_entry_proto_init() } diff --git a/networking/v1alpha3/service_entry.pb.html b/networking/v1alpha3/service_entry.pb.html index 3122ef0311..9f78a99381 100644 --- a/networking/v1alpha3/service_entry.pb.html +++ b/networking/v1alpha3/service_entry.pb.html @@ -487,6 +487,37 @@

ServiceEntry

of namespace names.

Note: Ztunnel and Waypoint proxies not support this field and will read it at “*”.

+ + + + + diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index 6f8b3e2353..673b2293a4 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -399,10 +399,10 @@ package istio.networking.v1alpha3; import "analysis/v1alpha1/message.proto"; import "google/api/field_behavior.proto"; -import "mesh/v1alpha1/config.proto"; import "meta/v1alpha1/status.proto"; import "networking/v1alpha3/sidecar.proto"; import "networking/v1alpha3/workload_entry.proto"; +import "type/v1beta1/selector.proto"; option go_package = "istio.io/api/networking/v1alpha3"; @@ -652,7 +652,7 @@ message ServiceEntry { // the service would already be visible to all namespaces. // // **Note:** Ztunnel and Waypoint proxies do not support this field. - repeated istio.mesh.v1alpha1.LabelSelector export_to_selectors = 10; + repeated istio.type.v1beta1.LabelSelector export_to_selectors = 10; // If specified, the proxy will verify that the server certificate's // subject alternate name matches one of the specified values. diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index d4db2ab0c6..0e0056f9ad 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -124,6 +124,7 @@ import ( _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + v1beta1 "istio.io/api/type/v1beta1" reflect "reflect" sync "sync" unsafe "unsafe" @@ -340,9 +341,40 @@ type VirtualService struct { // The value "." is reserved and defines an export to the same namespace that // the virtual service is declared in. Similarly the value "*" is reserved and // defines an export to all namespaces. - ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + ExportTo []string `protobuf:"bytes,6,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"` + // A list of label selectors to dynamically select namespaces to which this + // virtual service is exported. Each selector can match namespaces based on their labels. + // This provides a mechanism for service owners and mesh administrators to control + // the visibility of virtual services across namespace boundaries without knowing namespace + // names in advance. + // + // For example, to export to all namespaces with a specific label: + // ```yaml + // exportToSelectors: + // - matchLabels: + // mesh: enabled + // + // ``` + // + // Or using match expressions for more complex selection: + // ```yaml + // exportToSelectors: + // - matchExpressions: + // - key: environment + // operator: In + // values: [production, staging] + // + // ``` + // + // When both export_to and export_to_selectors are specified, the virtual service is + // exported to the union of all matched namespaces. If neither is specified, + // the virtual service is exported to all namespaces by default. + // + // **Note:** Using "*" in export_to makes export_to_selectors redundant as + // the virtual service would already be visible to all namespaces. + ExportToSelectors []*v1beta1.LabelSelector `protobuf:"bytes,7,rep,name=export_to_selectors,json=exportToSelectors,proto3" json:"export_to_selectors,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *VirtualService) Reset() { @@ -417,6 +449,13 @@ func (x *VirtualService) GetExportTo() []string { return nil } +func (x *VirtualService) GetExportToSelectors() []*v1beta1.LabelSelector { + if x != nil { + return x.ExportToSelectors + } + return nil +} + // Destination indicates the network addressable service to which the // request/connection will be sent after processing a routing rule. The // destination.host should unambiguously refer to a service in the service @@ -3514,14 +3553,15 @@ var File_networking_v1alpha3_virtual_service_proto protoreflect.FileDescriptor const file_networking_v1alpha3_virtual_service_proto_rawDesc = "" + "\n" + - ")networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x87\x02\n" + + ")networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1btype/v1beta1/selector.proto\"\xda\x02\n" + "\x0eVirtualService\x12\x14\n" + "\x05hosts\x18\x01 \x03(\tR\x05hosts\x12\x1a\n" + "\bgateways\x18\x02 \x03(\tR\bgateways\x128\n" + "\x04http\x18\x03 \x03(\v2$.istio.networking.v1alpha3.HTTPRouteR\x04http\x125\n" + "\x03tls\x18\x05 \x03(\v2#.istio.networking.v1alpha3.TLSRouteR\x03tls\x125\n" + "\x03tcp\x18\x04 \x03(\v2#.istio.networking.v1alpha3.TCPRouteR\x03tcp\x12\x1b\n" + - "\texport_to\x18\x06 \x03(\tR\bexportTo\"|\n" + + "\texport_to\x18\x06 \x03(\tR\bexportTo\x12Q\n" + + "\x13export_to_selectors\x18\a \x03(\v2!.istio.type.v1beta1.LabelSelectorR\x11exportToSelectors\"|\n" + "\vDestination\x12\x18\n" + "\x04host\x18\x01 \x01(\tB\x04\xe2A\x01\x02R\x04host\x12\x16\n" + "\x06subset\x18\x02 \x01(\tR\x06subset\x12;\n" + @@ -3763,78 +3803,80 @@ var file_networking_v1alpha3_virtual_service_proto_goTypes = []any{ nil, // 34: istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry (*HTTPFaultInjection_Delay)(nil), // 35: istio.networking.v1alpha3.HTTPFaultInjection.Delay (*HTTPFaultInjection_Abort)(nil), // 36: istio.networking.v1alpha3.HTTPFaultInjection.Abort - (*duration.Duration)(nil), // 37: google.protobuf.Duration - (*wrappers.UInt32Value)(nil), // 38: google.protobuf.UInt32Value - (*wrappers.BoolValue)(nil), // 39: google.protobuf.BoolValue + (*v1beta1.LabelSelector)(nil), // 37: istio.type.v1beta1.LabelSelector + (*duration.Duration)(nil), // 38: google.protobuf.Duration + (*wrappers.UInt32Value)(nil), // 39: google.protobuf.UInt32Value + (*wrappers.BoolValue)(nil), // 40: google.protobuf.BoolValue } var file_networking_v1alpha3_virtual_service_proto_depIdxs = []int32{ 4, // 0: istio.networking.v1alpha3.VirtualService.http:type_name -> istio.networking.v1alpha3.HTTPRoute 7, // 1: istio.networking.v1alpha3.VirtualService.tls:type_name -> istio.networking.v1alpha3.TLSRoute 8, // 2: istio.networking.v1alpha3.VirtualService.tcp:type_name -> istio.networking.v1alpha3.TCPRoute - 24, // 3: istio.networking.v1alpha3.Destination.port:type_name -> istio.networking.v1alpha3.PortSelector - 9, // 4: istio.networking.v1alpha3.HTTPRoute.match:type_name -> istio.networking.v1alpha3.HTTPMatchRequest - 10, // 5: istio.networking.v1alpha3.HTTPRoute.route:type_name -> istio.networking.v1alpha3.HTTPRouteDestination - 14, // 6: istio.networking.v1alpha3.HTTPRoute.redirect:type_name -> istio.networking.v1alpha3.HTTPRedirect - 15, // 7: istio.networking.v1alpha3.HTTPRoute.direct_response:type_name -> istio.networking.v1alpha3.HTTPDirectResponse - 5, // 8: istio.networking.v1alpha3.HTTPRoute.delegate:type_name -> istio.networking.v1alpha3.Delegate - 17, // 9: istio.networking.v1alpha3.HTTPRoute.rewrite:type_name -> istio.networking.v1alpha3.HTTPRewrite - 37, // 10: istio.networking.v1alpha3.HTTPRoute.timeout:type_name -> google.protobuf.Duration - 20, // 11: istio.networking.v1alpha3.HTTPRoute.retries:type_name -> istio.networking.v1alpha3.HTTPRetry - 22, // 12: istio.networking.v1alpha3.HTTPRoute.fault:type_name -> istio.networking.v1alpha3.HTTPFaultInjection - 3, // 13: istio.networking.v1alpha3.HTTPRoute.mirror:type_name -> istio.networking.v1alpha3.Destination - 23, // 14: istio.networking.v1alpha3.HTTPRoute.mirrors:type_name -> istio.networking.v1alpha3.HTTPMirrorPolicy - 38, // 15: istio.networking.v1alpha3.HTTPRoute.mirror_percent:type_name -> google.protobuf.UInt32Value - 25, // 16: istio.networking.v1alpha3.HTTPRoute.mirror_percentage:type_name -> istio.networking.v1alpha3.Percent - 21, // 17: istio.networking.v1alpha3.HTTPRoute.cors_policy:type_name -> istio.networking.v1alpha3.CorsPolicy - 6, // 18: istio.networking.v1alpha3.HTTPRoute.headers:type_name -> istio.networking.v1alpha3.Headers - 26, // 19: istio.networking.v1alpha3.Headers.request:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations - 26, // 20: istio.networking.v1alpha3.Headers.response:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations - 13, // 21: istio.networking.v1alpha3.TLSRoute.match:type_name -> istio.networking.v1alpha3.TLSMatchAttributes - 11, // 22: istio.networking.v1alpha3.TLSRoute.route:type_name -> istio.networking.v1alpha3.RouteDestination - 12, // 23: istio.networking.v1alpha3.TCPRoute.match:type_name -> istio.networking.v1alpha3.L4MatchAttributes - 11, // 24: istio.networking.v1alpha3.TCPRoute.route:type_name -> istio.networking.v1alpha3.RouteDestination - 19, // 25: istio.networking.v1alpha3.HTTPMatchRequest.uri:type_name -> istio.networking.v1alpha3.StringMatch - 19, // 26: istio.networking.v1alpha3.HTTPMatchRequest.scheme:type_name -> istio.networking.v1alpha3.StringMatch - 19, // 27: istio.networking.v1alpha3.HTTPMatchRequest.method:type_name -> istio.networking.v1alpha3.StringMatch - 19, // 28: istio.networking.v1alpha3.HTTPMatchRequest.authority:type_name -> istio.networking.v1alpha3.StringMatch - 29, // 29: istio.networking.v1alpha3.HTTPMatchRequest.headers:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry - 30, // 30: istio.networking.v1alpha3.HTTPMatchRequest.source_labels:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry - 31, // 31: istio.networking.v1alpha3.HTTPMatchRequest.query_params:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.QueryParamsEntry - 32, // 32: istio.networking.v1alpha3.HTTPMatchRequest.without_headers:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.WithoutHeadersEntry - 3, // 33: istio.networking.v1alpha3.HTTPRouteDestination.destination:type_name -> istio.networking.v1alpha3.Destination - 6, // 34: istio.networking.v1alpha3.HTTPRouteDestination.headers:type_name -> istio.networking.v1alpha3.Headers - 3, // 35: istio.networking.v1alpha3.RouteDestination.destination:type_name -> istio.networking.v1alpha3.Destination - 33, // 36: istio.networking.v1alpha3.L4MatchAttributes.source_labels:type_name -> istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry - 34, // 37: istio.networking.v1alpha3.TLSMatchAttributes.source_labels:type_name -> istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry - 0, // 38: istio.networking.v1alpha3.HTTPRedirect.derive_port:type_name -> istio.networking.v1alpha3.HTTPRedirect.RedirectPortSelection - 16, // 39: istio.networking.v1alpha3.HTTPDirectResponse.body:type_name -> istio.networking.v1alpha3.HTTPBody - 18, // 40: istio.networking.v1alpha3.HTTPRewrite.uri_regex_rewrite:type_name -> istio.networking.v1alpha3.RegexRewrite - 37, // 41: istio.networking.v1alpha3.HTTPRetry.per_try_timeout:type_name -> google.protobuf.Duration - 39, // 42: istio.networking.v1alpha3.HTTPRetry.retry_remote_localities:type_name -> google.protobuf.BoolValue - 39, // 43: istio.networking.v1alpha3.HTTPRetry.retry_ignore_previous_hosts:type_name -> google.protobuf.BoolValue - 37, // 44: istio.networking.v1alpha3.HTTPRetry.backoff:type_name -> google.protobuf.Duration - 19, // 45: istio.networking.v1alpha3.CorsPolicy.allow_origins:type_name -> istio.networking.v1alpha3.StringMatch - 37, // 46: istio.networking.v1alpha3.CorsPolicy.max_age:type_name -> google.protobuf.Duration - 39, // 47: istio.networking.v1alpha3.CorsPolicy.allow_credentials:type_name -> google.protobuf.BoolValue - 1, // 48: istio.networking.v1alpha3.CorsPolicy.unmatched_preflights:type_name -> istio.networking.v1alpha3.CorsPolicy.UnmatchedPreflights - 35, // 49: istio.networking.v1alpha3.HTTPFaultInjection.delay:type_name -> istio.networking.v1alpha3.HTTPFaultInjection.Delay - 36, // 50: istio.networking.v1alpha3.HTTPFaultInjection.abort:type_name -> istio.networking.v1alpha3.HTTPFaultInjection.Abort - 3, // 51: istio.networking.v1alpha3.HTTPMirrorPolicy.destination:type_name -> istio.networking.v1alpha3.Destination - 25, // 52: istio.networking.v1alpha3.HTTPMirrorPolicy.percentage:type_name -> istio.networking.v1alpha3.Percent - 27, // 53: istio.networking.v1alpha3.Headers.HeaderOperations.set:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry - 28, // 54: istio.networking.v1alpha3.Headers.HeaderOperations.add:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry - 19, // 55: istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry.value:type_name -> istio.networking.v1alpha3.StringMatch - 19, // 56: istio.networking.v1alpha3.HTTPMatchRequest.QueryParamsEntry.value:type_name -> istio.networking.v1alpha3.StringMatch - 19, // 57: istio.networking.v1alpha3.HTTPMatchRequest.WithoutHeadersEntry.value:type_name -> istio.networking.v1alpha3.StringMatch - 37, // 58: istio.networking.v1alpha3.HTTPFaultInjection.Delay.fixed_delay:type_name -> google.protobuf.Duration - 37, // 59: istio.networking.v1alpha3.HTTPFaultInjection.Delay.exponential_delay:type_name -> google.protobuf.Duration - 25, // 60: istio.networking.v1alpha3.HTTPFaultInjection.Delay.percentage:type_name -> istio.networking.v1alpha3.Percent - 25, // 61: istio.networking.v1alpha3.HTTPFaultInjection.Abort.percentage:type_name -> istio.networking.v1alpha3.Percent - 62, // [62:62] is the sub-list for method output_type - 62, // [62:62] is the sub-list for method input_type - 62, // [62:62] is the sub-list for extension type_name - 62, // [62:62] is the sub-list for extension extendee - 0, // [0:62] is the sub-list for field type_name + 37, // 3: istio.networking.v1alpha3.VirtualService.export_to_selectors:type_name -> istio.type.v1beta1.LabelSelector + 24, // 4: istio.networking.v1alpha3.Destination.port:type_name -> istio.networking.v1alpha3.PortSelector + 9, // 5: istio.networking.v1alpha3.HTTPRoute.match:type_name -> istio.networking.v1alpha3.HTTPMatchRequest + 10, // 6: istio.networking.v1alpha3.HTTPRoute.route:type_name -> istio.networking.v1alpha3.HTTPRouteDestination + 14, // 7: istio.networking.v1alpha3.HTTPRoute.redirect:type_name -> istio.networking.v1alpha3.HTTPRedirect + 15, // 8: istio.networking.v1alpha3.HTTPRoute.direct_response:type_name -> istio.networking.v1alpha3.HTTPDirectResponse + 5, // 9: istio.networking.v1alpha3.HTTPRoute.delegate:type_name -> istio.networking.v1alpha3.Delegate + 17, // 10: istio.networking.v1alpha3.HTTPRoute.rewrite:type_name -> istio.networking.v1alpha3.HTTPRewrite + 38, // 11: istio.networking.v1alpha3.HTTPRoute.timeout:type_name -> google.protobuf.Duration + 20, // 12: istio.networking.v1alpha3.HTTPRoute.retries:type_name -> istio.networking.v1alpha3.HTTPRetry + 22, // 13: istio.networking.v1alpha3.HTTPRoute.fault:type_name -> istio.networking.v1alpha3.HTTPFaultInjection + 3, // 14: istio.networking.v1alpha3.HTTPRoute.mirror:type_name -> istio.networking.v1alpha3.Destination + 23, // 15: istio.networking.v1alpha3.HTTPRoute.mirrors:type_name -> istio.networking.v1alpha3.HTTPMirrorPolicy + 39, // 16: istio.networking.v1alpha3.HTTPRoute.mirror_percent:type_name -> google.protobuf.UInt32Value + 25, // 17: istio.networking.v1alpha3.HTTPRoute.mirror_percentage:type_name -> istio.networking.v1alpha3.Percent + 21, // 18: istio.networking.v1alpha3.HTTPRoute.cors_policy:type_name -> istio.networking.v1alpha3.CorsPolicy + 6, // 19: istio.networking.v1alpha3.HTTPRoute.headers:type_name -> istio.networking.v1alpha3.Headers + 26, // 20: istio.networking.v1alpha3.Headers.request:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations + 26, // 21: istio.networking.v1alpha3.Headers.response:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations + 13, // 22: istio.networking.v1alpha3.TLSRoute.match:type_name -> istio.networking.v1alpha3.TLSMatchAttributes + 11, // 23: istio.networking.v1alpha3.TLSRoute.route:type_name -> istio.networking.v1alpha3.RouteDestination + 12, // 24: istio.networking.v1alpha3.TCPRoute.match:type_name -> istio.networking.v1alpha3.L4MatchAttributes + 11, // 25: istio.networking.v1alpha3.TCPRoute.route:type_name -> istio.networking.v1alpha3.RouteDestination + 19, // 26: istio.networking.v1alpha3.HTTPMatchRequest.uri:type_name -> istio.networking.v1alpha3.StringMatch + 19, // 27: istio.networking.v1alpha3.HTTPMatchRequest.scheme:type_name -> istio.networking.v1alpha3.StringMatch + 19, // 28: istio.networking.v1alpha3.HTTPMatchRequest.method:type_name -> istio.networking.v1alpha3.StringMatch + 19, // 29: istio.networking.v1alpha3.HTTPMatchRequest.authority:type_name -> istio.networking.v1alpha3.StringMatch + 29, // 30: istio.networking.v1alpha3.HTTPMatchRequest.headers:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry + 30, // 31: istio.networking.v1alpha3.HTTPMatchRequest.source_labels:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry + 31, // 32: istio.networking.v1alpha3.HTTPMatchRequest.query_params:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.QueryParamsEntry + 32, // 33: istio.networking.v1alpha3.HTTPMatchRequest.without_headers:type_name -> istio.networking.v1alpha3.HTTPMatchRequest.WithoutHeadersEntry + 3, // 34: istio.networking.v1alpha3.HTTPRouteDestination.destination:type_name -> istio.networking.v1alpha3.Destination + 6, // 35: istio.networking.v1alpha3.HTTPRouteDestination.headers:type_name -> istio.networking.v1alpha3.Headers + 3, // 36: istio.networking.v1alpha3.RouteDestination.destination:type_name -> istio.networking.v1alpha3.Destination + 33, // 37: istio.networking.v1alpha3.L4MatchAttributes.source_labels:type_name -> istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry + 34, // 38: istio.networking.v1alpha3.TLSMatchAttributes.source_labels:type_name -> istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry + 0, // 39: istio.networking.v1alpha3.HTTPRedirect.derive_port:type_name -> istio.networking.v1alpha3.HTTPRedirect.RedirectPortSelection + 16, // 40: istio.networking.v1alpha3.HTTPDirectResponse.body:type_name -> istio.networking.v1alpha3.HTTPBody + 18, // 41: istio.networking.v1alpha3.HTTPRewrite.uri_regex_rewrite:type_name -> istio.networking.v1alpha3.RegexRewrite + 38, // 42: istio.networking.v1alpha3.HTTPRetry.per_try_timeout:type_name -> google.protobuf.Duration + 40, // 43: istio.networking.v1alpha3.HTTPRetry.retry_remote_localities:type_name -> google.protobuf.BoolValue + 40, // 44: istio.networking.v1alpha3.HTTPRetry.retry_ignore_previous_hosts:type_name -> google.protobuf.BoolValue + 38, // 45: istio.networking.v1alpha3.HTTPRetry.backoff:type_name -> google.protobuf.Duration + 19, // 46: istio.networking.v1alpha3.CorsPolicy.allow_origins:type_name -> istio.networking.v1alpha3.StringMatch + 38, // 47: istio.networking.v1alpha3.CorsPolicy.max_age:type_name -> google.protobuf.Duration + 40, // 48: istio.networking.v1alpha3.CorsPolicy.allow_credentials:type_name -> google.protobuf.BoolValue + 1, // 49: istio.networking.v1alpha3.CorsPolicy.unmatched_preflights:type_name -> istio.networking.v1alpha3.CorsPolicy.UnmatchedPreflights + 35, // 50: istio.networking.v1alpha3.HTTPFaultInjection.delay:type_name -> istio.networking.v1alpha3.HTTPFaultInjection.Delay + 36, // 51: istio.networking.v1alpha3.HTTPFaultInjection.abort:type_name -> istio.networking.v1alpha3.HTTPFaultInjection.Abort + 3, // 52: istio.networking.v1alpha3.HTTPMirrorPolicy.destination:type_name -> istio.networking.v1alpha3.Destination + 25, // 53: istio.networking.v1alpha3.HTTPMirrorPolicy.percentage:type_name -> istio.networking.v1alpha3.Percent + 27, // 54: istio.networking.v1alpha3.Headers.HeaderOperations.set:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry + 28, // 55: istio.networking.v1alpha3.Headers.HeaderOperations.add:type_name -> istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry + 19, // 56: istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry.value:type_name -> istio.networking.v1alpha3.StringMatch + 19, // 57: istio.networking.v1alpha3.HTTPMatchRequest.QueryParamsEntry.value:type_name -> istio.networking.v1alpha3.StringMatch + 19, // 58: istio.networking.v1alpha3.HTTPMatchRequest.WithoutHeadersEntry.value:type_name -> istio.networking.v1alpha3.StringMatch + 38, // 59: istio.networking.v1alpha3.HTTPFaultInjection.Delay.fixed_delay:type_name -> google.protobuf.Duration + 38, // 60: istio.networking.v1alpha3.HTTPFaultInjection.Delay.exponential_delay:type_name -> google.protobuf.Duration + 25, // 61: istio.networking.v1alpha3.HTTPFaultInjection.Delay.percentage:type_name -> istio.networking.v1alpha3.Percent + 25, // 62: istio.networking.v1alpha3.HTTPFaultInjection.Abort.percentage:type_name -> istio.networking.v1alpha3.Percent + 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_networking_v1alpha3_virtual_service_proto_init() } diff --git a/networking/v1alpha3/virtual_service.pb.html b/networking/v1alpha3/virtual_service.pb.html index 637a497cc1..d01fcdf33e 100644 --- a/networking/v1alpha3/virtual_service.pb.html +++ b/networking/v1alpha3/virtual_service.pb.html @@ -208,6 +208,36 @@

VirtualService

the virtual service is declared in. Similarly the value “*” is reserved and defines an export to all namespaces.

+ + + + + diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index e2bfecfedc..3d2b573786 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -116,7 +116,7 @@ package istio.networking.v1alpha3; import "google/api/field_behavior.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/wrappers.proto"; -import "mesh/v1alpha1/config.proto"; +import "type/v1beta1/selector.proto"; option go_package = "istio.io/api/networking/v1alpha3"; @@ -258,7 +258,7 @@ message VirtualService { // // **Note:** Using "*" in export_to makes export_to_selectors redundant as // the virtual service would already be visible to all namespaces. - repeated istio.mesh.v1alpha1.LabelSelector export_to_selectors = 7; + repeated istio.type.v1beta1.LabelSelector export_to_selectors = 7; } // Destination indicates the network addressable service to which the diff --git a/type/v1beta1/selector.pb.go b/type/v1beta1/selector.pb.go index e4cc6e601c..6a51097f89 100644 --- a/type/v1beta1/selector.pb.go +++ b/type/v1beta1/selector.pb.go @@ -213,6 +213,140 @@ func (x *PortSelector) GetNumber() uint32 { return 0 } +// LabelSelector is a label query over resources. +// It matches resources based on their labels. +// Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries. +type LabelSelector struct { + state protoimpl.MessageState `protogen:"open.v1"` + // matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + // map is equivalent to an element of matchExpressions, whose key field is "key", the + // operator is "In", and the values array contains only "value". The requirements are ANDed. + // +optional + MatchLabels map[string]string `protobuf:"bytes,1,rep,name=matchLabels,proto3" json:"matchLabels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // matchExpressions is a list of label selector requirements. The requirements are ANDed. + // +optional + MatchExpressions []*LabelSelectorRequirement `protobuf:"bytes,2,rep,name=matchExpressions,proto3" json:"matchExpressions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LabelSelector) Reset() { + *x = LabelSelector{} + mi := &file_type_v1beta1_selector_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LabelSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LabelSelector) ProtoMessage() {} + +func (x *LabelSelector) ProtoReflect() protoreflect.Message { + mi := &file_type_v1beta1_selector_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 LabelSelector.ProtoReflect.Descriptor instead. +func (*LabelSelector) Descriptor() ([]byte, []int) { + return file_type_v1beta1_selector_proto_rawDescGZIP(), []int{2} +} + +func (x *LabelSelector) GetMatchLabels() map[string]string { + if x != nil { + return x.MatchLabels + } + return nil +} + +func (x *LabelSelector) GetMatchExpressions() []*LabelSelectorRequirement { + if x != nil { + return x.MatchExpressions + } + return nil +} + +// A label selector requirement is a selector that contains values, a key, and an operator that +// relates the key and values. +// Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries. +type LabelSelectorRequirement struct { + state protoimpl.MessageState `protogen:"open.v1"` + // key is the label key that the selector applies to. + // +patchMergeKey=key + // +patchStrategy=merge + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // operator represents a key's relationship to a set of values. + // Valid operators are In, NotIn, Exists and DoesNotExist. + Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"` + // values is an array of string values. If the operator is In or NotIn, + // the values array must be non-empty. If the operator is Exists or DoesNotExist, + // the values array must be empty. This array is replaced during a strategic + // merge patch. + // +optional + Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LabelSelectorRequirement) Reset() { + *x = LabelSelectorRequirement{} + mi := &file_type_v1beta1_selector_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LabelSelectorRequirement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LabelSelectorRequirement) ProtoMessage() {} + +func (x *LabelSelectorRequirement) ProtoReflect() protoreflect.Message { + mi := &file_type_v1beta1_selector_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 LabelSelectorRequirement.ProtoReflect.Descriptor instead. +func (*LabelSelectorRequirement) Descriptor() ([]byte, []int) { + return file_type_v1beta1_selector_proto_rawDescGZIP(), []int{3} +} + +func (x *LabelSelectorRequirement) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *LabelSelectorRequirement) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *LabelSelectorRequirement) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + // PolicyTargetReference format as defined by [GEP-2648](https://gateway-api.sigs.k8s.io/geps/gep-2648/#direct-policy-design-rules). // // PolicyTargetReference specifies the targeted resource which the policy @@ -276,7 +410,7 @@ type PolicyTargetReference struct { func (x *PolicyTargetReference) Reset() { *x = PolicyTargetReference{} - mi := &file_type_v1beta1_selector_proto_msgTypes[2] + mi := &file_type_v1beta1_selector_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -288,7 +422,7 @@ func (x *PolicyTargetReference) String() string { func (*PolicyTargetReference) ProtoMessage() {} func (x *PolicyTargetReference) ProtoReflect() protoreflect.Message { - mi := &file_type_v1beta1_selector_proto_msgTypes[2] + mi := &file_type_v1beta1_selector_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -301,7 +435,7 @@ func (x *PolicyTargetReference) ProtoReflect() protoreflect.Message { // Deprecated: Use PolicyTargetReference.ProtoReflect.Descriptor instead. func (*PolicyTargetReference) Descriptor() ([]byte, []int) { - return file_type_v1beta1_selector_proto_rawDescGZIP(), []int{2} + return file_type_v1beta1_selector_proto_rawDescGZIP(), []int{4} } func (x *PolicyTargetReference) GetGroup() string { @@ -343,7 +477,17 @@ const file_type_v1beta1_selector_proto_rawDesc = "" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\",\n" + "\fPortSelector\x12\x1c\n" + - "\x06number\x18\x01 \x01(\rB\x04\xe2A\x01\x02R\x06number\"\x7f\n" + + "\x06number\x18\x01 \x01(\rB\x04\xe2A\x01\x02R\x06number\"\xff\x01\n" + + "\rLabelSelector\x12T\n" + + "\vmatchLabels\x18\x01 \x03(\v22.istio.type.v1beta1.LabelSelector.MatchLabelsEntryR\vmatchLabels\x12X\n" + + "\x10matchExpressions\x18\x02 \x03(\v2,.istio.type.v1beta1.LabelSelectorRequirementR\x10matchExpressions\x1a>\n" + + "\x10MatchLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"`\n" + + "\x18LabelSelectorRequirement\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n" + + "\boperator\x18\x02 \x01(\tR\boperator\x12\x16\n" + + "\x06values\x18\x03 \x03(\tR\x06values\"\x7f\n" + "\x15PolicyTargetReference\x12\x14\n" + "\x05group\x18\x01 \x01(\tR\x05group\x12\x18\n" + "\x04kind\x18\x02 \x01(\tB\x04\xe2A\x01\x02R\x04kind\x12\x18\n" + @@ -370,21 +514,26 @@ func file_type_v1beta1_selector_proto_rawDescGZIP() []byte { } var file_type_v1beta1_selector_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_type_v1beta1_selector_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_type_v1beta1_selector_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_type_v1beta1_selector_proto_goTypes = []any{ - (WorkloadMode)(0), // 0: istio.type.v1beta1.WorkloadMode - (*WorkloadSelector)(nil), // 1: istio.type.v1beta1.WorkloadSelector - (*PortSelector)(nil), // 2: istio.type.v1beta1.PortSelector - (*PolicyTargetReference)(nil), // 3: istio.type.v1beta1.PolicyTargetReference - nil, // 4: istio.type.v1beta1.WorkloadSelector.MatchLabelsEntry + (WorkloadMode)(0), // 0: istio.type.v1beta1.WorkloadMode + (*WorkloadSelector)(nil), // 1: istio.type.v1beta1.WorkloadSelector + (*PortSelector)(nil), // 2: istio.type.v1beta1.PortSelector + (*LabelSelector)(nil), // 3: istio.type.v1beta1.LabelSelector + (*LabelSelectorRequirement)(nil), // 4: istio.type.v1beta1.LabelSelectorRequirement + (*PolicyTargetReference)(nil), // 5: istio.type.v1beta1.PolicyTargetReference + nil, // 6: istio.type.v1beta1.WorkloadSelector.MatchLabelsEntry + nil, // 7: istio.type.v1beta1.LabelSelector.MatchLabelsEntry } var file_type_v1beta1_selector_proto_depIdxs = []int32{ - 4, // 0: istio.type.v1beta1.WorkloadSelector.match_labels:type_name -> istio.type.v1beta1.WorkloadSelector.MatchLabelsEntry - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + 6, // 0: istio.type.v1beta1.WorkloadSelector.match_labels:type_name -> istio.type.v1beta1.WorkloadSelector.MatchLabelsEntry + 7, // 1: istio.type.v1beta1.LabelSelector.matchLabels:type_name -> istio.type.v1beta1.LabelSelector.MatchLabelsEntry + 4, // 2: istio.type.v1beta1.LabelSelector.matchExpressions:type_name -> istio.type.v1beta1.LabelSelectorRequirement + 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_type_v1beta1_selector_proto_init() } @@ -398,7 +547,7 @@ func file_type_v1beta1_selector_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_type_v1beta1_selector_proto_rawDesc), len(file_type_v1beta1_selector_proto_rawDesc)), NumEnums: 1, - NumMessages: 4, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/type/v1beta1/selector.pb.html b/type/v1beta1/selector.pb.html index 7caf080ba4..d113e41a15 100644 --- a/type/v1beta1/selector.pb.html +++ b/type/v1beta1/selector.pb.html @@ -4,7 +4,7 @@ location: https://istio.io/docs/reference/config/type/workload-selector.html layout: protoc-gen-docs generator: protoc-gen-docs -number_of_entries: 4 +number_of_entries: 6 ---

WorkloadSelector

@@ -58,6 +58,91 @@

PortSelector

+ + +
-
string
-
-

Address of the server implementing the Istio Mesh Configuration -protocol (MCP). Can be IP address or a fully qualified DNS name. -Use xds:// to specify a grpc-based xds backend, k8s:// to specify a k8s controller or -fs:/// to specify a file-based backend with absolute path to the directory.

- -
+
map<string, string>
-

Use the tlsSettings to specify the tls mode to use. If the MCP server -uses Istio mutual TLS and shares the root CA with istiod, specify the TLS -mode as ISTIO_MUTUAL.

+

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels +map is equivalent to an element of matchExpressions, whose key field is “key”, the +operator is “In”, and the values array contains only “value”. The requirements are ANDed.

-

Describes the source of configuration, if nothing is specified default is MCP

+

matchExpressions is a list of label selector requirements. The requirements are ANDed.

+

A list of label selectors to dynamically select namespaces to which this +destination rule is exported. Each selector can match namespaces based on their labels. +This provides a mechanism for service owners and mesh administrators to control +the visibility of destination rules across namespace boundaries without knowing namespace +names in advance.

+

For example, to export to all namespaces with a specific label:

+
exportToSelectors:
+- matchLabels:
+    mesh: enabled
+
+

Or using match expressions for more complex selection:

+
exportToSelectors:
+- matchExpressions:
+  - key: environment
+    operator: In
+    values: [production, staging]
+
+

When both export_to and export_to_selectors are specified, the destination rule is +exported to the union of all matched namespaces. If neither is specified, +the destination rule is exported to all namespaces by default.

+

Note: Using “*” in export_to makes export_to_selectors redundant as +the destination rule would already be visible to all namespaces.

+

Note: DestinationRule with workload_selector cannot use export_to_selectors +and must only export to the current namespace (".").

+
+

A list of label selectors to dynamically select namespaces to which this +service is exported. Each selector can match namespaces based on their labels. +This provides a mechanism for service owners and mesh administrators to control +the visibility of services across namespace boundaries without knowing namespace +names in advance.

+

For example, to export to all namespaces with a specific label:

+
exportToSelectors:
+- matchLabels:
+    mesh: enabled
+
+

Or using match expressions for more complex selection:

+
exportToSelectors:
+- matchExpressions:
+  - key: environment
+    operator: In
+    values: [production, staging]
+
+

When both export_to and export_to_selectors are specified, the service is +exported to the union of all matched namespaces. If neither is specified, +the service is exported to all namespaces by default.

+

Note: Using “*” in export_to makes export_to_selectors redundant as +the service would already be visible to all namespaces.

+

Note: Ztunnel and Waypoint proxies do not support this field.

+
+

A list of label selectors to dynamically select namespaces to which this +virtual service is exported. Each selector can match namespaces based on their labels. +This provides a mechanism for service owners and mesh administrators to control +the visibility of virtual services across namespace boundaries without knowing namespace +names in advance.

+

For example, to export to all namespaces with a specific label:

+
exportToSelectors:
+- matchLabels:
+    mesh: enabled
+
+

Or using match expressions for more complex selection:

+
exportToSelectors:
+- matchExpressions:
+  - key: environment
+    operator: In
+    values: [production, staging]
+
+

When both export_to and export_to_selectors are specified, the virtual service is +exported to the union of all matched namespaces. If neither is specified, +the virtual service is exported to all namespaces by default.

+

Note: Using “*” in export_to makes export_to_selectors redundant as +the virtual service would already be visible to all namespaces.

+

Port number

+
+
+

LabelSelector

+
+

LabelSelector is a label query over resources. +It matches resources based on their labels. +Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries.

+ + + + + + + + + + + + + + + + + + +
FieldDescription
+
map<string, string>
+
+

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels +map is equivalent to an element of matchExpressions, whose key field is “key”, the +operator is “In”, and the values array contains only “value”. The requirements are ANDed.

+ +
+

matchExpressions is a list of label selector requirements. The requirements are ANDed.

+ +
+
+

LabelSelectorRequirement

+
+

A label selector requirement is a selector that contains values, a key, and an operator that +relates the key and values. +Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries.

+ + + + + + + + + + + + + + + + + + + + diff --git a/type/v1beta1/selector.proto b/type/v1beta1/selector.proto index 1e5a791440..7494d14ae7 100644 --- a/type/v1beta1/selector.proto +++ b/type/v1beta1/selector.proto @@ -74,6 +74,42 @@ enum WorkloadMode { CLIENT_AND_SERVER = 3; } +// LabelSelector is a label query over resources. +// It matches resources based on their labels. +// Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries. +message LabelSelector { + // matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + // map is equivalent to an element of matchExpressions, whose key field is "key", the + // operator is "In", and the values array contains only "value". The requirements are ANDed. + // +optional + map matchLabels = 1; + + // matchExpressions is a list of label selector requirements. The requirements are ANDed. + // +optional + repeated LabelSelectorRequirement matchExpressions = 2; +} + +// A label selector requirement is a selector that contains values, a key, and an operator that +// relates the key and values. +// Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries. +message LabelSelectorRequirement { + // key is the label key that the selector applies to. + // +patchMergeKey=key + // +patchStrategy=merge + string key = 1; + + // operator represents a key's relationship to a set of values. + // Valid operators are In, NotIn, Exists and DoesNotExist. + string operator = 2; + + // values is an array of string values. If the operator is In or NotIn, + // the values array must be non-empty. If the operator is Exists or DoesNotExist, + // the values array must be empty. This array is replaced during a strategic + // merge patch. + // +optional + repeated string values = 3; +} + // PolicyTargetReference format as defined by [GEP-2648](https://gateway-api.sigs.k8s.io/geps/gep-2648/#direct-policy-design-rules). // // PolicyTargetReference specifies the targeted resource which the policy diff --git a/type/v1beta1/selector_deepcopy.gen.go b/type/v1beta1/selector_deepcopy.gen.go index d9ebb472c1..653d1e7769 100644 --- a/type/v1beta1/selector_deepcopy.gen.go +++ b/type/v1beta1/selector_deepcopy.gen.go @@ -47,6 +47,48 @@ func (in *PortSelector) DeepCopyInterface() interface{} { return in.DeepCopy() } +// DeepCopyInto supports using LabelSelector within kubernetes types, where deepcopy-gen is used. +func (in *LabelSelector) DeepCopyInto(out *LabelSelector) { + p := proto.Clone(in).(*LabelSelector) + *out = *p +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelSelector. Required by controller-gen. +func (in *LabelSelector) DeepCopy() *LabelSelector { + if in == nil { + return nil + } + out := new(LabelSelector) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new LabelSelector. Required by controller-gen. +func (in *LabelSelector) DeepCopyInterface() interface{} { + return in.DeepCopy() +} + +// DeepCopyInto supports using LabelSelectorRequirement within kubernetes types, where deepcopy-gen is used. +func (in *LabelSelectorRequirement) DeepCopyInto(out *LabelSelectorRequirement) { + p := proto.Clone(in).(*LabelSelectorRequirement) + *out = *p +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelSelectorRequirement. Required by controller-gen. +func (in *LabelSelectorRequirement) DeepCopy() *LabelSelectorRequirement { + if in == nil { + return nil + } + out := new(LabelSelectorRequirement) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new LabelSelectorRequirement. Required by controller-gen. +func (in *LabelSelectorRequirement) DeepCopyInterface() interface{} { + return in.DeepCopy() +} + // DeepCopyInto supports using PolicyTargetReference within kubernetes types, where deepcopy-gen is used. func (in *PolicyTargetReference) DeepCopyInto(out *PolicyTargetReference) { p := proto.Clone(in).(*PolicyTargetReference) diff --git a/type/v1beta1/selector_json.gen.go b/type/v1beta1/selector_json.gen.go index 8b29ef9895..f68ae6d2cb 100644 --- a/type/v1beta1/selector_json.gen.go +++ b/type/v1beta1/selector_json.gen.go @@ -28,6 +28,28 @@ func (this *PortSelector) UnmarshalJSON(b []byte) error { return SelectorUnmarshaler.Unmarshal(bytes.NewReader(b), this) } +// MarshalJSON is a custom marshaler for LabelSelector +func (this *LabelSelector) MarshalJSON() ([]byte, error) { + str, err := SelectorMarshaler.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for LabelSelector +func (this *LabelSelector) UnmarshalJSON(b []byte) error { + return SelectorUnmarshaler.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for LabelSelectorRequirement +func (this *LabelSelectorRequirement) MarshalJSON() ([]byte, error) { + str, err := SelectorMarshaler.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for LabelSelectorRequirement +func (this *LabelSelectorRequirement) UnmarshalJSON(b []byte) error { + return SelectorUnmarshaler.Unmarshal(bytes.NewReader(b), this) +} + // MarshalJSON is a custom marshaler for PolicyTargetReference func (this *PolicyTargetReference) MarshalJSON() ([]byte, error) { str, err := SelectorMarshaler.MarshalToString(this) From 26e8f0867d97f9f470c197c7c75c5c777980c7b1 Mon Sep 17 00:00:00 2001 From: Bhasker Hariharan Date: Wed, 14 Jan 2026 20:35:40 +0000 Subject: [PATCH 3/4] Address review comments: revert config.pb.go and reorder proto fields MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Revert config.pb.go to keep LabelSelector in mesh/v1alpha1 - Revert config_json.gen.go changes - Reorder export_to_selectors to be after workload_selector in destination_rule.proto - Reorder fields in service_entry.proto to match field number ordering 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- mesh/v1alpha1/config.pb.go | 633 +++++++++++++-------- mesh/v1alpha1/config_json.gen.go | 22 + networking/v1alpha3/destination_rule.proto | 20 +- networking/v1alpha3/service_entry.proto | 34 +- 4 files changed, 439 insertions(+), 270 deletions(-) diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 47d9a7d156..16c6520b15 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -35,7 +35,6 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" v1alpha3 "istio.io/api/networking/v1alpha3" - v1beta1 "istio.io/api/type/v1beta1" reflect "reflect" sync "sync" unsafe "unsafe" @@ -1002,7 +1001,7 @@ type MeshConfig struct { // ``` // Refer to the [Kubernetes selector docs](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors) // for additional detail on selector semantics. - DiscoverySelectors []*v1beta1.LabelSelector `protobuf:"bytes,59,rep,name=discovery_selectors,json=discoverySelectors,proto3" json:"discovery_selectors,omitempty"` + DiscoverySelectors []*LabelSelector `protobuf:"bytes,59,rep,name=discovery_selectors,json=discoverySelectors,proto3" json:"discovery_selectors,omitempty"` // ProxyPathNormalization configures how URL paths in incoming and outgoing HTTP requests are // normalized by the sidecars and gateways. // The normalized paths will be used in all aspects through the requests' lifetime on the @@ -1374,7 +1373,7 @@ func (x *MeshConfig) GetDefaultProviders() *MeshConfig_DefaultProviders { return nil } -func (x *MeshConfig) GetDiscoverySelectors() []*v1beta1.LabelSelector { +func (x *MeshConfig) GetDiscoverySelectors() []*LabelSelector { if x != nil { return x.DiscoverySelectors } @@ -1409,6 +1408,140 @@ func (x *MeshConfig) GetTlsDefaults() *MeshConfig_TLSConfig { return nil } +// A label selector requirement is a selector that contains values, a key, and an operator that +// relates the key and values. +// Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries. +type LabelSelector struct { + state protoimpl.MessageState `protogen:"open.v1"` + // matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + // map is equivalent to an element of matchExpressions, whose key field is "key", the + // operator is "In", and the values array contains only "value". The requirements are ANDed. + // +optional + MatchLabels map[string]string `protobuf:"bytes,1,rep,name=matchLabels,proto3" json:"matchLabels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // matchExpressions is a list of label selector requirements. The requirements are ANDed. + // +optional + MatchExpressions []*LabelSelectorRequirement `protobuf:"bytes,2,rep,name=matchExpressions,proto3" json:"matchExpressions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LabelSelector) Reset() { + *x = LabelSelector{} + mi := &file_mesh_v1alpha1_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LabelSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LabelSelector) ProtoMessage() {} + +func (x *LabelSelector) ProtoReflect() protoreflect.Message { + mi := &file_mesh_v1alpha1_config_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 LabelSelector.ProtoReflect.Descriptor instead. +func (*LabelSelector) Descriptor() ([]byte, []int) { + return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{1} +} + +func (x *LabelSelector) GetMatchLabels() map[string]string { + if x != nil { + return x.MatchLabels + } + return nil +} + +func (x *LabelSelector) GetMatchExpressions() []*LabelSelectorRequirement { + if x != nil { + return x.MatchExpressions + } + return nil +} + +// A label selector requirement is a selector that contains values, a key, and an operator that +// relates the key and values. +// Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries. +type LabelSelectorRequirement struct { + state protoimpl.MessageState `protogen:"open.v1"` + // key is the label key that the selector applies to. + // +patchMergeKey=key + // +patchStrategy=merge + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // operator represents a key's relationship to a set of values. + // Valid operators are In, NotIn, Exists and DoesNotExist. + Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"` + // values is an array of string values. If the operator is In or NotIn, + // the values array must be non-empty. If the operator is Exists or DoesNotExist, + // the values array must be empty. This array is replaced during a strategic + // merge patch. + // +optional + Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LabelSelectorRequirement) Reset() { + *x = LabelSelectorRequirement{} + mi := &file_mesh_v1alpha1_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LabelSelectorRequirement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LabelSelectorRequirement) ProtoMessage() {} + +func (x *LabelSelectorRequirement) ProtoReflect() protoreflect.Message { + mi := &file_mesh_v1alpha1_config_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 LabelSelectorRequirement.ProtoReflect.Descriptor instead. +func (*LabelSelectorRequirement) Descriptor() ([]byte, []int) { + return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{2} +} + +func (x *LabelSelectorRequirement) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *LabelSelectorRequirement) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *LabelSelectorRequirement) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + // ConfigSource describes information about a configuration store inside a // mesh. A single control plane instance can interact with one or more data // sources. @@ -1431,7 +1564,7 @@ type ConfigSource struct { func (x *ConfigSource) Reset() { *x = ConfigSource{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[1] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1443,7 +1576,7 @@ func (x *ConfigSource) String() string { func (*ConfigSource) ProtoMessage() {} func (x *ConfigSource) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[1] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1456,7 +1589,7 @@ func (x *ConfigSource) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigSource.ProtoReflect.Descriptor instead. func (*ConfigSource) Descriptor() ([]byte, []int) { - return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{1} + return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{3} } func (x *ConfigSource) GetAddress() string { @@ -1517,7 +1650,7 @@ type Certificate struct { func (x *Certificate) Reset() { *x = Certificate{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[2] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1529,7 +1662,7 @@ func (x *Certificate) String() string { func (*Certificate) ProtoMessage() {} func (x *Certificate) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[2] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1542,7 +1675,7 @@ func (x *Certificate) ProtoReflect() protoreflect.Message { // Deprecated: Use Certificate.ProtoReflect.Descriptor instead. func (*Certificate) Descriptor() ([]byte, []int) { - return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{2} + return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{4} } func (x *Certificate) GetSecretName() string { @@ -1570,7 +1703,7 @@ type MeshConfig_OutboundTrafficPolicy struct { func (x *MeshConfig_OutboundTrafficPolicy) Reset() { *x = MeshConfig_OutboundTrafficPolicy{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[3] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1582,7 +1715,7 @@ func (x *MeshConfig_OutboundTrafficPolicy) String() string { func (*MeshConfig_OutboundTrafficPolicy) ProtoMessage() {} func (x *MeshConfig_OutboundTrafficPolicy) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[3] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1614,7 +1747,7 @@ type MeshConfig_InboundTrafficPolicy struct { func (x *MeshConfig_InboundTrafficPolicy) Reset() { *x = MeshConfig_InboundTrafficPolicy{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[4] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1626,7 +1759,7 @@ func (x *MeshConfig_InboundTrafficPolicy) String() string { func (*MeshConfig_InboundTrafficPolicy) ProtoMessage() {} func (x *MeshConfig_InboundTrafficPolicy) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[4] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1676,7 +1809,7 @@ type MeshConfig_CertificateData struct { func (x *MeshConfig_CertificateData) Reset() { *x = MeshConfig_CertificateData{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[5] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1688,7 +1821,7 @@ func (x *MeshConfig_CertificateData) String() string { func (*MeshConfig_CertificateData) ProtoMessage() {} func (x *MeshConfig_CertificateData) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[5] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1803,7 +1936,7 @@ type MeshConfig_ServiceSettings struct { func (x *MeshConfig_ServiceSettings) Reset() { *x = MeshConfig_ServiceSettings{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[6] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1815,7 +1948,7 @@ func (x *MeshConfig_ServiceSettings) String() string { func (*MeshConfig_ServiceSettings) ProtoMessage() {} func (x *MeshConfig_ServiceSettings) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[6] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1876,9 +2009,9 @@ func (x *MeshConfig_ServiceSettings) GetHosts() []string { type MeshConfig_ServiceScopeConfigs struct { state protoimpl.MessageState `protogen:"open.v1"` // Match expression for namespaces. - NamespaceSelector *v1beta1.LabelSelector `protobuf:"bytes,1,opt,name=namespace_selector,json=namespaceSelector,proto3" json:"namespace_selector,omitempty"` + NamespaceSelector *LabelSelector `protobuf:"bytes,1,opt,name=namespace_selector,json=namespaceSelector,proto3" json:"namespace_selector,omitempty"` // Match expression for serivces. - ServicesSelector *v1beta1.LabelSelector `protobuf:"bytes,2,opt,name=services_selector,json=servicesSelector,proto3" json:"services_selector,omitempty"` + ServicesSelector *LabelSelector `protobuf:"bytes,2,opt,name=services_selector,json=servicesSelector,proto3" json:"services_selector,omitempty"` // Specifics the available scope for matching services. Scope MeshConfig_ServiceScopeConfigs_Scope `protobuf:"varint,3,opt,name=scope,proto3,enum=istio.mesh.v1alpha1.MeshConfig_ServiceScopeConfigs_Scope" json:"scope,omitempty"` unknownFields protoimpl.UnknownFields @@ -1887,7 +2020,7 @@ type MeshConfig_ServiceScopeConfigs struct { func (x *MeshConfig_ServiceScopeConfigs) Reset() { *x = MeshConfig_ServiceScopeConfigs{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[7] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1899,7 +2032,7 @@ func (x *MeshConfig_ServiceScopeConfigs) String() string { func (*MeshConfig_ServiceScopeConfigs) ProtoMessage() {} func (x *MeshConfig_ServiceScopeConfigs) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[7] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1915,14 +2048,14 @@ func (*MeshConfig_ServiceScopeConfigs) Descriptor() ([]byte, []int) { return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{0, 4} } -func (x *MeshConfig_ServiceScopeConfigs) GetNamespaceSelector() *v1beta1.LabelSelector { +func (x *MeshConfig_ServiceScopeConfigs) GetNamespaceSelector() *LabelSelector { if x != nil { return x.NamespaceSelector } return nil } -func (x *MeshConfig_ServiceScopeConfigs) GetServicesSelector() *v1beta1.LabelSelector { +func (x *MeshConfig_ServiceScopeConfigs) GetServicesSelector() *LabelSelector { if x != nil { return x.ServicesSelector } @@ -1962,7 +2095,7 @@ type MeshConfig_CA struct { func (x *MeshConfig_CA) Reset() { *x = MeshConfig_CA{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[8] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1974,7 +2107,7 @@ func (x *MeshConfig_CA) String() string { func (*MeshConfig_CA) ProtoMessage() {} func (x *MeshConfig_CA) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[8] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2048,7 +2181,7 @@ type MeshConfig_ExtensionProvider struct { func (x *MeshConfig_ExtensionProvider) Reset() { *x = MeshConfig_ExtensionProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[9] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2060,7 +2193,7 @@ func (x *MeshConfig_ExtensionProvider) String() string { func (*MeshConfig_ExtensionProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[9] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2367,7 +2500,7 @@ type MeshConfig_DefaultProviders struct { func (x *MeshConfig_DefaultProviders) Reset() { *x = MeshConfig_DefaultProviders{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[10] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2379,7 +2512,7 @@ func (x *MeshConfig_DefaultProviders) String() string { func (*MeshConfig_DefaultProviders) ProtoMessage() {} func (x *MeshConfig_DefaultProviders) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[10] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2425,7 +2558,7 @@ type MeshConfig_ProxyPathNormalization struct { func (x *MeshConfig_ProxyPathNormalization) Reset() { *x = MeshConfig_ProxyPathNormalization{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[11] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2437,7 +2570,7 @@ func (x *MeshConfig_ProxyPathNormalization) String() string { func (*MeshConfig_ProxyPathNormalization) ProtoMessage() {} func (x *MeshConfig_ProxyPathNormalization) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[11] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2490,7 +2623,7 @@ type MeshConfig_TLSConfig struct { func (x *MeshConfig_TLSConfig) Reset() { *x = MeshConfig_TLSConfig{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[12] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2502,7 +2635,7 @@ func (x *MeshConfig_TLSConfig) String() string { func (*MeshConfig_TLSConfig) ProtoMessage() {} func (x *MeshConfig_TLSConfig) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[12] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2566,7 +2699,7 @@ type MeshConfig_ServiceSettings_Settings struct { func (x *MeshConfig_ServiceSettings_Settings) Reset() { *x = MeshConfig_ServiceSettings_Settings{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[13] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2578,7 +2711,7 @@ func (x *MeshConfig_ServiceSettings_Settings) String() string { func (*MeshConfig_ServiceSettings_Settings) ProtoMessage() {} func (x *MeshConfig_ServiceSettings_Settings) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[13] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2625,7 +2758,7 @@ type MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody struct { func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[14] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2637,7 +2770,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody) Str func (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[14] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2773,7 +2906,7 @@ type MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider struct func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[15] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2785,7 +2918,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider) St func (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[15] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2934,7 +3067,7 @@ type MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider struct func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[16] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2946,7 +3079,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider) St func (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[16] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3048,7 +3181,7 @@ type MeshConfig_ExtensionProvider_ZipkinTracingProvider struct { func (x *MeshConfig_ExtensionProvider_ZipkinTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_ZipkinTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[17] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3060,7 +3193,7 @@ func (x *MeshConfig_ExtensionProvider_ZipkinTracingProvider) String() string { func (*MeshConfig_ExtensionProvider_ZipkinTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_ZipkinTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[17] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3157,7 +3290,7 @@ type MeshConfig_ExtensionProvider_LightstepTracingProvider struct { func (x *MeshConfig_ExtensionProvider_LightstepTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_LightstepTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[18] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3169,7 +3302,7 @@ func (x *MeshConfig_ExtensionProvider_LightstepTracingProvider) String() string func (*MeshConfig_ExtensionProvider_LightstepTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_LightstepTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[18] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3234,7 +3367,7 @@ type MeshConfig_ExtensionProvider_DatadogTracingProvider struct { func (x *MeshConfig_ExtensionProvider_DatadogTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_DatadogTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[19] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3246,7 +3379,7 @@ func (x *MeshConfig_ExtensionProvider_DatadogTracingProvider) String() string { func (*MeshConfig_ExtensionProvider_DatadogTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_DatadogTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[19] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3303,7 +3436,7 @@ type MeshConfig_ExtensionProvider_SkyWalkingTracingProvider struct { func (x *MeshConfig_ExtensionProvider_SkyWalkingTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_SkyWalkingTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[20] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3315,7 +3448,7 @@ func (x *MeshConfig_ExtensionProvider_SkyWalkingTracingProvider) String() string func (*MeshConfig_ExtensionProvider_SkyWalkingTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_SkyWalkingTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[20] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3393,7 +3526,7 @@ type MeshConfig_ExtensionProvider_StackdriverProvider struct { func (x *MeshConfig_ExtensionProvider_StackdriverProvider) Reset() { *x = MeshConfig_ExtensionProvider_StackdriverProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[21] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3405,7 +3538,7 @@ func (x *MeshConfig_ExtensionProvider_StackdriverProvider) String() string { func (*MeshConfig_ExtensionProvider_StackdriverProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_StackdriverProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[21] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3502,7 +3635,7 @@ type MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider struct { func (x *MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[22] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3514,7 +3647,7 @@ func (x *MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider) String() s func (*MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[22] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3566,7 +3699,7 @@ type MeshConfig_ExtensionProvider_PrometheusMetricsProvider struct { func (x *MeshConfig_ExtensionProvider_PrometheusMetricsProvider) Reset() { *x = MeshConfig_ExtensionProvider_PrometheusMetricsProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[23] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3578,7 +3711,7 @@ func (x *MeshConfig_ExtensionProvider_PrometheusMetricsProvider) String() string func (*MeshConfig_ExtensionProvider_PrometheusMetricsProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_PrometheusMetricsProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[23] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3614,7 +3747,7 @@ type MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider struct { func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[24] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3626,7 +3759,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider) String() strin func (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[24] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3695,7 +3828,7 @@ type MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider struct { func (x *MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[25] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3707,7 +3840,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider) String() strin func (*MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[25] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3798,7 +3931,7 @@ type MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider struct { func (x *MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[26] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3810,7 +3943,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider) String() string func (*MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[26] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3879,7 +4012,7 @@ type MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider struct { func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[27] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3891,7 +4024,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider) String() st func (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[27] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4079,7 +4212,7 @@ type MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider struct { func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider) Reset() { *x = MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[28] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4091,7 +4224,7 @@ func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider) String() str func (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[28] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4216,7 +4349,7 @@ type MeshConfig_ExtensionProvider_SDSProvider struct { func (x *MeshConfig_ExtensionProvider_SDSProvider) Reset() { *x = MeshConfig_ExtensionProvider_SDSProvider{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[29] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4228,7 +4361,7 @@ func (x *MeshConfig_ExtensionProvider_SDSProvider) String() string { func (*MeshConfig_ExtensionProvider_SDSProvider) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_SDSProvider) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[29] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4283,7 +4416,7 @@ type MeshConfig_ExtensionProvider_HttpService struct { func (x *MeshConfig_ExtensionProvider_HttpService) Reset() { *x = MeshConfig_ExtensionProvider_HttpService{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[30] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4295,7 +4428,7 @@ func (x *MeshConfig_ExtensionProvider_HttpService) String() string { func (*MeshConfig_ExtensionProvider_HttpService) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_HttpService) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[30] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4349,7 +4482,7 @@ type MeshConfig_ExtensionProvider_HttpHeader struct { func (x *MeshConfig_ExtensionProvider_HttpHeader) Reset() { *x = MeshConfig_ExtensionProvider_HttpHeader{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[31] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4361,7 +4494,7 @@ func (x *MeshConfig_ExtensionProvider_HttpHeader) String() string { func (*MeshConfig_ExtensionProvider_HttpHeader) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_HttpHeader) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[31] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4443,7 +4576,7 @@ type MeshConfig_ExtensionProvider_ResourceDetectors struct { func (x *MeshConfig_ExtensionProvider_ResourceDetectors) Reset() { *x = MeshConfig_ExtensionProvider_ResourceDetectors{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[32] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4455,7 +4588,7 @@ func (x *MeshConfig_ExtensionProvider_ResourceDetectors) String() string { func (*MeshConfig_ExtensionProvider_ResourceDetectors) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_ResourceDetectors) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[32] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4501,7 +4634,7 @@ type MeshConfig_ExtensionProvider_GrpcService struct { func (x *MeshConfig_ExtensionProvider_GrpcService) Reset() { *x = MeshConfig_ExtensionProvider_GrpcService{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[33] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4513,7 +4646,7 @@ func (x *MeshConfig_ExtensionProvider_GrpcService) String() string { func (*MeshConfig_ExtensionProvider_GrpcService) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_GrpcService) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[33] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4561,7 +4694,7 @@ type MeshConfig_ExtensionProvider_StackdriverProvider_Logging struct { func (x *MeshConfig_ExtensionProvider_StackdriverProvider_Logging) Reset() { *x = MeshConfig_ExtensionProvider_StackdriverProvider_Logging{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[35] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4573,7 +4706,7 @@ func (x *MeshConfig_ExtensionProvider_StackdriverProvider_Logging) String() stri func (*MeshConfig_ExtensionProvider_StackdriverProvider_Logging) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_StackdriverProvider_Logging) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[35] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4609,7 +4742,7 @@ type MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat struct { func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[37] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4621,7 +4754,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat) Stri func (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[37] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4733,7 +4866,7 @@ type MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat struct func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat) Reset() { *x = MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[38] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4745,7 +4878,7 @@ func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat) S func (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[38] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4805,7 +4938,7 @@ type MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler) Reset() { *x = MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[39] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4817,7 +4950,7 @@ func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSamp func (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[39] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4879,7 +5012,7 @@ type MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_ func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi) Reset() { *x = MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[40] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4892,7 +5025,7 @@ func (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSample } func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[40] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4942,7 +5075,7 @@ type MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector func (x *MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector) Reset() { *x = MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[41] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4954,7 +5087,7 @@ func (x *MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetec func (*MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[41] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4983,7 +5116,7 @@ type MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector st func (x *MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector) Reset() { *x = MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector{} - mi := &file_mesh_v1alpha1_config_proto_msgTypes[42] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4995,7 +5128,7 @@ func (x *MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetecto func (*MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector) ProtoMessage() {} func (x *MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector) ProtoReflect() protoreflect.Message { - mi := &file_mesh_v1alpha1_config_proto_msgTypes[42] + mi := &file_mesh_v1alpha1_config_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5015,7 +5148,7 @@ var File_mesh_v1alpha1_config_proto protoreflect.FileDescriptor const file_mesh_v1alpha1_config_proto_rawDesc = "" + "\n" + - "\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\x1btype/v1beta1/selector.proto\"\x80q\n" + + "\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\x1a)networking/v1alpha3/virtual_service.proto\"\x83q\n" + "\n" + "MeshConfig\x12*\n" + "\x11proxy_listen_port\x18\x04 \x01(\x05R\x0fproxyListenPort\x129\n" + @@ -5059,8 +5192,8 @@ const file_mesh_v1alpha1_config_proto_rawDesc = "" + "\x1cverify_certificate_at_client\x186 \x01(\v2\x1a.google.protobuf.BoolValueB\x02\x18\x01R\x19verifyCertificateAtClient\x122\n" + "\x02ca\x187 \x01(\v2\".istio.mesh.v1alpha1.MeshConfig.CAR\x02ca\x12b\n" + "\x13extension_providers\x189 \x03(\v21.istio.mesh.v1alpha1.MeshConfig.ExtensionProviderR\x12extensionProviders\x12]\n" + - "\x11default_providers\x18< \x01(\v20.istio.mesh.v1alpha1.MeshConfig.DefaultProvidersR\x10defaultProviders\x12R\n" + - "\x13discovery_selectors\x18; \x03(\v2!.istio.type.v1beta1.LabelSelectorR\x12discoverySelectors\x12e\n" + + "\x11default_providers\x18< \x01(\v20.istio.mesh.v1alpha1.MeshConfig.DefaultProvidersR\x10defaultProviders\x12S\n" + + "\x13discovery_selectors\x18; \x03(\v2\".istio.mesh.v1alpha1.LabelSelectorR\x12discoverySelectors\x12e\n" + "\x12path_normalization\x18= \x01(\v26.istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalizationR\x11pathNormalization\x12_\n" + "\x19default_http_retry_policy\x18> \x01(\v2$.istio.networking.v1alpha3.HTTPRetryR\x16defaultHttpRetryPolicy\x12F\n" + "\tmesh_mTLS\x18? \x01(\v2).istio.mesh.v1alpha1.MeshConfig.TLSConfigR\bmeshMTLS\x12L\n" + @@ -5085,10 +5218,10 @@ const file_mesh_v1alpha1_config_proto_rawDesc = "" + "\bsettings\x18\x01 \x01(\v28.istio.mesh.v1alpha1.MeshConfig.ServiceSettings.SettingsR\bsettings\x12\x14\n" + "\x05hosts\x18\x02 \x03(\tR\x05hosts\x1a/\n" + "\bSettings\x12#\n" + - "\rcluster_local\x18\x01 \x01(\bR\fclusterLocal\x1a\xa8\x02\n" + - "\x13ServiceScopeConfigs\x12P\n" + - "\x12namespace_selector\x18\x01 \x01(\v2!.istio.type.v1beta1.LabelSelectorR\x11namespaceSelector\x12N\n" + - "\x11services_selector\x18\x02 \x01(\v2!.istio.type.v1beta1.LabelSelectorR\x10servicesSelector\x12O\n" + + "\rcluster_local\x18\x01 \x01(\bR\fclusterLocal\x1a\xaa\x02\n" + + "\x13ServiceScopeConfigs\x12Q\n" + + "\x12namespace_selector\x18\x01 \x01(\v2\".istio.mesh.v1alpha1.LabelSelectorR\x11namespaceSelector\x12O\n" + + "\x11services_selector\x18\x02 \x01(\v2\".istio.mesh.v1alpha1.LabelSelectorR\x10servicesSelector\x12O\n" + "\x05scope\x18\x03 \x01(\x0e29.istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.ScopeR\x05scope\"\x1e\n" + "\x05Scope\x12\t\n" + "\x05LOCAL\x10\x00\x12\n" + @@ -5320,7 +5453,17 @@ const file_mesh_v1alpha1_config_proto_rawDesc = "" + "\x0fH2UpgradePolicy\x12\x12\n" + "\x0eDO_NOT_UPGRADE\x10\x00\x12\v\n" + "\aUPGRADE\x10\x01J\x04\b1\x102J\x04\b\x01\x10\x02J\x04\b\x02\x10\x03J\x04\b\x03\x10\x04J\x04\b0\x101J\x04\b\x19\x10\x1aJ\x04\b\x1e\x10\x1fJ\x04\b\n" + - "\x10\vJ\x04\b\v\x10\fJ\x04\b\x0f\x10\x10J\x04\b\x10\x10\x11J\x04\b\x12\x10\x13J\x04\b\x13\x10\x14J\x04\b\x14\x10\x15J\x04\b\x15\x10\x16J\x04\b\x17\x10\x18J\x04\b\x1d\x10\x1eJ\x04\b5\x106J\x04\b%\x10&J\x04\b&\x10'J\x04\b'\x10(J\x04\bD\x10EJ\x04\bE\x10FR\rthrift_configR\x12mixer_check_serverR\x13mixer_report_serverR\x15disable_policy_checksR\x1adisable_mixer_http_reportsR\x16policy_check_fail_openR%sidecar_to_telemetry_session_affinityR\vauth_policyR\x11rds_refresh_delayR\rmixer_addressR\x1fenable_client_side_policy_checkR\fsds_uds_pathR\x11sds_refresh_delayR\x16enable_sds_token_mountR\x12sds_use_k8s_sa_jwtR\x1atermination_drain_durationR\x14disable_report_batchR\x18report_batch_max_entriesR\x15report_batch_max_timeR\x13file_flush_intervalR\x13file_flush_min_size\"\xcb\x01\n" + + "\x10\vJ\x04\b\v\x10\fJ\x04\b\x0f\x10\x10J\x04\b\x10\x10\x11J\x04\b\x12\x10\x13J\x04\b\x13\x10\x14J\x04\b\x14\x10\x15J\x04\b\x15\x10\x16J\x04\b\x17\x10\x18J\x04\b\x1d\x10\x1eJ\x04\b5\x106J\x04\b%\x10&J\x04\b&\x10'J\x04\b'\x10(J\x04\bD\x10EJ\x04\bE\x10FR\rthrift_configR\x12mixer_check_serverR\x13mixer_report_serverR\x15disable_policy_checksR\x1adisable_mixer_http_reportsR\x16policy_check_fail_openR%sidecar_to_telemetry_session_affinityR\vauth_policyR\x11rds_refresh_delayR\rmixer_addressR\x1fenable_client_side_policy_checkR\fsds_uds_pathR\x11sds_refresh_delayR\x16enable_sds_token_mountR\x12sds_use_k8s_sa_jwtR\x1atermination_drain_durationR\x14disable_report_batchR\x18report_batch_max_entriesR\x15report_batch_max_timeR\x13file_flush_intervalR\x13file_flush_min_size\"\x81\x02\n" + + "\rLabelSelector\x12U\n" + + "\vmatchLabels\x18\x01 \x03(\v23.istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntryR\vmatchLabels\x12Y\n" + + "\x10matchExpressions\x18\x02 \x03(\v2-.istio.mesh.v1alpha1.LabelSelectorRequirementR\x10matchExpressions\x1a>\n" + + "\x10MatchLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"`\n" + + "\x18LabelSelectorRequirement\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n" + + "\boperator\x18\x02 \x01(\tR\boperator\x12\x16\n" + + "\x06values\x18\x03 \x03(\tR\x06values\"\xcb\x01\n" + "\fConfigSource\x12\x18\n" + "\aaddress\x18\x01 \x01(\tR\aaddress\x12O\n" + "\ftls_settings\x18\x02 \x01(\v2,.istio.networking.v1alpha3.ClientTLSSettingsR\vtlsSettings\x12P\n" + @@ -5345,7 +5488,7 @@ func file_mesh_v1alpha1_config_proto_rawDescGZIP() []byte { } var file_mesh_v1alpha1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 12) -var file_mesh_v1alpha1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 43) +var file_mesh_v1alpha1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 46) var file_mesh_v1alpha1_config_proto_goTypes = []any{ (Resource)(0), // 0: istio.mesh.v1alpha1.Resource (MeshConfig_IngressControllerMode)(0), // 1: istio.mesh.v1alpha1.MeshConfig.IngressControllerMode @@ -5360,150 +5503,154 @@ var file_mesh_v1alpha1_config_proto_goTypes = []any{ (MeshConfig_ProxyPathNormalization_NormalizationType)(0), // 10: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.NormalizationType (MeshConfig_TLSConfig_TLSProtocol)(0), // 11: istio.mesh.v1alpha1.MeshConfig.TLSConfig.TLSProtocol (*MeshConfig)(nil), // 12: istio.mesh.v1alpha1.MeshConfig - (*ConfigSource)(nil), // 13: istio.mesh.v1alpha1.ConfigSource - (*Certificate)(nil), // 14: istio.mesh.v1alpha1.Certificate - (*MeshConfig_OutboundTrafficPolicy)(nil), // 15: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy - (*MeshConfig_InboundTrafficPolicy)(nil), // 16: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy - (*MeshConfig_CertificateData)(nil), // 17: istio.mesh.v1alpha1.MeshConfig.CertificateData - (*MeshConfig_ServiceSettings)(nil), // 18: istio.mesh.v1alpha1.MeshConfig.ServiceSettings - (*MeshConfig_ServiceScopeConfigs)(nil), // 19: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs - (*MeshConfig_CA)(nil), // 20: istio.mesh.v1alpha1.MeshConfig.CA - (*MeshConfig_ExtensionProvider)(nil), // 21: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider - (*MeshConfig_DefaultProviders)(nil), // 22: istio.mesh.v1alpha1.MeshConfig.DefaultProviders - (*MeshConfig_ProxyPathNormalization)(nil), // 23: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization - (*MeshConfig_TLSConfig)(nil), // 24: istio.mesh.v1alpha1.MeshConfig.TLSConfig - (*MeshConfig_ServiceSettings_Settings)(nil), // 25: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings - (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody)(nil), // 26: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody - (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider)(nil), // 27: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider - (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider)(nil), // 28: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider - (*MeshConfig_ExtensionProvider_ZipkinTracingProvider)(nil), // 29: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider - (*MeshConfig_ExtensionProvider_LightstepTracingProvider)(nil), // 30: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider - (*MeshConfig_ExtensionProvider_DatadogTracingProvider)(nil), // 31: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider - (*MeshConfig_ExtensionProvider_SkyWalkingTracingProvider)(nil), // 32: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider - (*MeshConfig_ExtensionProvider_StackdriverProvider)(nil), // 33: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider - (*MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider)(nil), // 34: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider - (*MeshConfig_ExtensionProvider_PrometheusMetricsProvider)(nil), // 35: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider - (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider)(nil), // 36: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider - (*MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider)(nil), // 37: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider - (*MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider)(nil), // 38: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider - (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider)(nil), // 39: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider - (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider)(nil), // 40: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider - (*MeshConfig_ExtensionProvider_SDSProvider)(nil), // 41: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider - (*MeshConfig_ExtensionProvider_HttpService)(nil), // 42: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService - (*MeshConfig_ExtensionProvider_HttpHeader)(nil), // 43: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader - (*MeshConfig_ExtensionProvider_ResourceDetectors)(nil), // 44: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors - (*MeshConfig_ExtensionProvider_GrpcService)(nil), // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService - nil, // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry - (*MeshConfig_ExtensionProvider_StackdriverProvider_Logging)(nil), // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging - nil, // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry - (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat)(nil), // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat - (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat)(nil), // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat - (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler)(nil), // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler - (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi)(nil), // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi - (*MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector)(nil), // 53: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector - (*MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector)(nil), // 54: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector - (*duration.Duration)(nil), // 55: google.protobuf.Duration - (*v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 56: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive - (*ProxyConfig)(nil), // 57: istio.mesh.v1alpha1.ProxyConfig - (*wrappers.BoolValue)(nil), // 58: google.protobuf.BoolValue - (*v1alpha3.LocalityLoadBalancerSetting)(nil), // 59: istio.networking.v1alpha3.LocalityLoadBalancerSetting - (*v1beta1.LabelSelector)(nil), // 60: istio.type.v1beta1.LabelSelector - (*v1alpha3.HTTPRetry)(nil), // 61: istio.networking.v1alpha3.HTTPRetry - (*v1alpha3.ClientTLSSettings)(nil), // 62: istio.networking.v1alpha3.ClientTLSSettings - (*wrappers.Int64Value)(nil), // 63: google.protobuf.Int64Value - (*_struct.Struct)(nil), // 64: google.protobuf.Struct + (*LabelSelector)(nil), // 13: istio.mesh.v1alpha1.LabelSelector + (*LabelSelectorRequirement)(nil), // 14: istio.mesh.v1alpha1.LabelSelectorRequirement + (*ConfigSource)(nil), // 15: istio.mesh.v1alpha1.ConfigSource + (*Certificate)(nil), // 16: istio.mesh.v1alpha1.Certificate + (*MeshConfig_OutboundTrafficPolicy)(nil), // 17: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy + (*MeshConfig_InboundTrafficPolicy)(nil), // 18: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy + (*MeshConfig_CertificateData)(nil), // 19: istio.mesh.v1alpha1.MeshConfig.CertificateData + (*MeshConfig_ServiceSettings)(nil), // 20: istio.mesh.v1alpha1.MeshConfig.ServiceSettings + (*MeshConfig_ServiceScopeConfigs)(nil), // 21: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs + (*MeshConfig_CA)(nil), // 22: istio.mesh.v1alpha1.MeshConfig.CA + (*MeshConfig_ExtensionProvider)(nil), // 23: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider + (*MeshConfig_DefaultProviders)(nil), // 24: istio.mesh.v1alpha1.MeshConfig.DefaultProviders + (*MeshConfig_ProxyPathNormalization)(nil), // 25: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization + (*MeshConfig_TLSConfig)(nil), // 26: istio.mesh.v1alpha1.MeshConfig.TLSConfig + (*MeshConfig_ServiceSettings_Settings)(nil), // 27: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings + (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody)(nil), // 28: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody + (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider)(nil), // 29: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider + (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider)(nil), // 30: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider + (*MeshConfig_ExtensionProvider_ZipkinTracingProvider)(nil), // 31: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider + (*MeshConfig_ExtensionProvider_LightstepTracingProvider)(nil), // 32: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider + (*MeshConfig_ExtensionProvider_DatadogTracingProvider)(nil), // 33: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider + (*MeshConfig_ExtensionProvider_SkyWalkingTracingProvider)(nil), // 34: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider + (*MeshConfig_ExtensionProvider_StackdriverProvider)(nil), // 35: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider + (*MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider)(nil), // 36: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider + (*MeshConfig_ExtensionProvider_PrometheusMetricsProvider)(nil), // 37: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider + (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider)(nil), // 38: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider + (*MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider)(nil), // 39: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider + (*MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider)(nil), // 40: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider + (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider)(nil), // 41: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider + (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider)(nil), // 42: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider + (*MeshConfig_ExtensionProvider_SDSProvider)(nil), // 43: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider + (*MeshConfig_ExtensionProvider_HttpService)(nil), // 44: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService + (*MeshConfig_ExtensionProvider_HttpHeader)(nil), // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader + (*MeshConfig_ExtensionProvider_ResourceDetectors)(nil), // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors + (*MeshConfig_ExtensionProvider_GrpcService)(nil), // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService + nil, // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry + (*MeshConfig_ExtensionProvider_StackdriverProvider_Logging)(nil), // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging + nil, // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry + (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat)(nil), // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat + (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat)(nil), // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat + (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler)(nil), // 53: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler + (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi)(nil), // 54: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi + (*MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector)(nil), // 55: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector + (*MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector)(nil), // 56: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector + nil, // 57: istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntry + (*duration.Duration)(nil), // 58: google.protobuf.Duration + (*v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 59: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive + (*ProxyConfig)(nil), // 60: istio.mesh.v1alpha1.ProxyConfig + (*wrappers.BoolValue)(nil), // 61: google.protobuf.BoolValue + (*v1alpha3.LocalityLoadBalancerSetting)(nil), // 62: istio.networking.v1alpha3.LocalityLoadBalancerSetting + (*v1alpha3.HTTPRetry)(nil), // 63: istio.networking.v1alpha3.HTTPRetry + (*v1alpha3.ClientTLSSettings)(nil), // 64: istio.networking.v1alpha3.ClientTLSSettings + (*wrappers.Int64Value)(nil), // 65: google.protobuf.Int64Value + (*_struct.Struct)(nil), // 66: google.protobuf.Struct } var file_mesh_v1alpha1_config_proto_depIdxs = []int32{ - 55, // 0: istio.mesh.v1alpha1.MeshConfig.connect_timeout:type_name -> google.protobuf.Duration - 55, // 1: istio.mesh.v1alpha1.MeshConfig.hbone_idle_timeout:type_name -> google.protobuf.Duration - 55, // 2: istio.mesh.v1alpha1.MeshConfig.protocol_detection_timeout:type_name -> google.protobuf.Duration - 56, // 3: istio.mesh.v1alpha1.MeshConfig.tcp_keepalive:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive + 58, // 0: istio.mesh.v1alpha1.MeshConfig.connect_timeout:type_name -> google.protobuf.Duration + 58, // 1: istio.mesh.v1alpha1.MeshConfig.hbone_idle_timeout:type_name -> google.protobuf.Duration + 58, // 2: istio.mesh.v1alpha1.MeshConfig.protocol_detection_timeout:type_name -> google.protobuf.Duration + 59, // 3: istio.mesh.v1alpha1.MeshConfig.tcp_keepalive:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive 1, // 4: istio.mesh.v1alpha1.MeshConfig.ingress_controller_mode:type_name -> istio.mesh.v1alpha1.MeshConfig.IngressControllerMode 3, // 5: istio.mesh.v1alpha1.MeshConfig.access_log_encoding:type_name -> istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding - 57, // 6: istio.mesh.v1alpha1.MeshConfig.default_config:type_name -> istio.mesh.v1alpha1.ProxyConfig - 15, // 7: istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy - 16, // 8: istio.mesh.v1alpha1.MeshConfig.inbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy - 13, // 9: istio.mesh.v1alpha1.MeshConfig.config_sources:type_name -> istio.mesh.v1alpha1.ConfigSource - 58, // 10: istio.mesh.v1alpha1.MeshConfig.enable_auto_mtls:type_name -> google.protobuf.BoolValue - 17, // 11: istio.mesh.v1alpha1.MeshConfig.ca_certificates:type_name -> istio.mesh.v1alpha1.MeshConfig.CertificateData - 59, // 12: istio.mesh.v1alpha1.MeshConfig.locality_lb_setting:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting - 55, // 13: istio.mesh.v1alpha1.MeshConfig.dns_refresh_rate:type_name -> google.protobuf.Duration + 60, // 6: istio.mesh.v1alpha1.MeshConfig.default_config:type_name -> istio.mesh.v1alpha1.ProxyConfig + 17, // 7: istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy + 18, // 8: istio.mesh.v1alpha1.MeshConfig.inbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy + 15, // 9: istio.mesh.v1alpha1.MeshConfig.config_sources:type_name -> istio.mesh.v1alpha1.ConfigSource + 61, // 10: istio.mesh.v1alpha1.MeshConfig.enable_auto_mtls:type_name -> google.protobuf.BoolValue + 19, // 11: istio.mesh.v1alpha1.MeshConfig.ca_certificates:type_name -> istio.mesh.v1alpha1.MeshConfig.CertificateData + 62, // 12: istio.mesh.v1alpha1.MeshConfig.locality_lb_setting:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting + 58, // 13: istio.mesh.v1alpha1.MeshConfig.dns_refresh_rate:type_name -> google.protobuf.Duration 4, // 14: istio.mesh.v1alpha1.MeshConfig.h2_upgrade_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.H2UpgradePolicy - 14, // 15: istio.mesh.v1alpha1.MeshConfig.certificates:type_name -> istio.mesh.v1alpha1.Certificate - 18, // 16: istio.mesh.v1alpha1.MeshConfig.service_settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings - 19, // 17: istio.mesh.v1alpha1.MeshConfig.service_scope_configs:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs - 58, // 18: istio.mesh.v1alpha1.MeshConfig.enable_prometheus_merge:type_name -> google.protobuf.BoolValue - 58, // 19: istio.mesh.v1alpha1.MeshConfig.verify_certificate_at_client:type_name -> google.protobuf.BoolValue - 20, // 20: istio.mesh.v1alpha1.MeshConfig.ca:type_name -> istio.mesh.v1alpha1.MeshConfig.CA - 21, // 21: istio.mesh.v1alpha1.MeshConfig.extension_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider - 22, // 22: istio.mesh.v1alpha1.MeshConfig.default_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.DefaultProviders - 60, // 23: istio.mesh.v1alpha1.MeshConfig.discovery_selectors:type_name -> istio.type.v1beta1.LabelSelector - 23, // 24: istio.mesh.v1alpha1.MeshConfig.path_normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization - 61, // 25: istio.mesh.v1alpha1.MeshConfig.default_http_retry_policy:type_name -> istio.networking.v1alpha3.HTTPRetry - 24, // 26: istio.mesh.v1alpha1.MeshConfig.mesh_mTLS:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig - 24, // 27: istio.mesh.v1alpha1.MeshConfig.tls_defaults:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig - 62, // 28: istio.mesh.v1alpha1.ConfigSource.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings - 0, // 29: istio.mesh.v1alpha1.ConfigSource.subscribed_resources:type_name -> istio.mesh.v1alpha1.Resource - 5, // 30: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode - 6, // 31: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.Mode - 25, // 32: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings - 60, // 33: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.namespace_selector:type_name -> istio.type.v1beta1.LabelSelector - 60, // 34: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.services_selector:type_name -> istio.type.v1beta1.LabelSelector - 7, // 35: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.scope:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.Scope - 62, // 36: istio.mesh.v1alpha1.MeshConfig.CA.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings - 55, // 37: istio.mesh.v1alpha1.MeshConfig.CA.request_timeout:type_name -> google.protobuf.Duration - 27, // 38: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider - 28, // 39: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider - 29, // 40: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.zipkin:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider - 30, // 41: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.lightstep:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider - 31, // 42: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.datadog:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider - 33, // 43: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.stackdriver:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider - 34, // 44: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opencensus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider - 32, // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.skywalking:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider - 40, // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opentelemetry:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider - 35, // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.prometheus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider - 36, // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_file_access_log:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider - 37, // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_http_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider - 38, // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_tcp_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider - 39, // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_otel_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider - 41, // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.sds:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider - 10, // 53: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.NormalizationType - 11, // 54: istio.mesh.v1alpha1.MeshConfig.TLSConfig.min_protocol_version:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig.TLSProtocol - 55, // 55: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.timeout:type_name -> google.protobuf.Duration - 46, // 56: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_additional_headers_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry - 26, // 57: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody - 55, // 58: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.timeout:type_name -> google.protobuf.Duration - 26, // 59: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody - 8, // 60: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.trace_context_option:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.TraceContextOption - 55, // 61: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.timeout:type_name -> google.protobuf.Duration - 43, // 62: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader - 63, // 63: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_attributes:type_name -> google.protobuf.Int64Value - 63, // 64: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_annotations:type_name -> google.protobuf.Int64Value - 63, // 65: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_message_events:type_name -> google.protobuf.Int64Value - 47, // 66: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.logging:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging - 9, // 67: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.context:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.TraceContext - 49, // 68: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat - 50, // 69: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat - 42, // 70: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService - 45, // 71: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService - 44, // 72: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.resource_detectors:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors - 51, // 73: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.dynatrace_sampler:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler - 55, // 74: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.timeout:type_name -> google.protobuf.Duration - 43, // 75: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader - 53, // 76: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.environment:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector - 54, // 77: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.dynatrace:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector - 55, // 78: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.timeout:type_name -> google.protobuf.Duration - 43, // 79: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.initial_metadata:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader - 48, // 80: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.labels:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry - 64, // 81: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct - 64, // 82: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct - 52, // 83: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.http_service:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi - 42, // 84: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService - 85, // [85:85] is the sub-list for method output_type - 85, // [85:85] is the sub-list for method input_type - 85, // [85:85] is the sub-list for extension type_name - 85, // [85:85] is the sub-list for extension extendee - 0, // [0:85] is the sub-list for field type_name + 16, // 15: istio.mesh.v1alpha1.MeshConfig.certificates:type_name -> istio.mesh.v1alpha1.Certificate + 20, // 16: istio.mesh.v1alpha1.MeshConfig.service_settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings + 21, // 17: istio.mesh.v1alpha1.MeshConfig.service_scope_configs:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs + 61, // 18: istio.mesh.v1alpha1.MeshConfig.enable_prometheus_merge:type_name -> google.protobuf.BoolValue + 61, // 19: istio.mesh.v1alpha1.MeshConfig.verify_certificate_at_client:type_name -> google.protobuf.BoolValue + 22, // 20: istio.mesh.v1alpha1.MeshConfig.ca:type_name -> istio.mesh.v1alpha1.MeshConfig.CA + 23, // 21: istio.mesh.v1alpha1.MeshConfig.extension_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider + 24, // 22: istio.mesh.v1alpha1.MeshConfig.default_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.DefaultProviders + 13, // 23: istio.mesh.v1alpha1.MeshConfig.discovery_selectors:type_name -> istio.mesh.v1alpha1.LabelSelector + 25, // 24: istio.mesh.v1alpha1.MeshConfig.path_normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization + 63, // 25: istio.mesh.v1alpha1.MeshConfig.default_http_retry_policy:type_name -> istio.networking.v1alpha3.HTTPRetry + 26, // 26: istio.mesh.v1alpha1.MeshConfig.mesh_mTLS:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig + 26, // 27: istio.mesh.v1alpha1.MeshConfig.tls_defaults:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig + 57, // 28: istio.mesh.v1alpha1.LabelSelector.matchLabels:type_name -> istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntry + 14, // 29: istio.mesh.v1alpha1.LabelSelector.matchExpressions:type_name -> istio.mesh.v1alpha1.LabelSelectorRequirement + 64, // 30: istio.mesh.v1alpha1.ConfigSource.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings + 0, // 31: istio.mesh.v1alpha1.ConfigSource.subscribed_resources:type_name -> istio.mesh.v1alpha1.Resource + 5, // 32: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode + 6, // 33: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.Mode + 27, // 34: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings + 13, // 35: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.namespace_selector:type_name -> istio.mesh.v1alpha1.LabelSelector + 13, // 36: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.services_selector:type_name -> istio.mesh.v1alpha1.LabelSelector + 7, // 37: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.scope:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.Scope + 64, // 38: istio.mesh.v1alpha1.MeshConfig.CA.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings + 58, // 39: istio.mesh.v1alpha1.MeshConfig.CA.request_timeout:type_name -> google.protobuf.Duration + 29, // 40: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider + 30, // 41: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider + 31, // 42: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.zipkin:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider + 32, // 43: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.lightstep:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider + 33, // 44: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.datadog:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider + 35, // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.stackdriver:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider + 36, // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opencensus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider + 34, // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.skywalking:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider + 42, // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opentelemetry:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider + 37, // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.prometheus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider + 38, // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_file_access_log:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider + 39, // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_http_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider + 40, // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_tcp_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider + 41, // 53: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_otel_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider + 43, // 54: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.sds:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider + 10, // 55: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.NormalizationType + 11, // 56: istio.mesh.v1alpha1.MeshConfig.TLSConfig.min_protocol_version:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig.TLSProtocol + 58, // 57: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.timeout:type_name -> google.protobuf.Duration + 48, // 58: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_additional_headers_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry + 28, // 59: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody + 58, // 60: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.timeout:type_name -> google.protobuf.Duration + 28, // 61: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody + 8, // 62: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.trace_context_option:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.TraceContextOption + 58, // 63: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.timeout:type_name -> google.protobuf.Duration + 45, // 64: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader + 65, // 65: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_attributes:type_name -> google.protobuf.Int64Value + 65, // 66: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_annotations:type_name -> google.protobuf.Int64Value + 65, // 67: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_message_events:type_name -> google.protobuf.Int64Value + 49, // 68: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.logging:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging + 9, // 69: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.context:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.TraceContext + 51, // 70: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat + 52, // 71: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat + 44, // 72: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService + 47, // 73: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService + 46, // 74: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.resource_detectors:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors + 53, // 75: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.dynatrace_sampler:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler + 58, // 76: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.timeout:type_name -> google.protobuf.Duration + 45, // 77: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader + 55, // 78: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.environment:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector + 56, // 79: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.dynatrace:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector + 58, // 80: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.timeout:type_name -> google.protobuf.Duration + 45, // 81: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.initial_metadata:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader + 50, // 82: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.labels:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry + 66, // 83: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct + 66, // 84: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct + 54, // 85: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.http_service:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi + 44, // 86: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService + 87, // [87:87] is the sub-list for method output_type + 87, // [87:87] is the sub-list for method input_type + 87, // [87:87] is the sub-list for extension type_name + 87, // [87:87] is the sub-list for extension extendee + 0, // [0:87] is the sub-list for field type_name } func init() { file_mesh_v1alpha1_config_proto_init() } @@ -5512,11 +5659,11 @@ func file_mesh_v1alpha1_config_proto_init() { return } file_mesh_v1alpha1_proxy_proto_init() - file_mesh_v1alpha1_config_proto_msgTypes[5].OneofWrappers = []any{ + file_mesh_v1alpha1_config_proto_msgTypes[7].OneofWrappers = []any{ (*MeshConfig_CertificateData_Pem)(nil), (*MeshConfig_CertificateData_SpiffeBundleUrl)(nil), } - file_mesh_v1alpha1_config_proto_msgTypes[9].OneofWrappers = []any{ + file_mesh_v1alpha1_config_proto_msgTypes[11].OneofWrappers = []any{ (*MeshConfig_ExtensionProvider_EnvoyExtAuthzHttp)(nil), (*MeshConfig_ExtensionProvider_EnvoyExtAuthzGrpc)(nil), (*MeshConfig_ExtensionProvider_Zipkin)(nil), @@ -5533,14 +5680,14 @@ func file_mesh_v1alpha1_config_proto_init() { (*MeshConfig_ExtensionProvider_EnvoyOtelAls)(nil), (*MeshConfig_ExtensionProvider_Sds)(nil), } - file_mesh_v1alpha1_config_proto_msgTypes[28].OneofWrappers = []any{ + file_mesh_v1alpha1_config_proto_msgTypes[30].OneofWrappers = []any{ (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_)(nil), } - file_mesh_v1alpha1_config_proto_msgTypes[31].OneofWrappers = []any{ + file_mesh_v1alpha1_config_proto_msgTypes[33].OneofWrappers = []any{ (*MeshConfig_ExtensionProvider_HttpHeader_Value)(nil), (*MeshConfig_ExtensionProvider_HttpHeader_EnvName)(nil), } - file_mesh_v1alpha1_config_proto_msgTypes[37].OneofWrappers = []any{ + file_mesh_v1alpha1_config_proto_msgTypes[39].OneofWrappers = []any{ (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat_Text)(nil), (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat_Labels)(nil), } @@ -5550,7 +5697,7 @@ func file_mesh_v1alpha1_config_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_mesh_v1alpha1_config_proto_rawDesc), len(file_mesh_v1alpha1_config_proto_rawDesc)), NumEnums: 12, - NumMessages: 43, + NumMessages: 46, NumExtensions: 0, NumServices: 0, }, diff --git a/mesh/v1alpha1/config_json.gen.go b/mesh/v1alpha1/config_json.gen.go index d7a52176de..20a0af3f2d 100644 --- a/mesh/v1alpha1/config_json.gen.go +++ b/mesh/v1alpha1/config_json.gen.go @@ -435,6 +435,28 @@ func (this *MeshConfig_TLSConfig) UnmarshalJSON(b []byte) error { return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this) } +// MarshalJSON is a custom marshaler for LabelSelector +func (this *LabelSelector) MarshalJSON() ([]byte, error) { + str, err := ConfigMarshaler.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for LabelSelector +func (this *LabelSelector) UnmarshalJSON(b []byte) error { + return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for LabelSelectorRequirement +func (this *LabelSelectorRequirement) MarshalJSON() ([]byte, error) { + str, err := ConfigMarshaler.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for LabelSelectorRequirement +func (this *LabelSelectorRequirement) UnmarshalJSON(b []byte) error { + return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this) +} + // MarshalJSON is a custom marshaler for ConfigSource func (this *ConfigSource) MarshalJSON() ([]byte, error) { str, err := ConfigMarshaler.MarshalToString(this) diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index 1a26a9e93f..dd63f27160 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -192,6 +192,16 @@ message DestinationRule { // defines an export to all namespaces. repeated string export_to = 4; + // Criteria used to select the specific set of pods/VMs on which this + // `DestinationRule` configuration should be applied. If specified, the `DestinationRule` + // configuration will be applied only to the workload instances matching the workload selector + // label in the same namespace. Workload selectors do not apply across namespace boundaries. + // If omitted, the `DestinationRule` falls back to its default behavior. + // For example, if specific sidecars need to have egress TLS settings for services outside + // of the mesh, instead of every sidecar in the mesh needing to have the + // configuration (which is the default behaviour), a workload selector can be specified. + istio.type.v1beta1.WorkloadSelector workload_selector = 5; + // A list of label selectors to dynamically select namespaces to which this // destination rule is exported. Each selector can match namespaces based on their labels. // This provides a mechanism for service owners and mesh administrators to control @@ -224,16 +234,6 @@ message DestinationRule { // **Note:** DestinationRule with workload_selector cannot use export_to_selectors // and must only export to the current namespace ("."). repeated istio.type.v1beta1.LabelSelector export_to_selectors = 6; - // - // Criteria used to select the specific set of pods/VMs on which this - // `DestinationRule` configuration should be applied. If specified, the `DestinationRule` - // configuration will be applied only to the workload instances matching the workload selector - // label in the same namespace. Workload selectors do not apply across namespace boundaries. - // If omitted, the `DestinationRule` falls back to its default behavior. - // For example, if specific sidecars need to have egress TLS settings for services outside - // of the mesh, instead of every sidecar in the mesh needing to have the - // configuration (which is the default behaviour), a workload selector can be specified. - istio.type.v1beta1.WorkloadSelector workload_selector = 5; } // Traffic policies to apply for a specific destination, across all diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index 673b2293a4..816862de31 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -594,14 +594,6 @@ message ServiceEntry { // +kubebuilder:validation:MaxItems=4096 repeated WorkloadEntry endpoints = 6; - // Applicable only for MESH_INTERNAL services. Only one of - // `endpoints` or `workloadSelector` can be specified. Selects one - // or more Kubernetes pods or VM workloads (specified using - // `WorkloadEntry`) based on their labels. The `WorkloadEntry` object - // representing the VMs should be defined in the same namespace as - // the ServiceEntry. - WorkloadSelector workload_selector = 9; - // A list of namespaces to which this service is exported. Exporting a service // allows it to be used by sidecars, gateways and virtual services defined in // other namespaces. This feature provides a mechanism for service owners @@ -622,6 +614,23 @@ message ServiceEntry { // **Note:** Ztunnel and Waypoint proxies not support this field and will read it at "*". repeated string export_to = 7; + // If specified, the proxy will verify that the server certificate's + // subject alternate name matches one of the specified values. + // + // NOTE: When using the workloadEntry with workloadSelectors, the + // service account specified in the workloadEntry will also be used + // to derive the additional subject alternate names that should be + // verified. + repeated string subject_alt_names = 8; + + // Applicable only for MESH_INTERNAL services. Only one of + // `endpoints` or `workloadSelector` can be specified. Selects one + // or more Kubernetes pods or VM workloads (specified using + // `WorkloadEntry`) based on their labels. The `WorkloadEntry` object + // representing the VMs should be defined in the same namespace as + // the ServiceEntry. + WorkloadSelector workload_selector = 9; + // A list of label selectors to dynamically select namespaces to which this // service is exported. Each selector can match namespaces based on their labels. // This provides a mechanism for service owners and mesh administrators to control @@ -653,15 +662,6 @@ message ServiceEntry { // // **Note:** Ztunnel and Waypoint proxies do not support this field. repeated istio.type.v1beta1.LabelSelector export_to_selectors = 10; - - // If specified, the proxy will verify that the server certificate's - // subject alternate name matches one of the specified values. - // - // NOTE: When using the workloadEntry with workloadSelectors, the - // service account specified in the workloadEntry will also be used - // to derive the additional subject alternate names that should be - // verified. - repeated string subject_alt_names = 8; } // ServicePort describes the properties of a specific port of a service. From 00761d39b2a7a64983c0a561b845aada8e7d71cf Mon Sep 17 00:00:00 2001 From: Bhasker Hariharan Date: Wed, 14 Jan 2026 21:20:19 +0000 Subject: [PATCH 4/4] Revert istio.mesh.v1alpha1.pb.html to keep LabelSelector documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Keep LabelSelector and LabelSelectorRequirement documentation in mesh/v1alpha1 - Maintain local links to LabelSelector instead of external URLs - Keep number_of_entries at 84 This is consistent with reverting config.pb.go changes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 124 +++++++++++++++------- 1 file changed, 86 insertions(+), 38 deletions(-) diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index dccb213677..b76770c287 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -5,7 +5,7 @@ layout: protoc-gen-docs generator: protoc-gen-docs weight: 20 -number_of_entries: 83 +number_of_entries: 84 ---

Configuration affecting the service mesh as a whole.

@@ -497,7 +497,7 @@

MeshConfig

FieldDescription
+
string
+
+

key is the label key that the selector applies to.

+ +
+
string
+
+

operator represents a key’s relationship to a set of values. +Valid operators are In, NotIn, Exists and DoesNotExist.

+ +
+
string[]
+
+

values is an array of string values. If the operator is In or NotIn, +the values array must be non-empty. If the operator is Exists or DoesNotExist, +the values array must be empty. This array is replaced during a strategic +merge patch.

+

A list of Kubernetes selectors that specify the set of namespaces that Istio considers when @@ -798,7 +798,7 @@

ServiceScopeConfigs

Match expression for namespaces.

@@ -807,7 +807,7 @@

ServiceScopeConfigs

Match expression for serivces.

@@ -3063,11 +3063,11 @@

H2UpgradePolicy

-

ConfigSource

+

LabelSelector

-

ConfigSource describes information about a configuration store inside a -mesh. A single control plane instance can interact with one or more data -sources.

+

A label selector requirement is a selector that contains values, a key, and an operator that +relates the key and values. +Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries.

@@ -3077,46 +3077,82 @@

ConfigSource

- - + + + + + + + + +
+
map<string, string>
+
+

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels +map is equivalent to an element of matchExpressions, whose key field is “key”, the +operator is “In”, and the values array contains only “value”. The requirements are ANDed.

+ +
+

matchExpressions is a list of label selector requirements. The requirements are ANDed.

+ +
+
+

LabelSelectorRequirement

+
+

A label selector requirement is a selector that contains values, a key, and an operator that +relates the key and values. +Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries.

+ + + + + + + + + + + - - + - - +
FieldDescription
string
-

Address of the server implementing the Istio Mesh Configuration -protocol (MCP). Can be IP address or a fully qualified DNS name. -Use xds:// to specify a grpc-based xds backend, k8s:// to specify a k8s controller or -fs:/// to specify a file-based backend with absolute path to the directory.

+

key is the label key that the selector applies to.

+
string
-

Use the tlsSettings to specify the tls mode to use. If the MCP server -uses Istio mutual TLS and shares the root CA with istiod, specify the TLS -mode as ISTIO_MUTUAL.

+

operator represents a key’s relationship to a set of values. +Valid operators are In, NotIn, Exists and DoesNotExist.

+
string[]
-

Describes the source of configuration, if nothing is specified default is MCP

+

values is an array of string values. If the operator is In or NotIn, +the values array must be non-empty. If the operator is Exists or DoesNotExist, +the values array must be empty. This array is replaced during a strategic +merge patch.

-
LabelSelector
+

ConfigSource

-

LabelSelector is a label query over resources. -It matches resources based on their labels. -Copied from Kubernetes to avoid expensive dependency on Kubernetes libraries.

+

ConfigSource describes information about a configuration store inside a +mesh. A single control plane instance can interact with one or more data +sources.

@@ -3126,23 +3162,35 @@
LabelSelector
- - + - - + + + + +
-
map<string, string>
+
+
string
-

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels -map is equivalent to an element of matchExpressions, whose key field is “key”, the -operator is “In”, and the values array contains only “value”. The requirements are ANDed.

+

Address of the server implementing the Istio Mesh Configuration +protocol (MCP). Can be IP address or a fully qualified DNS name. +Use xds:// to specify a grpc-based xds backend, k8s:// to specify a k8s controller or +fs:/// to specify a file-based backend with absolute path to the directory.

-

matchExpressions is a list of label selector requirements. The requirements are ANDed.

+

Use the tlsSettings to specify the tls mode to use. If the MCP server +uses Istio mutual TLS and shares the root CA with istiod, specify the TLS +mode as ISTIO_MUTUAL.

+ +
+

Describes the source of configuration, if nothing is specified default is MCP