diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go
index f3a0c3eb12..be14e91672 100644
--- a/mesh/v1alpha1/config.pb.go
+++ b/mesh/v1alpha1/config.pb.go
@@ -6,7 +6,7 @@
It is generated from these files:
mesh/v1alpha1/config.proto
- mesh/v1alpha1/mesh.proto
+ mesh/v1alpha1/network.proto
mesh/v1alpha1/proxy.proto
It has these top-level messages:
diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
index 392830e414..4ac382f0bc 100644
--- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
+++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
@@ -4,7 +4,7 @@
generator: protoc-gen-docs
aliases:
- /docs/reference/config/service-mesh.html
-number_of_entries: 10
+number_of_entries: 11
---
AuthenticationPolicy
@@ -285,13 +285,13 @@ Network
-
-registries |
-string[] |
+
+endpoints |
+Network.NetworkEndpoints[] |
- One or more service registries that are in this network. Endpoints
-from these registries will be directly reachable to one another.
-The names of the registries should correspond to the data sources.
+The list of endpoints in the network (obtained through the constituent
+service registries or from CIDR ranges). All endpoints in the network
+are directly accessible to one another.
|
@@ -355,6 +355,63 @@ Network.IstioNetworkGateway
The locality associated with an explicitly specified gateway (i.e. ip)
+ |
+
+
+
+
+Network.NetworkEndpoints
+
+NetworkEndpoints describes how the network associated with an endpoint
+should be inferred. An endpoint will be assigned to a network based on
+the following rules:
+
+
+Implicitly: If the registry explicitly provides information about
+the network to which the endpoint belongs to. In some cases, its
+possible to indicate the network associated with the endpoint by
+adding ISTIOMETANETWORK environment variable to the sidecar.
+
+Explicitly:
+
+
+a. By matching the registry name with one of the “fromregistries”
+ in the mesh config. A “fromregistry” can only be assinged to a
+ single network.
+
+b. By matching the IP against one of the CIDR ranges in a mesh
+ config network. The CIDR ranges must not overlap and be assigned to
+ a single network.
+
+(2) will override (1) if both are present.
+
+
+
+
+| Field |
+Type |
+Description |
+
+
+
+
+fromCidr |
+string (oneof) |
+
+ A CIDR range for the set of endpoints in this network. The CIDR
+ranges for endpoints from different networks must not overlap.
+
+ |
+
+
+fromRegistry |
+string (oneof) |
+
+ Add all endpoints from the specified registry into this network.
+The names of the registries should correspond to the secret name
+that was used to configure the registry (kubernetes multicluster) or
+supplied by MCP server.
+
|
diff --git a/mesh/v1alpha1/mesh.pb.go b/mesh/v1alpha1/network.pb.go
similarity index 53%
rename from mesh/v1alpha1/mesh.pb.go
rename to mesh/v1alpha1/network.pb.go
index 8bc20cf406..9ac144c577 100644
--- a/mesh/v1alpha1/mesh.pb.go
+++ b/mesh/v1alpha1/network.pb.go
@@ -1,5 +1,5 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: mesh/v1alpha1/mesh.proto
+// source: mesh/v1alpha1/network.proto
package v1alpha1
@@ -22,17 +22,17 @@ var _ = math.Inf
type Network struct {
// A unique name assigned to the network.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // One or more service registries that are in this network. Endpoints
- // from these registries will be directly reachable to one another.
- // The names of the registries should correspond to the data sources.
- Registries []string `protobuf:"bytes,2,rep,name=registries" json:"registries,omitempty"`
- Gateways []*Network_IstioNetworkGateway `protobuf:"bytes,3,rep,name=gateways" json:"gateways,omitempty"`
+ // The list of endpoints in the network (obtained through the constituent
+ // service registries or from CIDR ranges). All endpoints in the network
+ // are directly accessible to one another.
+ Endpoints []*Network_NetworkEndpoints `protobuf:"bytes,2,rep,name=endpoints" json:"endpoints,omitempty"`
+ Gateways []*Network_IstioNetworkGateway `protobuf:"bytes,3,rep,name=gateways" json:"gateways,omitempty"`
}
func (m *Network) Reset() { *m = Network{} }
func (m *Network) String() string { return proto.CompactTextString(m) }
func (*Network) ProtoMessage() {}
-func (*Network) Descriptor() ([]byte, []int) { return fileDescriptorMesh, []int{0} }
+func (*Network) Descriptor() ([]byte, []int) { return fileDescriptorNetwork, []int{0} }
func (m *Network) GetName() string {
if m != nil {
@@ -41,9 +41,9 @@ func (m *Network) GetName() string {
return ""
}
-func (m *Network) GetRegistries() []string {
+func (m *Network) GetEndpoints() []*Network_NetworkEndpoints {
if m != nil {
- return m.Registries
+ return m.Endpoints
}
return nil
}
@@ -55,6 +55,143 @@ func (m *Network) GetGateways() []*Network_IstioNetworkGateway {
return nil
}
+// NetworkEndpoints describes how the network associated with an endpoint
+// should be inferred. An endpoint will be assigned to a network based on
+// the following rules:
+//
+// 1. Implicitly: If the registry explicitly provides information about
+// the network to which the endpoint belongs to. In some cases, its
+// possible to indicate the network associated with the endpoint by
+// adding ISTIO_META_NETWORK environment variable to the sidecar.
+//
+// 2. Explicitly:
+//
+// a. By matching the registry name with one of the "from_registries"
+// in the mesh config. A "from_registry" can only be assinged to a
+// single network.
+//
+// b. By matching the IP against one of the CIDR ranges in a mesh
+// config network. The CIDR ranges must not overlap and be assigned to
+// a single network.
+//
+// (2) will override (1) if both are present.
+type Network_NetworkEndpoints struct {
+ // Types that are valid to be assigned to Ne:
+ // *Network_NetworkEndpoints_FromCidr
+ // *Network_NetworkEndpoints_FromRegistry
+ Ne isNetwork_NetworkEndpoints_Ne `protobuf_oneof:"ne"`
+}
+
+func (m *Network_NetworkEndpoints) Reset() { *m = Network_NetworkEndpoints{} }
+func (m *Network_NetworkEndpoints) String() string { return proto.CompactTextString(m) }
+func (*Network_NetworkEndpoints) ProtoMessage() {}
+func (*Network_NetworkEndpoints) Descriptor() ([]byte, []int) {
+ return fileDescriptorNetwork, []int{0, 0}
+}
+
+type isNetwork_NetworkEndpoints_Ne interface {
+ isNetwork_NetworkEndpoints_Ne()
+ MarshalTo([]byte) (int, error)
+ Size() int
+}
+
+type Network_NetworkEndpoints_FromCidr struct {
+ FromCidr string `protobuf:"bytes,1,opt,name=from_cidr,json=fromCidr,proto3,oneof"`
+}
+type Network_NetworkEndpoints_FromRegistry struct {
+ FromRegistry string `protobuf:"bytes,2,opt,name=from_registry,json=fromRegistry,proto3,oneof"`
+}
+
+func (*Network_NetworkEndpoints_FromCidr) isNetwork_NetworkEndpoints_Ne() {}
+func (*Network_NetworkEndpoints_FromRegistry) isNetwork_NetworkEndpoints_Ne() {}
+
+func (m *Network_NetworkEndpoints) GetNe() isNetwork_NetworkEndpoints_Ne {
+ if m != nil {
+ return m.Ne
+ }
+ return nil
+}
+
+func (m *Network_NetworkEndpoints) GetFromCidr() string {
+ if x, ok := m.GetNe().(*Network_NetworkEndpoints_FromCidr); ok {
+ return x.FromCidr
+ }
+ return ""
+}
+
+func (m *Network_NetworkEndpoints) GetFromRegistry() string {
+ if x, ok := m.GetNe().(*Network_NetworkEndpoints_FromRegistry); ok {
+ return x.FromRegistry
+ }
+ return ""
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*Network_NetworkEndpoints) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+ return _Network_NetworkEndpoints_OneofMarshaler, _Network_NetworkEndpoints_OneofUnmarshaler, _Network_NetworkEndpoints_OneofSizer, []interface{}{
+ (*Network_NetworkEndpoints_FromCidr)(nil),
+ (*Network_NetworkEndpoints_FromRegistry)(nil),
+ }
+}
+
+func _Network_NetworkEndpoints_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+ m := msg.(*Network_NetworkEndpoints)
+ // ne
+ switch x := m.Ne.(type) {
+ case *Network_NetworkEndpoints_FromCidr:
+ _ = b.EncodeVarint(1<<3 | proto.WireBytes)
+ _ = b.EncodeStringBytes(x.FromCidr)
+ case *Network_NetworkEndpoints_FromRegistry:
+ _ = b.EncodeVarint(2<<3 | proto.WireBytes)
+ _ = b.EncodeStringBytes(x.FromRegistry)
+ case nil:
+ default:
+ return fmt.Errorf("Network_NetworkEndpoints.Ne has unexpected type %T", x)
+ }
+ return nil
+}
+
+func _Network_NetworkEndpoints_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+ m := msg.(*Network_NetworkEndpoints)
+ switch tag {
+ case 1: // ne.from_cidr
+ if wire != proto.WireBytes {
+ return true, proto.ErrInternalBadWireType
+ }
+ x, err := b.DecodeStringBytes()
+ m.Ne = &Network_NetworkEndpoints_FromCidr{x}
+ return true, err
+ case 2: // ne.from_registry
+ if wire != proto.WireBytes {
+ return true, proto.ErrInternalBadWireType
+ }
+ x, err := b.DecodeStringBytes()
+ m.Ne = &Network_NetworkEndpoints_FromRegistry{x}
+ return true, err
+ default:
+ return false, nil
+ }
+}
+
+func _Network_NetworkEndpoints_OneofSizer(msg proto.Message) (n int) {
+ m := msg.(*Network_NetworkEndpoints)
+ // ne
+ switch x := m.Ne.(type) {
+ case *Network_NetworkEndpoints_FromCidr:
+ n += proto.SizeVarint(1<<3 | proto.WireBytes)
+ n += proto.SizeVarint(uint64(len(x.FromCidr)))
+ n += len(x.FromCidr)
+ case *Network_NetworkEndpoints_FromRegistry:
+ n += proto.SizeVarint(2<<3 | proto.WireBytes)
+ n += proto.SizeVarint(uint64(len(x.FromRegistry)))
+ n += len(x.FromRegistry)
+ case nil:
+ default:
+ panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+ }
+ return n
+}
+
// The gateway associated with this network. Traffic from remote networks
// will arrive at the specified gateway:port. All incoming traffic must
// use mTLS.
@@ -73,7 +210,7 @@ func (m *Network_IstioNetworkGateway) Reset() { *m = Network_IstioNetwor
func (m *Network_IstioNetworkGateway) String() string { return proto.CompactTextString(m) }
func (*Network_IstioNetworkGateway) ProtoMessage() {}
func (*Network_IstioNetworkGateway) Descriptor() ([]byte, []int) {
- return fileDescriptorMesh, []int{0, 0}
+ return fileDescriptorNetwork, []int{0, 1}
}
type isNetwork_IstioNetworkGateway_Gw interface {
@@ -195,6 +332,7 @@ func _Network_IstioNetworkGateway_OneofSizer(msg proto.Message) (n int) {
func init() {
proto.RegisterType((*Network)(nil), "istio.mesh.v1alpha1.Network")
+ proto.RegisterType((*Network_NetworkEndpoints)(nil), "istio.mesh.v1alpha1.Network.NetworkEndpoints")
proto.RegisterType((*Network_IstioNetworkGateway)(nil), "istio.mesh.v1alpha1.Network.IstioNetworkGateway")
}
func (m *Network) Marshal() (dAtA []byte, err error) {
@@ -215,29 +353,26 @@ func (m *Network) MarshalTo(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
dAtA[i] = 0xa
i++
- i = encodeVarintMesh(dAtA, i, uint64(len(m.Name)))
+ i = encodeVarintNetwork(dAtA, i, uint64(len(m.Name)))
i += copy(dAtA[i:], m.Name)
}
- if len(m.Registries) > 0 {
- for _, s := range m.Registries {
+ if len(m.Endpoints) > 0 {
+ for _, msg := range m.Endpoints {
dAtA[i] = 0x12
i++
- l = len(s)
- for l >= 1<<7 {
- dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
- l >>= 7
- i++
+ i = encodeVarintNetwork(dAtA, i, uint64(msg.Size()))
+ n, err := msg.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
}
- dAtA[i] = uint8(l)
- i++
- i += copy(dAtA[i:], s)
+ i += n
}
}
if len(m.Gateways) > 0 {
for _, msg := range m.Gateways {
dAtA[i] = 0x1a
i++
- i = encodeVarintMesh(dAtA, i, uint64(msg.Size()))
+ i = encodeVarintNetwork(dAtA, i, uint64(msg.Size()))
n, err := msg.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -248,6 +383,47 @@ func (m *Network) MarshalTo(dAtA []byte) (int, error) {
return i, nil
}
+func (m *Network_NetworkEndpoints) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *Network_NetworkEndpoints) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if m.Ne != nil {
+ nn1, err := m.Ne.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
+ }
+ i += nn1
+ }
+ return i, nil
+}
+
+func (m *Network_NetworkEndpoints_FromCidr) MarshalTo(dAtA []byte) (int, error) {
+ i := 0
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintNetwork(dAtA, i, uint64(len(m.FromCidr)))
+ i += copy(dAtA[i:], m.FromCidr)
+ return i, nil
+}
+func (m *Network_NetworkEndpoints_FromRegistry) MarshalTo(dAtA []byte) (int, error) {
+ i := 0
+ dAtA[i] = 0x12
+ i++
+ i = encodeVarintNetwork(dAtA, i, uint64(len(m.FromRegistry)))
+ i += copy(dAtA[i:], m.FromRegistry)
+ return i, nil
+}
func (m *Network_IstioNetworkGateway) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -264,21 +440,21 @@ func (m *Network_IstioNetworkGateway) MarshalTo(dAtA []byte) (int, error) {
var l int
_ = l
if m.Gw != nil {
- nn1, err := m.Gw.MarshalTo(dAtA[i:])
+ nn2, err := m.Gw.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += nn1
+ i += nn2
}
if m.Port != 0 {
dAtA[i] = 0x18
i++
- i = encodeVarintMesh(dAtA, i, uint64(m.Port))
+ i = encodeVarintNetwork(dAtA, i, uint64(m.Port))
}
if len(m.Locality) > 0 {
dAtA[i] = 0x22
i++
- i = encodeVarintMesh(dAtA, i, uint64(len(m.Locality)))
+ i = encodeVarintNetwork(dAtA, i, uint64(len(m.Locality)))
i += copy(dAtA[i:], m.Locality)
}
return i, nil
@@ -288,7 +464,7 @@ func (m *Network_IstioNetworkGateway_RegistryServiceName) MarshalTo(dAtA []byte)
i := 0
dAtA[i] = 0xa
i++
- i = encodeVarintMesh(dAtA, i, uint64(len(m.RegistryServiceName)))
+ i = encodeVarintNetwork(dAtA, i, uint64(len(m.RegistryServiceName)))
i += copy(dAtA[i:], m.RegistryServiceName)
return i, nil
}
@@ -296,11 +472,11 @@ func (m *Network_IstioNetworkGateway_Address) MarshalTo(dAtA []byte) (int, error
i := 0
dAtA[i] = 0x12
i++
- i = encodeVarintMesh(dAtA, i, uint64(len(m.Address)))
+ i = encodeVarintNetwork(dAtA, i, uint64(len(m.Address)))
i += copy(dAtA[i:], m.Address)
return i, nil
}
-func encodeVarintMesh(dAtA []byte, offset int, v uint64) int {
+func encodeVarintNetwork(dAtA []byte, offset int, v uint64) int {
for v >= 1<<7 {
dAtA[offset] = uint8(v&0x7f | 0x80)
v >>= 7
@@ -314,23 +490,46 @@ func (m *Network) Size() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sovMesh(uint64(l))
+ n += 1 + l + sovNetwork(uint64(l))
}
- if len(m.Registries) > 0 {
- for _, s := range m.Registries {
- l = len(s)
- n += 1 + l + sovMesh(uint64(l))
+ if len(m.Endpoints) > 0 {
+ for _, e := range m.Endpoints {
+ l = e.Size()
+ n += 1 + l + sovNetwork(uint64(l))
}
}
if len(m.Gateways) > 0 {
for _, e := range m.Gateways {
l = e.Size()
- n += 1 + l + sovMesh(uint64(l))
+ n += 1 + l + sovNetwork(uint64(l))
}
}
return n
}
+func (m *Network_NetworkEndpoints) Size() (n int) {
+ var l int
+ _ = l
+ if m.Ne != nil {
+ n += m.Ne.Size()
+ }
+ return n
+}
+
+func (m *Network_NetworkEndpoints_FromCidr) Size() (n int) {
+ var l int
+ _ = l
+ l = len(m.FromCidr)
+ n += 1 + l + sovNetwork(uint64(l))
+ return n
+}
+func (m *Network_NetworkEndpoints_FromRegistry) Size() (n int) {
+ var l int
+ _ = l
+ l = len(m.FromRegistry)
+ n += 1 + l + sovNetwork(uint64(l))
+ return n
+}
func (m *Network_IstioNetworkGateway) Size() (n int) {
var l int
_ = l
@@ -338,11 +537,11 @@ func (m *Network_IstioNetworkGateway) Size() (n int) {
n += m.Gw.Size()
}
if m.Port != 0 {
- n += 1 + sovMesh(uint64(m.Port))
+ n += 1 + sovNetwork(uint64(m.Port))
}
l = len(m.Locality)
if l > 0 {
- n += 1 + l + sovMesh(uint64(l))
+ n += 1 + l + sovNetwork(uint64(l))
}
return n
}
@@ -351,18 +550,18 @@ func (m *Network_IstioNetworkGateway_RegistryServiceName) Size() (n int) {
var l int
_ = l
l = len(m.RegistryServiceName)
- n += 1 + l + sovMesh(uint64(l))
+ n += 1 + l + sovNetwork(uint64(l))
return n
}
func (m *Network_IstioNetworkGateway_Address) Size() (n int) {
var l int
_ = l
l = len(m.Address)
- n += 1 + l + sovMesh(uint64(l))
+ n += 1 + l + sovNetwork(uint64(l))
return n
}
-func sovMesh(x uint64) (n int) {
+func sovNetwork(x uint64) (n int) {
for {
n++
x >>= 7
@@ -372,8 +571,8 @@ func sovMesh(x uint64) (n int) {
}
return n
}
-func sozMesh(x uint64) (n int) {
- return sovMesh(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+func sozNetwork(x uint64) (n int) {
+ return sovNetwork(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (m *Network) Unmarshal(dAtA []byte) error {
l := len(dAtA)
@@ -383,7 +582,7 @@ func (m *Network) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowMesh
+ return ErrIntOverflowNetwork
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -411,7 +610,7 @@ func (m *Network) Unmarshal(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowMesh
+ return ErrIntOverflowNetwork
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -425,7 +624,7 @@ func (m *Network) Unmarshal(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLengthMesh
+ return ErrInvalidLengthNetwork
}
postIndex := iNdEx + intStringLen
if postIndex > l {
@@ -435,32 +634,34 @@ func (m *Network) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Registries", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Endpoints", wireType)
}
- var stringLen uint64
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowMesh
+ return ErrIntOverflowNetwork
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= (uint64(b) & 0x7F) << shift
+ msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthMesh
+ if msglen < 0 {
+ return ErrInvalidLengthNetwork
}
- postIndex := iNdEx + intStringLen
+ postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Registries = append(m.Registries, string(dAtA[iNdEx:postIndex]))
+ m.Endpoints = append(m.Endpoints, &Network_NetworkEndpoints{})
+ if err := m.Endpoints[len(m.Endpoints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
iNdEx = postIndex
case 3:
if wireType != 2 {
@@ -469,7 +670,7 @@ func (m *Network) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowMesh
+ return ErrIntOverflowNetwork
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -482,7 +683,7 @@ func (m *Network) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthMesh
+ return ErrInvalidLengthNetwork
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -495,12 +696,120 @@ func (m *Network) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skipMesh(dAtA[iNdEx:])
+ skippy, err := skipNetwork(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthNetwork
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *Network_NetworkEndpoints) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowNetwork
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: NetworkEndpoints: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: NetworkEndpoints: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field FromCidr", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowNetwork
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthNetwork
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Ne = &Network_NetworkEndpoints_FromCidr{string(dAtA[iNdEx:postIndex])}
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field FromRegistry", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowNetwork
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthNetwork
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Ne = &Network_NetworkEndpoints_FromRegistry{string(dAtA[iNdEx:postIndex])}
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipNetwork(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthMesh
+ return ErrInvalidLengthNetwork
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -522,7 +831,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowMesh
+ return ErrIntOverflowNetwork
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -550,7 +859,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowMesh
+ return ErrIntOverflowNetwork
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -564,7 +873,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLengthMesh
+ return ErrInvalidLengthNetwork
}
postIndex := iNdEx + intStringLen
if postIndex > l {
@@ -579,7 +888,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowMesh
+ return ErrIntOverflowNetwork
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -593,7 +902,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLengthMesh
+ return ErrInvalidLengthNetwork
}
postIndex := iNdEx + intStringLen
if postIndex > l {
@@ -608,7 +917,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error {
m.Port = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowMesh
+ return ErrIntOverflowNetwork
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -627,7 +936,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowMesh
+ return ErrIntOverflowNetwork
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -641,7 +950,7 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLengthMesh
+ return ErrInvalidLengthNetwork
}
postIndex := iNdEx + intStringLen
if postIndex > l {
@@ -651,12 +960,12 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skipMesh(dAtA[iNdEx:])
+ skippy, err := skipNetwork(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthMesh
+ return ErrInvalidLengthNetwork
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -670,14 +979,14 @@ func (m *Network_IstioNetworkGateway) Unmarshal(dAtA []byte) error {
}
return nil
}
-func skipMesh(dAtA []byte) (n int, err error) {
+func skipNetwork(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return 0, ErrIntOverflowMesh
+ return 0, ErrIntOverflowNetwork
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
@@ -694,7 +1003,7 @@ func skipMesh(dAtA []byte) (n int, err error) {
case 0:
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return 0, ErrIntOverflowMesh
+ return 0, ErrIntOverflowNetwork
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
@@ -712,7 +1021,7 @@ func skipMesh(dAtA []byte) (n int, err error) {
var length int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return 0, ErrIntOverflowMesh
+ return 0, ErrIntOverflowNetwork
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
@@ -726,7 +1035,7 @@ func skipMesh(dAtA []byte) (n int, err error) {
}
iNdEx += length
if length < 0 {
- return 0, ErrInvalidLengthMesh
+ return 0, ErrInvalidLengthNetwork
}
return iNdEx, nil
case 3:
@@ -735,7 +1044,7 @@ func skipMesh(dAtA []byte) (n int, err error) {
var start int = iNdEx
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return 0, ErrIntOverflowMesh
+ return 0, ErrIntOverflowNetwork
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
@@ -751,7 +1060,7 @@ func skipMesh(dAtA []byte) (n int, err error) {
if innerWireType == 4 {
break
}
- next, err := skipMesh(dAtA[start:])
+ next, err := skipNetwork(dAtA[start:])
if err != nil {
return 0, err
}
@@ -771,30 +1080,33 @@ func skipMesh(dAtA []byte) (n int, err error) {
}
var (
- ErrInvalidLengthMesh = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowMesh = fmt.Errorf("proto: integer overflow")
+ ErrInvalidLengthNetwork = fmt.Errorf("proto: negative length found during unmarshaling")
+ ErrIntOverflowNetwork = fmt.Errorf("proto: integer overflow")
)
-func init() { proto.RegisterFile("mesh/v1alpha1/mesh.proto", fileDescriptorMesh) }
-
-var fileDescriptorMesh = []byte{
- // 275 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x50, 0x31, 0x4e, 0xc3, 0x30,
- 0x14, 0xc5, 0x49, 0x44, 0xdb, 0x8f, 0x58, 0x1c, 0x21, 0x59, 0x19, 0xa2, 0x88, 0x29, 0x93, 0x43,
- 0x81, 0x13, 0x74, 0x01, 0x24, 0xd4, 0xc1, 0x6c, 0x2c, 0x95, 0x69, 0xad, 0xd4, 0x22, 0xc5, 0x91,
- 0x6d, 0x35, 0xca, 0x61, 0x38, 0x01, 0x17, 0x61, 0xe4, 0x08, 0x28, 0x27, 0x41, 0x76, 0x92, 0x02,
- 0x52, 0xb7, 0xff, 0xde, 0xfb, 0xf6, 0x7b, 0xff, 0x01, 0xd9, 0x09, 0xb3, 0x2d, 0xf6, 0x73, 0x5e,
- 0xd5, 0x5b, 0x3e, 0x2f, 0x1c, 0xa2, 0xb5, 0x56, 0x56, 0xe1, 0x58, 0x1a, 0x2b, 0x15, 0xf5, 0xcc,
- 0xa8, 0x5f, 0x7e, 0x04, 0x30, 0x59, 0x0a, 0xdb, 0x28, 0xfd, 0x8a, 0x31, 0x44, 0x6f, 0x7c, 0x27,
- 0x08, 0xca, 0x50, 0x3e, 0x63, 0x7e, 0xc6, 0x29, 0x80, 0x16, 0xa5, 0x34, 0x56, 0x4b, 0x61, 0x48,
- 0x90, 0x85, 0xf9, 0x8c, 0xfd, 0x61, 0xf0, 0x23, 0x4c, 0x4b, 0x6e, 0x45, 0xc3, 0x5b, 0x43, 0xc2,
- 0x2c, 0xcc, 0xcf, 0xae, 0xaf, 0xe8, 0x11, 0x1f, 0x3a, 0x78, 0xd0, 0x07, 0xa7, 0x0d, 0xe0, 0xae,
- 0x7f, 0xc8, 0x0e, 0x3f, 0x24, 0xef, 0x08, 0xe2, 0x23, 0x1b, 0xf8, 0x16, 0x2e, 0x06, 0xcf, 0x76,
- 0x65, 0x84, 0xde, 0xcb, 0xb5, 0x58, 0xfd, 0x46, 0xbd, 0x3f, 0x61, 0xf1, 0x28, 0x3f, 0xf5, 0xea,
- 0xd2, 0x65, 0x4f, 0x60, 0xc2, 0x37, 0x1b, 0x2d, 0x8c, 0x0b, 0xde, 0xef, 0x8d, 0x84, 0xbb, 0xb5,
- 0x56, 0xda, 0x92, 0x30, 0x43, 0xf9, 0x39, 0xf3, 0x33, 0x4e, 0x60, 0x5a, 0xa9, 0x35, 0xaf, 0xa4,
- 0x6d, 0x49, 0xe4, 0x3b, 0x38, 0xe0, 0x45, 0x04, 0x41, 0xd9, 0x2c, 0xf2, 0xcf, 0x2e, 0x45, 0x5f,
- 0x5d, 0x8a, 0xbe, 0xbb, 0x14, 0x3d, 0x27, 0xfd, 0xa1, 0x52, 0x15, 0xbc, 0x96, 0xc5, 0xbf, 0xde,
- 0x5f, 0x4e, 0x7d, 0xe7, 0x37, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe2, 0x49, 0xb6, 0xd4, 0x8f,
- 0x01, 0x00, 0x00,
+func init() { proto.RegisterFile("mesh/v1alpha1/network.proto", fileDescriptorNetwork) }
+
+var fileDescriptorNetwork = []byte{
+ // 334 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0xdd, 0x4a, 0xf3, 0x30,
+ 0x18, 0x5e, 0xd6, 0xf1, 0x6d, 0x7b, 0x3f, 0x07, 0x92, 0x21, 0x84, 0x8a, 0x63, 0x08, 0x42, 0x4f,
+ 0x6c, 0x9d, 0x7a, 0x05, 0x13, 0x71, 0xa2, 0xec, 0x20, 0x9e, 0x79, 0xe0, 0x88, 0x6b, 0xdc, 0x82,
+ 0x5b, 0x53, 0x92, 0xb0, 0xb1, 0x8b, 0xf1, 0x3e, 0xbc, 0x04, 0x0f, 0xbd, 0x04, 0xd9, 0x95, 0x48,
+ 0xd2, 0x66, 0x43, 0x19, 0x1e, 0x35, 0x79, 0xfe, 0x92, 0x3e, 0x79, 0xe1, 0x70, 0xce, 0xf5, 0x34,
+ 0x59, 0xf4, 0xd8, 0x2c, 0x9f, 0xb2, 0x5e, 0x92, 0x71, 0xb3, 0x94, 0xea, 0x35, 0xce, 0x95, 0x34,
+ 0x12, 0xb7, 0x85, 0x36, 0x42, 0xc6, 0x56, 0x12, 0x7b, 0xc9, 0xf1, 0x7b, 0x00, 0xf5, 0x61, 0x21,
+ 0xc3, 0x18, 0x6a, 0x19, 0x9b, 0x73, 0x82, 0xba, 0x28, 0x6a, 0x52, 0xb7, 0xc6, 0x77, 0xd0, 0xe4,
+ 0x59, 0x9a, 0x4b, 0x91, 0x19, 0x4d, 0xaa, 0xdd, 0x20, 0xfa, 0x7f, 0x7e, 0x1a, 0xef, 0x08, 0x8a,
+ 0xcb, 0x10, 0xff, 0xbd, 0xf6, 0x26, 0xba, 0xf5, 0xe3, 0x7b, 0x68, 0x4c, 0x98, 0xe1, 0x4b, 0xb6,
+ 0xd2, 0x24, 0x70, 0x59, 0x67, 0x7f, 0x66, 0xdd, 0x5a, 0xae, 0xdc, 0xdc, 0x14, 0x46, 0xba, 0x49,
+ 0x08, 0x9f, 0x60, 0xff, 0xf7, 0x61, 0xf8, 0x08, 0x9a, 0x2f, 0x4a, 0xce, 0x47, 0x63, 0x91, 0xaa,
+ 0xe2, 0x3f, 0x06, 0x15, 0xda, 0xb0, 0xd0, 0x95, 0x48, 0x15, 0x3e, 0x81, 0x96, 0xa3, 0x15, 0x9f,
+ 0x08, 0x6d, 0xd4, 0x8a, 0x54, 0x4b, 0xc9, 0x9e, 0x85, 0x69, 0x89, 0xf6, 0x6b, 0x50, 0xcd, 0x78,
+ 0xf8, 0x86, 0xa0, 0xbd, 0xe3, 0x06, 0xf8, 0x12, 0x0e, 0xbc, 0x7f, 0xa4, 0xb9, 0x5a, 0x88, 0x31,
+ 0x1f, 0x6d, 0x7b, 0x1b, 0x54, 0x68, 0xdb, 0xd3, 0x0f, 0x05, 0x3b, 0xb4, 0x45, 0x86, 0x50, 0x67,
+ 0x69, 0xaa, 0xb8, 0xd6, 0x9b, 0x43, 0x3d, 0x60, 0x8b, 0xcf, 0xa5, 0x32, 0x24, 0xe8, 0xa2, 0xa8,
+ 0x45, 0xdd, 0x1a, 0x87, 0xd0, 0x98, 0xc9, 0x31, 0x9b, 0x09, 0xb3, 0x22, 0x35, 0xf7, 0x20, 0x9b,
+ 0xbd, 0xbd, 0xdf, 0x64, 0xd9, 0x8f, 0x3e, 0xd6, 0x1d, 0xf4, 0xb9, 0xee, 0xa0, 0xaf, 0x75, 0x07,
+ 0x3d, 0x86, 0x45, 0x91, 0x42, 0x26, 0x2c, 0x17, 0xc9, 0x8f, 0x39, 0x78, 0xfe, 0xe7, 0x06, 0xe0,
+ 0xe2, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x20, 0x95, 0x94, 0x1f, 0x02, 0x00, 0x00,
}
diff --git a/mesh/v1alpha1/mesh.proto b/mesh/v1alpha1/network.proto
similarity index 56%
rename from mesh/v1alpha1/mesh.proto
rename to mesh/v1alpha1/network.proto
index 48e6730808..8fb6941f31 100644
--- a/mesh/v1alpha1/mesh.proto
+++ b/mesh/v1alpha1/network.proto
@@ -27,10 +27,44 @@ message Network {
// A unique name assigned to the network.
string name = 1;
- // One or more service registries that are in this network. Endpoints
- // from these registries will be directly reachable to one another.
- // The names of the registries should correspond to the data sources.
- repeated string registries = 2;
+ // NetworkEndpoints describes how the network associated with an endpoint
+ // should be inferred. An endpoint will be assigned to a network based on
+ // the following rules:
+ //
+ // 1. Implicitly: If the registry explicitly provides information about
+ // the network to which the endpoint belongs to. In some cases, its
+ // possible to indicate the network associated with the endpoint by
+ // adding ISTIO_META_NETWORK environment variable to the sidecar.
+ //
+ // 2. Explicitly:
+ //
+ // a. By matching the registry name with one of the "from_registries"
+ // in the mesh config. A "from_registry" can only be assinged to a
+ // single network.
+ //
+ // b. By matching the IP against one of the CIDR ranges in a mesh
+ // config network. The CIDR ranges must not overlap and be assigned to
+ // a single network.
+ //
+ // (2) will override (1) if both are present.
+ message NetworkEndpoints {
+ oneof ne {
+ // A CIDR range for the set of endpoints in this network. The CIDR
+ // ranges for endpoints from different networks must not overlap.
+ string from_cidr = 1;
+
+ // Add all endpoints from the specified registry into this network.
+ // The names of the registries should correspond to the secret name
+ // that was used to configure the registry (kubernetes multicluster) or
+ // supplied by MCP server.
+ string from_registry = 2;
+ }
+ }
+
+ // The list of endpoints in the network (obtained through the constituent
+ // service registries or from CIDR ranges). All endpoints in the network
+ // are directly accessible to one another.
+ repeated NetworkEndpoints endpoints = 2;
// The gateway associated with this network. Traffic from remote networks
// will arrive at the specified gateway:port. All incoming traffic must
diff --git a/python/istio_api/mesh/v1alpha1/mesh_pb2.py b/python/istio_api/mesh/v1alpha1/network_pb2.py
similarity index 60%
rename from python/istio_api/mesh/v1alpha1/mesh_pb2.py
rename to python/istio_api/mesh/v1alpha1/network_pb2.py
index ab1d238ba7..65040c2a26 100644
--- a/python/istio_api/mesh/v1alpha1/mesh_pb2.py
+++ b/python/istio_api/mesh/v1alpha1/network_pb2.py
@@ -1,5 +1,5 @@
# Generated by the protocol buffer compiler. DO NOT EDIT!
-# source: mesh/v1alpha1/mesh.proto
+# source: mesh/v1alpha1/network.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
@@ -16,15 +16,55 @@
DESCRIPTOR = _descriptor.FileDescriptor(
- name='mesh/v1alpha1/mesh.proto',
+ name='mesh/v1alpha1/network.proto',
package='istio.mesh.v1alpha1',
syntax='proto3',
- serialized_pb=_b('\n\x18mesh/v1alpha1/mesh.proto\x12\x13istio.mesh.v1alpha1\"\xe0\x01\n\x07Network\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nregistries\x18\x02 \x03(\t\x12\x42\n\x08gateways\x18\x03 \x03(\x0b\x32\x30.istio.mesh.v1alpha1.Network.IstioNetworkGateway\x1ao\n\x13IstioNetworkGateway\x12\x1f\n\x15registry_service_name\x18\x01 \x01(\tH\x00\x12\x11\n\x07\x61\x64\x64ress\x18\x02 \x01(\tH\x00\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x10\n\x08locality\x18\x04 \x01(\tB\x04\n\x02gwB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3')
+ serialized_pb=_b('\n\x1bmesh/v1alpha1/network.proto\x12\x13istio.mesh.v1alpha1\"\xd6\x02\n\x07Network\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\tendpoints\x18\x02 \x03(\x0b\x32-.istio.mesh.v1alpha1.Network.NetworkEndpoints\x12\x42\n\x08gateways\x18\x03 \x03(\x0b\x32\x30.istio.mesh.v1alpha1.Network.IstioNetworkGateway\x1a\x46\n\x10NetworkEndpoints\x12\x13\n\tfrom_cidr\x18\x01 \x01(\tH\x00\x12\x17\n\rfrom_registry\x18\x02 \x01(\tH\x00\x42\x04\n\x02ne\x1ao\n\x13IstioNetworkGateway\x12\x1f\n\x15registry_service_name\x18\x01 \x01(\tH\x00\x12\x11\n\x07\x61\x64\x64ress\x18\x02 \x01(\tH\x00\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x10\n\x08locality\x18\x04 \x01(\tB\x04\n\x02gwB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3')
)
+_NETWORK_NETWORKENDPOINTS = _descriptor.Descriptor(
+ name='NetworkEndpoints',
+ full_name='istio.mesh.v1alpha1.Network.NetworkEndpoints',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='from_cidr', full_name='istio.mesh.v1alpha1.Network.NetworkEndpoints.from_cidr', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='from_registry', full_name='istio.mesh.v1alpha1.Network.NetworkEndpoints.from_registry', index=1,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ _descriptor.OneofDescriptor(
+ name='ne', full_name='istio.mesh.v1alpha1.Network.NetworkEndpoints.ne',
+ index=0, containing_type=None, fields=[]),
+ ],
+ serialized_start=212,
+ serialized_end=282,
+)
+
_NETWORK_ISTIONETWORKGATEWAY = _descriptor.Descriptor(
name='IstioNetworkGateway',
full_name='istio.mesh.v1alpha1.Network.IstioNetworkGateway',
@@ -75,8 +115,8 @@
name='gw', full_name='istio.mesh.v1alpha1.Network.IstioNetworkGateway.gw',
index=0, containing_type=None, fields=[]),
],
- serialized_start=163,
- serialized_end=274,
+ serialized_start=284,
+ serialized_end=395,
)
_NETWORK = _descriptor.Descriptor(
@@ -94,8 +134,8 @@
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='registries', full_name='istio.mesh.v1alpha1.Network.registries', index=1,
- number=2, type=9, cpp_type=9, label=3,
+ name='endpoints', full_name='istio.mesh.v1alpha1.Network.endpoints', index=1,
+ number=2, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
@@ -110,7 +150,7 @@
],
extensions=[
],
- nested_types=[_NETWORK_ISTIONETWORKGATEWAY, ],
+ nested_types=[_NETWORK_NETWORKENDPOINTS, _NETWORK_ISTIONETWORKGATEWAY, ],
enum_types=[
],
options=None,
@@ -119,10 +159,17 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=50,
- serialized_end=274,
+ serialized_start=53,
+ serialized_end=395,
)
+_NETWORK_NETWORKENDPOINTS.containing_type = _NETWORK
+_NETWORK_NETWORKENDPOINTS.oneofs_by_name['ne'].fields.append(
+ _NETWORK_NETWORKENDPOINTS.fields_by_name['from_cidr'])
+_NETWORK_NETWORKENDPOINTS.fields_by_name['from_cidr'].containing_oneof = _NETWORK_NETWORKENDPOINTS.oneofs_by_name['ne']
+_NETWORK_NETWORKENDPOINTS.oneofs_by_name['ne'].fields.append(
+ _NETWORK_NETWORKENDPOINTS.fields_by_name['from_registry'])
+_NETWORK_NETWORKENDPOINTS.fields_by_name['from_registry'].containing_oneof = _NETWORK_NETWORKENDPOINTS.oneofs_by_name['ne']
_NETWORK_ISTIONETWORKGATEWAY.containing_type = _NETWORK
_NETWORK_ISTIONETWORKGATEWAY.oneofs_by_name['gw'].fields.append(
_NETWORK_ISTIONETWORKGATEWAY.fields_by_name['registry_service_name'])
@@ -130,23 +177,32 @@
_NETWORK_ISTIONETWORKGATEWAY.oneofs_by_name['gw'].fields.append(
_NETWORK_ISTIONETWORKGATEWAY.fields_by_name['address'])
_NETWORK_ISTIONETWORKGATEWAY.fields_by_name['address'].containing_oneof = _NETWORK_ISTIONETWORKGATEWAY.oneofs_by_name['gw']
+_NETWORK.fields_by_name['endpoints'].message_type = _NETWORK_NETWORKENDPOINTS
_NETWORK.fields_by_name['gateways'].message_type = _NETWORK_ISTIONETWORKGATEWAY
DESCRIPTOR.message_types_by_name['Network'] = _NETWORK
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
Network = _reflection.GeneratedProtocolMessageType('Network', (_message.Message,), dict(
+ NetworkEndpoints = _reflection.GeneratedProtocolMessageType('NetworkEndpoints', (_message.Message,), dict(
+ DESCRIPTOR = _NETWORK_NETWORKENDPOINTS,
+ __module__ = 'mesh.v1alpha1.network_pb2'
+ # @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.Network.NetworkEndpoints)
+ ))
+ ,
+
IstioNetworkGateway = _reflection.GeneratedProtocolMessageType('IstioNetworkGateway', (_message.Message,), dict(
DESCRIPTOR = _NETWORK_ISTIONETWORKGATEWAY,
- __module__ = 'mesh.v1alpha1.mesh_pb2'
+ __module__ = 'mesh.v1alpha1.network_pb2'
# @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.Network.IstioNetworkGateway)
))
,
DESCRIPTOR = _NETWORK,
- __module__ = 'mesh.v1alpha1.mesh_pb2'
+ __module__ = 'mesh.v1alpha1.network_pb2'
# @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.Network)
))
_sym_db.RegisterMessage(Network)
+_sym_db.RegisterMessage(Network.NetworkEndpoints)
_sym_db.RegisterMessage(Network.IstioNetworkGateway)