From 8249f9ec6bdd529d4e313af065a80f38c17e48bd Mon Sep 17 00:00:00 2001
From: Ian Rudie
Date: Tue, 23 Jun 2026 17:20:50 -0400
Subject: [PATCH 1/2] Safer SE API changes
Signed-off-by: Ian Rudie
---
mesh/v1alpha1/config.pb.go | 804 +++++++++++++++-------
mesh/v1alpha1/config.proto | 69 +-
mesh/v1alpha1/config_json.gen.go | 33 +
mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 172 ++++-
4 files changed, 826 insertions(+), 252 deletions(-)
diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go
index efde2545d4..0fae037ae2 100644
--- a/mesh/v1alpha1/config.pb.go
+++ b/mesh/v1alpha1/config.pb.go
@@ -779,6 +779,64 @@ func (MeshConfig_TLSConfig_TLSProtocol) EnumDescriptor() ([]byte, []int) {
return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{0, 9, 0}
}
+// PublishScope defines how widely a matching ServiceEntry is published.
+type ServiceEntryPublishing_PublishScope int32
+
+const (
+ // Default. Resolves to `CLUSTER_LOCAL` to preserve legacy behavior.
+ ServiceEntryPublishing_PUBLISH_SCOPE_UNSPECIFIED ServiceEntryPublishing_PublishScope = 0
+ // The ServiceEntry may be written, but Istio configures no dataplane for
+ // it. Useful to expressly forbid a class of ServiceEntry.
+ ServiceEntryPublishing_UNUSED ServiceEntryPublishing_PublishScope = 1
+ // Visible only within the namespace the ServiceEntry is defined in.
+ ServiceEntryPublishing_NAMESPACE_LOCAL ServiceEntryPublishing_PublishScope = 2
+ // Visible to the entire cluster. Equivalent to the legacy `exportTo: "*"`.
+ ServiceEntryPublishing_CLUSTER_LOCAL ServiceEntryPublishing_PublishScope = 3
+)
+
+// Enum value maps for ServiceEntryPublishing_PublishScope.
+var (
+ ServiceEntryPublishing_PublishScope_name = map[int32]string{
+ 0: "PUBLISH_SCOPE_UNSPECIFIED",
+ 1: "UNUSED",
+ 2: "NAMESPACE_LOCAL",
+ 3: "CLUSTER_LOCAL",
+ }
+ ServiceEntryPublishing_PublishScope_value = map[string]int32{
+ "PUBLISH_SCOPE_UNSPECIFIED": 0,
+ "UNUSED": 1,
+ "NAMESPACE_LOCAL": 2,
+ "CLUSTER_LOCAL": 3,
+ }
+)
+
+func (x ServiceEntryPublishing_PublishScope) Enum() *ServiceEntryPublishing_PublishScope {
+ p := new(ServiceEntryPublishing_PublishScope)
+ *p = x
+ return p
+}
+
+func (x ServiceEntryPublishing_PublishScope) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ServiceEntryPublishing_PublishScope) Descriptor() protoreflect.EnumDescriptor {
+ return file_mesh_v1alpha1_config_proto_enumTypes[13].Descriptor()
+}
+
+func (ServiceEntryPublishing_PublishScope) Type() protoreflect.EnumType {
+ return &file_mesh_v1alpha1_config_proto_enumTypes[13]
+}
+
+func (x ServiceEntryPublishing_PublishScope) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ServiceEntryPublishing_PublishScope.Descriptor instead.
+func (ServiceEntryPublishing_PublishScope) EnumDescriptor() ([]byte, []int) {
+ return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{3, 0}
+}
+
// MeshConfig defines mesh-wide settings for the Istio service mesh.
type MeshConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
@@ -1130,8 +1188,14 @@ type MeshConfig struct {
// DestinationRule that sets `connectionPool` or `outlierDetection` has no mesh-level
// baseline, and unset blocks fall back to Istio's built-in defaults.
DefaultTrafficPolicy *MeshConfig_DefaultTrafficPolicy `protobuf:"bytes,71,opt,name=default_traffic_policy,json=defaultTrafficPolicy,proto3" json:"default_traffic_policy,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
+ // ServiceEntryPublishing lets a mesh administrator control the visibility
+ // ("publish scope") of ServiceEntry resources mesh-wide, without relying on
+ // external admission validation. When unset, ServiceEntry behaves as it does
+ // today (published cluster-wide; ambient ignores `exportTo`). See the
+ // ServiceEntryPublishing message for details.
+ ServiceEntryPublishing *ServiceEntryPublishing `protobuf:"bytes,72,opt,name=service_entry_publishing,json=serviceEntryPublishing,proto3" json:"service_entry_publishing,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
}
func (x *MeshConfig) Reset() {
@@ -1502,6 +1566,13 @@ func (x *MeshConfig) GetDefaultTrafficPolicy() *MeshConfig_DefaultTrafficPolicy
return nil
}
+func (x *MeshConfig) GetServiceEntryPublishing() *ServiceEntryPublishing {
+ if x != nil {
+ return x.ServiceEntryPublishing
+ }
+ 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.
@@ -1636,6 +1707,82 @@ func (x *LabelSelectorRequirement) GetValues() []string {
return nil
}
+// ServiceEntryPublishing controls the visibility of ServiceEntry resources
+// across the mesh, giving a mesh administrator a way to scope ServiceEntry
+// without relying on external (VAP/CEL/OPA) admission validation.
+//
+// Policies are evaluated in order; the first policy whose rules all match sets
+// the ServiceEntry's publish scope. If no policy matches, `defaultPublishScope`
+// applies. When this entire message is absent from `MeshConfig`, every
+// ServiceEntry is published `CLUSTER_LOCAL`, preserving current Istio behavior.
+type ServiceEntryPublishing struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // The publish scope used when no policy matches a ServiceEntry. If left
+ // `PUBLISH_SCOPE_UNSPECIFIED`, it resolves to `CLUSTER_LOCAL`.
+ DefaultPublishScope ServiceEntryPublishing_PublishScope `protobuf:"varint,1,opt,name=default_publish_scope,json=defaultPublishScope,proto3,enum=istio.mesh.v1alpha1.ServiceEntryPublishing_PublishScope" json:"default_publish_scope,omitempty"`
+ // Whether sidecars honor these publish semantics. When false (default), only
+ // ambient proxies (ztunnel and waypoints) apply them and sidecars continue
+ // to use `exportTo`. This enables incremental adoption during an ambient
+ // migration without affecting a working sidecar environment.
+ ApplyToSidecars bool `protobuf:"varint,2,opt,name=apply_to_sidecars,json=applyToSidecars,proto3" json:"apply_to_sidecars,omitempty"`
+ // An ordered list of policies. Each policy is evaluated in turn; the first
+ // policy whose rules all match determines the ServiceEntry's publish scope.
+ Policies []*ServiceEntryPublishing_PublishPolicy `protobuf:"bytes,3,rep,name=policies,proto3" json:"policies,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ServiceEntryPublishing) Reset() {
+ *x = ServiceEntryPublishing{}
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ServiceEntryPublishing) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServiceEntryPublishing) ProtoMessage() {}
+
+func (x *ServiceEntryPublishing) ProtoReflect() protoreflect.Message {
+ mi := &file_mesh_v1alpha1_config_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 ServiceEntryPublishing.ProtoReflect.Descriptor instead.
+func (*ServiceEntryPublishing) Descriptor() ([]byte, []int) {
+ return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *ServiceEntryPublishing) GetDefaultPublishScope() ServiceEntryPublishing_PublishScope {
+ if x != nil {
+ return x.DefaultPublishScope
+ }
+ return ServiceEntryPublishing_PUBLISH_SCOPE_UNSPECIFIED
+}
+
+func (x *ServiceEntryPublishing) GetApplyToSidecars() bool {
+ if x != nil {
+ return x.ApplyToSidecars
+ }
+ return false
+}
+
+func (x *ServiceEntryPublishing) GetPolicies() []*ServiceEntryPublishing_PublishPolicy {
+ if x != nil {
+ return x.Policies
+ }
+ 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.
@@ -1658,7 +1805,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[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1670,7 +1817,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[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1683,7 +1830,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{4}
}
func (x *ConfigSource) GetAddress() string {
@@ -1744,7 +1891,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[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1756,7 +1903,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[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1769,7 +1916,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{5}
}
func (x *Certificate) GetSecretName() string {
@@ -1799,7 +1946,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[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1811,7 +1958,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[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1850,7 +1997,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[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1862,7 +2009,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[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1912,7 +2059,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[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1924,7 +2071,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[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2039,7 +2186,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[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2051,7 +2198,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[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2123,7 +2270,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[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2135,7 +2282,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[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2198,7 +2345,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[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2210,7 +2357,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[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2284,7 +2431,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[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2296,7 +2443,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[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2603,7 +2750,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[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2615,7 +2762,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[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2661,7 +2808,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[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2673,7 +2820,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[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2726,7 +2873,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[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2738,7 +2885,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[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2793,7 +2940,7 @@ type MeshConfig_DefaultTrafficPolicy struct {
func (x *MeshConfig_DefaultTrafficPolicy) Reset() {
*x = MeshConfig_DefaultTrafficPolicy{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[15]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2805,7 +2952,7 @@ func (x *MeshConfig_DefaultTrafficPolicy) String() string {
func (*MeshConfig_DefaultTrafficPolicy) ProtoMessage() {}
func (x *MeshConfig_DefaultTrafficPolicy) ProtoReflect() protoreflect.Message {
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[15]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2862,7 +3009,7 @@ type MeshConfig_ServiceSettings_Settings struct {
func (x *MeshConfig_ServiceSettings_Settings) Reset() {
*x = MeshConfig_ServiceSettings_Settings{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[16]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2874,7 +3021,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[16]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2921,7 +3068,7 @@ type MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody struct {
func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody) Reset() {
*x = MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[17]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2933,7 +3080,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[17]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3069,7 +3216,7 @@ type MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider struct
func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider) Reset() {
*x = MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[18]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3081,7 +3228,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[18]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3230,7 +3377,7 @@ type MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider struct
func (x *MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider) Reset() {
*x = MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[19]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3242,7 +3389,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[19]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3344,7 +3491,7 @@ type MeshConfig_ExtensionProvider_ZipkinTracingProvider struct {
func (x *MeshConfig_ExtensionProvider_ZipkinTracingProvider) Reset() {
*x = MeshConfig_ExtensionProvider_ZipkinTracingProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[20]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3356,7 +3503,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[20]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3453,7 +3600,7 @@ type MeshConfig_ExtensionProvider_LightstepTracingProvider struct {
func (x *MeshConfig_ExtensionProvider_LightstepTracingProvider) Reset() {
*x = MeshConfig_ExtensionProvider_LightstepTracingProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[21]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3465,7 +3612,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[21]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3530,7 +3677,7 @@ type MeshConfig_ExtensionProvider_DatadogTracingProvider struct {
func (x *MeshConfig_ExtensionProvider_DatadogTracingProvider) Reset() {
*x = MeshConfig_ExtensionProvider_DatadogTracingProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[22]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3542,7 +3689,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[22]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3599,7 +3746,7 @@ type MeshConfig_ExtensionProvider_SkyWalkingTracingProvider struct {
func (x *MeshConfig_ExtensionProvider_SkyWalkingTracingProvider) Reset() {
*x = MeshConfig_ExtensionProvider_SkyWalkingTracingProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[23]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3611,7 +3758,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[23]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3689,7 +3836,7 @@ type MeshConfig_ExtensionProvider_StackdriverProvider struct {
func (x *MeshConfig_ExtensionProvider_StackdriverProvider) Reset() {
*x = MeshConfig_ExtensionProvider_StackdriverProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[24]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3701,7 +3848,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[24]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3798,7 +3945,7 @@ type MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider struct {
func (x *MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider) Reset() {
*x = MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[25]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3810,7 +3957,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[25]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3862,7 +4009,7 @@ type MeshConfig_ExtensionProvider_PrometheusMetricsProvider struct {
func (x *MeshConfig_ExtensionProvider_PrometheusMetricsProvider) Reset() {
*x = MeshConfig_ExtensionProvider_PrometheusMetricsProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[26]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3874,7 +4021,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[26]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3910,7 +4057,7 @@ type MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider struct {
func (x *MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider) Reset() {
*x = MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[27]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3922,7 +4069,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[27]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3991,7 +4138,7 @@ type MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider struct {
func (x *MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider) Reset() {
*x = MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[28]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4003,7 +4150,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[28]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4094,7 +4241,7 @@ type MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider struct {
func (x *MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider) Reset() {
*x = MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[29]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4106,7 +4253,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[29]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4175,7 +4322,7 @@ type MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider struct {
func (x *MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider) Reset() {
*x = MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[30]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4187,7 +4334,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[30]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4396,7 +4543,7 @@ type MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider struct {
func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider) Reset() {
*x = MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[31]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4408,7 +4555,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[31]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4540,7 +4687,7 @@ type MeshConfig_ExtensionProvider_SDSProvider struct {
func (x *MeshConfig_ExtensionProvider_SDSProvider) Reset() {
*x = MeshConfig_ExtensionProvider_SDSProvider{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[32]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4552,7 +4699,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[32]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[33]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4607,7 +4754,7 @@ type MeshConfig_ExtensionProvider_HttpService struct {
func (x *MeshConfig_ExtensionProvider_HttpService) Reset() {
*x = MeshConfig_ExtensionProvider_HttpService{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[33]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4619,7 +4766,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[33]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[34]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4673,7 +4820,7 @@ type MeshConfig_ExtensionProvider_HttpHeader struct {
func (x *MeshConfig_ExtensionProvider_HttpHeader) Reset() {
*x = MeshConfig_ExtensionProvider_HttpHeader{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[34]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4685,7 +4832,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[34]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[35]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4767,7 +4914,7 @@ type MeshConfig_ExtensionProvider_ResourceDetectors struct {
func (x *MeshConfig_ExtensionProvider_ResourceDetectors) Reset() {
*x = MeshConfig_ExtensionProvider_ResourceDetectors{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[35]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4779,7 +4926,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[35]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[36]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4825,7 +4972,7 @@ type MeshConfig_ExtensionProvider_GrpcService struct {
func (x *MeshConfig_ExtensionProvider_GrpcService) Reset() {
*x = MeshConfig_ExtensionProvider_GrpcService{}
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[36]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4837,7 +4984,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[36]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[37]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4885,7 +5032,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[38]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4897,7 +5044,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[38]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[39]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4933,7 +5080,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[40]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4945,7 +5092,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[40]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[41]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5057,7 +5204,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[41]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5069,7 +5216,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[41]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[42]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5129,7 +5276,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[42]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5141,7 +5288,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[42]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[43]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5203,7 +5350,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[43]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5216,7 +5363,7 @@ func (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSample
}
func (x *MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi) ProtoReflect() protoreflect.Message {
- mi := &file_mesh_v1alpha1_config_proto_msgTypes[43]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[44]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5266,7 +5413,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[44]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5278,7 +5425,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[44]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[45]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5307,7 +5454,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[45]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5319,7 +5466,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[45]
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[46]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5335,11 +5482,138 @@ func (*MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector)
return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{0, 6, 18, 1}
}
+// PublishPolicy assigns a publish scope to ServiceEntries that match all of
+// its rules.
+type ServiceEntryPublishing_PublishPolicy struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // The scope applied to a ServiceEntry when all `matchingRules` match.
+ PublishScope ServiceEntryPublishing_PublishScope `protobuf:"varint,1,opt,name=publish_scope,json=publishScope,proto3,enum=istio.mesh.v1alpha1.ServiceEntryPublishing_PublishScope" json:"publish_scope,omitempty"`
+ // The rules to evaluate. All rules must match (AND semantics) for this
+ // policy to apply.
+ MatchingRules []*ServiceEntryPublishing_PublishMatchRule `protobuf:"bytes,2,rep,name=matching_rules,json=matchingRules,proto3" json:"matching_rules,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ServiceEntryPublishing_PublishPolicy) Reset() {
+ *x = ServiceEntryPublishing_PublishPolicy{}
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[48]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ServiceEntryPublishing_PublishPolicy) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServiceEntryPublishing_PublishPolicy) ProtoMessage() {}
+
+func (x *ServiceEntryPublishing_PublishPolicy) ProtoReflect() protoreflect.Message {
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[48]
+ 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 ServiceEntryPublishing_PublishPolicy.ProtoReflect.Descriptor instead.
+func (*ServiceEntryPublishing_PublishPolicy) Descriptor() ([]byte, []int) {
+ return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{3, 0}
+}
+
+func (x *ServiceEntryPublishing_PublishPolicy) GetPublishScope() ServiceEntryPublishing_PublishScope {
+ if x != nil {
+ return x.PublishScope
+ }
+ return ServiceEntryPublishing_PUBLISH_SCOPE_UNSPECIFIED
+}
+
+func (x *ServiceEntryPublishing_PublishPolicy) GetMatchingRules() []*ServiceEntryPublishing_PublishMatchRule {
+ if x != nil {
+ return x.MatchingRules
+ }
+ return nil
+}
+
+// PublishMatchRule is a single matcher.
+type ServiceEntryPublishing_PublishMatchRule struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // Types that are valid to be assigned to Matcher:
+ //
+ // *ServiceEntryPublishing_PublishMatchRule_NamespaceSelector
+ Matcher isServiceEntryPublishing_PublishMatchRule_Matcher `protobuf_oneof:"matcher"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ServiceEntryPublishing_PublishMatchRule) Reset() {
+ *x = ServiceEntryPublishing_PublishMatchRule{}
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[49]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ServiceEntryPublishing_PublishMatchRule) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServiceEntryPublishing_PublishMatchRule) ProtoMessage() {}
+
+func (x *ServiceEntryPublishing_PublishMatchRule) ProtoReflect() protoreflect.Message {
+ mi := &file_mesh_v1alpha1_config_proto_msgTypes[49]
+ 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 ServiceEntryPublishing_PublishMatchRule.ProtoReflect.Descriptor instead.
+func (*ServiceEntryPublishing_PublishMatchRule) Descriptor() ([]byte, []int) {
+ return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{3, 1}
+}
+
+func (x *ServiceEntryPublishing_PublishMatchRule) GetMatcher() isServiceEntryPublishing_PublishMatchRule_Matcher {
+ if x != nil {
+ return x.Matcher
+ }
+ return nil
+}
+
+func (x *ServiceEntryPublishing_PublishMatchRule) GetNamespaceSelector() *LabelSelector {
+ if x != nil {
+ if x, ok := x.Matcher.(*ServiceEntryPublishing_PublishMatchRule_NamespaceSelector); ok {
+ return x.NamespaceSelector
+ }
+ }
+ return nil
+}
+
+type isServiceEntryPublishing_PublishMatchRule_Matcher interface {
+ isServiceEntryPublishing_PublishMatchRule_Matcher()
+}
+
+type ServiceEntryPublishing_PublishMatchRule_NamespaceSelector struct {
+ // Matches when the namespace the ServiceEntry is defined in matches this
+ // label selector.
+ NamespaceSelector *LabelSelector `protobuf:"bytes,1,opt,name=namespace_selector,json=namespaceSelector,proto3,oneof"`
+}
+
+func (*ServiceEntryPublishing_PublishMatchRule_NamespaceSelector) isServiceEntryPublishing_PublishMatchRule_Matcher() {
+}
+
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\"\xfcu\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\"\xe3v\n" +
"\n" +
"MeshConfig\x12*\n" +
"\x11proxy_listen_port\x18\x04 \x01(\x05R\x0fproxyListenPort\x129\n" +
@@ -5389,7 +5663,8 @@ const file_mesh_v1alpha1_config_proto_rawDesc = "" +
"\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" +
"\ftls_defaults\x18@ \x01(\v2).istio.mesh.v1alpha1.MeshConfig.TLSConfigR\vtlsDefaults\x12j\n" +
- "\x16default_traffic_policy\x18G \x01(\v24.istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicyR\x14defaultTrafficPolicy\x1a\x88\x02\n" +
+ "\x16default_traffic_policy\x18G \x01(\v24.istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicyR\x14defaultTrafficPolicy\x12e\n" +
+ "\x18service_entry_publishing\x18H \x01(\v2+.istio.mesh.v1alpha1.ServiceEntryPublishingR\x16serviceEntryPublishing\x1a\x88\x02\n" +
"\x15OutboundTrafficPolicy\x12N\n" +
"\x04mode\x18\x01 \x01(\x0e2:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeR\x04mode\x12>\n" +
"\x03tls\x18\x02 \x01(\v2,.istio.networking.v1alpha3.ClientTLSSettingsR\x03tls\"_\n" +
@@ -5664,7 +5939,23 @@ const file_mesh_v1alpha1_config_proto_rawDesc = "" +
"\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" +
+ "\x06values\x18\x03 \x03(\tR\x06values\"\xb6\x05\n" +
+ "\x16ServiceEntryPublishing\x12l\n" +
+ "\x15default_publish_scope\x18\x01 \x01(\x0e28.istio.mesh.v1alpha1.ServiceEntryPublishing.PublishScopeR\x13defaultPublishScope\x12*\n" +
+ "\x11apply_to_sidecars\x18\x02 \x01(\bR\x0fapplyToSidecars\x12U\n" +
+ "\bpolicies\x18\x03 \x03(\v29.istio.mesh.v1alpha1.ServiceEntryPublishing.PublishPolicyR\bpolicies\x1a\xd3\x01\n" +
+ "\rPublishPolicy\x12]\n" +
+ "\rpublish_scope\x18\x01 \x01(\x0e28.istio.mesh.v1alpha1.ServiceEntryPublishing.PublishScopeR\fpublishScope\x12c\n" +
+ "\x0ematching_rules\x18\x02 \x03(\v2<.istio.mesh.v1alpha1.ServiceEntryPublishing.PublishMatchRuleR\rmatchingRules\x1ar\n" +
+ "\x10PublishMatchRule\x12S\n" +
+ "\x12namespace_selector\x18\x01 \x01(\v2\".istio.mesh.v1alpha1.LabelSelectorH\x00R\x11namespaceSelectorB\t\n" +
+ "\amatcher\"a\n" +
+ "\fPublishScope\x12\x1d\n" +
+ "\x19PUBLISH_SCOPE_UNSPECIFIED\x10\x00\x12\n" +
+ "\n" +
+ "\x06UNUSED\x10\x01\x12\x13\n" +
+ "\x0fNAMESPACE_LOCAL\x10\x02\x12\x11\n" +
+ "\rCLUSTER_LOCAL\x10\x03\"\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" +
@@ -5688,8 +5979,8 @@ func file_mesh_v1alpha1_config_proto_rawDescGZIP() []byte {
return file_mesh_v1alpha1_config_proto_rawDescData
}
-var file_mesh_v1alpha1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 13)
-var file_mesh_v1alpha1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 47)
+var file_mesh_v1alpha1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 14)
+var file_mesh_v1alpha1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 50)
var file_mesh_v1alpha1_config_proto_goTypes = []any{
(Resource)(0), // 0: istio.mesh.v1alpha1.Resource
(MeshConfig_IngressControllerMode)(0), // 1: istio.mesh.v1alpha1.MeshConfig.IngressControllerMode
@@ -5704,163 +5995,173 @@ var file_mesh_v1alpha1_config_proto_goTypes = []any{
(MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider_TraceContext)(0), // 10: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.TraceContext
(MeshConfig_ProxyPathNormalization_NormalizationType)(0), // 11: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.NormalizationType
(MeshConfig_TLSConfig_TLSProtocol)(0), // 12: istio.mesh.v1alpha1.MeshConfig.TLSConfig.TLSProtocol
- (*MeshConfig)(nil), // 13: istio.mesh.v1alpha1.MeshConfig
- (*LabelSelector)(nil), // 14: istio.mesh.v1alpha1.LabelSelector
- (*LabelSelectorRequirement)(nil), // 15: istio.mesh.v1alpha1.LabelSelectorRequirement
- (*ConfigSource)(nil), // 16: istio.mesh.v1alpha1.ConfigSource
- (*Certificate)(nil), // 17: istio.mesh.v1alpha1.Certificate
- (*MeshConfig_OutboundTrafficPolicy)(nil), // 18: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy
- (*MeshConfig_InboundTrafficPolicy)(nil), // 19: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy
- (*MeshConfig_CertificateData)(nil), // 20: istio.mesh.v1alpha1.MeshConfig.CertificateData
- (*MeshConfig_ServiceSettings)(nil), // 21: istio.mesh.v1alpha1.MeshConfig.ServiceSettings
- (*MeshConfig_ServiceScopeConfigs)(nil), // 22: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs
- (*MeshConfig_CA)(nil), // 23: istio.mesh.v1alpha1.MeshConfig.CA
- (*MeshConfig_ExtensionProvider)(nil), // 24: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider
- (*MeshConfig_DefaultProviders)(nil), // 25: istio.mesh.v1alpha1.MeshConfig.DefaultProviders
- (*MeshConfig_ProxyPathNormalization)(nil), // 26: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization
- (*MeshConfig_TLSConfig)(nil), // 27: istio.mesh.v1alpha1.MeshConfig.TLSConfig
- (*MeshConfig_DefaultTrafficPolicy)(nil), // 28: istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicy
- (*MeshConfig_ServiceSettings_Settings)(nil), // 29: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings
- (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody)(nil), // 30: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody
- (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider)(nil), // 31: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider
- (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider)(nil), // 32: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider
- (*MeshConfig_ExtensionProvider_ZipkinTracingProvider)(nil), // 33: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider
- (*MeshConfig_ExtensionProvider_LightstepTracingProvider)(nil), // 34: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider
- (*MeshConfig_ExtensionProvider_DatadogTracingProvider)(nil), // 35: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider
- (*MeshConfig_ExtensionProvider_SkyWalkingTracingProvider)(nil), // 36: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider
- (*MeshConfig_ExtensionProvider_StackdriverProvider)(nil), // 37: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider
- (*MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider)(nil), // 38: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider
- (*MeshConfig_ExtensionProvider_PrometheusMetricsProvider)(nil), // 39: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider
- (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider)(nil), // 40: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider
- (*MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider)(nil), // 41: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider
- (*MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider)(nil), // 42: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider
- (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider)(nil), // 43: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider
- (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider)(nil), // 44: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider
- (*MeshConfig_ExtensionProvider_SDSProvider)(nil), // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider
- (*MeshConfig_ExtensionProvider_HttpService)(nil), // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService
- (*MeshConfig_ExtensionProvider_HttpHeader)(nil), // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader
- (*MeshConfig_ExtensionProvider_ResourceDetectors)(nil), // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors
- (*MeshConfig_ExtensionProvider_GrpcService)(nil), // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService
- nil, // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry
- (*MeshConfig_ExtensionProvider_StackdriverProvider_Logging)(nil), // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging
- nil, // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry
- (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat)(nil), // 53: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat
- (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat)(nil), // 54: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat
- (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler)(nil), // 55: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler
- (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi)(nil), // 56: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi
- (*MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector)(nil), // 57: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector
- (*MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector)(nil), // 58: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector
- nil, // 59: istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntry
- (*duration.Duration)(nil), // 60: google.protobuf.Duration
- (*v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 61: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
- (*ProxyConfig)(nil), // 62: istio.mesh.v1alpha1.ProxyConfig
- (*wrappers.BoolValue)(nil), // 63: google.protobuf.BoolValue
- (*v1alpha3.LocalityLoadBalancerSetting)(nil), // 64: istio.networking.v1alpha3.LocalityLoadBalancerSetting
- (*v1alpha3.HTTPRetry)(nil), // 65: istio.networking.v1alpha3.HTTPRetry
- (*v1alpha3.ClientTLSSettings)(nil), // 66: istio.networking.v1alpha3.ClientTLSSettings
- (*v1alpha3.ConnectionPoolSettings)(nil), // 67: istio.networking.v1alpha3.ConnectionPoolSettings
- (*v1alpha3.OutlierDetection)(nil), // 68: istio.networking.v1alpha3.OutlierDetection
- (*wrappers.Int64Value)(nil), // 69: google.protobuf.Int64Value
- (*_struct.Struct)(nil), // 70: google.protobuf.Struct
+ (ServiceEntryPublishing_PublishScope)(0), // 13: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishScope
+ (*MeshConfig)(nil), // 14: istio.mesh.v1alpha1.MeshConfig
+ (*LabelSelector)(nil), // 15: istio.mesh.v1alpha1.LabelSelector
+ (*LabelSelectorRequirement)(nil), // 16: istio.mesh.v1alpha1.LabelSelectorRequirement
+ (*ServiceEntryPublishing)(nil), // 17: istio.mesh.v1alpha1.ServiceEntryPublishing
+ (*ConfigSource)(nil), // 18: istio.mesh.v1alpha1.ConfigSource
+ (*Certificate)(nil), // 19: istio.mesh.v1alpha1.Certificate
+ (*MeshConfig_OutboundTrafficPolicy)(nil), // 20: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy
+ (*MeshConfig_InboundTrafficPolicy)(nil), // 21: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy
+ (*MeshConfig_CertificateData)(nil), // 22: istio.mesh.v1alpha1.MeshConfig.CertificateData
+ (*MeshConfig_ServiceSettings)(nil), // 23: istio.mesh.v1alpha1.MeshConfig.ServiceSettings
+ (*MeshConfig_ServiceScopeConfigs)(nil), // 24: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs
+ (*MeshConfig_CA)(nil), // 25: istio.mesh.v1alpha1.MeshConfig.CA
+ (*MeshConfig_ExtensionProvider)(nil), // 26: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider
+ (*MeshConfig_DefaultProviders)(nil), // 27: istio.mesh.v1alpha1.MeshConfig.DefaultProviders
+ (*MeshConfig_ProxyPathNormalization)(nil), // 28: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization
+ (*MeshConfig_TLSConfig)(nil), // 29: istio.mesh.v1alpha1.MeshConfig.TLSConfig
+ (*MeshConfig_DefaultTrafficPolicy)(nil), // 30: istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicy
+ (*MeshConfig_ServiceSettings_Settings)(nil), // 31: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings
+ (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationRequestBody)(nil), // 32: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody
+ (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationHttpProvider)(nil), // 33: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider
+ (*MeshConfig_ExtensionProvider_EnvoyExternalAuthorizationGrpcProvider)(nil), // 34: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider
+ (*MeshConfig_ExtensionProvider_ZipkinTracingProvider)(nil), // 35: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider
+ (*MeshConfig_ExtensionProvider_LightstepTracingProvider)(nil), // 36: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider
+ (*MeshConfig_ExtensionProvider_DatadogTracingProvider)(nil), // 37: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider
+ (*MeshConfig_ExtensionProvider_SkyWalkingTracingProvider)(nil), // 38: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider
+ (*MeshConfig_ExtensionProvider_StackdriverProvider)(nil), // 39: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider
+ (*MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider)(nil), // 40: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider
+ (*MeshConfig_ExtensionProvider_PrometheusMetricsProvider)(nil), // 41: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider
+ (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider)(nil), // 42: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider
+ (*MeshConfig_ExtensionProvider_EnvoyHttpGrpcV3LogProvider)(nil), // 43: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider
+ (*MeshConfig_ExtensionProvider_EnvoyTcpGrpcV3LogProvider)(nil), // 44: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider
+ (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider)(nil), // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider
+ (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider)(nil), // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider
+ (*MeshConfig_ExtensionProvider_SDSProvider)(nil), // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider
+ (*MeshConfig_ExtensionProvider_HttpService)(nil), // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService
+ (*MeshConfig_ExtensionProvider_HttpHeader)(nil), // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader
+ (*MeshConfig_ExtensionProvider_ResourceDetectors)(nil), // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors
+ (*MeshConfig_ExtensionProvider_GrpcService)(nil), // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService
+ nil, // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry
+ (*MeshConfig_ExtensionProvider_StackdriverProvider_Logging)(nil), // 53: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging
+ nil, // 54: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry
+ (*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat)(nil), // 55: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat
+ (*MeshConfig_ExtensionProvider_EnvoyOpenTelemetryLogProvider_LogFormat)(nil), // 56: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat
+ (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler)(nil), // 57: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler
+ (*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi)(nil), // 58: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi
+ (*MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector)(nil), // 59: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector
+ (*MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector)(nil), // 60: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector
+ nil, // 61: istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntry
+ (*ServiceEntryPublishing_PublishPolicy)(nil), // 62: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishPolicy
+ (*ServiceEntryPublishing_PublishMatchRule)(nil), // 63: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishMatchRule
+ (*duration.Duration)(nil), // 64: google.protobuf.Duration
+ (*v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 65: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
+ (*ProxyConfig)(nil), // 66: istio.mesh.v1alpha1.ProxyConfig
+ (*wrappers.BoolValue)(nil), // 67: google.protobuf.BoolValue
+ (*v1alpha3.LocalityLoadBalancerSetting)(nil), // 68: istio.networking.v1alpha3.LocalityLoadBalancerSetting
+ (*v1alpha3.HTTPRetry)(nil), // 69: istio.networking.v1alpha3.HTTPRetry
+ (*v1alpha3.ClientTLSSettings)(nil), // 70: istio.networking.v1alpha3.ClientTLSSettings
+ (*v1alpha3.ConnectionPoolSettings)(nil), // 71: istio.networking.v1alpha3.ConnectionPoolSettings
+ (*v1alpha3.OutlierDetection)(nil), // 72: istio.networking.v1alpha3.OutlierDetection
+ (*wrappers.Int64Value)(nil), // 73: google.protobuf.Int64Value
+ (*_struct.Struct)(nil), // 74: google.protobuf.Struct
}
var file_mesh_v1alpha1_config_proto_depIdxs = []int32{
- 60, // 0: istio.mesh.v1alpha1.MeshConfig.connect_timeout:type_name -> google.protobuf.Duration
- 60, // 1: istio.mesh.v1alpha1.MeshConfig.hbone_idle_timeout:type_name -> google.protobuf.Duration
- 60, // 2: istio.mesh.v1alpha1.MeshConfig.protocol_detection_timeout:type_name -> google.protobuf.Duration
- 61, // 3: istio.mesh.v1alpha1.MeshConfig.tcp_keepalive:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
+ 64, // 0: istio.mesh.v1alpha1.MeshConfig.connect_timeout:type_name -> google.protobuf.Duration
+ 64, // 1: istio.mesh.v1alpha1.MeshConfig.hbone_idle_timeout:type_name -> google.protobuf.Duration
+ 64, // 2: istio.mesh.v1alpha1.MeshConfig.protocol_detection_timeout:type_name -> google.protobuf.Duration
+ 65, // 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
- 62, // 6: istio.mesh.v1alpha1.MeshConfig.default_config:type_name -> istio.mesh.v1alpha1.ProxyConfig
- 18, // 7: istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy
- 19, // 8: istio.mesh.v1alpha1.MeshConfig.inbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy
- 16, // 9: istio.mesh.v1alpha1.MeshConfig.config_sources:type_name -> istio.mesh.v1alpha1.ConfigSource
- 63, // 10: istio.mesh.v1alpha1.MeshConfig.enable_auto_mtls:type_name -> google.protobuf.BoolValue
- 20, // 11: istio.mesh.v1alpha1.MeshConfig.ca_certificates:type_name -> istio.mesh.v1alpha1.MeshConfig.CertificateData
- 64, // 12: istio.mesh.v1alpha1.MeshConfig.locality_lb_setting:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting
- 60, // 13: istio.mesh.v1alpha1.MeshConfig.dns_refresh_rate:type_name -> google.protobuf.Duration
+ 66, // 6: istio.mesh.v1alpha1.MeshConfig.default_config:type_name -> istio.mesh.v1alpha1.ProxyConfig
+ 20, // 7: istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy
+ 21, // 8: istio.mesh.v1alpha1.MeshConfig.inbound_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy
+ 18, // 9: istio.mesh.v1alpha1.MeshConfig.config_sources:type_name -> istio.mesh.v1alpha1.ConfigSource
+ 67, // 10: istio.mesh.v1alpha1.MeshConfig.enable_auto_mtls:type_name -> google.protobuf.BoolValue
+ 22, // 11: istio.mesh.v1alpha1.MeshConfig.ca_certificates:type_name -> istio.mesh.v1alpha1.MeshConfig.CertificateData
+ 68, // 12: istio.mesh.v1alpha1.MeshConfig.locality_lb_setting:type_name -> istio.networking.v1alpha3.LocalityLoadBalancerSetting
+ 64, // 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
- 17, // 15: istio.mesh.v1alpha1.MeshConfig.certificates:type_name -> istio.mesh.v1alpha1.Certificate
- 21, // 16: istio.mesh.v1alpha1.MeshConfig.service_settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings
- 22, // 17: istio.mesh.v1alpha1.MeshConfig.service_scope_configs:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs
- 63, // 18: istio.mesh.v1alpha1.MeshConfig.enable_prometheus_merge:type_name -> google.protobuf.BoolValue
- 63, // 19: istio.mesh.v1alpha1.MeshConfig.verify_certificate_at_client:type_name -> google.protobuf.BoolValue
- 23, // 20: istio.mesh.v1alpha1.MeshConfig.ca:type_name -> istio.mesh.v1alpha1.MeshConfig.CA
- 24, // 21: istio.mesh.v1alpha1.MeshConfig.extension_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider
- 25, // 22: istio.mesh.v1alpha1.MeshConfig.default_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.DefaultProviders
- 14, // 23: istio.mesh.v1alpha1.MeshConfig.discovery_selectors:type_name -> istio.mesh.v1alpha1.LabelSelector
- 26, // 24: istio.mesh.v1alpha1.MeshConfig.path_normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization
- 65, // 25: istio.mesh.v1alpha1.MeshConfig.default_http_retry_policy:type_name -> istio.networking.v1alpha3.HTTPRetry
- 27, // 26: istio.mesh.v1alpha1.MeshConfig.mesh_mTLS:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig
- 27, // 27: istio.mesh.v1alpha1.MeshConfig.tls_defaults:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig
- 28, // 28: istio.mesh.v1alpha1.MeshConfig.default_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicy
- 59, // 29: istio.mesh.v1alpha1.LabelSelector.matchLabels:type_name -> istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntry
- 15, // 30: istio.mesh.v1alpha1.LabelSelector.matchExpressions:type_name -> istio.mesh.v1alpha1.LabelSelectorRequirement
- 66, // 31: istio.mesh.v1alpha1.ConfigSource.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings
- 0, // 32: istio.mesh.v1alpha1.ConfigSource.subscribed_resources:type_name -> istio.mesh.v1alpha1.Resource
- 5, // 33: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode
- 66, // 34: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.tls:type_name -> istio.networking.v1alpha3.ClientTLSSettings
- 6, // 35: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.Mode
- 29, // 36: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings
- 14, // 37: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.namespace_selector:type_name -> istio.mesh.v1alpha1.LabelSelector
- 14, // 38: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.services_selector:type_name -> istio.mesh.v1alpha1.LabelSelector
- 7, // 39: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.scope:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.Scope
- 66, // 40: istio.mesh.v1alpha1.MeshConfig.CA.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings
- 60, // 41: istio.mesh.v1alpha1.MeshConfig.CA.request_timeout:type_name -> google.protobuf.Duration
- 31, // 42: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider
- 32, // 43: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider
- 33, // 44: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.zipkin:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider
- 34, // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.lightstep:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider
- 35, // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.datadog:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider
- 37, // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.stackdriver:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider
- 38, // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opencensus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider
- 36, // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.skywalking:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider
- 44, // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opentelemetry:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider
- 39, // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.prometheus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider
- 40, // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_file_access_log:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider
- 41, // 53: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_http_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider
- 42, // 54: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_tcp_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider
- 43, // 55: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_otel_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider
- 45, // 56: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.sds:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider
- 11, // 57: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.NormalizationType
- 12, // 58: istio.mesh.v1alpha1.MeshConfig.TLSConfig.min_protocol_version:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig.TLSProtocol
- 67, // 59: istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicy.connection_pool:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings
- 68, // 60: istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicy.outlier_detection:type_name -> istio.networking.v1alpha3.OutlierDetection
- 60, // 61: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.timeout:type_name -> google.protobuf.Duration
- 50, // 62: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_additional_headers_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry
- 30, // 63: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody
- 60, // 64: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.timeout:type_name -> google.protobuf.Duration
- 30, // 65: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody
- 9, // 66: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.trace_context_option:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.TraceContextOption
- 60, // 67: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.timeout:type_name -> google.protobuf.Duration
- 47, // 68: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader
- 69, // 69: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_attributes:type_name -> google.protobuf.Int64Value
- 69, // 70: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_annotations:type_name -> google.protobuf.Int64Value
- 69, // 71: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_message_events:type_name -> google.protobuf.Int64Value
- 51, // 72: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.logging:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging
- 10, // 73: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.context:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.TraceContext
- 53, // 74: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat
- 54, // 75: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat
- 46, // 76: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService
- 49, // 77: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService
- 48, // 78: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.resource_detectors:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors
- 8, // 79: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.service_attribute_enrichment:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ServiceAttributeEnrichment
- 55, // 80: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.dynatrace_sampler:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler
- 60, // 81: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.timeout:type_name -> google.protobuf.Duration
- 47, // 82: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader
- 57, // 83: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.environment:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector
- 58, // 84: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.dynatrace:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector
- 60, // 85: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.timeout:type_name -> google.protobuf.Duration
- 47, // 86: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.initial_metadata:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader
- 52, // 87: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.labels:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry
- 70, // 88: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct
- 70, // 89: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct
- 56, // 90: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.http_service:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi
- 46, // 91: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService
- 92, // [92:92] is the sub-list for method output_type
- 92, // [92:92] is the sub-list for method input_type
- 92, // [92:92] is the sub-list for extension type_name
- 92, // [92:92] is the sub-list for extension extendee
- 0, // [0:92] is the sub-list for field type_name
+ 19, // 15: istio.mesh.v1alpha1.MeshConfig.certificates:type_name -> istio.mesh.v1alpha1.Certificate
+ 23, // 16: istio.mesh.v1alpha1.MeshConfig.service_settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings
+ 24, // 17: istio.mesh.v1alpha1.MeshConfig.service_scope_configs:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs
+ 67, // 18: istio.mesh.v1alpha1.MeshConfig.enable_prometheus_merge:type_name -> google.protobuf.BoolValue
+ 67, // 19: istio.mesh.v1alpha1.MeshConfig.verify_certificate_at_client:type_name -> google.protobuf.BoolValue
+ 25, // 20: istio.mesh.v1alpha1.MeshConfig.ca:type_name -> istio.mesh.v1alpha1.MeshConfig.CA
+ 26, // 21: istio.mesh.v1alpha1.MeshConfig.extension_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider
+ 27, // 22: istio.mesh.v1alpha1.MeshConfig.default_providers:type_name -> istio.mesh.v1alpha1.MeshConfig.DefaultProviders
+ 15, // 23: istio.mesh.v1alpha1.MeshConfig.discovery_selectors:type_name -> istio.mesh.v1alpha1.LabelSelector
+ 28, // 24: istio.mesh.v1alpha1.MeshConfig.path_normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization
+ 69, // 25: istio.mesh.v1alpha1.MeshConfig.default_http_retry_policy:type_name -> istio.networking.v1alpha3.HTTPRetry
+ 29, // 26: istio.mesh.v1alpha1.MeshConfig.mesh_mTLS:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig
+ 29, // 27: istio.mesh.v1alpha1.MeshConfig.tls_defaults:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig
+ 30, // 28: istio.mesh.v1alpha1.MeshConfig.default_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicy
+ 17, // 29: istio.mesh.v1alpha1.MeshConfig.service_entry_publishing:type_name -> istio.mesh.v1alpha1.ServiceEntryPublishing
+ 61, // 30: istio.mesh.v1alpha1.LabelSelector.matchLabels:type_name -> istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntry
+ 16, // 31: istio.mesh.v1alpha1.LabelSelector.matchExpressions:type_name -> istio.mesh.v1alpha1.LabelSelectorRequirement
+ 13, // 32: istio.mesh.v1alpha1.ServiceEntryPublishing.default_publish_scope:type_name -> istio.mesh.v1alpha1.ServiceEntryPublishing.PublishScope
+ 62, // 33: istio.mesh.v1alpha1.ServiceEntryPublishing.policies:type_name -> istio.mesh.v1alpha1.ServiceEntryPublishing.PublishPolicy
+ 70, // 34: istio.mesh.v1alpha1.ConfigSource.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings
+ 0, // 35: istio.mesh.v1alpha1.ConfigSource.subscribed_resources:type_name -> istio.mesh.v1alpha1.Resource
+ 5, // 36: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode
+ 70, // 37: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.tls:type_name -> istio.networking.v1alpha3.ClientTLSSettings
+ 6, // 38: istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.InboundTrafficPolicy.Mode
+ 31, // 39: istio.mesh.v1alpha1.MeshConfig.ServiceSettings.settings:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceSettings.Settings
+ 15, // 40: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.namespace_selector:type_name -> istio.mesh.v1alpha1.LabelSelector
+ 15, // 41: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.services_selector:type_name -> istio.mesh.v1alpha1.LabelSelector
+ 7, // 42: istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.scope:type_name -> istio.mesh.v1alpha1.MeshConfig.ServiceScopeConfigs.Scope
+ 70, // 43: istio.mesh.v1alpha1.MeshConfig.CA.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings
+ 64, // 44: istio.mesh.v1alpha1.MeshConfig.CA.request_timeout:type_name -> google.protobuf.Duration
+ 33, // 45: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider
+ 34, // 46: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_ext_authz_grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider
+ 35, // 47: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.zipkin:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider
+ 36, // 48: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.lightstep:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.LightstepTracingProvider
+ 37, // 49: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.datadog:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.DatadogTracingProvider
+ 39, // 50: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.stackdriver:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider
+ 40, // 51: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opencensus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider
+ 38, // 52: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.skywalking:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SkyWalkingTracingProvider
+ 46, // 53: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.opentelemetry:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider
+ 41, // 54: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.prometheus:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.PrometheusMetricsProvider
+ 42, // 55: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_file_access_log:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider
+ 43, // 56: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_http_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyHttpGrpcV3LogProvider
+ 44, // 57: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_tcp_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyTcpGrpcV3LogProvider
+ 45, // 58: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.envoy_otel_als:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider
+ 47, // 59: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.sds:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.SDSProvider
+ 11, // 60: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.normalization:type_name -> istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.NormalizationType
+ 12, // 61: istio.mesh.v1alpha1.MeshConfig.TLSConfig.min_protocol_version:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig.TLSProtocol
+ 71, // 62: istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicy.connection_pool:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings
+ 72, // 63: istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicy.outlier_detection:type_name -> istio.networking.v1alpha3.OutlierDetection
+ 64, // 64: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.timeout:type_name -> google.protobuf.Duration
+ 52, // 65: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_additional_headers_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.IncludeAdditionalHeadersInCheckEntry
+ 32, // 66: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationHttpProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody
+ 64, // 67: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.timeout:type_name -> google.protobuf.Duration
+ 32, // 68: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationGrpcProvider.include_request_body_in_check:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyExternalAuthorizationRequestBody
+ 9, // 69: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.trace_context_option:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.TraceContextOption
+ 64, // 70: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.timeout:type_name -> google.protobuf.Duration
+ 49, // 71: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ZipkinTracingProvider.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader
+ 73, // 72: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_attributes:type_name -> google.protobuf.Int64Value
+ 73, // 73: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_annotations:type_name -> google.protobuf.Int64Value
+ 73, // 74: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.max_number_of_message_events:type_name -> google.protobuf.Int64Value
+ 53, // 75: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.logging:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging
+ 10, // 76: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.context:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.TraceContext
+ 55, // 77: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat
+ 56, // 78: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.log_format:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat
+ 48, // 79: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService
+ 51, // 80: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.grpc:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService
+ 50, // 81: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.resource_detectors:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors
+ 8, // 82: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.service_attribute_enrichment:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ServiceAttributeEnrichment
+ 57, // 83: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.dynatrace_sampler:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler
+ 64, // 84: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.timeout:type_name -> google.protobuf.Duration
+ 49, // 85: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService.headers:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader
+ 59, // 86: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.environment:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector
+ 60, // 87: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.dynatrace:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector
+ 64, // 88: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.timeout:type_name -> google.protobuf.Duration
+ 49, // 89: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.GrpcService.initial_metadata:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpHeader
+ 54, // 90: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.labels:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.StackdriverProvider.Logging.LabelsEntry
+ 74, // 91: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyFileAccessLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct
+ 74, // 92: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct
+ 58, // 93: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.http_service:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi
+ 48, // 94: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService
+ 13, // 95: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishPolicy.publish_scope:type_name -> istio.mesh.v1alpha1.ServiceEntryPublishing.PublishScope
+ 63, // 96: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishPolicy.matching_rules:type_name -> istio.mesh.v1alpha1.ServiceEntryPublishing.PublishMatchRule
+ 15, // 97: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishMatchRule.namespace_selector:type_name -> istio.mesh.v1alpha1.LabelSelector
+ 98, // [98:98] is the sub-list for method output_type
+ 98, // [98:98] is the sub-list for method input_type
+ 98, // [98:98] is the sub-list for extension type_name
+ 98, // [98:98] is the sub-list for extension extendee
+ 0, // [0:98] is the sub-list for field type_name
}
func init() { file_mesh_v1alpha1_config_proto_init() }
@@ -5869,11 +6170,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[8].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[12].OneofWrappers = []any{
(*MeshConfig_ExtensionProvider_EnvoyExtAuthzHttp)(nil),
(*MeshConfig_ExtensionProvider_EnvoyExtAuthzGrpc)(nil),
(*MeshConfig_ExtensionProvider_Zipkin)(nil),
@@ -5890,24 +6191,27 @@ func file_mesh_v1alpha1_config_proto_init() {
(*MeshConfig_ExtensionProvider_EnvoyOtelAls)(nil),
(*MeshConfig_ExtensionProvider_Sds)(nil),
}
- file_mesh_v1alpha1_config_proto_msgTypes[31].OneofWrappers = []any{
+ file_mesh_v1alpha1_config_proto_msgTypes[32].OneofWrappers = []any{
(*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_)(nil),
}
- file_mesh_v1alpha1_config_proto_msgTypes[34].OneofWrappers = []any{
+ file_mesh_v1alpha1_config_proto_msgTypes[35].OneofWrappers = []any{
(*MeshConfig_ExtensionProvider_HttpHeader_Value)(nil),
(*MeshConfig_ExtensionProvider_HttpHeader_EnvName)(nil),
}
- file_mesh_v1alpha1_config_proto_msgTypes[40].OneofWrappers = []any{
+ file_mesh_v1alpha1_config_proto_msgTypes[41].OneofWrappers = []any{
(*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat_Text)(nil),
(*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat_Labels)(nil),
}
+ file_mesh_v1alpha1_config_proto_msgTypes[49].OneofWrappers = []any{
+ (*ServiceEntryPublishing_PublishMatchRule_NamespaceSelector)(nil),
+ }
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_mesh_v1alpha1_config_proto_rawDesc), len(file_mesh_v1alpha1_config_proto_rawDesc)),
- NumEnums: 13,
- NumMessages: 47,
+ NumEnums: 14,
+ NumMessages: 50,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto
index faa0e7abd0..87cad0c968 100755
--- a/mesh/v1alpha1/config.proto
+++ b/mesh/v1alpha1/config.proto
@@ -1653,8 +1653,15 @@ message MeshConfig {
// baseline, and unset blocks fall back to Istio's built-in defaults.
DefaultTrafficPolicy default_traffic_policy = 71;
+ // ServiceEntryPublishing lets a mesh administrator control the visibility
+ // ("publish scope") of ServiceEntry resources mesh-wide, without relying on
+ // external admission validation. When unset, ServiceEntry behaves as it does
+ // today (published cluster-wide; ambient ignores `exportTo`). See the
+ // ServiceEntryPublishing message for details.
+ ServiceEntryPublishing service_entry_publishing = 72;
+
// $hide_from_docs
- // Next available field number: 72
+ // Next available field number: 73
reserved 1;
reserved "mixer_check_server";
reserved 2;
@@ -1743,6 +1750,66 @@ message LabelSelectorRequirement {
repeated string values = 3;
}
+// ServiceEntryPublishing controls the visibility of ServiceEntry resources
+// across the mesh, giving a mesh administrator a way to scope ServiceEntry
+// without relying on external (VAP/CEL/OPA) admission validation.
+//
+// Policies are evaluated in order; the first policy whose rules all match sets
+// the ServiceEntry's publish scope. If no policy matches, `defaultPublishScope`
+// applies. When this entire message is absent from `MeshConfig`, every
+// ServiceEntry is published `CLUSTER_LOCAL`, preserving current Istio behavior.
+message ServiceEntryPublishing {
+ // PublishScope defines how widely a matching ServiceEntry is published.
+ enum PublishScope {
+ // Default. Resolves to `CLUSTER_LOCAL` to preserve legacy behavior.
+ PUBLISH_SCOPE_UNSPECIFIED = 0;
+
+ // The ServiceEntry may be written, but Istio configures no dataplane for
+ // it. Useful to expressly forbid a class of ServiceEntry.
+ UNUSED = 1;
+
+ // Visible only within the namespace the ServiceEntry is defined in.
+ NAMESPACE_LOCAL = 2;
+
+ // Visible to the entire cluster. Equivalent to the legacy `exportTo: "*"`.
+ CLUSTER_LOCAL = 3;
+ }
+
+ // The publish scope used when no policy matches a ServiceEntry. If left
+ // `PUBLISH_SCOPE_UNSPECIFIED`, it resolves to `CLUSTER_LOCAL`.
+ PublishScope default_publish_scope = 1;
+
+ // Whether sidecars honor these publish semantics. When false (default), only
+ // ambient proxies (ztunnel and waypoints) apply them and sidecars continue
+ // to use `exportTo`. This enables incremental adoption during an ambient
+ // migration without affecting a working sidecar environment.
+ bool apply_to_sidecars = 2;
+
+ // An ordered list of policies. Each policy is evaluated in turn; the first
+ // policy whose rules all match determines the ServiceEntry's publish scope.
+ repeated PublishPolicy policies = 3;
+
+ // PublishPolicy assigns a publish scope to ServiceEntries that match all of
+ // its rules.
+ message PublishPolicy {
+ // The scope applied to a ServiceEntry when all `matchingRules` match.
+ PublishScope publish_scope = 1;
+
+ // The rules to evaluate. All rules must match (AND semantics) for this
+ // policy to apply.
+ repeated PublishMatchRule matching_rules = 2;
+ }
+
+ // PublishMatchRule is a single matcher.
+ message PublishMatchRule {
+ oneof matcher {
+ // Matches when the namespace the ServiceEntry is defined in matches this
+ // label selector.
+ LabelSelector namespace_selector = 1;
+ }
+ }
+}
+
// ConfigSource describes information about a configuration store inside a
// mesh. A single control plane instance can interact with one or more data
// sources.
diff --git a/mesh/v1alpha1/config_json.gen.go b/mesh/v1alpha1/config_json.gen.go
index 772b8c04f3..b3b29b8bd2 100644
--- a/mesh/v1alpha1/config_json.gen.go
+++ b/mesh/v1alpha1/config_json.gen.go
@@ -468,6 +468,39 @@ func (this *LabelSelectorRequirement) UnmarshalJSON(b []byte) error {
return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}
+// MarshalJSON is a custom marshaler for ServiceEntryPublishing
+func (this *ServiceEntryPublishing) MarshalJSON() ([]byte, error) {
+ str, err := ConfigMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for ServiceEntryPublishing
+func (this *ServiceEntryPublishing) UnmarshalJSON(b []byte) error {
+ return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+// MarshalJSON is a custom marshaler for ServiceEntryPublishing_PublishPolicy
+func (this *ServiceEntryPublishing_PublishPolicy) MarshalJSON() ([]byte, error) {
+ str, err := ConfigMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for ServiceEntryPublishing_PublishPolicy
+func (this *ServiceEntryPublishing_PublishPolicy) UnmarshalJSON(b []byte) error {
+ return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this)
+}
+
+// MarshalJSON is a custom marshaler for ServiceEntryPublishing_PublishMatchRule
+func (this *ServiceEntryPublishing_PublishMatchRule) MarshalJSON() ([]byte, error) {
+ str, err := ConfigMarshaler.MarshalToString(this)
+ return []byte(str), err
+}
+
+// UnmarshalJSON is a custom unmarshaler for ServiceEntryPublishing_PublishMatchRule
+func (this *ServiceEntryPublishing_PublishMatchRule) 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 c839c2317b..c49395419b 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: 90
+number_of_entries: 94
---
Configuration affecting the service mesh as a whole.
@@ -598,6 +598,19 @@ MeshConfig
DestinationRule that sets connectionPool or outlierDetection has no mesh-level
baseline, and unset blocks fall back to Istio’s built-in defaults.
+
+
+
+ |
+
+ ServiceEntryPublishing lets a mesh administrator control the visibility
+(“publish scope”) of ServiceEntry resources mesh-wide, without relying on
+external admission validation. When unset, ServiceEntry behaves as it does
+today (published cluster-wide; ambient ignores exportTo). See the
+ServiceEntryPublishing message for details.
+
|
@@ -3295,6 +3308,163 @@ LabelSelectorRequirement
the values array must be empty. This array is replaced during a strategic
merge patch.
+
+
+
+
+
+ServiceEntryPublishing
+
+ServiceEntryPublishing controls the visibility of ServiceEntry resources
+across the mesh, giving a mesh administrator a way to scope ServiceEntry
+without relying on external (VAP/CEL/OPA) admission validation.
+Policies are evaluated in order; the first policy whose rules all match sets
+the ServiceEntry’s publish scope. If no policy matches, defaultPublishScope
+applies. When this entire message is absent from MeshConfig, every
+ServiceEntry is published CLUSTER_LOCAL, preserving current Istio behavior.
+
+
+
+
+| Field |
+Description |
+
+
+
+
+ |
+
+ The publish scope used when no policy matches a ServiceEntry. If left
+PUBLISH_SCOPE_UNSPECIFIED, it resolves to CLUSTER_LOCAL.
+
+ |
+
+
+ |
+
+ Whether sidecars honor these publish semantics. When false (default), only
+ambient proxies (ztunnel and waypoints) apply them and sidecars continue
+to use exportTo. This enables incremental adoption during an ambient
+migration without affecting a working sidecar environment.
+
+ |
+
+
+ |
+
+ An ordered list of policies. Each policy is evaluated in turn; the first
+policy whose rules all match determines the ServiceEntry’s publish scope.
+
+ |
+
+
+
+
+PublishPolicy
+
+PublishPolicy assigns a publish scope to ServiceEntries that match all of
+its rules.
+
+
+
+
+| Field |
+Description |
+
+
+
+
+ |
+
+ The scope applied to a ServiceEntry when all matchingRules match.
+
+ |
+
+
+ |
+
+ The rules to evaluate. All rules must match (AND semantics) for this
+policy to apply.
+
+ |
+
+
+
+
+PublishMatchRule
+
+PublishMatchRule is a single matcher.
+
+
+
+
+| Field |
+Description |
+
+
+
+
+ |
+
+ Matches when the namespace the ServiceEntry is defined in matches this
+label selector.
+
+ |
+
+
+
+
+PublishScope
+
+PublishScope defines how widely a matching ServiceEntry is published.
+
+
+
+
+| Name |
+Description |
+
+
+
+
+PUBLISH_SCOPE_UNSPECIFIED |
+
+ Default. Resolves to CLUSTER_LOCAL to preserve legacy behavior.
+
+ |
+
+
+UNUSED |
+
+ The ServiceEntry may be written, but Istio configures no dataplane for
+it. Useful to expressly forbid a class of ServiceEntry.
+
+ |
+
+
+NAMESPACE_LOCAL |
+
+ Visible only within the namespace the ServiceEntry is defined in.
+
+ |
+
+
+CLUSTER_LOCAL |
+
+ Visible to the entire cluster. Equivalent to the legacy exportTo: "*".
+
|
From fa05e1112391c73040be5943ff9bd7ad8545f94a Mon Sep 17 00:00:00 2001
From: Ian Rudie
Date: Wed, 24 Jun 2026 14:52:09 -0400
Subject: [PATCH 2/2] replace the publish naming with visibility
Signed-off-by: Ian Rudie
---
mesh/v1alpha1/config.pb.go | 255 +++++++++++-----------
mesh/v1alpha1/config.proto | 62 +++---
mesh/v1alpha1/config_json.gen.go | 24 +-
mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 104 +++++----
4 files changed, 221 insertions(+), 224 deletions(-)
diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go
index 0fae037ae2..b18f2f2578 100644
--- a/mesh/v1alpha1/config.pb.go
+++ b/mesh/v1alpha1/config.pb.go
@@ -779,61 +779,61 @@ func (MeshConfig_TLSConfig_TLSProtocol) EnumDescriptor() ([]byte, []int) {
return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{0, 9, 0}
}
-// PublishScope defines how widely a matching ServiceEntry is published.
-type ServiceEntryPublishing_PublishScope int32
+// Visibility defines how widely a matching ServiceEntry is visible.
+type ServiceEntryVisibility_Visibility int32
const (
// Default. Resolves to `CLUSTER_LOCAL` to preserve legacy behavior.
- ServiceEntryPublishing_PUBLISH_SCOPE_UNSPECIFIED ServiceEntryPublishing_PublishScope = 0
+ ServiceEntryVisibility_VISIBILITY_UNSPECIFIED ServiceEntryVisibility_Visibility = 0
// The ServiceEntry may be written, but Istio configures no dataplane for
// it. Useful to expressly forbid a class of ServiceEntry.
- ServiceEntryPublishing_UNUSED ServiceEntryPublishing_PublishScope = 1
+ ServiceEntryVisibility_UNUSED ServiceEntryVisibility_Visibility = 1
// Visible only within the namespace the ServiceEntry is defined in.
- ServiceEntryPublishing_NAMESPACE_LOCAL ServiceEntryPublishing_PublishScope = 2
+ ServiceEntryVisibility_NAMESPACE_LOCAL ServiceEntryVisibility_Visibility = 2
// Visible to the entire cluster. Equivalent to the legacy `exportTo: "*"`.
- ServiceEntryPublishing_CLUSTER_LOCAL ServiceEntryPublishing_PublishScope = 3
+ ServiceEntryVisibility_CLUSTER_LOCAL ServiceEntryVisibility_Visibility = 3
)
-// Enum value maps for ServiceEntryPublishing_PublishScope.
+// Enum value maps for ServiceEntryVisibility_Visibility.
var (
- ServiceEntryPublishing_PublishScope_name = map[int32]string{
- 0: "PUBLISH_SCOPE_UNSPECIFIED",
+ ServiceEntryVisibility_Visibility_name = map[int32]string{
+ 0: "VISIBILITY_UNSPECIFIED",
1: "UNUSED",
2: "NAMESPACE_LOCAL",
3: "CLUSTER_LOCAL",
}
- ServiceEntryPublishing_PublishScope_value = map[string]int32{
- "PUBLISH_SCOPE_UNSPECIFIED": 0,
- "UNUSED": 1,
- "NAMESPACE_LOCAL": 2,
- "CLUSTER_LOCAL": 3,
+ ServiceEntryVisibility_Visibility_value = map[string]int32{
+ "VISIBILITY_UNSPECIFIED": 0,
+ "UNUSED": 1,
+ "NAMESPACE_LOCAL": 2,
+ "CLUSTER_LOCAL": 3,
}
)
-func (x ServiceEntryPublishing_PublishScope) Enum() *ServiceEntryPublishing_PublishScope {
- p := new(ServiceEntryPublishing_PublishScope)
+func (x ServiceEntryVisibility_Visibility) Enum() *ServiceEntryVisibility_Visibility {
+ p := new(ServiceEntryVisibility_Visibility)
*p = x
return p
}
-func (x ServiceEntryPublishing_PublishScope) String() string {
+func (x ServiceEntryVisibility_Visibility) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
-func (ServiceEntryPublishing_PublishScope) Descriptor() protoreflect.EnumDescriptor {
+func (ServiceEntryVisibility_Visibility) Descriptor() protoreflect.EnumDescriptor {
return file_mesh_v1alpha1_config_proto_enumTypes[13].Descriptor()
}
-func (ServiceEntryPublishing_PublishScope) Type() protoreflect.EnumType {
+func (ServiceEntryVisibility_Visibility) Type() protoreflect.EnumType {
return &file_mesh_v1alpha1_config_proto_enumTypes[13]
}
-func (x ServiceEntryPublishing_PublishScope) Number() protoreflect.EnumNumber {
+func (x ServiceEntryVisibility_Visibility) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
-// Deprecated: Use ServiceEntryPublishing_PublishScope.Descriptor instead.
-func (ServiceEntryPublishing_PublishScope) EnumDescriptor() ([]byte, []int) {
+// Deprecated: Use ServiceEntryVisibility_Visibility.Descriptor instead.
+func (ServiceEntryVisibility_Visibility) EnumDescriptor() ([]byte, []int) {
return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{3, 0}
}
@@ -1188,12 +1188,11 @@ type MeshConfig struct {
// DestinationRule that sets `connectionPool` or `outlierDetection` has no mesh-level
// baseline, and unset blocks fall back to Istio's built-in defaults.
DefaultTrafficPolicy *MeshConfig_DefaultTrafficPolicy `protobuf:"bytes,71,opt,name=default_traffic_policy,json=defaultTrafficPolicy,proto3" json:"default_traffic_policy,omitempty"`
- // ServiceEntryPublishing lets a mesh administrator control the visibility
- // ("publish scope") of ServiceEntry resources mesh-wide, without relying on
- // external admission validation. When unset, ServiceEntry behaves as it does
- // today (published cluster-wide; ambient ignores `exportTo`). See the
- // ServiceEntryPublishing message for details.
- ServiceEntryPublishing *ServiceEntryPublishing `protobuf:"bytes,72,opt,name=service_entry_publishing,json=serviceEntryPublishing,proto3" json:"service_entry_publishing,omitempty"`
+ // ServiceEntryVisibility lets a mesh administrator control the visibility
+ // of ServiceEntry resources mesh-wide, without relying on external admission
+ // validation. When unset, ServiceEntry behaves as it does today (visible
+ // cluster-wide; ambient ignores `exportTo`).
+ ServiceEntryVisibility *ServiceEntryVisibility `protobuf:"bytes,72,opt,name=service_entry_visibility,json=serviceEntryVisibility,proto3" json:"service_entry_visibility,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -1566,9 +1565,9 @@ func (x *MeshConfig) GetDefaultTrafficPolicy() *MeshConfig_DefaultTrafficPolicy
return nil
}
-func (x *MeshConfig) GetServiceEntryPublishing() *ServiceEntryPublishing {
+func (x *MeshConfig) GetServiceEntryVisibility() *ServiceEntryVisibility {
if x != nil {
- return x.ServiceEntryPublishing
+ return x.ServiceEntryVisibility
}
return nil
}
@@ -1707,45 +1706,45 @@ func (x *LabelSelectorRequirement) GetValues() []string {
return nil
}
-// ServiceEntryPublishing controls the visibility of ServiceEntry resources
-// across the mesh, giving a mesh administrator a way to scope ServiceEntry
-// without relying on external (VAP/CEL/OPA) admission validation.
+// ServiceEntryVisibility controls the visibility of ServiceEntry resources
+// across the mesh, giving a mesh administrator a way to constrain ServiceEntry
+// visibility without relying on external (VAP/CEL/OPA) admission validation.
//
// Policies are evaluated in order; the first policy whose rules all match sets
-// the ServiceEntry's publish scope. If no policy matches, `defaultPublishScope`
+// the ServiceEntry's visibility. If no policy matches, `defaultVisibility`
// applies. When this entire message is absent from `MeshConfig`, every
-// ServiceEntry is published `CLUSTER_LOCAL`, preserving current Istio behavior.
-type ServiceEntryPublishing struct {
+// ServiceEntry is visible `CLUSTER_LOCAL`, preserving current Istio behavior.
+type ServiceEntryVisibility struct {
state protoimpl.MessageState `protogen:"open.v1"`
- // The publish scope used when no policy matches a ServiceEntry. If left
- // `PUBLISH_SCOPE_UNSPECIFIED`, it resolves to `CLUSTER_LOCAL`.
- DefaultPublishScope ServiceEntryPublishing_PublishScope `protobuf:"varint,1,opt,name=default_publish_scope,json=defaultPublishScope,proto3,enum=istio.mesh.v1alpha1.ServiceEntryPublishing_PublishScope" json:"default_publish_scope,omitempty"`
- // Whether sidecars honor these publish semantics. When false (default), only
- // ambient proxies (ztunnel and waypoints) apply them and sidecars continue
- // to use `exportTo`. This enables incremental adoption during an ambient
- // migration without affecting a working sidecar environment.
+ // The visibility used when no policy matches a ServiceEntry. If left
+ // `VISIBILITY_UNSPECIFIED`, it resolves to `CLUSTER_LOCAL`.
+ DefaultVisibility ServiceEntryVisibility_Visibility `protobuf:"varint,1,opt,name=default_visibility,json=defaultVisibility,proto3,enum=istio.mesh.v1alpha1.ServiceEntryVisibility_Visibility" json:"default_visibility,omitempty"`
+ // Whether sidecars honor these visibility semantics. When false (default),
+ // only ambient proxies (ztunnel and waypoints) apply them and sidecars
+ // continue to use `exportTo`. This enables incremental adoption during an
+ // ambient migration without affecting a working sidecar environment.
ApplyToSidecars bool `protobuf:"varint,2,opt,name=apply_to_sidecars,json=applyToSidecars,proto3" json:"apply_to_sidecars,omitempty"`
// An ordered list of policies. Each policy is evaluated in turn; the first
- // policy whose rules all match determines the ServiceEntry's publish scope.
- Policies []*ServiceEntryPublishing_PublishPolicy `protobuf:"bytes,3,rep,name=policies,proto3" json:"policies,omitempty"`
+ // policy whose rules all match determines the ServiceEntry's visibility.
+ Policies []*ServiceEntryVisibility_Policy `protobuf:"bytes,3,rep,name=policies,proto3" json:"policies,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
-func (x *ServiceEntryPublishing) Reset() {
- *x = ServiceEntryPublishing{}
+func (x *ServiceEntryVisibility) Reset() {
+ *x = ServiceEntryVisibility{}
mi := &file_mesh_v1alpha1_config_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
-func (x *ServiceEntryPublishing) String() string {
+func (x *ServiceEntryVisibility) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ServiceEntryPublishing) ProtoMessage() {}
+func (*ServiceEntryVisibility) ProtoMessage() {}
-func (x *ServiceEntryPublishing) ProtoReflect() protoreflect.Message {
+func (x *ServiceEntryVisibility) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_config_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -1757,26 +1756,26 @@ func (x *ServiceEntryPublishing) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ServiceEntryPublishing.ProtoReflect.Descriptor instead.
-func (*ServiceEntryPublishing) Descriptor() ([]byte, []int) {
+// Deprecated: Use ServiceEntryVisibility.ProtoReflect.Descriptor instead.
+func (*ServiceEntryVisibility) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{3}
}
-func (x *ServiceEntryPublishing) GetDefaultPublishScope() ServiceEntryPublishing_PublishScope {
+func (x *ServiceEntryVisibility) GetDefaultVisibility() ServiceEntryVisibility_Visibility {
if x != nil {
- return x.DefaultPublishScope
+ return x.DefaultVisibility
}
- return ServiceEntryPublishing_PUBLISH_SCOPE_UNSPECIFIED
+ return ServiceEntryVisibility_VISIBILITY_UNSPECIFIED
}
-func (x *ServiceEntryPublishing) GetApplyToSidecars() bool {
+func (x *ServiceEntryVisibility) GetApplyToSidecars() bool {
if x != nil {
return x.ApplyToSidecars
}
return false
}
-func (x *ServiceEntryPublishing) GetPolicies() []*ServiceEntryPublishing_PublishPolicy {
+func (x *ServiceEntryVisibility) GetPolicies() []*ServiceEntryVisibility_Policy {
if x != nil {
return x.Policies
}
@@ -5482,33 +5481,32 @@ func (*MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector)
return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{0, 6, 18, 1}
}
-// PublishPolicy assigns a publish scope to ServiceEntries that match all of
-// its rules.
-type ServiceEntryPublishing_PublishPolicy struct {
+// Policy assigns a visibility to ServiceEntries that match all of its rules.
+type ServiceEntryVisibility_Policy struct {
state protoimpl.MessageState `protogen:"open.v1"`
- // The scope applied to a ServiceEntry when all `matchingRules` match.
- PublishScope ServiceEntryPublishing_PublishScope `protobuf:"varint,1,opt,name=publish_scope,json=publishScope,proto3,enum=istio.mesh.v1alpha1.ServiceEntryPublishing_PublishScope" json:"publish_scope,omitempty"`
+ // The visibility applied to a ServiceEntry when all `matchingRules` match.
+ Visibility ServiceEntryVisibility_Visibility `protobuf:"varint,1,opt,name=visibility,proto3,enum=istio.mesh.v1alpha1.ServiceEntryVisibility_Visibility" json:"visibility,omitempty"`
// The rules to evaluate. All rules must match (AND semantics) for this
// policy to apply.
- MatchingRules []*ServiceEntryPublishing_PublishMatchRule `protobuf:"bytes,2,rep,name=matching_rules,json=matchingRules,proto3" json:"matching_rules,omitempty"`
+ MatchingRules []*ServiceEntryVisibility_MatchRule `protobuf:"bytes,2,rep,name=matching_rules,json=matchingRules,proto3" json:"matching_rules,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
-func (x *ServiceEntryPublishing_PublishPolicy) Reset() {
- *x = ServiceEntryPublishing_PublishPolicy{}
+func (x *ServiceEntryVisibility_Policy) Reset() {
+ *x = ServiceEntryVisibility_Policy{}
mi := &file_mesh_v1alpha1_config_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
-func (x *ServiceEntryPublishing_PublishPolicy) String() string {
+func (x *ServiceEntryVisibility_Policy) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ServiceEntryPublishing_PublishPolicy) ProtoMessage() {}
+func (*ServiceEntryVisibility_Policy) ProtoMessage() {}
-func (x *ServiceEntryPublishing_PublishPolicy) ProtoReflect() protoreflect.Message {
+func (x *ServiceEntryVisibility_Policy) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_config_proto_msgTypes[48]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -5520,50 +5518,50 @@ func (x *ServiceEntryPublishing_PublishPolicy) ProtoReflect() protoreflect.Messa
return mi.MessageOf(x)
}
-// Deprecated: Use ServiceEntryPublishing_PublishPolicy.ProtoReflect.Descriptor instead.
-func (*ServiceEntryPublishing_PublishPolicy) Descriptor() ([]byte, []int) {
+// Deprecated: Use ServiceEntryVisibility_Policy.ProtoReflect.Descriptor instead.
+func (*ServiceEntryVisibility_Policy) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{3, 0}
}
-func (x *ServiceEntryPublishing_PublishPolicy) GetPublishScope() ServiceEntryPublishing_PublishScope {
+func (x *ServiceEntryVisibility_Policy) GetVisibility() ServiceEntryVisibility_Visibility {
if x != nil {
- return x.PublishScope
+ return x.Visibility
}
- return ServiceEntryPublishing_PUBLISH_SCOPE_UNSPECIFIED
+ return ServiceEntryVisibility_VISIBILITY_UNSPECIFIED
}
-func (x *ServiceEntryPublishing_PublishPolicy) GetMatchingRules() []*ServiceEntryPublishing_PublishMatchRule {
+func (x *ServiceEntryVisibility_Policy) GetMatchingRules() []*ServiceEntryVisibility_MatchRule {
if x != nil {
return x.MatchingRules
}
return nil
}
-// PublishMatchRule is a single matcher.
-type ServiceEntryPublishing_PublishMatchRule struct {
+// MatchRule is a single matcher.
+type ServiceEntryVisibility_MatchRule struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to Matcher:
//
- // *ServiceEntryPublishing_PublishMatchRule_NamespaceSelector
- Matcher isServiceEntryPublishing_PublishMatchRule_Matcher `protobuf_oneof:"matcher"`
+ // *ServiceEntryVisibility_MatchRule_NamespaceSelector
+ Matcher isServiceEntryVisibility_MatchRule_Matcher `protobuf_oneof:"matcher"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
-func (x *ServiceEntryPublishing_PublishMatchRule) Reset() {
- *x = ServiceEntryPublishing_PublishMatchRule{}
+func (x *ServiceEntryVisibility_MatchRule) Reset() {
+ *x = ServiceEntryVisibility_MatchRule{}
mi := &file_mesh_v1alpha1_config_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
-func (x *ServiceEntryPublishing_PublishMatchRule) String() string {
+func (x *ServiceEntryVisibility_MatchRule) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ServiceEntryPublishing_PublishMatchRule) ProtoMessage() {}
+func (*ServiceEntryVisibility_MatchRule) ProtoMessage() {}
-func (x *ServiceEntryPublishing_PublishMatchRule) ProtoReflect() protoreflect.Message {
+func (x *ServiceEntryVisibility_MatchRule) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_config_proto_msgTypes[49]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -5575,38 +5573,38 @@ func (x *ServiceEntryPublishing_PublishMatchRule) ProtoReflect() protoreflect.Me
return mi.MessageOf(x)
}
-// Deprecated: Use ServiceEntryPublishing_PublishMatchRule.ProtoReflect.Descriptor instead.
-func (*ServiceEntryPublishing_PublishMatchRule) Descriptor() ([]byte, []int) {
+// Deprecated: Use ServiceEntryVisibility_MatchRule.ProtoReflect.Descriptor instead.
+func (*ServiceEntryVisibility_MatchRule) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_config_proto_rawDescGZIP(), []int{3, 1}
}
-func (x *ServiceEntryPublishing_PublishMatchRule) GetMatcher() isServiceEntryPublishing_PublishMatchRule_Matcher {
+func (x *ServiceEntryVisibility_MatchRule) GetMatcher() isServiceEntryVisibility_MatchRule_Matcher {
if x != nil {
return x.Matcher
}
return nil
}
-func (x *ServiceEntryPublishing_PublishMatchRule) GetNamespaceSelector() *LabelSelector {
+func (x *ServiceEntryVisibility_MatchRule) GetNamespaceSelector() *LabelSelector {
if x != nil {
- if x, ok := x.Matcher.(*ServiceEntryPublishing_PublishMatchRule_NamespaceSelector); ok {
+ if x, ok := x.Matcher.(*ServiceEntryVisibility_MatchRule_NamespaceSelector); ok {
return x.NamespaceSelector
}
}
return nil
}
-type isServiceEntryPublishing_PublishMatchRule_Matcher interface {
- isServiceEntryPublishing_PublishMatchRule_Matcher()
+type isServiceEntryVisibility_MatchRule_Matcher interface {
+ isServiceEntryVisibility_MatchRule_Matcher()
}
-type ServiceEntryPublishing_PublishMatchRule_NamespaceSelector struct {
+type ServiceEntryVisibility_MatchRule_NamespaceSelector struct {
// Matches when the namespace the ServiceEntry is defined in matches this
// label selector.
NamespaceSelector *LabelSelector `protobuf:"bytes,1,opt,name=namespace_selector,json=namespaceSelector,proto3,oneof"`
}
-func (*ServiceEntryPublishing_PublishMatchRule_NamespaceSelector) isServiceEntryPublishing_PublishMatchRule_Matcher() {
+func (*ServiceEntryVisibility_MatchRule_NamespaceSelector) isServiceEntryVisibility_MatchRule_Matcher() {
}
var File_mesh_v1alpha1_config_proto protoreflect.FileDescriptor
@@ -5664,7 +5662,7 @@ const file_mesh_v1alpha1_config_proto_rawDesc = "" +
"\tmesh_mTLS\x18? \x01(\v2).istio.mesh.v1alpha1.MeshConfig.TLSConfigR\bmeshMTLS\x12L\n" +
"\ftls_defaults\x18@ \x01(\v2).istio.mesh.v1alpha1.MeshConfig.TLSConfigR\vtlsDefaults\x12j\n" +
"\x16default_traffic_policy\x18G \x01(\v24.istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicyR\x14defaultTrafficPolicy\x12e\n" +
- "\x18service_entry_publishing\x18H \x01(\v2+.istio.mesh.v1alpha1.ServiceEntryPublishingR\x16serviceEntryPublishing\x1a\x88\x02\n" +
+ "\x18service_entry_visibility\x18H \x01(\v2+.istio.mesh.v1alpha1.ServiceEntryVisibilityR\x16serviceEntryVisibility\x1a\x88\x02\n" +
"\x15OutboundTrafficPolicy\x12N\n" +
"\x04mode\x18\x01 \x01(\x0e2:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeR\x04mode\x12>\n" +
"\x03tls\x18\x02 \x01(\v2,.istio.networking.v1alpha3.ClientTLSSettingsR\x03tls\"_\n" +
@@ -5939,19 +5937,22 @@ const file_mesh_v1alpha1_config_proto_rawDesc = "" +
"\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\"\xb6\x05\n" +
- "\x16ServiceEntryPublishing\x12l\n" +
- "\x15default_publish_scope\x18\x01 \x01(\x0e28.istio.mesh.v1alpha1.ServiceEntryPublishing.PublishScopeR\x13defaultPublishScope\x12*\n" +
- "\x11apply_to_sidecars\x18\x02 \x01(\bR\x0fapplyToSidecars\x12U\n" +
- "\bpolicies\x18\x03 \x03(\v29.istio.mesh.v1alpha1.ServiceEntryPublishing.PublishPolicyR\bpolicies\x1a\xd3\x01\n" +
- "\rPublishPolicy\x12]\n" +
- "\rpublish_scope\x18\x01 \x01(\x0e28.istio.mesh.v1alpha1.ServiceEntryPublishing.PublishScopeR\fpublishScope\x12c\n" +
- "\x0ematching_rules\x18\x02 \x03(\v2<.istio.mesh.v1alpha1.ServiceEntryPublishing.PublishMatchRuleR\rmatchingRules\x1ar\n" +
- "\x10PublishMatchRule\x12S\n" +
+ "\x06values\x18\x03 \x03(\tR\x06values\"\x87\x05\n" +
+ "\x16ServiceEntryVisibility\x12e\n" +
+ "\x12default_visibility\x18\x01 \x01(\x0e26.istio.mesh.v1alpha1.ServiceEntryVisibility.VisibilityR\x11defaultVisibility\x12*\n" +
+ "\x11apply_to_sidecars\x18\x02 \x01(\bR\x0fapplyToSidecars\x12N\n" +
+ "\bpolicies\x18\x03 \x03(\v22.istio.mesh.v1alpha1.ServiceEntryVisibility.PolicyR\bpolicies\x1a\xbe\x01\n" +
+ "\x06Policy\x12V\n" +
+ "\n" +
+ "visibility\x18\x01 \x01(\x0e26.istio.mesh.v1alpha1.ServiceEntryVisibility.VisibilityR\n" +
+ "visibility\x12\\\n" +
+ "\x0ematching_rules\x18\x02 \x03(\v25.istio.mesh.v1alpha1.ServiceEntryVisibility.MatchRuleR\rmatchingRules\x1ak\n" +
+ "\tMatchRule\x12S\n" +
"\x12namespace_selector\x18\x01 \x01(\v2\".istio.mesh.v1alpha1.LabelSelectorH\x00R\x11namespaceSelectorB\t\n" +
- "\amatcher\"a\n" +
- "\fPublishScope\x12\x1d\n" +
- "\x19PUBLISH_SCOPE_UNSPECIFIED\x10\x00\x12\n" +
+ "\amatcher\"\\\n" +
+ "\n" +
+ "Visibility\x12\x1a\n" +
+ "\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\n" +
"\n" +
"\x06UNUSED\x10\x01\x12\x13\n" +
"\x0fNAMESPACE_LOCAL\x10\x02\x12\x11\n" +
@@ -5995,11 +5996,11 @@ var file_mesh_v1alpha1_config_proto_goTypes = []any{
(MeshConfig_ExtensionProvider_OpenCensusAgentTracingProvider_TraceContext)(0), // 10: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenCensusAgentTracingProvider.TraceContext
(MeshConfig_ProxyPathNormalization_NormalizationType)(0), // 11: istio.mesh.v1alpha1.MeshConfig.ProxyPathNormalization.NormalizationType
(MeshConfig_TLSConfig_TLSProtocol)(0), // 12: istio.mesh.v1alpha1.MeshConfig.TLSConfig.TLSProtocol
- (ServiceEntryPublishing_PublishScope)(0), // 13: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishScope
+ (ServiceEntryVisibility_Visibility)(0), // 13: istio.mesh.v1alpha1.ServiceEntryVisibility.Visibility
(*MeshConfig)(nil), // 14: istio.mesh.v1alpha1.MeshConfig
(*LabelSelector)(nil), // 15: istio.mesh.v1alpha1.LabelSelector
(*LabelSelectorRequirement)(nil), // 16: istio.mesh.v1alpha1.LabelSelectorRequirement
- (*ServiceEntryPublishing)(nil), // 17: istio.mesh.v1alpha1.ServiceEntryPublishing
+ (*ServiceEntryVisibility)(nil), // 17: istio.mesh.v1alpha1.ServiceEntryVisibility
(*ConfigSource)(nil), // 18: istio.mesh.v1alpha1.ConfigSource
(*Certificate)(nil), // 19: istio.mesh.v1alpha1.Certificate
(*MeshConfig_OutboundTrafficPolicy)(nil), // 20: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy
@@ -6043,20 +6044,20 @@ var file_mesh_v1alpha1_config_proto_goTypes = []any{
(*MeshConfig_ExtensionProvider_OpenTelemetryTracingProvider_DynatraceSampler_DynatraceApi)(nil), // 58: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi
(*MeshConfig_ExtensionProvider_ResourceDetectors_EnvironmentResourceDetector)(nil), // 59: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.EnvironmentResourceDetector
(*MeshConfig_ExtensionProvider_ResourceDetectors_DynatraceResourceDetector)(nil), // 60: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.ResourceDetectors.DynatraceResourceDetector
- nil, // 61: istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntry
- (*ServiceEntryPublishing_PublishPolicy)(nil), // 62: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishPolicy
- (*ServiceEntryPublishing_PublishMatchRule)(nil), // 63: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishMatchRule
- (*duration.Duration)(nil), // 64: google.protobuf.Duration
+ nil, // 61: istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntry
+ (*ServiceEntryVisibility_Policy)(nil), // 62: istio.mesh.v1alpha1.ServiceEntryVisibility.Policy
+ (*ServiceEntryVisibility_MatchRule)(nil), // 63: istio.mesh.v1alpha1.ServiceEntryVisibility.MatchRule
+ (*duration.Duration)(nil), // 64: google.protobuf.Duration
(*v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 65: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
- (*ProxyConfig)(nil), // 66: istio.mesh.v1alpha1.ProxyConfig
- (*wrappers.BoolValue)(nil), // 67: google.protobuf.BoolValue
- (*v1alpha3.LocalityLoadBalancerSetting)(nil), // 68: istio.networking.v1alpha3.LocalityLoadBalancerSetting
- (*v1alpha3.HTTPRetry)(nil), // 69: istio.networking.v1alpha3.HTTPRetry
- (*v1alpha3.ClientTLSSettings)(nil), // 70: istio.networking.v1alpha3.ClientTLSSettings
- (*v1alpha3.ConnectionPoolSettings)(nil), // 71: istio.networking.v1alpha3.ConnectionPoolSettings
- (*v1alpha3.OutlierDetection)(nil), // 72: istio.networking.v1alpha3.OutlierDetection
- (*wrappers.Int64Value)(nil), // 73: google.protobuf.Int64Value
- (*_struct.Struct)(nil), // 74: google.protobuf.Struct
+ (*ProxyConfig)(nil), // 66: istio.mesh.v1alpha1.ProxyConfig
+ (*wrappers.BoolValue)(nil), // 67: google.protobuf.BoolValue
+ (*v1alpha3.LocalityLoadBalancerSetting)(nil), // 68: istio.networking.v1alpha3.LocalityLoadBalancerSetting
+ (*v1alpha3.HTTPRetry)(nil), // 69: istio.networking.v1alpha3.HTTPRetry
+ (*v1alpha3.ClientTLSSettings)(nil), // 70: istio.networking.v1alpha3.ClientTLSSettings
+ (*v1alpha3.ConnectionPoolSettings)(nil), // 71: istio.networking.v1alpha3.ConnectionPoolSettings
+ (*v1alpha3.OutlierDetection)(nil), // 72: istio.networking.v1alpha3.OutlierDetection
+ (*wrappers.Int64Value)(nil), // 73: google.protobuf.Int64Value
+ (*_struct.Struct)(nil), // 74: google.protobuf.Struct
}
var file_mesh_v1alpha1_config_proto_depIdxs = []int32{
64, // 0: istio.mesh.v1alpha1.MeshConfig.connect_timeout:type_name -> google.protobuf.Duration
@@ -6088,11 +6089,11 @@ var file_mesh_v1alpha1_config_proto_depIdxs = []int32{
29, // 26: istio.mesh.v1alpha1.MeshConfig.mesh_mTLS:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig
29, // 27: istio.mesh.v1alpha1.MeshConfig.tls_defaults:type_name -> istio.mesh.v1alpha1.MeshConfig.TLSConfig
30, // 28: istio.mesh.v1alpha1.MeshConfig.default_traffic_policy:type_name -> istio.mesh.v1alpha1.MeshConfig.DefaultTrafficPolicy
- 17, // 29: istio.mesh.v1alpha1.MeshConfig.service_entry_publishing:type_name -> istio.mesh.v1alpha1.ServiceEntryPublishing
+ 17, // 29: istio.mesh.v1alpha1.MeshConfig.service_entry_visibility:type_name -> istio.mesh.v1alpha1.ServiceEntryVisibility
61, // 30: istio.mesh.v1alpha1.LabelSelector.matchLabels:type_name -> istio.mesh.v1alpha1.LabelSelector.MatchLabelsEntry
16, // 31: istio.mesh.v1alpha1.LabelSelector.matchExpressions:type_name -> istio.mesh.v1alpha1.LabelSelectorRequirement
- 13, // 32: istio.mesh.v1alpha1.ServiceEntryPublishing.default_publish_scope:type_name -> istio.mesh.v1alpha1.ServiceEntryPublishing.PublishScope
- 62, // 33: istio.mesh.v1alpha1.ServiceEntryPublishing.policies:type_name -> istio.mesh.v1alpha1.ServiceEntryPublishing.PublishPolicy
+ 13, // 32: istio.mesh.v1alpha1.ServiceEntryVisibility.default_visibility:type_name -> istio.mesh.v1alpha1.ServiceEntryVisibility.Visibility
+ 62, // 33: istio.mesh.v1alpha1.ServiceEntryVisibility.policies:type_name -> istio.mesh.v1alpha1.ServiceEntryVisibility.Policy
70, // 34: istio.mesh.v1alpha1.ConfigSource.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings
0, // 35: istio.mesh.v1alpha1.ConfigSource.subscribed_resources:type_name -> istio.mesh.v1alpha1.Resource
5, // 36: istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.mode:type_name -> istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode
@@ -6154,9 +6155,9 @@ var file_mesh_v1alpha1_config_proto_depIdxs = []int32{
74, // 92: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.EnvoyOpenTelemetryLogProvider.LogFormat.labels:type_name -> google.protobuf.Struct
58, // 93: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.http_service:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi
48, // 94: istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.OpenTelemetryTracingProvider.DynatraceSampler.DynatraceApi.http:type_name -> istio.mesh.v1alpha1.MeshConfig.ExtensionProvider.HttpService
- 13, // 95: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishPolicy.publish_scope:type_name -> istio.mesh.v1alpha1.ServiceEntryPublishing.PublishScope
- 63, // 96: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishPolicy.matching_rules:type_name -> istio.mesh.v1alpha1.ServiceEntryPublishing.PublishMatchRule
- 15, // 97: istio.mesh.v1alpha1.ServiceEntryPublishing.PublishMatchRule.namespace_selector:type_name -> istio.mesh.v1alpha1.LabelSelector
+ 13, // 95: istio.mesh.v1alpha1.ServiceEntryVisibility.Policy.visibility:type_name -> istio.mesh.v1alpha1.ServiceEntryVisibility.Visibility
+ 63, // 96: istio.mesh.v1alpha1.ServiceEntryVisibility.Policy.matching_rules:type_name -> istio.mesh.v1alpha1.ServiceEntryVisibility.MatchRule
+ 15, // 97: istio.mesh.v1alpha1.ServiceEntryVisibility.MatchRule.namespace_selector:type_name -> istio.mesh.v1alpha1.LabelSelector
98, // [98:98] is the sub-list for method output_type
98, // [98:98] is the sub-list for method input_type
98, // [98:98] is the sub-list for extension type_name
@@ -6203,7 +6204,7 @@ func file_mesh_v1alpha1_config_proto_init() {
(*MeshConfig_ExtensionProvider_EnvoyFileAccessLogProvider_LogFormat_Labels)(nil),
}
file_mesh_v1alpha1_config_proto_msgTypes[49].OneofWrappers = []any{
- (*ServiceEntryPublishing_PublishMatchRule_NamespaceSelector)(nil),
+ (*ServiceEntryVisibility_MatchRule_NamespaceSelector)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto
index 87cad0c968..79de8ecdd8 100755
--- a/mesh/v1alpha1/config.proto
+++ b/mesh/v1alpha1/config.proto
@@ -1653,12 +1653,11 @@ message MeshConfig {
// baseline, and unset blocks fall back to Istio's built-in defaults.
DefaultTrafficPolicy default_traffic_policy = 71;
- // ServiceEntryPublishing lets a mesh administrator control the visibility
- // ("publish scope") of ServiceEntry resources mesh-wide, without relying on
- // external admission validation. When unset, ServiceEntry behaves as it does
- // today (published cluster-wide; ambient ignores `exportTo`). See the
- // ServiceEntryPublishing message for details.
- ServiceEntryPublishing service_entry_publishing = 72;
+ // ServiceEntryVisibility lets a mesh administrator control the visibility
+ // of ServiceEntry resources mesh-wide, without relying on external admission
+ // validation. When unset, ServiceEntry behaves as it does today (visible
+ // cluster-wide; ambient ignores `exportTo`).
+ ServiceEntryVisibility service_entry_visibility = 72;
// $hide_from_docs
// Next available field number: 73
@@ -1750,19 +1749,19 @@ message LabelSelectorRequirement {
repeated string values = 3;
}
-// ServiceEntryPublishing controls the visibility of ServiceEntry resources
-// across the mesh, giving a mesh administrator a way to scope ServiceEntry
-// without relying on external (VAP/CEL/OPA) admission validation.
+// ServiceEntryVisibility controls the visibility of ServiceEntry resources
+// across the mesh, giving a mesh administrator a way to constrain ServiceEntry
+// visibility without relying on external (VAP/CEL/OPA) admission validation.
//
// Policies are evaluated in order; the first policy whose rules all match sets
-// the ServiceEntry's publish scope. If no policy matches, `defaultPublishScope`
+// the ServiceEntry's visibility. If no policy matches, `defaultVisibility`
// applies. When this entire message is absent from `MeshConfig`, every
-// ServiceEntry is published `CLUSTER_LOCAL`, preserving current Istio behavior.
-message ServiceEntryPublishing {
- // PublishScope defines how widely a matching ServiceEntry is published.
- enum PublishScope {
+// ServiceEntry is visible `CLUSTER_LOCAL`, preserving current Istio behavior.
+message ServiceEntryVisibility {
+ // Visibility defines how widely a matching ServiceEntry is visible.
+ enum Visibility {
// Default. Resolves to `CLUSTER_LOCAL` to preserve legacy behavior.
- PUBLISH_SCOPE_UNSPECIFIED = 0;
+ VISIBILITY_UNSPECIFIED = 0;
// The ServiceEntry may be written, but Istio configures no dataplane for
// it. Useful to expressly forbid a class of ServiceEntry.
@@ -1775,33 +1774,32 @@ message ServiceEntryPublishing {
CLUSTER_LOCAL = 3;
}
- // The publish scope used when no policy matches a ServiceEntry. If left
- // `PUBLISH_SCOPE_UNSPECIFIED`, it resolves to `CLUSTER_LOCAL`.
- PublishScope default_publish_scope = 1;
+ // The visibility used when no policy matches a ServiceEntry. If left
+ // `VISIBILITY_UNSPECIFIED`, it resolves to `CLUSTER_LOCAL`.
+ Visibility default_visibility = 1;
- // Whether sidecars honor these publish semantics. When false (default), only
- // ambient proxies (ztunnel and waypoints) apply them and sidecars continue
- // to use `exportTo`. This enables incremental adoption during an ambient
- // migration without affecting a working sidecar environment.
+ // Whether sidecars honor these visibility semantics. When false (default),
+ // only ambient proxies (ztunnel and waypoints) apply them and sidecars
+ // continue to use `exportTo`. This enables incremental adoption during an
+ // ambient migration without affecting a working sidecar environment.
bool apply_to_sidecars = 2;
// An ordered list of policies. Each policy is evaluated in turn; the first
- // policy whose rules all match determines the ServiceEntry's publish scope.
- repeated PublishPolicy policies = 3;
+ // policy whose rules all match determines the ServiceEntry's visibility.
+ repeated Policy policies = 3;
- // PublishPolicy assigns a publish scope to ServiceEntries that match all of
- // its rules.
- message PublishPolicy {
- // The scope applied to a ServiceEntry when all `matchingRules` match.
- PublishScope publish_scope = 1;
+ // Policy assigns a visibility to ServiceEntries that match all of its rules.
+ message Policy {
+ // The visibility applied to a ServiceEntry when all `matchingRules` match.
+ Visibility visibility = 1;
// The rules to evaluate. All rules must match (AND semantics) for this
// policy to apply.
- repeated PublishMatchRule matching_rules = 2;
+ repeated MatchRule matching_rules = 2;
}
- // PublishMatchRule is a single matcher.
- message PublishMatchRule {
+ // MatchRule is a single matcher.
+ message MatchRule {
oneof matcher {
// Matches when the namespace the ServiceEntry is defined in matches this
// label selector.
diff --git a/mesh/v1alpha1/config_json.gen.go b/mesh/v1alpha1/config_json.gen.go
index b3b29b8bd2..8aa51002c5 100644
--- a/mesh/v1alpha1/config_json.gen.go
+++ b/mesh/v1alpha1/config_json.gen.go
@@ -468,36 +468,36 @@ func (this *LabelSelectorRequirement) UnmarshalJSON(b []byte) error {
return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}
-// MarshalJSON is a custom marshaler for ServiceEntryPublishing
-func (this *ServiceEntryPublishing) MarshalJSON() ([]byte, error) {
+// MarshalJSON is a custom marshaler for ServiceEntryVisibility
+func (this *ServiceEntryVisibility) MarshalJSON() ([]byte, error) {
str, err := ConfigMarshaler.MarshalToString(this)
return []byte(str), err
}
-// UnmarshalJSON is a custom unmarshaler for ServiceEntryPublishing
-func (this *ServiceEntryPublishing) UnmarshalJSON(b []byte) error {
+// UnmarshalJSON is a custom unmarshaler for ServiceEntryVisibility
+func (this *ServiceEntryVisibility) UnmarshalJSON(b []byte) error {
return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}
-// MarshalJSON is a custom marshaler for ServiceEntryPublishing_PublishPolicy
-func (this *ServiceEntryPublishing_PublishPolicy) MarshalJSON() ([]byte, error) {
+// MarshalJSON is a custom marshaler for ServiceEntryVisibility_Policy
+func (this *ServiceEntryVisibility_Policy) MarshalJSON() ([]byte, error) {
str, err := ConfigMarshaler.MarshalToString(this)
return []byte(str), err
}
-// UnmarshalJSON is a custom unmarshaler for ServiceEntryPublishing_PublishPolicy
-func (this *ServiceEntryPublishing_PublishPolicy) UnmarshalJSON(b []byte) error {
+// UnmarshalJSON is a custom unmarshaler for ServiceEntryVisibility_Policy
+func (this *ServiceEntryVisibility_Policy) UnmarshalJSON(b []byte) error {
return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}
-// MarshalJSON is a custom marshaler for ServiceEntryPublishing_PublishMatchRule
-func (this *ServiceEntryPublishing_PublishMatchRule) MarshalJSON() ([]byte, error) {
+// MarshalJSON is a custom marshaler for ServiceEntryVisibility_MatchRule
+func (this *ServiceEntryVisibility_MatchRule) MarshalJSON() ([]byte, error) {
str, err := ConfigMarshaler.MarshalToString(this)
return []byte(str), err
}
-// UnmarshalJSON is a custom unmarshaler for ServiceEntryPublishing_PublishMatchRule
-func (this *ServiceEntryPublishing_PublishMatchRule) UnmarshalJSON(b []byte) error {
+// UnmarshalJSON is a custom unmarshaler for ServiceEntryVisibility_MatchRule
+func (this *ServiceEntryVisibility_MatchRule) UnmarshalJSON(b []byte) error {
return ConfigUnmarshaler.Unmarshal(bytes.NewReader(b), this)
}
diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
index c49395419b..5c88f2e589 100644
--- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
+++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
@@ -600,16 +600,15 @@ MeshConfig
-
-
-
+
+ |
- ServiceEntryPublishing lets a mesh administrator control the visibility
-(“publish scope”) of ServiceEntry resources mesh-wide, without relying on
-external admission validation. When unset, ServiceEntry behaves as it does
-today (published cluster-wide; ambient ignores exportTo). See the
-ServiceEntryPublishing message for details.
+ServiceEntryVisibility lets a mesh administrator control the visibility
+of ServiceEntry resources mesh-wide, without relying on external admission
+validation. When unset, ServiceEntry behaves as it does today (visible
+cluster-wide; ambient ignores exportTo).
|
@@ -3313,15 +3312,15 @@ LabelSelectorRequirement
|
-ServiceEntryPublishing
+ServiceEntryVisibility
-ServiceEntryPublishing controls the visibility of ServiceEntry resources
-across the mesh, giving a mesh administrator a way to scope ServiceEntry
-without relying on external (VAP/CEL/OPA) admission validation.
+ServiceEntryVisibility controls the visibility of ServiceEntry resources
+across the mesh, giving a mesh administrator a way to constrain ServiceEntry
+visibility without relying on external (VAP/CEL/OPA) admission validation.
Policies are evaluated in order; the first policy whose rules all match sets
-the ServiceEntry’s publish scope. If no policy matches, defaultPublishScope
+the ServiceEntry’s visibility. If no policy matches, defaultVisibility
applies. When this entire message is absent from MeshConfig, every
-ServiceEntry is published CLUSTER_LOCAL, preserving current Istio behavior.
+ServiceEntry is visible CLUSTER_LOCAL, preserving current Istio behavior.
@@ -3331,45 +3330,44 @@ ServiceEntryPublishing
-
-
-
+
+ |
- The publish scope used when no policy matches a ServiceEntry. If left
-PUBLISH_SCOPE_UNSPECIFIED, it resolves to CLUSTER_LOCAL.
+The visibility used when no policy matches a ServiceEntry. If left
+VISIBILITY_UNSPECIFIED, it resolves to CLUSTER_LOCAL.
|
-
-
+
+ |
- Whether sidecars honor these publish semantics. When false (default), only
-ambient proxies (ztunnel and waypoints) apply them and sidecars continue
-to use exportTo. This enables incremental adoption during an ambient
-migration without affecting a working sidecar environment.
+Whether sidecars honor these visibility semantics. When false (default),
+only ambient proxies (ztunnel and waypoints) apply them and sidecars
+continue to use exportTo. This enables incremental adoption during an
+ambient migration without affecting a working sidecar environment.
|
-
-
-
+
+ |
An ordered list of policies. Each policy is evaluated in turn; the first
-policy whose rules all match determines the ServiceEntry’s publish scope.
+policy whose rules all match determines the ServiceEntry’s visibility.
|
| | |
-PublishPolicy
+Policy
-PublishPolicy assigns a publish scope to ServiceEntries that match all of
-its rules.
+Policy assigns a visibility to ServiceEntries that match all of its rules.
@@ -3379,18 +3377,18 @@ PublishPolicy
-
-
-
+
+ |
- The scope applied to a ServiceEntry when all matchingRules match.
+The visibility applied to a ServiceEntry when all matchingRules match.
|
-
-
-
+
+ |
The rules to evaluate. All rules must match (AND semantics) for this
@@ -3401,9 +3399,9 @@ PublishPolicy
| | |
-PublishMatchRule
+MatchRule
-PublishMatchRule is a single matcher.
+MatchRule is a single matcher.
@@ -3413,8 +3411,8 @@ PublishMatchRule
-
-
+
+ |
@@ -3426,9 +3424,9 @@ PublishMatchRule
| |
-PublishScope
+Visibility
-PublishScope defines how widely a matching ServiceEntry is published.
+Visibility defines how widely a matching ServiceEntry is visible.