From 56c82136df7df8def195d17886998c9e03b4cc49 Mon Sep 17 00:00:00 2001 From: Shriram Rajagopalan Date: Mon, 12 Nov 2018 12:20:59 -0500 Subject: [PATCH 01/10] Adding weights to service entry endpoints (#704) * add dynamic state to attribute list Signed-off-by: Shriram Rajagopalan * Adding weights to service entry endpoints Signed-off-by: Shriram Rajagopalan * undo --- networking/v1alpha3/gateway.pb.go | 3 +- networking/v1alpha3/gateway.proto | 3 +- .../istio.networking.v1alpha3.pb.html | 16 ++- networking/v1alpha3/service_entry.pb.go | 104 ++++++++++++------ networking/v1alpha3/service_entry.proto | 8 +- .../networking/v1alpha3/service_entry_pb2.py | 29 +++-- 6 files changed, 112 insertions(+), 51 deletions(-) diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index a6ac4ed08c..cbab67e68e 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -475,7 +475,8 @@ type Port struct { Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` // REQUIRED: The protocol exposed on the port. // MUST BE one of HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS. - // TLS is used to indicate secure connections to non HTTP services. + // TLS implies the connection will be routed based on the SNI header to + // the destination without terminating the TLS connection. Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` // Label assigned to the port. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto index ba85ad93dd..e7a54a41af 100644 --- a/networking/v1alpha3/gateway.proto +++ b/networking/v1alpha3/gateway.proto @@ -339,7 +339,8 @@ message Port { // REQUIRED: The protocol exposed on the port. // MUST BE one of HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS. - // TLS is used to indicate secure connections to non HTTP services. + // TLS implies the connection will be routed based on the SNI header to + // the destination without terminating the TLS connection. string protocol = 2; // Label assigned to the port. diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index 27506f1190..048d538527 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -2360,7 +2360,8 @@

Port

REQUIRED: The protocol exposed on the port. MUST BE one of HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS. -TLS is used to indicate secure connections to non HTTP services.

+TLS implies the connection will be routed based on the SNI header to +the destination without terminating the TLS connection.

@@ -3020,7 +3021,7 @@

ServiceEntry

REQUIRED. The hosts associated with the ServiceEntry. Could be a DNS name with wildcard prefix (external services only). DNS names in hosts will be ignored if the application accesses the service over non-HTTP -protocols such as mongo/opaque TCP/even HTTPS. In such scenarios, the +protocols such as mongo/opaque TCP/HTTPS. In such scenarios, the IP addresses specified in the Addresses field or the port will be used to uniquely identify the destination.

@@ -3033,7 +3034,7 @@

ServiceEntry

The virtual IP addresses associated with the service. Could be CIDR prefix. For HTTP services, the addresses field will be ignored and the destination will be identified based on the HTTP Host/Authority -header. For non-HTTP protocols such as mongo/opaque TCP/even HTTPS, +header. For non-HTTP protocols such as mongo/opaque TCP/HTTPS, the hosts will be ignored. If one or more IP addresses are specified, the incoming traffic will be identified as belonging to this service if the destination IP matches the IP/CIDRs specified in the addresses @@ -3168,6 +3169,15 @@

ServiceEntry.Endpoint

(that bridges networks n1 and n2), or the IP associated with a standard service endpoint.

+ + + +weight +uint32 + +

The load balancing weight associated with the endpoint. Endpoints +with higher weights will receive proportionally higher traffic.

+ diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index d8f9b809e0..faa5471fde 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -367,14 +367,14 @@ type ServiceEntry struct { // REQUIRED. The hosts associated with the ServiceEntry. Could be a DNS // name with wildcard prefix (external services only). DNS names in hosts // will be ignored if the application accesses the service over non-HTTP - // protocols such as mongo/opaque TCP/even HTTPS. In such scenarios, the + // protocols such as mongo/opaque TCP/HTTPS. In such scenarios, the // IP addresses specified in the Addresses field or the port will be used // to uniquely identify the destination. Hosts []string `protobuf:"bytes,1,rep,name=hosts" json:"hosts,omitempty"` // The virtual IP addresses associated with the service. Could be CIDR // prefix. For HTTP services, the addresses field will be ignored and // the destination will be identified based on the HTTP Host/Authority - // header. For non-HTTP protocols such as mongo/opaque TCP/even HTTPS, + // header. For non-HTTP protocols such as mongo/opaque TCP/HTTPS, // the hosts will be ignored. If one or more IP addresses are specified, // the incoming traffic will be identified as belonging to this service // if the destination IP matches the IP/CIDRs specified in the addresses @@ -490,6 +490,9 @@ type ServiceEntry_Endpoint struct { // (that bridges networks n1 and n2), or the IP associated with a // standard service endpoint. Locality string `protobuf:"bytes,5,opt,name=locality,proto3" json:"locality,omitempty"` + // The load balancing weight associated with the endpoint. Endpoints + // with higher weights will receive proportionally higher traffic. + Weight uint32 `protobuf:"varint,6,opt,name=weight,proto3" json:"weight,omitempty"` } func (m *ServiceEntry_Endpoint) Reset() { *m = ServiceEntry_Endpoint{} } @@ -534,6 +537,13 @@ func (m *ServiceEntry_Endpoint) GetLocality() string { return "" } +func (m *ServiceEntry_Endpoint) GetWeight() uint32 { + if m != nil { + return m.Weight + } + return 0 +} + func init() { proto.RegisterType((*ServiceEntry)(nil), "istio.networking.v1alpha3.ServiceEntry") proto.RegisterType((*ServiceEntry_Endpoint)(nil), "istio.networking.v1alpha3.ServiceEntry.Endpoint") @@ -688,6 +698,11 @@ func (m *ServiceEntry_Endpoint) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintServiceEntry(dAtA, i, uint64(len(m.Locality))) i += copy(dAtA[i:], m.Locality) } + if m.Weight != 0 { + dAtA[i] = 0x30 + i++ + i = encodeVarintServiceEntry(dAtA, i, uint64(m.Weight)) + } return i, nil } @@ -767,6 +782,9 @@ func (m *ServiceEntry_Endpoint) Size() (n int) { if l > 0 { n += 1 + l + sovServiceEntry(uint64(l)) } + if m.Weight != 0 { + n += 1 + sovServiceEntry(uint64(m.Weight)) + } return n } @@ -1332,6 +1350,25 @@ func (m *ServiceEntry_Endpoint) Unmarshal(dAtA []byte) error { } m.Locality = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType) + } + m.Weight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowServiceEntry + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Weight |= (uint32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipServiceEntry(dAtA[iNdEx:]) @@ -1461,35 +1498,36 @@ var ( func init() { proto.RegisterFile("networking/v1alpha3/service_entry.proto", fileDescriptorServiceEntry) } var fileDescriptorServiceEntry = []byte{ - // 469 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xcf, 0x6f, 0xd3, 0x30, - 0x14, 0xc7, 0xe7, 0x64, 0xcd, 0x9a, 0x37, 0x86, 0x82, 0xc5, 0x21, 0x44, 0xa8, 0x84, 0x5e, 0x88, - 0x84, 0x94, 0x8e, 0x4e, 0x48, 0xe3, 0xc7, 0x65, 0x40, 0x24, 0x26, 0x95, 0x00, 0x6e, 0x0f, 0x88, - 0xcb, 0xe4, 0xad, 0xd6, 0x66, 0x2d, 0x8a, 0xa3, 0xd8, 0xeb, 0xd4, 0x3f, 0x10, 0x89, 0x23, 0x7f, - 0x02, 0xea, 0x5f, 0xc1, 0x11, 0xd5, 0xb1, 0x9b, 0x1e, 0x06, 0x5b, 0x6f, 0x79, 0x2f, 0xef, 0xfb, - 0xf1, 0xf3, 0xf7, 0x3d, 0xc3, 0xb3, 0x92, 0xa9, 0x6b, 0x51, 0x5f, 0xf2, 0xf2, 0x7c, 0x30, 0x7b, - 0x41, 0x8b, 0xea, 0x82, 0x1e, 0x0c, 0x24, 0xab, 0x67, 0xfc, 0x8c, 0x9d, 0xb0, 0x52, 0xd5, 0xf3, - 0xb4, 0xaa, 0x85, 0x12, 0xf8, 0x11, 0x97, 0x8a, 0x8b, 0xb4, 0x2d, 0x4f, 0x6d, 0x79, 0xf4, 0xf4, - 0x26, 0xc6, 0x39, 0x55, 0xec, 0x9a, 0x1a, 0x75, 0xff, 0x87, 0x07, 0xf7, 0xc6, 0x0d, 0x35, 0x5b, - 0x42, 0xf1, 0x43, 0xe8, 0x5c, 0x08, 0xa9, 0x64, 0x88, 0x62, 0x37, 0xf1, 0x49, 0x13, 0xe0, 0xc7, - 0xe0, 0xd3, 0xe9, 0xb4, 0x66, 0x52, 0x32, 0x19, 0x3a, 0xfa, 0x4f, 0x9b, 0xc0, 0x2f, 0xa1, 0x53, - 0x89, 0x5a, 0xc9, 0xd0, 0x8d, 0xdd, 0x64, 0x77, 0xf8, 0x24, 0xfd, 0x67, 0x4b, 0xe9, 0x17, 0x51, - 0x2b, 0xd2, 0x54, 0xe3, 0x11, 0x74, 0x0b, 0x71, 0x46, 0x15, 0x17, 0x65, 0xb8, 0x1d, 0xa3, 0xe4, - 0xfe, 0x70, 0xff, 0x3f, 0xca, 0xf5, 0x2e, 0xd3, 0x91, 0xd1, 0x91, 0x15, 0x01, 0x13, 0x80, 0x9a, - 0x49, 0x51, 0x5c, 0x69, 0x5e, 0x47, 0xf3, 0x86, 0x77, 0xe5, 0x91, 0x95, 0x92, 0xac, 0x51, 0x70, - 0x0e, 0x3e, 0x2b, 0xa7, 0x95, 0xe0, 0xa5, 0x92, 0xa1, 0xa7, 0x2f, 0x77, 0xe7, 0x16, 0x33, 0x23, - 0x24, 0x2d, 0x22, 0xfa, 0xe3, 0x40, 0xd7, 0xe6, 0x71, 0x08, 0x3b, 0xc6, 0xc2, 0x10, 0xc5, 0x28, - 0xf1, 0x89, 0x0d, 0xf1, 0x57, 0xeb, 0xa7, 0xa3, 0x8f, 0x7c, 0xb3, 0xe9, 0x91, 0xda, 0x65, 0xa9, - 0x73, 0xd6, 0xeb, 0x09, 0x78, 0x05, 0x3d, 0x65, 0x85, 0x9d, 0xd1, 0xdb, 0x8d, 0x99, 0x23, 0x2d, - 0x6f, 0xa0, 0x86, 0xb5, 0xbc, 0x82, 0x01, 0xe8, 0x01, 0xfa, 0xc4, 0x86, 0x38, 0x6a, 0x66, 0x5b, - 0x70, 0x35, 0xd7, 0xb3, 0xf0, 0xc9, 0x2a, 0x8e, 0x0e, 0x01, 0xda, 0x06, 0x71, 0x00, 0xee, 0x25, - 0x9b, 0x1b, 0x0b, 0x96, 0x9f, 0xcb, 0x15, 0x9c, 0xd1, 0xe2, 0x8a, 0x85, 0x4e, 0x8c, 0x92, 0x3d, - 0xd2, 0x04, 0xaf, 0x9d, 0x43, 0x14, 0xbd, 0x82, 0xdd, 0xb5, 0x36, 0x6e, 0x93, 0xfa, 0x6b, 0xd2, - 0xfe, 0x3e, 0x74, 0xed, 0xd2, 0xe0, 0x07, 0xb0, 0xf7, 0x29, 0x1b, 0x7f, 0x3c, 0xc9, 0xbe, 0x4d, - 0x32, 0x92, 0x1f, 0x8d, 0x82, 0xad, 0x55, 0xea, 0x38, 0x37, 0x29, 0xd4, 0x7f, 0x0e, 0xd0, 0xae, - 0x05, 0xee, 0xc2, 0x76, 0xfe, 0x39, 0xcf, 0x82, 0x2d, 0x0c, 0xe0, 0x8d, 0x27, 0x47, 0x93, 0xe3, - 0xf7, 0x01, 0xc2, 0x3b, 0xe0, 0x7e, 0xc8, 0xc7, 0x81, 0xf3, 0x2e, 0xfd, 0xb9, 0xe8, 0xa1, 0x5f, - 0x8b, 0x1e, 0xfa, 0xbd, 0xe8, 0xa1, 0xef, 0x71, 0x63, 0x2e, 0x17, 0x03, 0x5a, 0xf1, 0xc1, 0x0d, - 0xaf, 0xf0, 0xd4, 0xd3, 0xcf, 0xef, 0xe0, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x61, 0xa8, 0x99, - 0x48, 0xe7, 0x03, 0x00, 0x00, + // 481 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xdf, 0x6e, 0xd3, 0x30, + 0x14, 0xc6, 0xe7, 0x66, 0xcd, 0x9a, 0x33, 0x86, 0x82, 0x85, 0x90, 0x89, 0x50, 0x09, 0xbd, 0x21, + 0x12, 0x52, 0x3a, 0x3a, 0x21, 0x8d, 0x3f, 0x37, 0x03, 0x22, 0x31, 0xa9, 0x04, 0x70, 0x7b, 0x81, + 0xb8, 0x99, 0xbc, 0xd5, 0x6a, 0xad, 0x45, 0x71, 0x14, 0x7b, 0xad, 0xfa, 0x16, 0x3c, 0x16, 0x97, + 0xbc, 0x00, 0x12, 0xea, 0x93, 0xa0, 0x3a, 0x4e, 0xd3, 0x8b, 0x01, 0xdb, 0x5d, 0xbe, 0x13, 0x7f, + 0x3f, 0x1f, 0x7f, 0xc7, 0x86, 0xa7, 0x39, 0xd7, 0x0b, 0x59, 0x5e, 0x8a, 0x7c, 0xda, 0x9f, 0x3f, + 0x67, 0x59, 0x31, 0x63, 0x47, 0x7d, 0xc5, 0xcb, 0xb9, 0xb8, 0xe0, 0x67, 0x3c, 0xd7, 0xe5, 0x32, + 0x2e, 0x4a, 0xa9, 0x25, 0x7e, 0x28, 0x94, 0x16, 0x32, 0x6e, 0x96, 0xc7, 0xf5, 0xf2, 0xe0, 0xc9, + 0x75, 0x8c, 0x29, 0xd3, 0x7c, 0xc1, 0xac, 0xbb, 0xf7, 0xcb, 0x85, 0x3b, 0xa3, 0x8a, 0x9a, 0xac, + 0xa1, 0xf8, 0x3e, 0xb4, 0x67, 0x52, 0x69, 0x45, 0x50, 0xe8, 0x44, 0x1e, 0xad, 0x04, 0x7e, 0x04, + 0x1e, 0x9b, 0x4c, 0x4a, 0xae, 0x14, 0x57, 0xa4, 0x65, 0xfe, 0x34, 0x05, 0xfc, 0x02, 0xda, 0x85, + 0x2c, 0xb5, 0x22, 0x4e, 0xe8, 0x44, 0xfb, 0x83, 0xc7, 0xf1, 0x5f, 0x5b, 0x8a, 0x3f, 0xcb, 0x52, + 0xd3, 0x6a, 0x35, 0x1e, 0x42, 0x27, 0x93, 0x17, 0x4c, 0x0b, 0x99, 0x93, 0xdd, 0x10, 0x45, 0x77, + 0x07, 0x87, 0xff, 0x70, 0x6e, 0x77, 0x19, 0x0f, 0xad, 0x8f, 0x6e, 0x08, 0x98, 0x02, 0x94, 0x5c, + 0xc9, 0xec, 0xca, 0xf0, 0xda, 0x86, 0x37, 0xb8, 0x29, 0x8f, 0x6e, 0x9c, 0x74, 0x8b, 0x82, 0x53, + 0xf0, 0x78, 0x3e, 0x29, 0xa4, 0xc8, 0xb5, 0x22, 0xae, 0x39, 0xdc, 0x8d, 0x5b, 0x4c, 0xac, 0x91, + 0x36, 0x88, 0xe0, 0xbb, 0x03, 0x9d, 0xba, 0x8e, 0x09, 0xec, 0xd9, 0x08, 0x09, 0x0a, 0x51, 0xe4, + 0xd1, 0x5a, 0xe2, 0x2f, 0x75, 0x9e, 0x2d, 0xb3, 0xe5, 0xeb, 0xdb, 0x6e, 0x69, 0x52, 0x56, 0xa6, + 0x56, 0x67, 0x3d, 0x06, 0x37, 0x63, 0xe7, 0x3c, 0xab, 0x67, 0xf4, 0xe6, 0xd6, 0xcc, 0xa1, 0xb1, + 0x57, 0x50, 0xcb, 0x5a, 0x1f, 0xc1, 0x02, 0xcc, 0x00, 0x3d, 0x5a, 0x4b, 0x1c, 0x54, 0xb3, 0xcd, + 0x84, 0x5e, 0x9a, 0x59, 0x78, 0x74, 0xa3, 0xf1, 0x03, 0x70, 0x17, 0x5c, 0x4c, 0x67, 0x9a, 0xb8, + 0x21, 0x8a, 0x0e, 0xa8, 0x55, 0xc1, 0x31, 0x40, 0xd3, 0x38, 0xf6, 0xc1, 0xb9, 0xe4, 0x4b, 0x1b, + 0xcd, 0xfa, 0x73, 0x7d, 0x35, 0xe7, 0x2c, 0xbb, 0xe2, 0xa4, 0x65, 0x6c, 0x95, 0x78, 0xd5, 0x3a, + 0x46, 0xc1, 0x4b, 0xd8, 0xdf, 0x6a, 0xef, 0x7f, 0x56, 0x6f, 0xcb, 0xda, 0x3b, 0x84, 0x4e, 0x7d, + 0x99, 0xf0, 0x3d, 0x38, 0xf8, 0x98, 0x8c, 0x3e, 0x9c, 0x25, 0x5f, 0xc7, 0x09, 0x4d, 0x4f, 0x86, + 0xfe, 0xce, 0xa6, 0x74, 0x9a, 0xda, 0x12, 0xea, 0x3d, 0x03, 0x68, 0xae, 0x0b, 0xee, 0xc0, 0x6e, + 0xfa, 0x29, 0x4d, 0xfc, 0x1d, 0x0c, 0xe0, 0x8e, 0xc6, 0x27, 0xe3, 0xd3, 0x77, 0x3e, 0xc2, 0x7b, + 0xe0, 0xbc, 0x4f, 0x47, 0x7e, 0xeb, 0x6d, 0xfc, 0x63, 0xd5, 0x45, 0x3f, 0x57, 0x5d, 0xf4, 0x7b, + 0xd5, 0x45, 0xdf, 0xc2, 0x2a, 0x74, 0x21, 0xfb, 0xac, 0x10, 0xfd, 0x6b, 0x5e, 0xe7, 0xb9, 0x6b, + 0x9e, 0xe5, 0xd1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe5, 0xb0, 0x1f, 0xc6, 0xff, 0x03, 0x00, + 0x00, } diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index 62ec661ad9..69bc993da0 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -288,7 +288,7 @@ message ServiceEntry { // REQUIRED. The hosts associated with the ServiceEntry. Could be a DNS // name with wildcard prefix (external services only). DNS names in hosts // will be ignored if the application accesses the service over non-HTTP - // protocols such as mongo/opaque TCP/even HTTPS. In such scenarios, the + // protocols such as mongo/opaque TCP/HTTPS. In such scenarios, the // IP addresses specified in the Addresses field or the port will be used // to uniquely identify the destination. repeated string hosts = 1; @@ -296,7 +296,7 @@ message ServiceEntry { // The virtual IP addresses associated with the service. Could be CIDR // prefix. For HTTP services, the addresses field will be ignored and // the destination will be identified based on the HTTP Host/Authority - // header. For non-HTTP protocols such as mongo/opaque TCP/even HTTPS, + // header. For non-HTTP protocols such as mongo/opaque TCP/HTTPS, // the hosts will be ignored. If one or more IP addresses are specified, // the incoming traffic will be identified as belonging to this service // if the destination IP matches the IP/CIDRs specified in the addresses @@ -419,6 +419,10 @@ message ServiceEntry { // (that bridges networks n1 and n2), or the IP associated with a // standard service endpoint. string locality = 5; + + // The load balancing weight associated with the endpoint. Endpoints + // with higher weights will receive proportionally higher traffic. + uint32 weight = 6; }; // One or more endpoints associated with the service. diff --git a/python/istio_api/networking/v1alpha3/service_entry_pb2.py b/python/istio_api/networking/v1alpha3/service_entry_pb2.py index b5bbefa34c..09d81c603a 100644 --- a/python/istio_api/networking/v1alpha3/service_entry_pb2.py +++ b/python/istio_api/networking/v1alpha3/service_entry_pb2.py @@ -20,7 +20,7 @@ name='networking/v1alpha3/service_entry.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n\'networking/v1alpha3/service_entry.proto\x12\x19istio.networking.v1alpha3\x1a!networking/v1alpha3/gateway.proto\"\xc8\x05\n\x0cServiceEntry\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x11\n\taddresses\x18\x02 \x03(\t\x12.\n\x05ports\x18\x03 \x03(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x42\n\x08location\x18\x04 \x01(\x0e\x32\x30.istio.networking.v1alpha3.ServiceEntry.Location\x12\x46\n\nresolution\x18\x05 \x01(\x0e\x32\x32.istio.networking.v1alpha3.ServiceEntry.Resolution\x12\x43\n\tendpoints\x18\x06 \x03(\x0b\x32\x30.istio.networking.v1alpha3.ServiceEntry.Endpoint\x1a\xb5\x02\n\x08\x45ndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12J\n\x05ports\x18\x02 \x03(\x0b\x32;.istio.networking.v1alpha3.ServiceEntry.Endpoint.PortsEntry\x12L\n\x06labels\x18\x03 \x03(\x0b\x32<.istio.networking.v1alpha3.ServiceEntry.Endpoint.LabelsEntry\x12\x0f\n\x07network\x18\x04 \x01(\t\x12\x10\n\x08locality\x18\x05 \x01(\t\x1a,\n\nPortsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"0\n\x08Location\x12\x11\n\rMESH_EXTERNAL\x10\x00\x12\x11\n\rMESH_INTERNAL\x10\x01\"+\n\nResolution\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06STATIC\x10\x01\x12\x07\n\x03\x44NS\x10\x02\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n\'networking/v1alpha3/service_entry.proto\x12\x19istio.networking.v1alpha3\x1a!networking/v1alpha3/gateway.proto\"\xd8\x05\n\x0cServiceEntry\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x11\n\taddresses\x18\x02 \x03(\t\x12.\n\x05ports\x18\x03 \x03(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x42\n\x08location\x18\x04 \x01(\x0e\x32\x30.istio.networking.v1alpha3.ServiceEntry.Location\x12\x46\n\nresolution\x18\x05 \x01(\x0e\x32\x32.istio.networking.v1alpha3.ServiceEntry.Resolution\x12\x43\n\tendpoints\x18\x06 \x03(\x0b\x32\x30.istio.networking.v1alpha3.ServiceEntry.Endpoint\x1a\xc5\x02\n\x08\x45ndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12J\n\x05ports\x18\x02 \x03(\x0b\x32;.istio.networking.v1alpha3.ServiceEntry.Endpoint.PortsEntry\x12L\n\x06labels\x18\x03 \x03(\x0b\x32<.istio.networking.v1alpha3.ServiceEntry.Endpoint.LabelsEntry\x12\x0f\n\x07network\x18\x04 \x01(\t\x12\x10\n\x08locality\x18\x05 \x01(\t\x12\x0e\n\x06weight\x18\x06 \x01(\r\x1a,\n\nPortsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"0\n\x08Location\x12\x11\n\rMESH_EXTERNAL\x10\x00\x12\x11\n\rMESH_INTERNAL\x10\x01\"+\n\nResolution\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06STATIC\x10\x01\x12\x07\n\x03\x44NS\x10\x02\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , dependencies=[networking_dot_v1alpha3_dot_gateway__pb2.DESCRIPTOR,]) @@ -43,8 +43,8 @@ ], containing_type=None, options=None, - serialized_start=725, - serialized_end=773, + serialized_start=741, + serialized_end=789, ) _sym_db.RegisterEnumDescriptor(_SERVICEENTRY_LOCATION) @@ -69,8 +69,8 @@ ], containing_type=None, options=None, - serialized_start=775, - serialized_end=818, + serialized_start=791, + serialized_end=834, ) _sym_db.RegisterEnumDescriptor(_SERVICEENTRY_RESOLUTION) @@ -108,8 +108,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=632, - serialized_end=676, + serialized_start=648, + serialized_end=692, ) _SERVICEENTRY_ENDPOINT_LABELSENTRY = _descriptor.Descriptor( @@ -145,8 +145,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=678, - serialized_end=723, + serialized_start=694, + serialized_end=739, ) _SERVICEENTRY_ENDPOINT = _descriptor.Descriptor( @@ -191,6 +191,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='weight', full_name='istio.networking.v1alpha3.ServiceEntry.Endpoint.weight', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -204,7 +211,7 @@ oneofs=[ ], serialized_start=414, - serialized_end=723, + serialized_end=739, ) _SERVICEENTRY = _descriptor.Descriptor( @@ -271,7 +278,7 @@ oneofs=[ ], serialized_start=106, - serialized_end=818, + serialized_end=834, ) _SERVICEENTRY_ENDPOINT_PORTSENTRY.containing_type = _SERVICEENTRY_ENDPOINT From 1aa3b316e7183877a647be3c013287c317977703 Mon Sep 17 00:00:00 2001 From: Shriram Rajagopalan Date: Wed, 14 Nov 2018 10:19:34 -0500 Subject: [PATCH 02/10] update protolock Signed-off-by: Shriram Rajagopalan --- proto.lock | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/proto.lock b/proto.lock index 62cee6126c..17752c00c6 100644 --- a/proto.lock +++ b/proto.lock @@ -3152,6 +3152,11 @@ "id": 5, "name": "locality", "type": "string" + }, + { + "id": 6, + "name": "weight", + "type": "uint32" } ], "maps": [ From 60483a526b525d9b2096d66bb7180d9b15481895 Mon Sep 17 00:00:00 2001 From: Gregory Hanson Date: Mon, 19 Nov 2018 14:53:01 -0600 Subject: [PATCH 03/10] fix naming convention between access log format vs encoding (#711) --- mesh/v1alpha1/config.pb.go | 186 ++++++++++++------- mesh/v1alpha1/config.proto | 10 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 11 +- proto.lock | 5 + python/istio_api/mesh/v1alpha1/config_pb2.py | 49 ++--- 5 files changed, 169 insertions(+), 92 deletions(-) diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 98218b7feb..68e6849aa4 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -183,9 +183,12 @@ type MeshConfig struct { // File address for the proxy access log (e.g. /dev/stdout). // Empty value disables access logging. AccessLogFile string `protobuf:"bytes,13,opt,name=access_log_file,json=accessLogFile,proto3" json:"access_log_file,omitempty"` - // Format for the proxy access log (text or json). - // Default value is text. + // Format for the proxy access log + // Empty value results in proxy's default access log format AccessLogFormat string `protobuf:"bytes,24,opt,name=access_log_format,json=accessLogFormat,proto3" json:"access_log_format,omitempty"` + // Encoding for the proxy access log (text or json). + // Default value is text. + AccessLogEncoding string `protobuf:"bytes,27,opt,name=access_log_encoding,json=accessLogEncoding,proto3" json:"access_log_encoding,omitempty"` // Default proxy config used by the proxy injection mechanism operating in the mesh // (e.g. Kubernetes admission controller) // In case of Kubernetes, the proxy config is applied once during the injection process, @@ -334,6 +337,13 @@ func (m *MeshConfig) GetAccessLogFormat() string { return "" } +func (m *MeshConfig) GetAccessLogEncoding() string { + if m != nil { + return m.AccessLogEncoding + } + return "" +} + func (m *MeshConfig) GetDefaultConfig() *ProxyConfig { if m != nil { return m.DefaultConfig @@ -677,6 +687,14 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintConfig(dAtA, i, uint64(len(m.TrustDomain))) i += copy(dAtA[i:], m.TrustDomain) } + if len(m.AccessLogEncoding) > 0 { + dAtA[i] = 0xda + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintConfig(dAtA, i, uint64(len(m.AccessLogEncoding))) + i += copy(dAtA[i:], m.AccessLogEncoding) + } return i, nil } @@ -838,6 +856,10 @@ func (m *MeshConfig) Size() (n int) { if l > 0 { n += 2 + l + sovConfig(uint64(l)) } + l = len(m.AccessLogEncoding) + if l > 0 { + n += 2 + l + sovConfig(uint64(l)) + } return n } @@ -1539,6 +1561,35 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } m.TrustDomain = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 27: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AccessLogEncoding", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowConfig + } + 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 ErrInvalidLengthConfig + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AccessLogEncoding = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipConfig(dAtA[iNdEx:]) @@ -1849,69 +1900,70 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 1022 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdd, 0x4e, 0x23, 0x47, - 0x13, 0xdd, 0x01, 0x2f, 0x98, 0xf2, 0xdf, 0xd0, 0xac, 0x97, 0xc6, 0xdf, 0x27, 0xe2, 0x25, 0x0a, - 0x6b, 0xa1, 0x68, 0xac, 0x05, 0xe5, 0x22, 0xb9, 0x33, 0x06, 0x76, 0xbd, 0x32, 0x18, 0x8d, 0xcd, - 0x46, 0xe4, 0xa6, 0x35, 0xcc, 0xb4, 0xed, 0x16, 0xe3, 0xe9, 0xc9, 0x74, 0xcf, 0x66, 0x79, 0xa1, - 0xbc, 0x44, 0x5e, 0x20, 0x97, 0x79, 0x84, 0x88, 0x27, 0x89, 0xa6, 0x7a, 0x0c, 0x26, 0xb1, 0x44, - 0x94, 0xcb, 0x3e, 0x75, 0xaa, 0xaa, 0xeb, 0x54, 0x55, 0x37, 0x34, 0x66, 0x5c, 0x4d, 0xdb, 0x9f, - 0xdf, 0x79, 0x61, 0x3c, 0xf5, 0xde, 0xb5, 0x7d, 0x19, 0x8d, 0xc5, 0xc4, 0x89, 0x13, 0xa9, 0x25, - 0xd9, 0x12, 0x4a, 0x0b, 0xe9, 0x64, 0x0c, 0x67, 0xce, 0x68, 0xec, 0x4e, 0xa4, 0x9c, 0x84, 0xbc, - 0x8d, 0x94, 0x9b, 0x74, 0xdc, 0x0e, 0xd2, 0xc4, 0xd3, 0x42, 0x46, 0xc6, 0xa9, 0xb1, 0xf3, 0x34, - 0x60, 0x9c, 0xc8, 0x2f, 0x77, 0xb9, 0xe9, 0x20, 0xe2, 0xfa, 0x17, 0x99, 0xdc, 0x8a, 0x68, 0x32, - 0x27, 0x1c, 0xb5, 0x03, 0xae, 0xb4, 0x88, 0x30, 0x02, 0x4b, 0xd2, 0x90, 0x1b, 0xee, 0xde, 0xaf, - 0x15, 0x80, 0x73, 0xae, 0xa6, 0x5d, 0xbc, 0x10, 0xf9, 0x16, 0xc8, 0x4c, 0x7c, 0xe1, 0x09, 0xf3, - 0xa7, 0xdc, 0xbf, 0x65, 0x8a, 0x27, 0x9f, 0x79, 0x42, 0xad, 0xa6, 0xd5, 0xda, 0x70, 0x6d, 0xb4, - 0x74, 0x33, 0xc3, 0x10, 0x71, 0xe2, 0xc0, 0x96, 0x61, 0x27, 0x3c, 0x96, 0x89, 0x9e, 0xd3, 0x57, - 0x90, 0xbe, 0x89, 0x26, 0x17, 0x2d, 0x39, 0xff, 0x10, 0xea, 0x81, 0x50, 0xde, 0x4d, 0xc8, 0x59, - 0x2c, 0x43, 0xe1, 0xdf, 0x99, 0x34, 0x8a, 0xae, 0x36, 0xad, 0x56, 0xd1, 0xdd, 0xca, 0x8d, 0x97, - 0x68, 0xc3, 0x44, 0x8a, 0x1c, 0xc0, 0x26, 0xd6, 0xc6, 0x42, 0xa1, 0x34, 0x8f, 0x58, 0x16, 0x8e, - 0x16, 0x9a, 0x56, 0xeb, 0xa5, 0x5b, 0x43, 0x43, 0x1f, 0xf1, 0x4b, 0x99, 0x68, 0xb2, 0x0f, 0x06, - 0x62, 0x53, 0xad, 0x63, 0xc3, 0x7c, 0x89, 0xcc, 0x0a, 0xc2, 0x1f, 0xb4, 0x8e, 0x91, 0x77, 0x0c, - 0x35, 0x5f, 0x46, 0x11, 0xf7, 0x35, 0xd3, 0x62, 0xc6, 0x65, 0xaa, 0xe9, 0x5a, 0xd3, 0x6a, 0x95, - 0x0e, 0x77, 0x1c, 0xa3, 0xba, 0x33, 0x57, 0xdd, 0x39, 0xc9, 0x55, 0x77, 0xab, 0xb9, 0xc7, 0xc8, - 0x38, 0x90, 0xaf, 0xa1, 0x22, 0xa2, 0x49, 0xc2, 0x95, 0x62, 0x7e, 0xe8, 0x29, 0x45, 0xd7, 0xb1, - 0xea, 0x72, 0x0e, 0x76, 0x33, 0x8c, 0xbc, 0x85, 0xda, 0x9c, 0x94, 0x69, 0x23, 0x7c, 0x4e, 0x8b, - 0x48, 0xab, 0xe6, 0xf0, 0xd0, 0xa0, 0x64, 0x06, 0xdb, 0x0f, 0xd1, 0x64, 0xa4, 0x13, 0x19, 0x86, - 0x3c, 0x61, 0x33, 0x19, 0x70, 0xba, 0xd1, 0xb4, 0x5a, 0xd5, 0xc3, 0xef, 0x9c, 0x25, 0x43, 0xe2, - 0x3c, 0x76, 0xce, 0xe9, 0xe5, 0x79, 0x1f, 0xbc, 0xcf, 0x65, 0xc0, 0xdd, 0xba, 0x58, 0x06, 0x93, - 0x01, 0x94, 0xbc, 0x54, 0x4f, 0xf3, 0x2e, 0x50, 0xc0, 0x14, 0x07, 0xcf, 0xa5, 0xe8, 0xa4, 0x7a, - 0x6a, 0x7a, 0x73, 0xbc, 0x42, 0x2d, 0x17, 0xbc, 0x87, 0x33, 0xe9, 0xc1, 0x66, 0x12, 0x28, 0x96, - 0xf0, 0x71, 0xc2, 0xd5, 0x94, 0x05, 0x3c, 0xf4, 0xee, 0x68, 0xe9, 0x19, 0x4d, 0x31, 0x4a, 0x2d, - 0x09, 0x94, 0x6b, 0xdc, 0x4e, 0x32, 0x2f, 0xf2, 0x0d, 0x54, 0x79, 0x84, 0x33, 0xa2, 0x13, 0xcf, - 0x17, 0xd1, 0x84, 0x96, 0x71, 0x3a, 0x2a, 0x06, 0x1d, 0x19, 0x30, 0xeb, 0xb5, 0xe7, 0xfb, 0x99, - 0x60, 0xa1, 0x9c, 0xb0, 0xb1, 0x08, 0x39, 0xad, 0xa0, 0xb4, 0x15, 0x03, 0xf7, 0xe5, 0xe4, 0x4c, - 0x84, 0x9c, 0xbc, 0x87, 0x6a, 0xc0, 0xc7, 0x5e, 0x1a, 0x6a, 0x66, 0x96, 0x8e, 0x56, 0xf1, 0x5a, - 0xcd, 0xa5, 0xd5, 0x5e, 0x66, 0x73, 0x62, 0xca, 0x75, 0x2b, 0xb9, 0x5f, 0xbe, 0x1a, 0x6f, 0xa1, - 0x62, 0x86, 0xdd, 0x0b, 0x82, 0x4c, 0x52, 0x6a, 0x67, 0xe9, 0xb0, 0x86, 0x32, 0x1a, 0x3a, 0x06, - 0x27, 0x3f, 0xc3, 0xb6, 0x4c, 0xf5, 0x8d, 0x4c, 0xa3, 0x20, 0x2b, 0x61, 0x3c, 0x16, 0xfe, 0x5c, - 0xe8, 0x4d, 0x4c, 0xfd, 0x6c, 0x2f, 0x07, 0xb9, 0xfb, 0xc8, 0x78, 0x2f, 0x68, 0x5e, 0x97, 0xcb, - 0x4c, 0xe4, 0x04, 0xbe, 0xca, 0x35, 0xf3, 0x43, 0xc1, 0x23, 0xcd, 0x94, 0x08, 0x9e, 0xee, 0x18, - 0xdd, 0x42, 0x11, 0xff, 0x67, 0x68, 0x5d, 0x64, 0x0d, 0x45, 0xb0, 0xb8, 0x6b, 0xa4, 0x09, 0x65, - 0x15, 0x28, 0x96, 0x06, 0x8a, 0xc5, 0x9e, 0x9e, 0xd2, 0x57, 0xa8, 0x27, 0xa8, 0x40, 0x5d, 0x05, - 0xea, 0xd2, 0xd3, 0xd3, 0xac, 0xcd, 0xea, 0x1f, 0x6d, 0xae, 0xff, 0xab, 0x36, 0xab, 0xbf, 0xb5, - 0xf9, 0x03, 0x54, 0x4d, 0x3f, 0x98, 0x92, 0x69, 0xe2, 0x73, 0x45, 0x5f, 0x37, 0x57, 0x5b, 0xa5, - 0xc3, 0x37, 0x4b, 0xc5, 0x31, 0xc2, 0x0c, 0x91, 0xe9, 0x56, 0xfc, 0x85, 0x93, 0x22, 0x47, 0xf0, - 0x3a, 0x2f, 0x3e, 0xbb, 0x9b, 0x96, 0xb7, 0x3c, 0x62, 0x33, 0x99, 0x46, 0x9a, 0x6e, 0x9b, 0x67, - 0xc5, 0x58, 0x87, 0x81, 0x1a, 0x65, 0xb6, 0xf3, 0xcc, 0x94, 0x3d, 0x2b, 0x8b, 0xe3, 0x23, 0x93, - 0x99, 0xa7, 0x29, 0xc5, 0x82, 0x6b, 0x8f, 0x03, 0x84, 0x70, 0x96, 0x60, 0x51, 0x4a, 0x36, 0xf6, - 0x44, 0xc8, 0x64, 0xcc, 0x23, 0xba, 0x63, 0x12, 0xc4, 0x8f, 0x22, 0x9e, 0x79, 0x22, 0x1c, 0xc4, - 0x3c, 0x22, 0x6f, 0xa0, 0xac, 0x93, 0x54, 0x69, 0x16, 0xc8, 0x99, 0x27, 0x22, 0xda, 0xc0, 0xd8, - 0x25, 0xc4, 0x4e, 0x10, 0x6a, 0xfc, 0x66, 0x41, 0x7d, 0x69, 0xab, 0x89, 0x0b, 0x05, 0xdc, 0x7d, - 0x0b, 0x17, 0xf3, 0x87, 0xff, 0x34, 0x2f, 0x4e, 0xb6, 0xe9, 0xa8, 0x3d, 0xc6, 0xda, 0xbb, 0x80, - 0x02, 0xee, 0x7e, 0x1d, 0x2a, 0xee, 0xe9, 0xfb, 0xde, 0x70, 0xe4, 0x5e, 0xb3, 0xc1, 0x45, 0xff, - 0xda, 0x7e, 0xd1, 0x58, 0x29, 0x5a, 0x64, 0x13, 0x36, 0x3a, 0xfd, 0xfe, 0xe0, 0x47, 0xd6, 0xb9, - 0xb8, 0xb6, 0x2d, 0x84, 0xfe, 0x0f, 0xaf, 0x3e, 0xf5, 0xdc, 0xd1, 0x55, 0xa7, 0xcf, 0x86, 0xa7, - 0xee, 0xa7, 0x5e, 0xf7, 0xd4, 0x38, 0xac, 0x64, 0xd6, 0xbd, 0xef, 0xa1, 0xbe, 0xf4, 0xcd, 0x21, - 0xeb, 0xb0, 0x3a, 0x38, 0x3b, 0xb3, 0x5f, 0x90, 0x12, 0xac, 0x9f, 0x9c, 0x9e, 0x75, 0xae, 0xfa, - 0x23, 0xdb, 0x22, 0x00, 0x6b, 0xc3, 0x91, 0xdb, 0xeb, 0x8e, 0xec, 0x95, 0xbd, 0x7d, 0x80, 0xc7, - 0xb7, 0x84, 0x14, 0xa1, 0x70, 0x31, 0xb8, 0x38, 0xb5, 0x5f, 0x90, 0x2a, 0xc0, 0xf9, 0x15, 0xe6, - 0x1b, 0xf5, 0x87, 0xb6, 0xf5, 0xb1, 0x50, 0xac, 0xd9, 0xf6, 0xc7, 0x42, 0x91, 0xd8, 0x5b, 0x7b, - 0x0a, 0xca, 0x8b, 0x43, 0x40, 0x28, 0xac, 0xcf, 0x17, 0xd1, 0x7c, 0x4f, 0xf3, 0x23, 0xe9, 0x41, - 0x59, 0x87, 0xd9, 0x83, 0xab, 0xb5, 0x88, 0x26, 0x0a, 0xbf, 0xa3, 0xd2, 0xe1, 0x7e, 0x2e, 0xe2, - 0xe3, 0xdf, 0x38, 0x97, 0xf2, 0xc8, 0x19, 0xf5, 0x87, 0xc3, 0x9c, 0xed, 0x96, 0x74, 0xa8, 0xe6, - 0x87, 0xe3, 0xd6, 0xef, 0xf7, 0xbb, 0xd6, 0x1f, 0xf7, 0xbb, 0xd6, 0x9f, 0xf7, 0xbb, 0xd6, 0x4f, - 0x0d, 0x13, 0x41, 0xc8, 0xb6, 0x17, 0x8b, 0xf6, 0x93, 0xff, 0xf7, 0x66, 0x0d, 0xc7, 0xfe, 0xe8, - 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x33, 0xb9, 0xa7, 0xe8, 0x07, 0x00, 0x00, + // 1039 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x5f, 0x4f, 0x23, 0x37, + 0x10, 0x67, 0x21, 0x07, 0xc1, 0xf9, 0xb7, 0x98, 0xcb, 0x61, 0x72, 0x15, 0xcd, 0x51, 0x95, 0x8b, + 0x50, 0xb5, 0xd1, 0x81, 0xfa, 0xd0, 0xbe, 0x85, 0x10, 0xee, 0x72, 0x0a, 0x04, 0x6d, 0x96, 0xab, + 0xe8, 0x8b, 0xb5, 0xec, 0x3a, 0x89, 0xc5, 0x66, 0xbd, 0x5d, 0x7b, 0xaf, 0xc7, 0x67, 0xeb, 0x17, + 0xe8, 0x63, 0x9f, 0xfa, 0x5c, 0xf1, 0x49, 0x2a, 0x8f, 0x37, 0x10, 0xda, 0x48, 0x54, 0x7d, 0xf4, + 0x6f, 0x7e, 0x33, 0xe3, 0xf9, 0xcd, 0x78, 0x8c, 0x1a, 0x33, 0x26, 0xa7, 0xed, 0xcf, 0xef, 0xfc, + 0x28, 0x99, 0xfa, 0xef, 0xda, 0x81, 0x88, 0xc7, 0x7c, 0xe2, 0x24, 0xa9, 0x50, 0x02, 0x6f, 0x73, + 0xa9, 0xb8, 0x70, 0x34, 0xc3, 0x99, 0x33, 0x1a, 0x7b, 0x13, 0x21, 0x26, 0x11, 0x6b, 0x03, 0xe5, + 0x26, 0x1b, 0xb7, 0xc3, 0x2c, 0xf5, 0x15, 0x17, 0xb1, 0x71, 0x6a, 0xec, 0x3e, 0x0d, 0x98, 0xa4, + 0xe2, 0xcb, 0x5d, 0x6e, 0x3a, 0x8c, 0x99, 0xfa, 0x55, 0xa4, 0xb7, 0x3c, 0x9e, 0xcc, 0x09, 0xc7, + 0xed, 0x90, 0x49, 0xc5, 0x63, 0x88, 0x40, 0xd3, 0x2c, 0x62, 0x86, 0xbb, 0xff, 0x67, 0x05, 0xa1, + 0x73, 0x26, 0xa7, 0x5d, 0xb8, 0x10, 0xfe, 0x0e, 0xe1, 0x19, 0xff, 0xc2, 0x52, 0x1a, 0x4c, 0x59, + 0x70, 0x4b, 0x25, 0x4b, 0x3f, 0xb3, 0x94, 0x58, 0x4d, 0xab, 0xb5, 0xe9, 0xda, 0x60, 0xe9, 0x6a, + 0xc3, 0x08, 0x70, 0xec, 0xa0, 0x6d, 0xc3, 0x4e, 0x59, 0x22, 0x52, 0x35, 0xa7, 0xaf, 0x02, 0x7d, + 0x0b, 0x4c, 0x2e, 0x58, 0x72, 0xfe, 0x11, 0xaa, 0x87, 0x5c, 0xfa, 0x37, 0x11, 0xa3, 0x89, 0x88, + 0x78, 0x70, 0x67, 0xd2, 0x48, 0xb2, 0xd6, 0xb4, 0x5a, 0x45, 0x77, 0x3b, 0x37, 0x5e, 0x82, 0x0d, + 0x12, 0x49, 0x7c, 0x88, 0xb6, 0xa0, 0x36, 0x1a, 0x71, 0xa9, 0x58, 0x4c, 0x75, 0x38, 0x52, 0x68, + 0x5a, 0xad, 0x17, 0x6e, 0x0d, 0x0c, 0x03, 0xc0, 0x2f, 0x45, 0xaa, 0xf0, 0x01, 0x32, 0x10, 0x9d, + 0x2a, 0x95, 0x18, 0xe6, 0x0b, 0x60, 0x56, 0x00, 0xfe, 0xa0, 0x54, 0x02, 0xbc, 0x13, 0x54, 0x0b, + 0x44, 0x1c, 0xb3, 0x40, 0x51, 0xc5, 0x67, 0x4c, 0x64, 0x8a, 0xac, 0x37, 0xad, 0x56, 0xe9, 0x68, + 0xd7, 0x31, 0xaa, 0x3b, 0x73, 0xd5, 0x9d, 0xd3, 0x5c, 0x75, 0xb7, 0x9a, 0x7b, 0x78, 0xc6, 0x01, + 0x7f, 0x83, 0x2a, 0x3c, 0x9e, 0xa4, 0x4c, 0x4a, 0x1a, 0x44, 0xbe, 0x94, 0x64, 0x03, 0xaa, 0x2e, + 0xe7, 0x60, 0x57, 0x63, 0xf8, 0x2d, 0xaa, 0xcd, 0x49, 0x5a, 0x1b, 0x1e, 0x30, 0x52, 0x04, 0x5a, + 0x35, 0x87, 0x47, 0x06, 0xc5, 0x33, 0xb4, 0xf3, 0x10, 0x4d, 0xc4, 0x2a, 0x15, 0x51, 0xc4, 0x52, + 0x3a, 0x13, 0x21, 0x23, 0x9b, 0x4d, 0xab, 0x55, 0x3d, 0xfa, 0xde, 0x59, 0x32, 0x24, 0xce, 0x63, + 0xe7, 0x9c, 0x7e, 0x9e, 0xf7, 0xc1, 0xfb, 0x5c, 0x84, 0xcc, 0xad, 0xf3, 0x65, 0x30, 0x1e, 0xa2, + 0x92, 0x9f, 0xa9, 0x69, 0xde, 0x05, 0x82, 0x20, 0xc5, 0xe1, 0x73, 0x29, 0x3a, 0x99, 0x9a, 0x9a, + 0xde, 0x9c, 0xac, 0x12, 0xcb, 0x45, 0xfe, 0xc3, 0x19, 0xf7, 0xd1, 0x56, 0x1a, 0x4a, 0x9a, 0xb2, + 0x71, 0xca, 0xe4, 0x94, 0x86, 0x2c, 0xf2, 0xef, 0x48, 0xe9, 0x19, 0x4d, 0x21, 0x4a, 0x2d, 0x0d, + 0xa5, 0x6b, 0xdc, 0x4e, 0xb5, 0x17, 0xfe, 0x16, 0x55, 0x59, 0x0c, 0x33, 0xa2, 0x52, 0x3f, 0xe0, + 0xf1, 0x84, 0x94, 0x61, 0x3a, 0x2a, 0x06, 0xf5, 0x0c, 0xa8, 0x7b, 0xed, 0x07, 0x81, 0x16, 0x2c, + 0x12, 0x13, 0x3a, 0xe6, 0x11, 0x23, 0x15, 0x90, 0xb6, 0x62, 0xe0, 0x81, 0x98, 0x9c, 0xf1, 0x88, + 0xe1, 0xf7, 0xa8, 0x1a, 0xb2, 0xb1, 0x9f, 0x45, 0x8a, 0x9a, 0x47, 0x47, 0xaa, 0x70, 0xad, 0xe6, + 0xd2, 0x6a, 0x2f, 0xf5, 0x9c, 0x98, 0x72, 0xdd, 0x4a, 0xee, 0x97, 0x3f, 0x8d, 0xb7, 0xa8, 0x62, + 0x86, 0xdd, 0x0f, 0x43, 0x2d, 0x29, 0xb1, 0x75, 0x3a, 0xa8, 0xa1, 0x0c, 0x86, 0x8e, 0xc1, 0xf1, + 0x2f, 0x68, 0x47, 0x64, 0xea, 0x46, 0x64, 0x71, 0xa8, 0x4b, 0x18, 0x8f, 0x79, 0x30, 0x17, 0x7a, + 0x0b, 0x52, 0x3f, 0xdb, 0xcb, 0x61, 0xee, 0xee, 0x19, 0xef, 0x05, 0xcd, 0xeb, 0x62, 0x99, 0x09, + 0x9f, 0xa2, 0xaf, 0x73, 0xcd, 0x82, 0x88, 0xb3, 0x58, 0x51, 0xc9, 0xc3, 0xa7, 0x6f, 0x8c, 0x6c, + 0x83, 0x88, 0xaf, 0x0d, 0xad, 0x0b, 0xac, 0x11, 0x0f, 0x17, 0xdf, 0x1a, 0x6e, 0xa2, 0xb2, 0x0c, + 0x25, 0xcd, 0x42, 0x49, 0x13, 0x5f, 0x4d, 0xc9, 0x4b, 0xd0, 0x13, 0xc9, 0x50, 0x5e, 0x85, 0xf2, + 0xd2, 0x57, 0x53, 0xdd, 0x66, 0xf9, 0xaf, 0x36, 0xd7, 0xff, 0x53, 0x9b, 0xe5, 0x3f, 0xda, 0xfc, + 0x01, 0x55, 0x4d, 0x3f, 0xa8, 0x14, 0x59, 0x1a, 0x30, 0x49, 0x5e, 0x35, 0xd7, 0x5a, 0xa5, 0xa3, + 0x37, 0x4b, 0xc5, 0x31, 0xc2, 0x8c, 0x80, 0xe9, 0x56, 0x82, 0x85, 0x93, 0xc4, 0xc7, 0xe8, 0x55, + 0x5e, 0xbc, 0xbe, 0x9b, 0x12, 0xb7, 0x2c, 0xa6, 0x33, 0x91, 0xc5, 0x8a, 0xec, 0x98, 0xb5, 0x62, + 0xac, 0xa3, 0x50, 0x7a, 0xda, 0x76, 0xae, 0x4d, 0x7a, 0xad, 0x2c, 0x8e, 0x8f, 0x48, 0x67, 0xbe, + 0x22, 0x04, 0x0a, 0xae, 0x3d, 0x0e, 0x10, 0xc0, 0x3a, 0xc1, 0xa2, 0x94, 0x74, 0xec, 0xf3, 0x88, + 0x8a, 0x84, 0xc5, 0x64, 0xd7, 0x24, 0x48, 0x1e, 0x45, 0x3c, 0xf3, 0x79, 0x34, 0x4c, 0x58, 0x8c, + 0xdf, 0xa0, 0xb2, 0x4a, 0x33, 0xa9, 0x68, 0x28, 0x66, 0x3e, 0x8f, 0x49, 0x03, 0x62, 0x97, 0x00, + 0x3b, 0x05, 0x48, 0xaf, 0xcf, 0x85, 0x3b, 0xb0, 0x38, 0x10, 0xa1, 0x1e, 0xf7, 0xd7, 0x66, 0x7d, + 0x3e, 0xdc, 0xa2, 0x97, 0x1b, 0x1a, 0xbf, 0x59, 0xa8, 0xbe, 0x74, 0x34, 0xb0, 0x8b, 0x0a, 0xb0, + 0x2b, 0x2c, 0x78, 0xc8, 0x3f, 0xfe, 0xaf, 0xf9, 0x72, 0xf4, 0x66, 0x80, 0x5e, 0x41, 0xac, 0xfd, + 0x0b, 0x54, 0x80, 0x5d, 0x51, 0x47, 0x15, 0xb7, 0xf7, 0xbe, 0x3f, 0xf2, 0xdc, 0x6b, 0x3a, 0xbc, + 0x18, 0x5c, 0xdb, 0x2b, 0x8d, 0xd5, 0xa2, 0x85, 0xb7, 0xd0, 0x66, 0x67, 0x30, 0x18, 0xfe, 0x44, + 0x3b, 0x17, 0xd7, 0xb6, 0x05, 0xd0, 0x57, 0xe8, 0xe5, 0xa7, 0xbe, 0xeb, 0x5d, 0x75, 0x06, 0x74, + 0xd4, 0x73, 0x3f, 0xf5, 0xbb, 0x3d, 0xe3, 0xb0, 0xaa, 0xad, 0xfb, 0x3f, 0xa0, 0xfa, 0xd2, 0x1d, + 0x85, 0x37, 0xd0, 0xda, 0xf0, 0xec, 0xcc, 0x5e, 0xc1, 0x25, 0xb4, 0x71, 0xda, 0x3b, 0xeb, 0x5c, + 0x0d, 0x3c, 0xdb, 0xc2, 0x08, 0xad, 0x8f, 0x3c, 0xb7, 0xdf, 0xf5, 0xec, 0xd5, 0xfd, 0x03, 0x84, + 0x1e, 0x77, 0x0f, 0x2e, 0xa2, 0xc2, 0xc5, 0xf0, 0xa2, 0x67, 0xaf, 0xe0, 0x2a, 0x42, 0xe7, 0x57, + 0x90, 0xcf, 0x1b, 0x8c, 0x6c, 0xeb, 0x63, 0xa1, 0x58, 0xb3, 0xed, 0x8f, 0x85, 0x22, 0xb6, 0xb7, + 0xf7, 0x25, 0x2a, 0x2f, 0x0e, 0x0d, 0x26, 0x68, 0x63, 0xfe, 0x70, 0xcd, 0x77, 0x36, 0x3f, 0xe2, + 0x3e, 0x2a, 0xab, 0x48, 0x2f, 0x68, 0xa5, 0x78, 0x3c, 0x91, 0xf0, 0x7d, 0x95, 0x8e, 0x0e, 0x72, + 0x11, 0x1f, 0xff, 0xd2, 0xb9, 0x94, 0xc7, 0x8e, 0x37, 0x18, 0x8d, 0x72, 0xb6, 0x5b, 0x52, 0x91, + 0x9c, 0x1f, 0x4e, 0x5a, 0xbf, 0xdf, 0xef, 0x59, 0x7f, 0xdc, 0xef, 0x59, 0x7f, 0xdd, 0xef, 0x59, + 0x3f, 0x37, 0x4c, 0x04, 0x2e, 0xda, 0x7e, 0xc2, 0xdb, 0x4f, 0xfe, 0xeb, 0x9b, 0x75, 0x78, 0x26, + 0xc7, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x34, 0x94, 0x8e, 0x18, 0x08, 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index 38b2b2faec..9505758427 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -121,10 +121,14 @@ message MeshConfig { // Empty value disables access logging. string access_log_file = 13; - // Format for the proxy access log (text or json). - // Default value is text. + // Format for the proxy access log + // Empty value results in proxy's default access log format string access_log_format = 24; + // Encoding for the proxy access log (text or json). + // Default value is text. + string access_log_encoding = 27; + // Default proxy config used by the proxy injection mechanism operating in the mesh // (e.g. Kubernetes admission controller) // In case of Kubernetes, the proxy config is applied once during the injection process, @@ -188,7 +192,7 @@ message MeshConfig { string trust_domain = 26; // $hide_from_docs - // Next available field number: 27 + // Next available field number: 28 } // ConfigSource describes information about a configuration store inside a diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index e5ade7fc3e..c7b162a46c 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -221,7 +221,16 @@

MeshConfig

accessLogFormat string -

Format for the proxy access log (text or json). +

Format for the proxy access log +Empty value results in proxy’s default access log format

+ + + + +accessLogEncoding +string + +

Encoding for the proxy access log (text or json). Default value is text.

diff --git a/proto.lock b/proto.lock index 17752c00c6..789228faca 100644 --- a/proto.lock +++ b/proto.lock @@ -758,6 +758,11 @@ "name": "access_log_format", "type": "string" }, + { + "id": 27, + "name": "access_log_encoding", + "type": "string" + }, { "id": 14, "name": "default_config", diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index e6fc3b9567..67482484c3 100644 --- a/python/istio_api/mesh/v1alpha1/config_pb2.py +++ b/python/istio_api/mesh/v1alpha1/config_pb2.py @@ -22,7 +22,7 @@ name='mesh/v1alpha1/config.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\x81\n\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\x9e\n\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12\x1b\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\t\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mesh_dot_v1alpha1_dot_proxy__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_destination__rule__pb2.DESCRIPTOR,]) @@ -49,8 +49,8 @@ ], containing_type=None, options=None, - serialized_start=1247, - serialized_end=1325, + serialized_start=1276, + serialized_end=1354, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) @@ -75,8 +75,8 @@ ], containing_type=None, options=None, - serialized_start=1327, - serialized_end=1384, + serialized_start=1356, + serialized_end=1413, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -97,8 +97,8 @@ ], containing_type=None, options=None, - serialized_start=1386, - serialized_end=1424, + serialized_start=1415, + serialized_end=1453, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -130,8 +130,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1144, - serialized_end=1325, + serialized_start=1173, + serialized_end=1354, ) _MESHCONFIG = _descriptor.Descriptor( @@ -247,63 +247,70 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=15, + name='access_log_encoding', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_encoding', index=15, + number=27, 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='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=16, number=14, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=16, + name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=17, number=16, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=17, + name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=18, number=17, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=18, + name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=19, number=19, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=19, + name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=20, number=20, 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='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=20, + name='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=21, number=21, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=21, + name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=22, number=22, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=22, + name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=23, number=23, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=23, + name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=24, number=26, 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, @@ -324,7 +331,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1436, + serialized_end=1465, ) @@ -361,8 +368,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1438, - serialized_end=1531, + serialized_start=1467, + serialized_end=1560, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE From 44363fb191a6032a53f62bbb520d838ddc237275 Mon Sep 17 00:00:00 2001 From: Gregory Hanson Date: Mon, 19 Nov 2018 16:36:02 -0600 Subject: [PATCH 04/10] Revert "fix naming convention between access log format vs encoding (#711)" (#712) This reverts commit 60483a526b525d9b2096d66bb7180d9b15481895. --- mesh/v1alpha1/config.pb.go | 186 +++++++------------ mesh/v1alpha1/config.proto | 10 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 11 +- proto.lock | 5 - python/istio_api/mesh/v1alpha1/config_pb2.py | 49 +++-- 5 files changed, 92 insertions(+), 169 deletions(-) diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 68e6849aa4..98218b7feb 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -183,12 +183,9 @@ type MeshConfig struct { // File address for the proxy access log (e.g. /dev/stdout). // Empty value disables access logging. AccessLogFile string `protobuf:"bytes,13,opt,name=access_log_file,json=accessLogFile,proto3" json:"access_log_file,omitempty"` - // Format for the proxy access log - // Empty value results in proxy's default access log format - AccessLogFormat string `protobuf:"bytes,24,opt,name=access_log_format,json=accessLogFormat,proto3" json:"access_log_format,omitempty"` - // Encoding for the proxy access log (text or json). + // Format for the proxy access log (text or json). // Default value is text. - AccessLogEncoding string `protobuf:"bytes,27,opt,name=access_log_encoding,json=accessLogEncoding,proto3" json:"access_log_encoding,omitempty"` + AccessLogFormat string `protobuf:"bytes,24,opt,name=access_log_format,json=accessLogFormat,proto3" json:"access_log_format,omitempty"` // Default proxy config used by the proxy injection mechanism operating in the mesh // (e.g. Kubernetes admission controller) // In case of Kubernetes, the proxy config is applied once during the injection process, @@ -337,13 +334,6 @@ func (m *MeshConfig) GetAccessLogFormat() string { return "" } -func (m *MeshConfig) GetAccessLogEncoding() string { - if m != nil { - return m.AccessLogEncoding - } - return "" -} - func (m *MeshConfig) GetDefaultConfig() *ProxyConfig { if m != nil { return m.DefaultConfig @@ -687,14 +677,6 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintConfig(dAtA, i, uint64(len(m.TrustDomain))) i += copy(dAtA[i:], m.TrustDomain) } - if len(m.AccessLogEncoding) > 0 { - dAtA[i] = 0xda - i++ - dAtA[i] = 0x1 - i++ - i = encodeVarintConfig(dAtA, i, uint64(len(m.AccessLogEncoding))) - i += copy(dAtA[i:], m.AccessLogEncoding) - } return i, nil } @@ -856,10 +838,6 @@ func (m *MeshConfig) Size() (n int) { if l > 0 { n += 2 + l + sovConfig(uint64(l)) } - l = len(m.AccessLogEncoding) - if l > 0 { - n += 2 + l + sovConfig(uint64(l)) - } return n } @@ -1561,35 +1539,6 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } m.TrustDomain = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 27: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AccessLogEncoding", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConfig - } - 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 ErrInvalidLengthConfig - } - postIndex := iNdEx + intStringLen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AccessLogEncoding = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipConfig(dAtA[iNdEx:]) @@ -1900,70 +1849,69 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 1039 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x5f, 0x4f, 0x23, 0x37, - 0x10, 0x67, 0x21, 0x07, 0xc1, 0xf9, 0xb7, 0x98, 0xcb, 0x61, 0x72, 0x15, 0xcd, 0x51, 0x95, 0x8b, - 0x50, 0xb5, 0xd1, 0x81, 0xfa, 0xd0, 0xbe, 0x85, 0x10, 0xee, 0x72, 0x0a, 0x04, 0x6d, 0x96, 0xab, - 0xe8, 0x8b, 0xb5, 0xec, 0x3a, 0x89, 0xc5, 0x66, 0xbd, 0x5d, 0x7b, 0xaf, 0xc7, 0x67, 0xeb, 0x17, - 0xe8, 0x63, 0x9f, 0xfa, 0x5c, 0xf1, 0x49, 0x2a, 0x8f, 0x37, 0x10, 0xda, 0x48, 0x54, 0x7d, 0xf4, - 0x6f, 0x7e, 0x33, 0xe3, 0xf9, 0xcd, 0x78, 0x8c, 0x1a, 0x33, 0x26, 0xa7, 0xed, 0xcf, 0xef, 0xfc, - 0x28, 0x99, 0xfa, 0xef, 0xda, 0x81, 0x88, 0xc7, 0x7c, 0xe2, 0x24, 0xa9, 0x50, 0x02, 0x6f, 0x73, - 0xa9, 0xb8, 0x70, 0x34, 0xc3, 0x99, 0x33, 0x1a, 0x7b, 0x13, 0x21, 0x26, 0x11, 0x6b, 0x03, 0xe5, - 0x26, 0x1b, 0xb7, 0xc3, 0x2c, 0xf5, 0x15, 0x17, 0xb1, 0x71, 0x6a, 0xec, 0x3e, 0x0d, 0x98, 0xa4, - 0xe2, 0xcb, 0x5d, 0x6e, 0x3a, 0x8c, 0x99, 0xfa, 0x55, 0xa4, 0xb7, 0x3c, 0x9e, 0xcc, 0x09, 0xc7, - 0xed, 0x90, 0x49, 0xc5, 0x63, 0x88, 0x40, 0xd3, 0x2c, 0x62, 0x86, 0xbb, 0xff, 0x67, 0x05, 0xa1, - 0x73, 0x26, 0xa7, 0x5d, 0xb8, 0x10, 0xfe, 0x0e, 0xe1, 0x19, 0xff, 0xc2, 0x52, 0x1a, 0x4c, 0x59, - 0x70, 0x4b, 0x25, 0x4b, 0x3f, 0xb3, 0x94, 0x58, 0x4d, 0xab, 0xb5, 0xe9, 0xda, 0x60, 0xe9, 0x6a, - 0xc3, 0x08, 0x70, 0xec, 0xa0, 0x6d, 0xc3, 0x4e, 0x59, 0x22, 0x52, 0x35, 0xa7, 0xaf, 0x02, 0x7d, - 0x0b, 0x4c, 0x2e, 0x58, 0x72, 0xfe, 0x11, 0xaa, 0x87, 0x5c, 0xfa, 0x37, 0x11, 0xa3, 0x89, 0x88, - 0x78, 0x70, 0x67, 0xd2, 0x48, 0xb2, 0xd6, 0xb4, 0x5a, 0x45, 0x77, 0x3b, 0x37, 0x5e, 0x82, 0x0d, - 0x12, 0x49, 0x7c, 0x88, 0xb6, 0xa0, 0x36, 0x1a, 0x71, 0xa9, 0x58, 0x4c, 0x75, 0x38, 0x52, 0x68, - 0x5a, 0xad, 0x17, 0x6e, 0x0d, 0x0c, 0x03, 0xc0, 0x2f, 0x45, 0xaa, 0xf0, 0x01, 0x32, 0x10, 0x9d, - 0x2a, 0x95, 0x18, 0xe6, 0x0b, 0x60, 0x56, 0x00, 0xfe, 0xa0, 0x54, 0x02, 0xbc, 0x13, 0x54, 0x0b, - 0x44, 0x1c, 0xb3, 0x40, 0x51, 0xc5, 0x67, 0x4c, 0x64, 0x8a, 0xac, 0x37, 0xad, 0x56, 0xe9, 0x68, - 0xd7, 0x31, 0xaa, 0x3b, 0x73, 0xd5, 0x9d, 0xd3, 0x5c, 0x75, 0xb7, 0x9a, 0x7b, 0x78, 0xc6, 0x01, - 0x7f, 0x83, 0x2a, 0x3c, 0x9e, 0xa4, 0x4c, 0x4a, 0x1a, 0x44, 0xbe, 0x94, 0x64, 0x03, 0xaa, 0x2e, - 0xe7, 0x60, 0x57, 0x63, 0xf8, 0x2d, 0xaa, 0xcd, 0x49, 0x5a, 0x1b, 0x1e, 0x30, 0x52, 0x04, 0x5a, - 0x35, 0x87, 0x47, 0x06, 0xc5, 0x33, 0xb4, 0xf3, 0x10, 0x4d, 0xc4, 0x2a, 0x15, 0x51, 0xc4, 0x52, - 0x3a, 0x13, 0x21, 0x23, 0x9b, 0x4d, 0xab, 0x55, 0x3d, 0xfa, 0xde, 0x59, 0x32, 0x24, 0xce, 0x63, - 0xe7, 0x9c, 0x7e, 0x9e, 0xf7, 0xc1, 0xfb, 0x5c, 0x84, 0xcc, 0xad, 0xf3, 0x65, 0x30, 0x1e, 0xa2, - 0x92, 0x9f, 0xa9, 0x69, 0xde, 0x05, 0x82, 0x20, 0xc5, 0xe1, 0x73, 0x29, 0x3a, 0x99, 0x9a, 0x9a, - 0xde, 0x9c, 0xac, 0x12, 0xcb, 0x45, 0xfe, 0xc3, 0x19, 0xf7, 0xd1, 0x56, 0x1a, 0x4a, 0x9a, 0xb2, - 0x71, 0xca, 0xe4, 0x94, 0x86, 0x2c, 0xf2, 0xef, 0x48, 0xe9, 0x19, 0x4d, 0x21, 0x4a, 0x2d, 0x0d, - 0xa5, 0x6b, 0xdc, 0x4e, 0xb5, 0x17, 0xfe, 0x16, 0x55, 0x59, 0x0c, 0x33, 0xa2, 0x52, 0x3f, 0xe0, - 0xf1, 0x84, 0x94, 0x61, 0x3a, 0x2a, 0x06, 0xf5, 0x0c, 0xa8, 0x7b, 0xed, 0x07, 0x81, 0x16, 0x2c, - 0x12, 0x13, 0x3a, 0xe6, 0x11, 0x23, 0x15, 0x90, 0xb6, 0x62, 0xe0, 0x81, 0x98, 0x9c, 0xf1, 0x88, - 0xe1, 0xf7, 0xa8, 0x1a, 0xb2, 0xb1, 0x9f, 0x45, 0x8a, 0x9a, 0x47, 0x47, 0xaa, 0x70, 0xad, 0xe6, - 0xd2, 0x6a, 0x2f, 0xf5, 0x9c, 0x98, 0x72, 0xdd, 0x4a, 0xee, 0x97, 0x3f, 0x8d, 0xb7, 0xa8, 0x62, - 0x86, 0xdd, 0x0f, 0x43, 0x2d, 0x29, 0xb1, 0x75, 0x3a, 0xa8, 0xa1, 0x0c, 0x86, 0x8e, 0xc1, 0xf1, - 0x2f, 0x68, 0x47, 0x64, 0xea, 0x46, 0x64, 0x71, 0xa8, 0x4b, 0x18, 0x8f, 0x79, 0x30, 0x17, 0x7a, - 0x0b, 0x52, 0x3f, 0xdb, 0xcb, 0x61, 0xee, 0xee, 0x19, 0xef, 0x05, 0xcd, 0xeb, 0x62, 0x99, 0x09, - 0x9f, 0xa2, 0xaf, 0x73, 0xcd, 0x82, 0x88, 0xb3, 0x58, 0x51, 0xc9, 0xc3, 0xa7, 0x6f, 0x8c, 0x6c, - 0x83, 0x88, 0xaf, 0x0d, 0xad, 0x0b, 0xac, 0x11, 0x0f, 0x17, 0xdf, 0x1a, 0x6e, 0xa2, 0xb2, 0x0c, - 0x25, 0xcd, 0x42, 0x49, 0x13, 0x5f, 0x4d, 0xc9, 0x4b, 0xd0, 0x13, 0xc9, 0x50, 0x5e, 0x85, 0xf2, - 0xd2, 0x57, 0x53, 0xdd, 0x66, 0xf9, 0xaf, 0x36, 0xd7, 0xff, 0x53, 0x9b, 0xe5, 0x3f, 0xda, 0xfc, - 0x01, 0x55, 0x4d, 0x3f, 0xa8, 0x14, 0x59, 0x1a, 0x30, 0x49, 0x5e, 0x35, 0xd7, 0x5a, 0xa5, 0xa3, - 0x37, 0x4b, 0xc5, 0x31, 0xc2, 0x8c, 0x80, 0xe9, 0x56, 0x82, 0x85, 0x93, 0xc4, 0xc7, 0xe8, 0x55, - 0x5e, 0xbc, 0xbe, 0x9b, 0x12, 0xb7, 0x2c, 0xa6, 0x33, 0x91, 0xc5, 0x8a, 0xec, 0x98, 0xb5, 0x62, - 0xac, 0xa3, 0x50, 0x7a, 0xda, 0x76, 0xae, 0x4d, 0x7a, 0xad, 0x2c, 0x8e, 0x8f, 0x48, 0x67, 0xbe, - 0x22, 0x04, 0x0a, 0xae, 0x3d, 0x0e, 0x10, 0xc0, 0x3a, 0xc1, 0xa2, 0x94, 0x74, 0xec, 0xf3, 0x88, - 0x8a, 0x84, 0xc5, 0x64, 0xd7, 0x24, 0x48, 0x1e, 0x45, 0x3c, 0xf3, 0x79, 0x34, 0x4c, 0x58, 0x8c, - 0xdf, 0xa0, 0xb2, 0x4a, 0x33, 0xa9, 0x68, 0x28, 0x66, 0x3e, 0x8f, 0x49, 0x03, 0x62, 0x97, 0x00, - 0x3b, 0x05, 0x48, 0xaf, 0xcf, 0x85, 0x3b, 0xb0, 0x38, 0x10, 0xa1, 0x1e, 0xf7, 0xd7, 0x66, 0x7d, - 0x3e, 0xdc, 0xa2, 0x97, 0x1b, 0x1a, 0xbf, 0x59, 0xa8, 0xbe, 0x74, 0x34, 0xb0, 0x8b, 0x0a, 0xb0, - 0x2b, 0x2c, 0x78, 0xc8, 0x3f, 0xfe, 0xaf, 0xf9, 0x72, 0xf4, 0x66, 0x80, 0x5e, 0x41, 0xac, 0xfd, - 0x0b, 0x54, 0x80, 0x5d, 0x51, 0x47, 0x15, 0xb7, 0xf7, 0xbe, 0x3f, 0xf2, 0xdc, 0x6b, 0x3a, 0xbc, - 0x18, 0x5c, 0xdb, 0x2b, 0x8d, 0xd5, 0xa2, 0x85, 0xb7, 0xd0, 0x66, 0x67, 0x30, 0x18, 0xfe, 0x44, - 0x3b, 0x17, 0xd7, 0xb6, 0x05, 0xd0, 0x57, 0xe8, 0xe5, 0xa7, 0xbe, 0xeb, 0x5d, 0x75, 0x06, 0x74, - 0xd4, 0x73, 0x3f, 0xf5, 0xbb, 0x3d, 0xe3, 0xb0, 0xaa, 0xad, 0xfb, 0x3f, 0xa0, 0xfa, 0xd2, 0x1d, - 0x85, 0x37, 0xd0, 0xda, 0xf0, 0xec, 0xcc, 0x5e, 0xc1, 0x25, 0xb4, 0x71, 0xda, 0x3b, 0xeb, 0x5c, - 0x0d, 0x3c, 0xdb, 0xc2, 0x08, 0xad, 0x8f, 0x3c, 0xb7, 0xdf, 0xf5, 0xec, 0xd5, 0xfd, 0x03, 0x84, - 0x1e, 0x77, 0x0f, 0x2e, 0xa2, 0xc2, 0xc5, 0xf0, 0xa2, 0x67, 0xaf, 0xe0, 0x2a, 0x42, 0xe7, 0x57, - 0x90, 0xcf, 0x1b, 0x8c, 0x6c, 0xeb, 0x63, 0xa1, 0x58, 0xb3, 0xed, 0x8f, 0x85, 0x22, 0xb6, 0xb7, - 0xf7, 0x25, 0x2a, 0x2f, 0x0e, 0x0d, 0x26, 0x68, 0x63, 0xfe, 0x70, 0xcd, 0x77, 0x36, 0x3f, 0xe2, - 0x3e, 0x2a, 0xab, 0x48, 0x2f, 0x68, 0xa5, 0x78, 0x3c, 0x91, 0xf0, 0x7d, 0x95, 0x8e, 0x0e, 0x72, - 0x11, 0x1f, 0xff, 0xd2, 0xb9, 0x94, 0xc7, 0x8e, 0x37, 0x18, 0x8d, 0x72, 0xb6, 0x5b, 0x52, 0x91, - 0x9c, 0x1f, 0x4e, 0x5a, 0xbf, 0xdf, 0xef, 0x59, 0x7f, 0xdc, 0xef, 0x59, 0x7f, 0xdd, 0xef, 0x59, - 0x3f, 0x37, 0x4c, 0x04, 0x2e, 0xda, 0x7e, 0xc2, 0xdb, 0x4f, 0xfe, 0xeb, 0x9b, 0x75, 0x78, 0x26, - 0xc7, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x34, 0x94, 0x8e, 0x18, 0x08, 0x00, 0x00, + // 1022 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdd, 0x4e, 0x23, 0x47, + 0x13, 0xdd, 0x01, 0x2f, 0x98, 0xf2, 0xdf, 0xd0, 0xac, 0x97, 0xc6, 0xdf, 0x27, 0xe2, 0x25, 0x0a, + 0x6b, 0xa1, 0x68, 0xac, 0x05, 0xe5, 0x22, 0xb9, 0x33, 0x06, 0x76, 0xbd, 0x32, 0x18, 0x8d, 0xcd, + 0x46, 0xe4, 0xa6, 0x35, 0xcc, 0xb4, 0xed, 0x16, 0xe3, 0xe9, 0xc9, 0x74, 0xcf, 0x66, 0x79, 0xa1, + 0xbc, 0x44, 0x5e, 0x20, 0x97, 0x79, 0x84, 0x88, 0x27, 0x89, 0xa6, 0x7a, 0x0c, 0x26, 0xb1, 0x44, + 0x94, 0xcb, 0x3e, 0x75, 0xaa, 0xaa, 0xeb, 0x54, 0x55, 0x37, 0x34, 0x66, 0x5c, 0x4d, 0xdb, 0x9f, + 0xdf, 0x79, 0x61, 0x3c, 0xf5, 0xde, 0xb5, 0x7d, 0x19, 0x8d, 0xc5, 0xc4, 0x89, 0x13, 0xa9, 0x25, + 0xd9, 0x12, 0x4a, 0x0b, 0xe9, 0x64, 0x0c, 0x67, 0xce, 0x68, 0xec, 0x4e, 0xa4, 0x9c, 0x84, 0xbc, + 0x8d, 0x94, 0x9b, 0x74, 0xdc, 0x0e, 0xd2, 0xc4, 0xd3, 0x42, 0x46, 0xc6, 0xa9, 0xb1, 0xf3, 0x34, + 0x60, 0x9c, 0xc8, 0x2f, 0x77, 0xb9, 0xe9, 0x20, 0xe2, 0xfa, 0x17, 0x99, 0xdc, 0x8a, 0x68, 0x32, + 0x27, 0x1c, 0xb5, 0x03, 0xae, 0xb4, 0x88, 0x30, 0x02, 0x4b, 0xd2, 0x90, 0x1b, 0xee, 0xde, 0xaf, + 0x15, 0x80, 0x73, 0xae, 0xa6, 0x5d, 0xbc, 0x10, 0xf9, 0x16, 0xc8, 0x4c, 0x7c, 0xe1, 0x09, 0xf3, + 0xa7, 0xdc, 0xbf, 0x65, 0x8a, 0x27, 0x9f, 0x79, 0x42, 0xad, 0xa6, 0xd5, 0xda, 0x70, 0x6d, 0xb4, + 0x74, 0x33, 0xc3, 0x10, 0x71, 0xe2, 0xc0, 0x96, 0x61, 0x27, 0x3c, 0x96, 0x89, 0x9e, 0xd3, 0x57, + 0x90, 0xbe, 0x89, 0x26, 0x17, 0x2d, 0x39, 0xff, 0x10, 0xea, 0x81, 0x50, 0xde, 0x4d, 0xc8, 0x59, + 0x2c, 0x43, 0xe1, 0xdf, 0x99, 0x34, 0x8a, 0xae, 0x36, 0xad, 0x56, 0xd1, 0xdd, 0xca, 0x8d, 0x97, + 0x68, 0xc3, 0x44, 0x8a, 0x1c, 0xc0, 0x26, 0xd6, 0xc6, 0x42, 0xa1, 0x34, 0x8f, 0x58, 0x16, 0x8e, + 0x16, 0x9a, 0x56, 0xeb, 0xa5, 0x5b, 0x43, 0x43, 0x1f, 0xf1, 0x4b, 0x99, 0x68, 0xb2, 0x0f, 0x06, + 0x62, 0x53, 0xad, 0x63, 0xc3, 0x7c, 0x89, 0xcc, 0x0a, 0xc2, 0x1f, 0xb4, 0x8e, 0x91, 0x77, 0x0c, + 0x35, 0x5f, 0x46, 0x11, 0xf7, 0x35, 0xd3, 0x62, 0xc6, 0x65, 0xaa, 0xe9, 0x5a, 0xd3, 0x6a, 0x95, + 0x0e, 0x77, 0x1c, 0xa3, 0xba, 0x33, 0x57, 0xdd, 0x39, 0xc9, 0x55, 0x77, 0xab, 0xb9, 0xc7, 0xc8, + 0x38, 0x90, 0xaf, 0xa1, 0x22, 0xa2, 0x49, 0xc2, 0x95, 0x62, 0x7e, 0xe8, 0x29, 0x45, 0xd7, 0xb1, + 0xea, 0x72, 0x0e, 0x76, 0x33, 0x8c, 0xbc, 0x85, 0xda, 0x9c, 0x94, 0x69, 0x23, 0x7c, 0x4e, 0x8b, + 0x48, 0xab, 0xe6, 0xf0, 0xd0, 0xa0, 0x64, 0x06, 0xdb, 0x0f, 0xd1, 0x64, 0xa4, 0x13, 0x19, 0x86, + 0x3c, 0x61, 0x33, 0x19, 0x70, 0xba, 0xd1, 0xb4, 0x5a, 0xd5, 0xc3, 0xef, 0x9c, 0x25, 0x43, 0xe2, + 0x3c, 0x76, 0xce, 0xe9, 0xe5, 0x79, 0x1f, 0xbc, 0xcf, 0x65, 0xc0, 0xdd, 0xba, 0x58, 0x06, 0x93, + 0x01, 0x94, 0xbc, 0x54, 0x4f, 0xf3, 0x2e, 0x50, 0xc0, 0x14, 0x07, 0xcf, 0xa5, 0xe8, 0xa4, 0x7a, + 0x6a, 0x7a, 0x73, 0xbc, 0x42, 0x2d, 0x17, 0xbc, 0x87, 0x33, 0xe9, 0xc1, 0x66, 0x12, 0x28, 0x96, + 0xf0, 0x71, 0xc2, 0xd5, 0x94, 0x05, 0x3c, 0xf4, 0xee, 0x68, 0xe9, 0x19, 0x4d, 0x31, 0x4a, 0x2d, + 0x09, 0x94, 0x6b, 0xdc, 0x4e, 0x32, 0x2f, 0xf2, 0x0d, 0x54, 0x79, 0x84, 0x33, 0xa2, 0x13, 0xcf, + 0x17, 0xd1, 0x84, 0x96, 0x71, 0x3a, 0x2a, 0x06, 0x1d, 0x19, 0x30, 0xeb, 0xb5, 0xe7, 0xfb, 0x99, + 0x60, 0xa1, 0x9c, 0xb0, 0xb1, 0x08, 0x39, 0xad, 0xa0, 0xb4, 0x15, 0x03, 0xf7, 0xe5, 0xe4, 0x4c, + 0x84, 0x9c, 0xbc, 0x87, 0x6a, 0xc0, 0xc7, 0x5e, 0x1a, 0x6a, 0x66, 0x96, 0x8e, 0x56, 0xf1, 0x5a, + 0xcd, 0xa5, 0xd5, 0x5e, 0x66, 0x73, 0x62, 0xca, 0x75, 0x2b, 0xb9, 0x5f, 0xbe, 0x1a, 0x6f, 0xa1, + 0x62, 0x86, 0xdd, 0x0b, 0x82, 0x4c, 0x52, 0x6a, 0x67, 0xe9, 0xb0, 0x86, 0x32, 0x1a, 0x3a, 0x06, + 0x27, 0x3f, 0xc3, 0xb6, 0x4c, 0xf5, 0x8d, 0x4c, 0xa3, 0x20, 0x2b, 0x61, 0x3c, 0x16, 0xfe, 0x5c, + 0xe8, 0x4d, 0x4c, 0xfd, 0x6c, 0x2f, 0x07, 0xb9, 0xfb, 0xc8, 0x78, 0x2f, 0x68, 0x5e, 0x97, 0xcb, + 0x4c, 0xe4, 0x04, 0xbe, 0xca, 0x35, 0xf3, 0x43, 0xc1, 0x23, 0xcd, 0x94, 0x08, 0x9e, 0xee, 0x18, + 0xdd, 0x42, 0x11, 0xff, 0x67, 0x68, 0x5d, 0x64, 0x0d, 0x45, 0xb0, 0xb8, 0x6b, 0xa4, 0x09, 0x65, + 0x15, 0x28, 0x96, 0x06, 0x8a, 0xc5, 0x9e, 0x9e, 0xd2, 0x57, 0xa8, 0x27, 0xa8, 0x40, 0x5d, 0x05, + 0xea, 0xd2, 0xd3, 0xd3, 0xac, 0xcd, 0xea, 0x1f, 0x6d, 0xae, 0xff, 0xab, 0x36, 0xab, 0xbf, 0xb5, + 0xf9, 0x03, 0x54, 0x4d, 0x3f, 0x98, 0x92, 0x69, 0xe2, 0x73, 0x45, 0x5f, 0x37, 0x57, 0x5b, 0xa5, + 0xc3, 0x37, 0x4b, 0xc5, 0x31, 0xc2, 0x0c, 0x91, 0xe9, 0x56, 0xfc, 0x85, 0x93, 0x22, 0x47, 0xf0, + 0x3a, 0x2f, 0x3e, 0xbb, 0x9b, 0x96, 0xb7, 0x3c, 0x62, 0x33, 0x99, 0x46, 0x9a, 0x6e, 0x9b, 0x67, + 0xc5, 0x58, 0x87, 0x81, 0x1a, 0x65, 0xb6, 0xf3, 0xcc, 0x94, 0x3d, 0x2b, 0x8b, 0xe3, 0x23, 0x93, + 0x99, 0xa7, 0x29, 0xc5, 0x82, 0x6b, 0x8f, 0x03, 0x84, 0x70, 0x96, 0x60, 0x51, 0x4a, 0x36, 0xf6, + 0x44, 0xc8, 0x64, 0xcc, 0x23, 0xba, 0x63, 0x12, 0xc4, 0x8f, 0x22, 0x9e, 0x79, 0x22, 0x1c, 0xc4, + 0x3c, 0x22, 0x6f, 0xa0, 0xac, 0x93, 0x54, 0x69, 0x16, 0xc8, 0x99, 0x27, 0x22, 0xda, 0xc0, 0xd8, + 0x25, 0xc4, 0x4e, 0x10, 0x6a, 0xfc, 0x66, 0x41, 0x7d, 0x69, 0xab, 0x89, 0x0b, 0x05, 0xdc, 0x7d, + 0x0b, 0x17, 0xf3, 0x87, 0xff, 0x34, 0x2f, 0x4e, 0xb6, 0xe9, 0xa8, 0x3d, 0xc6, 0xda, 0xbb, 0x80, + 0x02, 0xee, 0x7e, 0x1d, 0x2a, 0xee, 0xe9, 0xfb, 0xde, 0x70, 0xe4, 0x5e, 0xb3, 0xc1, 0x45, 0xff, + 0xda, 0x7e, 0xd1, 0x58, 0x29, 0x5a, 0x64, 0x13, 0x36, 0x3a, 0xfd, 0xfe, 0xe0, 0x47, 0xd6, 0xb9, + 0xb8, 0xb6, 0x2d, 0x84, 0xfe, 0x0f, 0xaf, 0x3e, 0xf5, 0xdc, 0xd1, 0x55, 0xa7, 0xcf, 0x86, 0xa7, + 0xee, 0xa7, 0x5e, 0xf7, 0xd4, 0x38, 0xac, 0x64, 0xd6, 0xbd, 0xef, 0xa1, 0xbe, 0xf4, 0xcd, 0x21, + 0xeb, 0xb0, 0x3a, 0x38, 0x3b, 0xb3, 0x5f, 0x90, 0x12, 0xac, 0x9f, 0x9c, 0x9e, 0x75, 0xae, 0xfa, + 0x23, 0xdb, 0x22, 0x00, 0x6b, 0xc3, 0x91, 0xdb, 0xeb, 0x8e, 0xec, 0x95, 0xbd, 0x7d, 0x80, 0xc7, + 0xb7, 0x84, 0x14, 0xa1, 0x70, 0x31, 0xb8, 0x38, 0xb5, 0x5f, 0x90, 0x2a, 0xc0, 0xf9, 0x15, 0xe6, + 0x1b, 0xf5, 0x87, 0xb6, 0xf5, 0xb1, 0x50, 0xac, 0xd9, 0xf6, 0xc7, 0x42, 0x91, 0xd8, 0x5b, 0x7b, + 0x0a, 0xca, 0x8b, 0x43, 0x40, 0x28, 0xac, 0xcf, 0x17, 0xd1, 0x7c, 0x4f, 0xf3, 0x23, 0xe9, 0x41, + 0x59, 0x87, 0xd9, 0x83, 0xab, 0xb5, 0x88, 0x26, 0x0a, 0xbf, 0xa3, 0xd2, 0xe1, 0x7e, 0x2e, 0xe2, + 0xe3, 0xdf, 0x38, 0x97, 0xf2, 0xc8, 0x19, 0xf5, 0x87, 0xc3, 0x9c, 0xed, 0x96, 0x74, 0xa8, 0xe6, + 0x87, 0xe3, 0xd6, 0xef, 0xf7, 0xbb, 0xd6, 0x1f, 0xf7, 0xbb, 0xd6, 0x9f, 0xf7, 0xbb, 0xd6, 0x4f, + 0x0d, 0x13, 0x41, 0xc8, 0xb6, 0x17, 0x8b, 0xf6, 0x93, 0xff, 0xf7, 0x66, 0x0d, 0xc7, 0xfe, 0xe8, + 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x33, 0xb9, 0xa7, 0xe8, 0x07, 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index 9505758427..38b2b2faec 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -121,13 +121,9 @@ message MeshConfig { // Empty value disables access logging. string access_log_file = 13; - // Format for the proxy access log - // Empty value results in proxy's default access log format - string access_log_format = 24; - - // Encoding for the proxy access log (text or json). + // Format for the proxy access log (text or json). // Default value is text. - string access_log_encoding = 27; + string access_log_format = 24; // Default proxy config used by the proxy injection mechanism operating in the mesh // (e.g. Kubernetes admission controller) @@ -192,7 +188,7 @@ message MeshConfig { string trust_domain = 26; // $hide_from_docs - // Next available field number: 28 + // Next available field number: 27 } // ConfigSource describes information about a configuration store inside a diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index c7b162a46c..e5ade7fc3e 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -221,16 +221,7 @@

MeshConfig

accessLogFormat string -

Format for the proxy access log -Empty value results in proxy’s default access log format

- - - - -accessLogEncoding -string - -

Encoding for the proxy access log (text or json). +

Format for the proxy access log (text or json). Default value is text.

diff --git a/proto.lock b/proto.lock index 789228faca..17752c00c6 100644 --- a/proto.lock +++ b/proto.lock @@ -758,11 +758,6 @@ "name": "access_log_format", "type": "string" }, - { - "id": 27, - "name": "access_log_encoding", - "type": "string" - }, { "id": 14, "name": "default_config", diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index 67482484c3..e6fc3b9567 100644 --- a/python/istio_api/mesh/v1alpha1/config_pb2.py +++ b/python/istio_api/mesh/v1alpha1/config_pb2.py @@ -22,7 +22,7 @@ name='mesh/v1alpha1/config.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\x9e\n\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12\x1b\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\t\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\x81\n\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mesh_dot_v1alpha1_dot_proxy__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_destination__rule__pb2.DESCRIPTOR,]) @@ -49,8 +49,8 @@ ], containing_type=None, options=None, - serialized_start=1276, - serialized_end=1354, + serialized_start=1247, + serialized_end=1325, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) @@ -75,8 +75,8 @@ ], containing_type=None, options=None, - serialized_start=1356, - serialized_end=1413, + serialized_start=1327, + serialized_end=1384, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -97,8 +97,8 @@ ], containing_type=None, options=None, - serialized_start=1415, - serialized_end=1453, + serialized_start=1386, + serialized_end=1424, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -130,8 +130,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1173, - serialized_end=1354, + serialized_start=1144, + serialized_end=1325, ) _MESHCONFIG = _descriptor.Descriptor( @@ -247,70 +247,63 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='access_log_encoding', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_encoding', index=15, - number=27, 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='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=16, + name='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=15, number=14, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=17, + name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=16, number=16, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=18, + name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=17, number=17, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=19, + name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=18, number=19, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=20, + name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=19, number=20, 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='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=21, + name='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=20, number=21, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=22, + name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=21, number=22, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=23, + name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=22, number=23, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=24, + name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=23, number=26, 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, @@ -331,7 +324,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1465, + serialized_end=1436, ) @@ -368,8 +361,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1467, - serialized_end=1560, + serialized_start=1438, + serialized_end=1531, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE From a48276b53112bf98ed2d61fd07a66208dc5cb043 Mon Sep 17 00:00:00 2001 From: Gregory Hanson Date: Mon, 19 Nov 2018 16:56:02 -0600 Subject: [PATCH 05/10] add access log encoding (#713) --- mesh/v1alpha1/config.pb.go | 200 ++++++++++++------- mesh/v1alpha1/config.proto | 15 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 36 +++- proto.lock | 18 ++ python/istio_api/mesh/v1alpha1/config_pb2.py | 74 +++++-- 5 files changed, 250 insertions(+), 93 deletions(-) diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 98218b7feb..2e3ffac974 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -99,6 +99,29 @@ func (MeshConfig_AuthPolicy) EnumDescriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0, 1} } +type MeshConfig_AccessLogEncoding int32 + +const ( + MeshConfig_TEXT MeshConfig_AccessLogEncoding = 0 + MeshConfig_JSON MeshConfig_AccessLogEncoding = 1 +) + +var MeshConfig_AccessLogEncoding_name = map[int32]string{ + 0: "TEXT", + 1: "JSON", +} +var MeshConfig_AccessLogEncoding_value = map[string]int32{ + "TEXT": 0, + "JSON": 1, +} + +func (x MeshConfig_AccessLogEncoding) String() string { + return proto.EnumName(MeshConfig_AccessLogEncoding_name, int32(x)) +} +func (MeshConfig_AccessLogEncoding) EnumDescriptor() ([]byte, []int) { + return fileDescriptorConfig, []int{0, 2} +} + type MeshConfig_OutboundTrafficPolicy_Mode int32 const ( @@ -183,9 +206,12 @@ type MeshConfig struct { // File address for the proxy access log (e.g. /dev/stdout). // Empty value disables access logging. AccessLogFile string `protobuf:"bytes,13,opt,name=access_log_file,json=accessLogFile,proto3" json:"access_log_file,omitempty"` - // Format for the proxy access log (text or json). - // Default value is text. + // Format for the proxy access log + // Empty value results in proxy's default access log format AccessLogFormat string `protobuf:"bytes,24,opt,name=access_log_format,json=accessLogFormat,proto3" json:"access_log_format,omitempty"` + // Encoding for the proxy access log (text or json). + // Default value is text. + AccessLogEncoding MeshConfig_AccessLogEncoding `protobuf:"varint,27,opt,name=access_log_encoding,json=accessLogEncoding,proto3,enum=istio.mesh.v1alpha1.MeshConfig_AccessLogEncoding" json:"access_log_encoding,omitempty"` // Default proxy config used by the proxy injection mechanism operating in the mesh // (e.g. Kubernetes admission controller) // In case of Kubernetes, the proxy config is applied once during the injection process, @@ -334,6 +360,13 @@ func (m *MeshConfig) GetAccessLogFormat() string { return "" } +func (m *MeshConfig) GetAccessLogEncoding() MeshConfig_AccessLogEncoding { + if m != nil { + return m.AccessLogEncoding + } + return MeshConfig_TEXT +} + func (m *MeshConfig) GetDefaultConfig() *ProxyConfig { if m != nil { return m.DefaultConfig @@ -454,6 +487,7 @@ func init() { proto.RegisterType((*ConfigSource)(nil), "istio.mesh.v1alpha1.ConfigSource") proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_IngressControllerMode", MeshConfig_IngressControllerMode_name, MeshConfig_IngressControllerMode_value) proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AuthPolicy", MeshConfig_AuthPolicy_name, MeshConfig_AuthPolicy_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AccessLogEncoding", MeshConfig_AccessLogEncoding_name, MeshConfig_AccessLogEncoding_value) proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode", MeshConfig_OutboundTrafficPolicy_Mode_name, MeshConfig_OutboundTrafficPolicy_Mode_value) } func (m *MeshConfig) Marshal() (dAtA []byte, err error) { @@ -677,6 +711,13 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintConfig(dAtA, i, uint64(len(m.TrustDomain))) i += copy(dAtA[i:], m.TrustDomain) } + if m.AccessLogEncoding != 0 { + dAtA[i] = 0xd8 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintConfig(dAtA, i, uint64(m.AccessLogEncoding)) + } return i, nil } @@ -838,6 +879,9 @@ func (m *MeshConfig) Size() (n int) { if l > 0 { n += 2 + l + sovConfig(uint64(l)) } + if m.AccessLogEncoding != 0 { + n += 2 + sovConfig(uint64(m.AccessLogEncoding)) + } return n } @@ -1539,6 +1583,25 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } m.TrustDomain = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 27: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AccessLogEncoding", wireType) + } + m.AccessLogEncoding = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowConfig + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AccessLogEncoding |= (MeshConfig_AccessLogEncoding(b) & 0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipConfig(dAtA[iNdEx:]) @@ -1849,69 +1912,72 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 1022 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdd, 0x4e, 0x23, 0x47, - 0x13, 0xdd, 0x01, 0x2f, 0x98, 0xf2, 0xdf, 0xd0, 0xac, 0x97, 0xc6, 0xdf, 0x27, 0xe2, 0x25, 0x0a, - 0x6b, 0xa1, 0x68, 0xac, 0x05, 0xe5, 0x22, 0xb9, 0x33, 0x06, 0x76, 0xbd, 0x32, 0x18, 0x8d, 0xcd, - 0x46, 0xe4, 0xa6, 0x35, 0xcc, 0xb4, 0xed, 0x16, 0xe3, 0xe9, 0xc9, 0x74, 0xcf, 0x66, 0x79, 0xa1, - 0xbc, 0x44, 0x5e, 0x20, 0x97, 0x79, 0x84, 0x88, 0x27, 0x89, 0xa6, 0x7a, 0x0c, 0x26, 0xb1, 0x44, - 0x94, 0xcb, 0x3e, 0x75, 0xaa, 0xaa, 0xeb, 0x54, 0x55, 0x37, 0x34, 0x66, 0x5c, 0x4d, 0xdb, 0x9f, - 0xdf, 0x79, 0x61, 0x3c, 0xf5, 0xde, 0xb5, 0x7d, 0x19, 0x8d, 0xc5, 0xc4, 0x89, 0x13, 0xa9, 0x25, - 0xd9, 0x12, 0x4a, 0x0b, 0xe9, 0x64, 0x0c, 0x67, 0xce, 0x68, 0xec, 0x4e, 0xa4, 0x9c, 0x84, 0xbc, - 0x8d, 0x94, 0x9b, 0x74, 0xdc, 0x0e, 0xd2, 0xc4, 0xd3, 0x42, 0x46, 0xc6, 0xa9, 0xb1, 0xf3, 0x34, - 0x60, 0x9c, 0xc8, 0x2f, 0x77, 0xb9, 0xe9, 0x20, 0xe2, 0xfa, 0x17, 0x99, 0xdc, 0x8a, 0x68, 0x32, - 0x27, 0x1c, 0xb5, 0x03, 0xae, 0xb4, 0x88, 0x30, 0x02, 0x4b, 0xd2, 0x90, 0x1b, 0xee, 0xde, 0xaf, - 0x15, 0x80, 0x73, 0xae, 0xa6, 0x5d, 0xbc, 0x10, 0xf9, 0x16, 0xc8, 0x4c, 0x7c, 0xe1, 0x09, 0xf3, - 0xa7, 0xdc, 0xbf, 0x65, 0x8a, 0x27, 0x9f, 0x79, 0x42, 0xad, 0xa6, 0xd5, 0xda, 0x70, 0x6d, 0xb4, - 0x74, 0x33, 0xc3, 0x10, 0x71, 0xe2, 0xc0, 0x96, 0x61, 0x27, 0x3c, 0x96, 0x89, 0x9e, 0xd3, 0x57, - 0x90, 0xbe, 0x89, 0x26, 0x17, 0x2d, 0x39, 0xff, 0x10, 0xea, 0x81, 0x50, 0xde, 0x4d, 0xc8, 0x59, - 0x2c, 0x43, 0xe1, 0xdf, 0x99, 0x34, 0x8a, 0xae, 0x36, 0xad, 0x56, 0xd1, 0xdd, 0xca, 0x8d, 0x97, - 0x68, 0xc3, 0x44, 0x8a, 0x1c, 0xc0, 0x26, 0xd6, 0xc6, 0x42, 0xa1, 0x34, 0x8f, 0x58, 0x16, 0x8e, - 0x16, 0x9a, 0x56, 0xeb, 0xa5, 0x5b, 0x43, 0x43, 0x1f, 0xf1, 0x4b, 0x99, 0x68, 0xb2, 0x0f, 0x06, - 0x62, 0x53, 0xad, 0x63, 0xc3, 0x7c, 0x89, 0xcc, 0x0a, 0xc2, 0x1f, 0xb4, 0x8e, 0x91, 0x77, 0x0c, - 0x35, 0x5f, 0x46, 0x11, 0xf7, 0x35, 0xd3, 0x62, 0xc6, 0x65, 0xaa, 0xe9, 0x5a, 0xd3, 0x6a, 0x95, - 0x0e, 0x77, 0x1c, 0xa3, 0xba, 0x33, 0x57, 0xdd, 0x39, 0xc9, 0x55, 0x77, 0xab, 0xb9, 0xc7, 0xc8, - 0x38, 0x90, 0xaf, 0xa1, 0x22, 0xa2, 0x49, 0xc2, 0x95, 0x62, 0x7e, 0xe8, 0x29, 0x45, 0xd7, 0xb1, - 0xea, 0x72, 0x0e, 0x76, 0x33, 0x8c, 0xbc, 0x85, 0xda, 0x9c, 0x94, 0x69, 0x23, 0x7c, 0x4e, 0x8b, - 0x48, 0xab, 0xe6, 0xf0, 0xd0, 0xa0, 0x64, 0x06, 0xdb, 0x0f, 0xd1, 0x64, 0xa4, 0x13, 0x19, 0x86, - 0x3c, 0x61, 0x33, 0x19, 0x70, 0xba, 0xd1, 0xb4, 0x5a, 0xd5, 0xc3, 0xef, 0x9c, 0x25, 0x43, 0xe2, - 0x3c, 0x76, 0xce, 0xe9, 0xe5, 0x79, 0x1f, 0xbc, 0xcf, 0x65, 0xc0, 0xdd, 0xba, 0x58, 0x06, 0x93, - 0x01, 0x94, 0xbc, 0x54, 0x4f, 0xf3, 0x2e, 0x50, 0xc0, 0x14, 0x07, 0xcf, 0xa5, 0xe8, 0xa4, 0x7a, - 0x6a, 0x7a, 0x73, 0xbc, 0x42, 0x2d, 0x17, 0xbc, 0x87, 0x33, 0xe9, 0xc1, 0x66, 0x12, 0x28, 0x96, - 0xf0, 0x71, 0xc2, 0xd5, 0x94, 0x05, 0x3c, 0xf4, 0xee, 0x68, 0xe9, 0x19, 0x4d, 0x31, 0x4a, 0x2d, - 0x09, 0x94, 0x6b, 0xdc, 0x4e, 0x32, 0x2f, 0xf2, 0x0d, 0x54, 0x79, 0x84, 0x33, 0xa2, 0x13, 0xcf, - 0x17, 0xd1, 0x84, 0x96, 0x71, 0x3a, 0x2a, 0x06, 0x1d, 0x19, 0x30, 0xeb, 0xb5, 0xe7, 0xfb, 0x99, - 0x60, 0xa1, 0x9c, 0xb0, 0xb1, 0x08, 0x39, 0xad, 0xa0, 0xb4, 0x15, 0x03, 0xf7, 0xe5, 0xe4, 0x4c, - 0x84, 0x9c, 0xbc, 0x87, 0x6a, 0xc0, 0xc7, 0x5e, 0x1a, 0x6a, 0x66, 0x96, 0x8e, 0x56, 0xf1, 0x5a, - 0xcd, 0xa5, 0xd5, 0x5e, 0x66, 0x73, 0x62, 0xca, 0x75, 0x2b, 0xb9, 0x5f, 0xbe, 0x1a, 0x6f, 0xa1, - 0x62, 0x86, 0xdd, 0x0b, 0x82, 0x4c, 0x52, 0x6a, 0x67, 0xe9, 0xb0, 0x86, 0x32, 0x1a, 0x3a, 0x06, - 0x27, 0x3f, 0xc3, 0xb6, 0x4c, 0xf5, 0x8d, 0x4c, 0xa3, 0x20, 0x2b, 0x61, 0x3c, 0x16, 0xfe, 0x5c, - 0xe8, 0x4d, 0x4c, 0xfd, 0x6c, 0x2f, 0x07, 0xb9, 0xfb, 0xc8, 0x78, 0x2f, 0x68, 0x5e, 0x97, 0xcb, - 0x4c, 0xe4, 0x04, 0xbe, 0xca, 0x35, 0xf3, 0x43, 0xc1, 0x23, 0xcd, 0x94, 0x08, 0x9e, 0xee, 0x18, - 0xdd, 0x42, 0x11, 0xff, 0x67, 0x68, 0x5d, 0x64, 0x0d, 0x45, 0xb0, 0xb8, 0x6b, 0xa4, 0x09, 0x65, - 0x15, 0x28, 0x96, 0x06, 0x8a, 0xc5, 0x9e, 0x9e, 0xd2, 0x57, 0xa8, 0x27, 0xa8, 0x40, 0x5d, 0x05, - 0xea, 0xd2, 0xd3, 0xd3, 0xac, 0xcd, 0xea, 0x1f, 0x6d, 0xae, 0xff, 0xab, 0x36, 0xab, 0xbf, 0xb5, - 0xf9, 0x03, 0x54, 0x4d, 0x3f, 0x98, 0x92, 0x69, 0xe2, 0x73, 0x45, 0x5f, 0x37, 0x57, 0x5b, 0xa5, - 0xc3, 0x37, 0x4b, 0xc5, 0x31, 0xc2, 0x0c, 0x91, 0xe9, 0x56, 0xfc, 0x85, 0x93, 0x22, 0x47, 0xf0, - 0x3a, 0x2f, 0x3e, 0xbb, 0x9b, 0x96, 0xb7, 0x3c, 0x62, 0x33, 0x99, 0x46, 0x9a, 0x6e, 0x9b, 0x67, - 0xc5, 0x58, 0x87, 0x81, 0x1a, 0x65, 0xb6, 0xf3, 0xcc, 0x94, 0x3d, 0x2b, 0x8b, 0xe3, 0x23, 0x93, - 0x99, 0xa7, 0x29, 0xc5, 0x82, 0x6b, 0x8f, 0x03, 0x84, 0x70, 0x96, 0x60, 0x51, 0x4a, 0x36, 0xf6, - 0x44, 0xc8, 0x64, 0xcc, 0x23, 0xba, 0x63, 0x12, 0xc4, 0x8f, 0x22, 0x9e, 0x79, 0x22, 0x1c, 0xc4, - 0x3c, 0x22, 0x6f, 0xa0, 0xac, 0x93, 0x54, 0x69, 0x16, 0xc8, 0x99, 0x27, 0x22, 0xda, 0xc0, 0xd8, - 0x25, 0xc4, 0x4e, 0x10, 0x6a, 0xfc, 0x66, 0x41, 0x7d, 0x69, 0xab, 0x89, 0x0b, 0x05, 0xdc, 0x7d, - 0x0b, 0x17, 0xf3, 0x87, 0xff, 0x34, 0x2f, 0x4e, 0xb6, 0xe9, 0xa8, 0x3d, 0xc6, 0xda, 0xbb, 0x80, - 0x02, 0xee, 0x7e, 0x1d, 0x2a, 0xee, 0xe9, 0xfb, 0xde, 0x70, 0xe4, 0x5e, 0xb3, 0xc1, 0x45, 0xff, - 0xda, 0x7e, 0xd1, 0x58, 0x29, 0x5a, 0x64, 0x13, 0x36, 0x3a, 0xfd, 0xfe, 0xe0, 0x47, 0xd6, 0xb9, - 0xb8, 0xb6, 0x2d, 0x84, 0xfe, 0x0f, 0xaf, 0x3e, 0xf5, 0xdc, 0xd1, 0x55, 0xa7, 0xcf, 0x86, 0xa7, - 0xee, 0xa7, 0x5e, 0xf7, 0xd4, 0x38, 0xac, 0x64, 0xd6, 0xbd, 0xef, 0xa1, 0xbe, 0xf4, 0xcd, 0x21, - 0xeb, 0xb0, 0x3a, 0x38, 0x3b, 0xb3, 0x5f, 0x90, 0x12, 0xac, 0x9f, 0x9c, 0x9e, 0x75, 0xae, 0xfa, - 0x23, 0xdb, 0x22, 0x00, 0x6b, 0xc3, 0x91, 0xdb, 0xeb, 0x8e, 0xec, 0x95, 0xbd, 0x7d, 0x80, 0xc7, - 0xb7, 0x84, 0x14, 0xa1, 0x70, 0x31, 0xb8, 0x38, 0xb5, 0x5f, 0x90, 0x2a, 0xc0, 0xf9, 0x15, 0xe6, - 0x1b, 0xf5, 0x87, 0xb6, 0xf5, 0xb1, 0x50, 0xac, 0xd9, 0xf6, 0xc7, 0x42, 0x91, 0xd8, 0x5b, 0x7b, - 0x0a, 0xca, 0x8b, 0x43, 0x40, 0x28, 0xac, 0xcf, 0x17, 0xd1, 0x7c, 0x4f, 0xf3, 0x23, 0xe9, 0x41, - 0x59, 0x87, 0xd9, 0x83, 0xab, 0xb5, 0x88, 0x26, 0x0a, 0xbf, 0xa3, 0xd2, 0xe1, 0x7e, 0x2e, 0xe2, - 0xe3, 0xdf, 0x38, 0x97, 0xf2, 0xc8, 0x19, 0xf5, 0x87, 0xc3, 0x9c, 0xed, 0x96, 0x74, 0xa8, 0xe6, - 0x87, 0xe3, 0xd6, 0xef, 0xf7, 0xbb, 0xd6, 0x1f, 0xf7, 0xbb, 0xd6, 0x9f, 0xf7, 0xbb, 0xd6, 0x4f, - 0x0d, 0x13, 0x41, 0xc8, 0xb6, 0x17, 0x8b, 0xf6, 0x93, 0xff, 0xf7, 0x66, 0x0d, 0xc7, 0xfe, 0xe8, - 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x33, 0xb9, 0xa7, 0xe8, 0x07, 0x00, 0x00, + // 1071 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdf, 0x4e, 0xe3, 0xc6, + 0x17, 0xc6, 0x90, 0x85, 0x30, 0xf9, 0xe7, 0x4c, 0x36, 0xcb, 0x90, 0xfd, 0x89, 0x5f, 0x36, 0x55, + 0x21, 0x42, 0x95, 0x23, 0x40, 0xbd, 0x68, 0xef, 0x42, 0x08, 0xbb, 0x41, 0x21, 0x41, 0xb6, 0xd9, + 0x96, 0xde, 0x8c, 0x8c, 0x3d, 0x49, 0x46, 0x38, 0x1e, 0xd7, 0x33, 0xde, 0x2e, 0xaf, 0xd5, 0xdb, + 0xbe, 0x40, 0x2f, 0xfb, 0x08, 0x15, 0x4f, 0x52, 0xcd, 0x8c, 0x03, 0x61, 0x37, 0x12, 0x55, 0xef, + 0xe2, 0xef, 0x7c, 0xe7, 0x9c, 0x39, 0xdf, 0x39, 0x73, 0x26, 0xa0, 0x31, 0x27, 0x7c, 0xd6, 0xf9, + 0x74, 0xe4, 0x85, 0xf1, 0xcc, 0x3b, 0xea, 0xf8, 0x2c, 0x9a, 0xd0, 0xa9, 0x15, 0x27, 0x4c, 0x30, + 0x58, 0xa3, 0x5c, 0x50, 0x66, 0x49, 0x86, 0xb5, 0x60, 0x34, 0xf6, 0xa6, 0x8c, 0x4d, 0x43, 0xd2, + 0x51, 0x94, 0xdb, 0x74, 0xd2, 0x09, 0xd2, 0xc4, 0x13, 0x94, 0x45, 0xda, 0xa9, 0xb1, 0xfb, 0x3c, + 0x60, 0x9c, 0xb0, 0xcf, 0xf7, 0x99, 0xe9, 0x30, 0x22, 0xe2, 0x37, 0x96, 0xdc, 0xd1, 0x68, 0xba, + 0x20, 0x9c, 0x74, 0x02, 0xc2, 0x05, 0x8d, 0x54, 0x04, 0x9c, 0xa4, 0x21, 0xd1, 0xdc, 0xd6, 0xef, + 0x65, 0x00, 0x2e, 0x09, 0x9f, 0xf5, 0xd4, 0x81, 0xe0, 0x77, 0x00, 0xce, 0xe9, 0x67, 0x92, 0x60, + 0x7f, 0x46, 0xfc, 0x3b, 0xcc, 0x49, 0xf2, 0x89, 0x24, 0xc8, 0x68, 0x1a, 0xed, 0x6d, 0xdb, 0x54, + 0x96, 0x9e, 0x34, 0x38, 0x0a, 0x87, 0x16, 0xa8, 0x69, 0x76, 0x42, 0x62, 0x96, 0x88, 0x05, 0x7d, + 0x5d, 0xd1, 0xab, 0xca, 0x64, 0x2b, 0x4b, 0xc6, 0x3f, 0x06, 0xf5, 0x80, 0x72, 0xef, 0x36, 0x24, + 0x38, 0x66, 0x21, 0xf5, 0xef, 0x75, 0x1a, 0x8e, 0x36, 0x9a, 0x46, 0x3b, 0x6f, 0xd7, 0x32, 0xe3, + 0x95, 0xb2, 0xa9, 0x44, 0x1c, 0x1e, 0x82, 0xaa, 0xaa, 0x0d, 0x87, 0x94, 0x0b, 0x12, 0x61, 0x19, + 0x0e, 0xe5, 0x9a, 0x46, 0xfb, 0x95, 0x5d, 0x51, 0x86, 0xa1, 0xc2, 0xaf, 0x58, 0x22, 0xe0, 0x3e, + 0xd0, 0x10, 0x9e, 0x09, 0x11, 0x6b, 0xe6, 0x2b, 0xc5, 0x2c, 0x29, 0xf8, 0x83, 0x10, 0xb1, 0xe2, + 0x9d, 0x82, 0x8a, 0xcf, 0xa2, 0x88, 0xf8, 0x02, 0x0b, 0x3a, 0x27, 0x2c, 0x15, 0x68, 0xb3, 0x69, + 0xb4, 0x0b, 0xc7, 0xbb, 0x96, 0x56, 0xdd, 0x5a, 0xa8, 0x6e, 0x9d, 0x65, 0xaa, 0xdb, 0xe5, 0xcc, + 0xc3, 0xd5, 0x0e, 0xf0, 0x1b, 0x50, 0xa2, 0xd1, 0x34, 0x21, 0x9c, 0x63, 0x3f, 0xf4, 0x38, 0x47, + 0x5b, 0xaa, 0xea, 0x62, 0x06, 0xf6, 0x24, 0x06, 0x0f, 0x40, 0x65, 0x41, 0x92, 0xda, 0x50, 0x9f, + 0xa0, 0xbc, 0xa2, 0x95, 0x33, 0xd8, 0xd1, 0x28, 0x9c, 0x83, 0x9d, 0xc7, 0x68, 0x2c, 0x12, 0x09, + 0x0b, 0x43, 0x92, 0xe0, 0x39, 0x0b, 0x08, 0xda, 0x6e, 0x1a, 0xed, 0xf2, 0xf1, 0xf7, 0xd6, 0x8a, + 0x21, 0xb1, 0x9e, 0x3a, 0x67, 0x0d, 0xb2, 0xbc, 0x8f, 0xde, 0x97, 0x2c, 0x20, 0x76, 0x9d, 0xae, + 0x82, 0xe1, 0x18, 0x14, 0xbc, 0x54, 0xcc, 0xb2, 0x2e, 0x20, 0xa0, 0x52, 0x1c, 0xbe, 0x94, 0xa2, + 0x9b, 0x8a, 0x99, 0xee, 0xcd, 0xe9, 0x3a, 0x32, 0x6c, 0xe0, 0x3d, 0x7e, 0xc3, 0x01, 0xa8, 0x26, + 0x01, 0xc7, 0x09, 0x99, 0x24, 0x84, 0xcf, 0x70, 0x40, 0x42, 0xef, 0x1e, 0x15, 0x5e, 0xd0, 0x54, + 0x45, 0xa9, 0x24, 0x01, 0xb7, 0xb5, 0xdb, 0x99, 0xf4, 0x82, 0xdf, 0x82, 0x32, 0x89, 0xd4, 0x8c, + 0x88, 0xc4, 0xf3, 0x69, 0x34, 0x45, 0x45, 0x35, 0x1d, 0x25, 0x8d, 0xba, 0x1a, 0x94, 0xbd, 0xf6, + 0x7c, 0x5f, 0x0a, 0x16, 0xb2, 0x29, 0x9e, 0xd0, 0x90, 0xa0, 0x92, 0x92, 0xb6, 0xa4, 0xe1, 0x21, + 0x9b, 0x9e, 0xd3, 0x90, 0xc0, 0xf7, 0xa0, 0x1c, 0x90, 0x89, 0x97, 0x86, 0x02, 0xeb, 0x4b, 0x87, + 0xca, 0xea, 0x58, 0xcd, 0x95, 0xd5, 0x5e, 0xc9, 0x39, 0xd1, 0xe5, 0xda, 0xa5, 0xcc, 0x2f, 0xbb, + 0x1a, 0x07, 0xa0, 0xa4, 0x87, 0xdd, 0x0b, 0x02, 0x29, 0x29, 0x32, 0x65, 0x3a, 0x55, 0x43, 0x51, + 0x19, 0xba, 0x1a, 0x87, 0xbf, 0x82, 0x1d, 0x96, 0x8a, 0x5b, 0x96, 0x46, 0x81, 0x2c, 0x61, 0x32, + 0xa1, 0xfe, 0x42, 0xe8, 0xaa, 0x4a, 0xfd, 0x62, 0x2f, 0xc7, 0x99, 0xbb, 0xab, 0xbd, 0x97, 0x34, + 0xaf, 0xb3, 0x55, 0x26, 0x78, 0x06, 0xfe, 0x9f, 0x69, 0xe6, 0x87, 0x94, 0x44, 0x02, 0x73, 0x1a, + 0x3c, 0xbf, 0x63, 0xa8, 0xa6, 0x44, 0x7c, 0xab, 0x69, 0x3d, 0xc5, 0x72, 0x68, 0xb0, 0x7c, 0xd7, + 0x60, 0x13, 0x14, 0x79, 0xc0, 0x71, 0x1a, 0x70, 0x1c, 0x7b, 0x62, 0x86, 0x5e, 0x2b, 0x3d, 0x01, + 0x0f, 0xf8, 0x75, 0xc0, 0xaf, 0x3c, 0x31, 0x93, 0x6d, 0xe6, 0x5f, 0xb5, 0xb9, 0xfe, 0xaf, 0xda, + 0xcc, 0xbf, 0x68, 0xf3, 0x07, 0x50, 0xd6, 0xfd, 0xc0, 0x9c, 0xa5, 0x89, 0x4f, 0x38, 0x7a, 0xd3, + 0xdc, 0x68, 0x17, 0x8e, 0xdf, 0xad, 0x14, 0x47, 0x0b, 0xe3, 0x28, 0xa6, 0x5d, 0xf2, 0x97, 0xbe, + 0x38, 0x3c, 0x01, 0x6f, 0xb2, 0xe2, 0xe5, 0xd9, 0x04, 0xbb, 0x23, 0x11, 0x9e, 0xb3, 0x34, 0x12, + 0x68, 0x47, 0xaf, 0x15, 0x6d, 0x75, 0x02, 0xee, 0x4a, 0xdb, 0xa5, 0x34, 0xc9, 0xb5, 0xb2, 0x3c, + 0x3e, 0x2c, 0x99, 0x7b, 0x02, 0x21, 0x55, 0x70, 0xe5, 0x69, 0x80, 0x14, 0x2c, 0x13, 0x2c, 0x4b, + 0x89, 0x27, 0x1e, 0x0d, 0x31, 0x8b, 0x49, 0x84, 0x76, 0x75, 0x82, 0xf8, 0x49, 0xc4, 0x73, 0x8f, + 0x86, 0xe3, 0x98, 0x44, 0xf0, 0x1d, 0x28, 0x8a, 0x24, 0xe5, 0x02, 0x07, 0x6c, 0xee, 0xd1, 0x08, + 0x35, 0x54, 0xec, 0x82, 0xc2, 0xce, 0x14, 0x04, 0x3d, 0x50, 0x5b, 0x3a, 0x03, 0x89, 0x7c, 0x16, + 0xc8, 0x71, 0x7f, 0xab, 0x6e, 0xe3, 0xd1, 0x8b, 0xb7, 0x71, 0x71, 0xca, 0x7e, 0xe6, 0x68, 0x57, + 0xbd, 0x2f, 0xa1, 0xc6, 0x1f, 0x06, 0xa8, 0xaf, 0x9c, 0x26, 0x68, 0x83, 0x9c, 0x5a, 0x2f, 0x86, + 0xca, 0xf6, 0xe3, 0x7f, 0x1a, 0x49, 0x4b, 0x2e, 0x13, 0xd5, 0x5e, 0x15, 0xab, 0x35, 0x02, 0x39, + 0xb5, 0x5e, 0xea, 0xa0, 0x64, 0xf7, 0xdf, 0x0f, 0x1c, 0xd7, 0xbe, 0xc1, 0xe3, 0xd1, 0xf0, 0xc6, + 0x5c, 0x6b, 0xac, 0xe7, 0x0d, 0x58, 0x05, 0xdb, 0xdd, 0xe1, 0x70, 0xfc, 0x13, 0xee, 0x8e, 0x6e, + 0x4c, 0x43, 0x41, 0xff, 0x03, 0xaf, 0x3f, 0x0e, 0x6c, 0xf7, 0xba, 0x3b, 0xc4, 0x4e, 0xdf, 0xfe, + 0x38, 0xe8, 0xf5, 0xb5, 0xc3, 0xba, 0xb4, 0xb6, 0x7e, 0x00, 0xf5, 0x95, 0x6b, 0x0d, 0x6e, 0x81, + 0x8d, 0xf1, 0xf9, 0xb9, 0xb9, 0x06, 0x0b, 0x60, 0xeb, 0xac, 0x7f, 0xde, 0xbd, 0x1e, 0xba, 0xa6, + 0x01, 0x01, 0xd8, 0x74, 0x5c, 0x7b, 0xd0, 0x73, 0xcd, 0xf5, 0xd6, 0x3e, 0x00, 0x4f, 0xeb, 0x0a, + 0xe6, 0x41, 0x6e, 0x34, 0x1e, 0xf5, 0xcd, 0x35, 0x28, 0x9f, 0xbb, 0x6b, 0x95, 0xcf, 0x1d, 0x3a, + 0xa6, 0xd1, 0x3a, 0x00, 0xd5, 0xaf, 0x84, 0x94, 0x74, 0xb7, 0xff, 0xb3, 0x6b, 0xae, 0xc9, 0x5f, + 0x17, 0xce, 0x78, 0x64, 0x1a, 0x17, 0xb9, 0x7c, 0xc5, 0x34, 0x2f, 0x72, 0x79, 0x68, 0xd6, 0x5a, + 0x1c, 0x14, 0x97, 0x07, 0x12, 0x22, 0xb0, 0xb5, 0x58, 0x0a, 0xfa, 0xa9, 0x5c, 0x7c, 0xc2, 0x01, + 0x28, 0x8a, 0x50, 0x2e, 0x7f, 0x21, 0x68, 0x34, 0xe5, 0xea, 0x69, 0x2c, 0x1c, 0xef, 0x67, 0x6a, + 0x3f, 0xbd, 0xd3, 0x0b, 0xcd, 0x4f, 0x2c, 0x77, 0xe8, 0x38, 0x19, 0xdb, 0x2e, 0x88, 0x90, 0x2f, + 0x3e, 0x4e, 0xdb, 0x7f, 0x3e, 0xec, 0x19, 0x7f, 0x3d, 0xec, 0x19, 0x7f, 0x3f, 0xec, 0x19, 0xbf, + 0x34, 0x74, 0x04, 0xca, 0x3a, 0x5e, 0x4c, 0x3b, 0xcf, 0xfe, 0x0b, 0xdc, 0x6e, 0xaa, 0x2b, 0x78, + 0xf2, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0a, 0x38, 0x8b, 0x61, 0x74, 0x08, 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index 38b2b2faec..952501f6d5 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -121,10 +121,19 @@ message MeshConfig { // Empty value disables access logging. string access_log_file = 13; - // Format for the proxy access log (text or json). - // Default value is text. + // Format for the proxy access log + // Empty value results in proxy's default access log format string access_log_format = 24; + enum AccessLogEncoding { + TEXT = 0; + JSON = 1; + } + + // Encoding for the proxy access log (text or json). + // Default value is text. + AccessLogEncoding access_log_encoding = 27; + // Default proxy config used by the proxy injection mechanism operating in the mesh // (e.g. Kubernetes admission controller) // In case of Kubernetes, the proxy config is applied once during the injection process, @@ -188,7 +197,7 @@ message MeshConfig { string trust_domain = 26; // $hide_from_docs - // Next available field number: 27 + // Next available field number: 28 } // ConfigSource describes information about a configuration store inside a diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index e5ade7fc3e..2e6b034417 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: 15 +number_of_entries: 16 ---

AuthenticationPolicy

@@ -221,7 +221,16 @@

MeshConfig

accessLogFormat string -

Format for the proxy access log (text or json). +

Format for the proxy access log +Empty value results in proxy’s default access log format

+ + + + +accessLogEncoding +MeshConfig.AccessLogEncoding + +

Encoding for the proxy access log (text or json). Default value is text.

@@ -286,6 +295,29 @@

MeshConfig

Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain Fallback to old identity format(without trust domain) if not set.

+ + + + +
+

MeshConfig.AccessLogEncoding

+
+ + + + + + + + + + + + + + + diff --git a/proto.lock b/proto.lock index 17752c00c6..3e8c8b2154 100644 --- a/proto.lock +++ b/proto.lock @@ -661,6 +661,19 @@ } ] }, + { + "name": "MeshConfig.AccessLogEncoding", + "enum_fields": [ + { + "name": "TEXT", + "integer": 0 + }, + { + "name": "JSON", + "integer": 1 + } + ] + }, { "name": "OutboundTrafficPolicy.Mode", "enum_fields": [ @@ -758,6 +771,11 @@ "name": "access_log_format", "type": "string" }, + { + "id": 27, + "name": "access_log_encoding", + "type": "AccessLogEncoding" + }, { "id": 14, "name": "default_config", diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index e6fc3b9567..28143969be 100644 --- a/python/istio_api/mesh/v1alpha1/config_pb2.py +++ b/python/istio_api/mesh/v1alpha1/config_pb2.py @@ -22,7 +22,7 @@ name='mesh/v1alpha1/config.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\x81\n\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xfa\n\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mesh_dot_v1alpha1_dot_proxy__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_destination__rule__pb2.DESCRIPTOR,]) @@ -49,8 +49,8 @@ ], containing_type=None, options=None, - serialized_start=1247, - serialized_end=1325, + serialized_start=1327, + serialized_end=1405, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) @@ -75,8 +75,8 @@ ], containing_type=None, options=None, - serialized_start=1327, - serialized_end=1384, + serialized_start=1407, + serialized_end=1464, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -97,11 +97,33 @@ ], containing_type=None, options=None, - serialized_start=1386, - serialized_end=1424, + serialized_start=1466, + serialized_end=1504, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) +_MESHCONFIG_ACCESSLOGENCODING = _descriptor.EnumDescriptor( + name='AccessLogEncoding', + full_name='istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='TEXT', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='JSON', index=1, number=1, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=1506, + serialized_end=1545, +) +_sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING) + _MESHCONFIG_OUTBOUNDTRAFFICPOLICY = _descriptor.Descriptor( name='OutboundTrafficPolicy', @@ -130,8 +152,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1144, - serialized_end=1325, + serialized_start=1224, + serialized_end=1405, ) _MESHCONFIG = _descriptor.Descriptor( @@ -247,63 +269,70 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=15, + name='access_log_encoding', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_encoding', index=15, + number=27, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=16, number=14, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=16, + name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=17, number=16, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=17, + name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=18, number=17, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=18, + name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=19, number=19, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=19, + name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=20, number=20, 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='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=20, + name='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=21, number=21, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=21, + name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=22, number=22, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=22, + name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=23, number=23, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=23, + name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=24, number=26, 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, @@ -316,6 +345,7 @@ enum_types=[ _MESHCONFIG_INGRESSCONTROLLERMODE, _MESHCONFIG_AUTHPOLICY, + _MESHCONFIG_ACCESSLOGENCODING, ], options=None, is_extendable=False, @@ -324,7 +354,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1436, + serialized_end=1557, ) @@ -361,8 +391,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1438, - serialized_end=1531, + serialized_start=1559, + serialized_end=1652, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE @@ -372,12 +402,14 @@ _MESHCONFIG.fields_by_name['ingress_controller_mode'].enum_type = _MESHCONFIG_INGRESSCONTROLLERMODE _MESHCONFIG.fields_by_name['auth_policy'].enum_type = _MESHCONFIG_AUTHPOLICY _MESHCONFIG.fields_by_name['rds_refresh_delay'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_MESHCONFIG.fields_by_name['access_log_encoding'].enum_type = _MESHCONFIG_ACCESSLOGENCODING _MESHCONFIG.fields_by_name['default_config'].message_type = mesh_dot_v1alpha1_dot_proxy__pb2._PROXYCONFIG _MESHCONFIG.fields_by_name['outbound_traffic_policy'].message_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY _MESHCONFIG.fields_by_name['sds_refresh_delay'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _MESHCONFIG.fields_by_name['config_sources'].message_type = _CONFIGSOURCE _MESHCONFIG_INGRESSCONTROLLERMODE.containing_type = _MESHCONFIG _MESHCONFIG_AUTHPOLICY.containing_type = _MESHCONFIG +_MESHCONFIG_ACCESSLOGENCODING.containing_type = _MESHCONFIG _CONFIGSOURCE.fields_by_name['tls_settings'].message_type = networking_dot_v1alpha3_dot_destination__rule__pb2._TLSSETTINGS DESCRIPTOR.message_types_by_name['MeshConfig'] = _MESHCONFIG DESCRIPTOR.message_types_by_name['ConfigSource'] = _CONFIGSOURCE From e6126169ac55254c67f846ed4361dbfc8a38e1a8 Mon Sep 17 00:00:00 2001 From: Itay Shakury Date: Wed, 21 Nov 2018 17:14:10 +0200 Subject: [PATCH 06/10] clarify http match example (#714) --- networking/v1alpha3/istio.networking.v1alpha3.pb.html | 2 +- networking/v1alpha3/virtual_service.pb.go | 2 +- networking/v1alpha3/virtual_service.proto | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index 69a40b7a19..85633a8414 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -3887,7 +3887,7 @@

VirtualService

The following example on Kubernetes, routes all HTTP traffic by default to pods of the reviews service with label “version: v1”. In addition, -HTTP requests containing /wpcatalog/, /consumercatalog/ url prefixes will +HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will be rewritten to /newcatalog and sent to pods with label “version: v2”.

apiVersion: networking.istio.io/v1alpha3
diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go
index 19abdd4626..c7c80c8ead 100644
--- a/networking/v1alpha3/virtual_service.pb.go
+++ b/networking/v1alpha3/virtual_service.pb.go
@@ -28,7 +28,7 @@ var _ = math.Inf
 //
 // The following example on Kubernetes, routes all HTTP traffic by default to
 // pods of the reviews service with label "version: v1". In addition,
-// HTTP requests containing /wpcatalog/, /consumercatalog/ url prefixes will
+// HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will
 // be rewritten to /newcatalog and sent to pods with label "version: v2".
 //
 //
diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto
index a86c295033..80f6201f0d 100644
--- a/networking/v1alpha3/virtual_service.proto
+++ b/networking/v1alpha3/virtual_service.proto
@@ -65,7 +65,7 @@ option go_package = "istio.io/api/networking/v1alpha3";
 //
 // The following example on Kubernetes, routes all HTTP traffic by default to
 // pods of the reviews service with label "version: v1". In addition,
-// HTTP requests containing /wpcatalog/, /consumercatalog/ url prefixes will
+// HTTP requests with path starting with /wpcatalog/ or /consumercatalog/ will
 // be rewritten to /newcatalog and sent to pods with label "version: v2".
 //
 //

From fd493665dc8420782f34e0872cceda11f8cc368d Mon Sep 17 00:00:00 2001
From: Shakti Das 
Date: Sun, 25 Nov 2018 21:18:03 +0530
Subject: [PATCH 07/10] API changes to enable TCP keepalive configuration.
 (#718)

* API changes to enable TCP keepalive configuration.

Signed-off-by: Shakti 

* Added probes configuration to tcp_keepalive.

Signed-off-by: Shakti 

* Updated description to 'time duration'.

Signed-off-by: Shakti 
---
 mesh/v1alpha1/config.pb.go                    | 201 +++++---
 mesh/v1alpha1/config.proto                    |   5 +-
 mesh/v1alpha1/istio.mesh.v1alpha1.pb.html     |   8 +
 networking/v1alpha3/destination_rule.pb.go    | 482 ++++++++++++++----
 networking/v1alpha3/destination_rule.proto    |  24 +
 .../istio.networking.v1alpha3.pb.html         |  59 ++-
 proto.lock                                    |  32 ++
 python/istio_api/mesh/v1alpha1/config_pb2.py  |  72 +--
 .../v1alpha3/destination_rule_pb2.py          |  89 +++-
 9 files changed, 768 insertions(+), 204 deletions(-)

diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go
index 2e3ffac974..f613644c60 100644
--- a/mesh/v1alpha1/config.pb.go
+++ b/mesh/v1alpha1/config.pb.go
@@ -188,6 +188,8 @@ type MeshConfig struct {
 	ProxyHttpPort int32 `protobuf:"varint,5,opt,name=proxy_http_port,json=proxyHttpPort,proto3" json:"proxy_http_port,omitempty"`
 	// Connection timeout used by Envoy. (MUST BE >=1ms)
 	ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,6,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"`
+	// If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+	TcpKeepalive *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"`
 	// Class of ingress resources to be processed by Istio ingress
 	// controller.  This corresponds to the value of
 	// "kubernetes.io/ingress.class" annotation.
@@ -304,6 +306,13 @@ func (m *MeshConfig) GetConnectTimeout() *google_protobuf.Duration {
 	return nil
 }
 
+func (m *MeshConfig) GetTcpKeepalive() *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive {
+	if m != nil {
+		return m.TcpKeepalive
+	}
+	return nil
+}
+
 func (m *MeshConfig) GetIngressClass() string {
 	if m != nil {
 		return m.IngressClass
@@ -718,6 +727,18 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) {
 		i++
 		i = encodeVarintConfig(dAtA, i, uint64(m.AccessLogEncoding))
 	}
+	if m.TcpKeepalive != nil {
+		dAtA[i] = 0xe2
+		i++
+		dAtA[i] = 0x1
+		i++
+		i = encodeVarintConfig(dAtA, i, uint64(m.TcpKeepalive.Size()))
+		n6, err := m.TcpKeepalive.MarshalTo(dAtA[i:])
+		if err != nil {
+			return 0, err
+		}
+		i += n6
+	}
 	return i, nil
 }
 
@@ -769,11 +790,11 @@ func (m *ConfigSource) MarshalTo(dAtA []byte) (int, error) {
 		dAtA[i] = 0x12
 		i++
 		i = encodeVarintConfig(dAtA, i, uint64(m.TlsSettings.Size()))
-		n6, err := m.TlsSettings.MarshalTo(dAtA[i:])
+		n7, err := m.TlsSettings.MarshalTo(dAtA[i:])
 		if err != nil {
 			return 0, err
 		}
-		i += n6
+		i += n7
 	}
 	return i, nil
 }
@@ -882,6 +903,10 @@ func (m *MeshConfig) Size() (n int) {
 	if m.AccessLogEncoding != 0 {
 		n += 2 + sovConfig(uint64(m.AccessLogEncoding))
 	}
+	if m.TcpKeepalive != nil {
+		l = m.TcpKeepalive.Size()
+		n += 2 + l + sovConfig(uint64(l))
+	}
 	return n
 }
 
@@ -1602,6 +1627,39 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error {
 					break
 				}
 			}
+		case 28:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TcpKeepalive", wireType)
+			}
+			var msglen int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowConfig
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				msglen |= (int(b) & 0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if msglen < 0 {
+				return ErrInvalidLengthConfig
+			}
+			postIndex := iNdEx + msglen
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			if m.TcpKeepalive == nil {
+				m.TcpKeepalive = &istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive{}
+			}
+			if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+				return err
+			}
+			iNdEx = postIndex
 		default:
 			iNdEx = preIndex
 			skippy, err := skipConfig(dAtA[iNdEx:])
@@ -1912,72 +1970,75 @@ var (
 func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) }
 
 var fileDescriptorConfig = []byte{
-	// 1071 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdf, 0x4e, 0xe3, 0xc6,
-	0x17, 0xc6, 0x90, 0x85, 0x30, 0xf9, 0xe7, 0x4c, 0x36, 0xcb, 0x90, 0xfd, 0x89, 0x5f, 0x36, 0x55,
-	0x21, 0x42, 0x95, 0x23, 0x40, 0xbd, 0x68, 0xef, 0x42, 0x08, 0xbb, 0x41, 0x21, 0x41, 0xb6, 0xd9,
-	0x96, 0xde, 0x8c, 0x8c, 0x3d, 0x49, 0x46, 0x38, 0x1e, 0xd7, 0x33, 0xde, 0x2e, 0xaf, 0xd5, 0xdb,
-	0xbe, 0x40, 0x2f, 0xfb, 0x08, 0x15, 0x4f, 0x52, 0xcd, 0x8c, 0x03, 0x61, 0x37, 0x12, 0x55, 0xef,
-	0xe2, 0xef, 0x7c, 0xe7, 0x9c, 0x39, 0xdf, 0x39, 0x73, 0x26, 0xa0, 0x31, 0x27, 0x7c, 0xd6, 0xf9,
-	0x74, 0xe4, 0x85, 0xf1, 0xcc, 0x3b, 0xea, 0xf8, 0x2c, 0x9a, 0xd0, 0xa9, 0x15, 0x27, 0x4c, 0x30,
-	0x58, 0xa3, 0x5c, 0x50, 0x66, 0x49, 0x86, 0xb5, 0x60, 0x34, 0xf6, 0xa6, 0x8c, 0x4d, 0x43, 0xd2,
-	0x51, 0x94, 0xdb, 0x74, 0xd2, 0x09, 0xd2, 0xc4, 0x13, 0x94, 0x45, 0xda, 0xa9, 0xb1, 0xfb, 0x3c,
-	0x60, 0x9c, 0xb0, 0xcf, 0xf7, 0x99, 0xe9, 0x30, 0x22, 0xe2, 0x37, 0x96, 0xdc, 0xd1, 0x68, 0xba,
-	0x20, 0x9c, 0x74, 0x02, 0xc2, 0x05, 0x8d, 0x54, 0x04, 0x9c, 0xa4, 0x21, 0xd1, 0xdc, 0xd6, 0xef,
-	0x65, 0x00, 0x2e, 0x09, 0x9f, 0xf5, 0xd4, 0x81, 0xe0, 0x77, 0x00, 0xce, 0xe9, 0x67, 0x92, 0x60,
-	0x7f, 0x46, 0xfc, 0x3b, 0xcc, 0x49, 0xf2, 0x89, 0x24, 0xc8, 0x68, 0x1a, 0xed, 0x6d, 0xdb, 0x54,
-	0x96, 0x9e, 0x34, 0x38, 0x0a, 0x87, 0x16, 0xa8, 0x69, 0x76, 0x42, 0x62, 0x96, 0x88, 0x05, 0x7d,
-	0x5d, 0xd1, 0xab, 0xca, 0x64, 0x2b, 0x4b, 0xc6, 0x3f, 0x06, 0xf5, 0x80, 0x72, 0xef, 0x36, 0x24,
-	0x38, 0x66, 0x21, 0xf5, 0xef, 0x75, 0x1a, 0x8e, 0x36, 0x9a, 0x46, 0x3b, 0x6f, 0xd7, 0x32, 0xe3,
-	0x95, 0xb2, 0xa9, 0x44, 0x1c, 0x1e, 0x82, 0xaa, 0xaa, 0x0d, 0x87, 0x94, 0x0b, 0x12, 0x61, 0x19,
-	0x0e, 0xe5, 0x9a, 0x46, 0xfb, 0x95, 0x5d, 0x51, 0x86, 0xa1, 0xc2, 0xaf, 0x58, 0x22, 0xe0, 0x3e,
-	0xd0, 0x10, 0x9e, 0x09, 0x11, 0x6b, 0xe6, 0x2b, 0xc5, 0x2c, 0x29, 0xf8, 0x83, 0x10, 0xb1, 0xe2,
-	0x9d, 0x82, 0x8a, 0xcf, 0xa2, 0x88, 0xf8, 0x02, 0x0b, 0x3a, 0x27, 0x2c, 0x15, 0x68, 0xb3, 0x69,
-	0xb4, 0x0b, 0xc7, 0xbb, 0x96, 0x56, 0xdd, 0x5a, 0xa8, 0x6e, 0x9d, 0x65, 0xaa, 0xdb, 0xe5, 0xcc,
-	0xc3, 0xd5, 0x0e, 0xf0, 0x1b, 0x50, 0xa2, 0xd1, 0x34, 0x21, 0x9c, 0x63, 0x3f, 0xf4, 0x38, 0x47,
-	0x5b, 0xaa, 0xea, 0x62, 0x06, 0xf6, 0x24, 0x06, 0x0f, 0x40, 0x65, 0x41, 0x92, 0xda, 0x50, 0x9f,
-	0xa0, 0xbc, 0xa2, 0x95, 0x33, 0xd8, 0xd1, 0x28, 0x9c, 0x83, 0x9d, 0xc7, 0x68, 0x2c, 0x12, 0x09,
-	0x0b, 0x43, 0x92, 0xe0, 0x39, 0x0b, 0x08, 0xda, 0x6e, 0x1a, 0xed, 0xf2, 0xf1, 0xf7, 0xd6, 0x8a,
-	0x21, 0xb1, 0x9e, 0x3a, 0x67, 0x0d, 0xb2, 0xbc, 0x8f, 0xde, 0x97, 0x2c, 0x20, 0x76, 0x9d, 0xae,
-	0x82, 0xe1, 0x18, 0x14, 0xbc, 0x54, 0xcc, 0xb2, 0x2e, 0x20, 0xa0, 0x52, 0x1c, 0xbe, 0x94, 0xa2,
-	0x9b, 0x8a, 0x99, 0xee, 0xcd, 0xe9, 0x3a, 0x32, 0x6c, 0xe0, 0x3d, 0x7e, 0xc3, 0x01, 0xa8, 0x26,
-	0x01, 0xc7, 0x09, 0x99, 0x24, 0x84, 0xcf, 0x70, 0x40, 0x42, 0xef, 0x1e, 0x15, 0x5e, 0xd0, 0x54,
-	0x45, 0xa9, 0x24, 0x01, 0xb7, 0xb5, 0xdb, 0x99, 0xf4, 0x82, 0xdf, 0x82, 0x32, 0x89, 0xd4, 0x8c,
-	0x88, 0xc4, 0xf3, 0x69, 0x34, 0x45, 0x45, 0x35, 0x1d, 0x25, 0x8d, 0xba, 0x1a, 0x94, 0xbd, 0xf6,
-	0x7c, 0x5f, 0x0a, 0x16, 0xb2, 0x29, 0x9e, 0xd0, 0x90, 0xa0, 0x92, 0x92, 0xb6, 0xa4, 0xe1, 0x21,
-	0x9b, 0x9e, 0xd3, 0x90, 0xc0, 0xf7, 0xa0, 0x1c, 0x90, 0x89, 0x97, 0x86, 0x02, 0xeb, 0x4b, 0x87,
-	0xca, 0xea, 0x58, 0xcd, 0x95, 0xd5, 0x5e, 0xc9, 0x39, 0xd1, 0xe5, 0xda, 0xa5, 0xcc, 0x2f, 0xbb,
-	0x1a, 0x07, 0xa0, 0xa4, 0x87, 0xdd, 0x0b, 0x02, 0x29, 0x29, 0x32, 0x65, 0x3a, 0x55, 0x43, 0x51,
-	0x19, 0xba, 0x1a, 0x87, 0xbf, 0x82, 0x1d, 0x96, 0x8a, 0x5b, 0x96, 0x46, 0x81, 0x2c, 0x61, 0x32,
-	0xa1, 0xfe, 0x42, 0xe8, 0xaa, 0x4a, 0xfd, 0x62, 0x2f, 0xc7, 0x99, 0xbb, 0xab, 0xbd, 0x97, 0x34,
-	0xaf, 0xb3, 0x55, 0x26, 0x78, 0x06, 0xfe, 0x9f, 0x69, 0xe6, 0x87, 0x94, 0x44, 0x02, 0x73, 0x1a,
-	0x3c, 0xbf, 0x63, 0xa8, 0xa6, 0x44, 0x7c, 0xab, 0x69, 0x3d, 0xc5, 0x72, 0x68, 0xb0, 0x7c, 0xd7,
-	0x60, 0x13, 0x14, 0x79, 0xc0, 0x71, 0x1a, 0x70, 0x1c, 0x7b, 0x62, 0x86, 0x5e, 0x2b, 0x3d, 0x01,
-	0x0f, 0xf8, 0x75, 0xc0, 0xaf, 0x3c, 0x31, 0x93, 0x6d, 0xe6, 0x5f, 0xb5, 0xb9, 0xfe, 0xaf, 0xda,
-	0xcc, 0xbf, 0x68, 0xf3, 0x07, 0x50, 0xd6, 0xfd, 0xc0, 0x9c, 0xa5, 0x89, 0x4f, 0x38, 0x7a, 0xd3,
-	0xdc, 0x68, 0x17, 0x8e, 0xdf, 0xad, 0x14, 0x47, 0x0b, 0xe3, 0x28, 0xa6, 0x5d, 0xf2, 0x97, 0xbe,
-	0x38, 0x3c, 0x01, 0x6f, 0xb2, 0xe2, 0xe5, 0xd9, 0x04, 0xbb, 0x23, 0x11, 0x9e, 0xb3, 0x34, 0x12,
-	0x68, 0x47, 0xaf, 0x15, 0x6d, 0x75, 0x02, 0xee, 0x4a, 0xdb, 0xa5, 0x34, 0xc9, 0xb5, 0xb2, 0x3c,
-	0x3e, 0x2c, 0x99, 0x7b, 0x02, 0x21, 0x55, 0x70, 0xe5, 0x69, 0x80, 0x14, 0x2c, 0x13, 0x2c, 0x4b,
-	0x89, 0x27, 0x1e, 0x0d, 0x31, 0x8b, 0x49, 0x84, 0x76, 0x75, 0x82, 0xf8, 0x49, 0xc4, 0x73, 0x8f,
-	0x86, 0xe3, 0x98, 0x44, 0xf0, 0x1d, 0x28, 0x8a, 0x24, 0xe5, 0x02, 0x07, 0x6c, 0xee, 0xd1, 0x08,
-	0x35, 0x54, 0xec, 0x82, 0xc2, 0xce, 0x14, 0x04, 0x3d, 0x50, 0x5b, 0x3a, 0x03, 0x89, 0x7c, 0x16,
-	0xc8, 0x71, 0x7f, 0xab, 0x6e, 0xe3, 0xd1, 0x8b, 0xb7, 0x71, 0x71, 0xca, 0x7e, 0xe6, 0x68, 0x57,
-	0xbd, 0x2f, 0xa1, 0xc6, 0x1f, 0x06, 0xa8, 0xaf, 0x9c, 0x26, 0x68, 0x83, 0x9c, 0x5a, 0x2f, 0x86,
-	0xca, 0xf6, 0xe3, 0x7f, 0x1a, 0x49, 0x4b, 0x2e, 0x13, 0xd5, 0x5e, 0x15, 0xab, 0x35, 0x02, 0x39,
-	0xb5, 0x5e, 0xea, 0xa0, 0x64, 0xf7, 0xdf, 0x0f, 0x1c, 0xd7, 0xbe, 0xc1, 0xe3, 0xd1, 0xf0, 0xc6,
-	0x5c, 0x6b, 0xac, 0xe7, 0x0d, 0x58, 0x05, 0xdb, 0xdd, 0xe1, 0x70, 0xfc, 0x13, 0xee, 0x8e, 0x6e,
-	0x4c, 0x43, 0x41, 0xff, 0x03, 0xaf, 0x3f, 0x0e, 0x6c, 0xf7, 0xba, 0x3b, 0xc4, 0x4e, 0xdf, 0xfe,
-	0x38, 0xe8, 0xf5, 0xb5, 0xc3, 0xba, 0xb4, 0xb6, 0x7e, 0x00, 0xf5, 0x95, 0x6b, 0x0d, 0x6e, 0x81,
-	0x8d, 0xf1, 0xf9, 0xb9, 0xb9, 0x06, 0x0b, 0x60, 0xeb, 0xac, 0x7f, 0xde, 0xbd, 0x1e, 0xba, 0xa6,
-	0x01, 0x01, 0xd8, 0x74, 0x5c, 0x7b, 0xd0, 0x73, 0xcd, 0xf5, 0xd6, 0x3e, 0x00, 0x4f, 0xeb, 0x0a,
-	0xe6, 0x41, 0x6e, 0x34, 0x1e, 0xf5, 0xcd, 0x35, 0x28, 0x9f, 0xbb, 0x6b, 0x95, 0xcf, 0x1d, 0x3a,
-	0xa6, 0xd1, 0x3a, 0x00, 0xd5, 0xaf, 0x84, 0x94, 0x74, 0xb7, 0xff, 0xb3, 0x6b, 0xae, 0xc9, 0x5f,
-	0x17, 0xce, 0x78, 0x64, 0x1a, 0x17, 0xb9, 0x7c, 0xc5, 0x34, 0x2f, 0x72, 0x79, 0x68, 0xd6, 0x5a,
-	0x1c, 0x14, 0x97, 0x07, 0x12, 0x22, 0xb0, 0xb5, 0x58, 0x0a, 0xfa, 0xa9, 0x5c, 0x7c, 0xc2, 0x01,
-	0x28, 0x8a, 0x50, 0x2e, 0x7f, 0x21, 0x68, 0x34, 0xe5, 0xea, 0x69, 0x2c, 0x1c, 0xef, 0x67, 0x6a,
-	0x3f, 0xbd, 0xd3, 0x0b, 0xcd, 0x4f, 0x2c, 0x77, 0xe8, 0x38, 0x19, 0xdb, 0x2e, 0x88, 0x90, 0x2f,
-	0x3e, 0x4e, 0xdb, 0x7f, 0x3e, 0xec, 0x19, 0x7f, 0x3d, 0xec, 0x19, 0x7f, 0x3f, 0xec, 0x19, 0xbf,
-	0x34, 0x74, 0x04, 0xca, 0x3a, 0x5e, 0x4c, 0x3b, 0xcf, 0xfe, 0x0b, 0xdc, 0x6e, 0xaa, 0x2b, 0x78,
-	0xf2, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0a, 0x38, 0x8b, 0x61, 0x74, 0x08, 0x00, 0x00,
+	// 1117 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0xdb, 0x36,
+	0x14, 0x8e, 0xd2, 0xb4, 0x49, 0x8f, 0xff, 0x64, 0xa6, 0x6e, 0x59, 0xb7, 0xc8, 0xdc, 0x0c, 0x6b,
+	0x8d, 0x62, 0x90, 0xd1, 0x04, 0xbb, 0xd8, 0xee, 0x52, 0xc7, 0x69, 0x9d, 0x39, 0xb1, 0x21, 0x29,
+	0xdd, 0xba, 0x1b, 0x42, 0x91, 0x68, 0x9b, 0x88, 0x2c, 0x6a, 0x22, 0xd5, 0xb5, 0xcf, 0xb3, 0xc7,
+	0xd8, 0x0b, 0xec, 0x72, 0x8f, 0x30, 0xf4, 0x49, 0x06, 0x92, 0x52, 0xed, 0xb4, 0xc6, 0x32, 0xec,
+	0xce, 0xfc, 0xce, 0x77, 0xce, 0x21, 0xbf, 0xf3, 0x23, 0x43, 0x7b, 0x41, 0xc5, 0xbc, 0xf7, 0xee,
+	0x45, 0x10, 0xa7, 0xf3, 0xe0, 0x45, 0x2f, 0xe4, 0xc9, 0x94, 0xcd, 0x9c, 0x34, 0xe3, 0x92, 0xa3,
+	0x5d, 0x26, 0x24, 0xe3, 0x8e, 0x62, 0x38, 0x25, 0xa3, 0xbd, 0x37, 0xe3, 0x7c, 0x16, 0xd3, 0x9e,
+	0xa6, 0x5c, 0xe6, 0xd3, 0x5e, 0x94, 0x67, 0x81, 0x64, 0x3c, 0x31, 0x4e, 0xed, 0x87, 0xd7, 0x03,
+	0xa6, 0x19, 0x7f, 0xff, 0xa1, 0x30, 0x3d, 0x4f, 0xa8, 0xfc, 0x8d, 0x67, 0x57, 0x2c, 0x99, 0x95,
+	0x84, 0xc3, 0x5e, 0x44, 0x85, 0x64, 0x89, 0x8e, 0x40, 0xb2, 0x3c, 0xa6, 0x86, 0xbb, 0xff, 0x7b,
+	0x03, 0xe0, 0x8c, 0x8a, 0x79, 0x5f, 0x5f, 0x08, 0x7d, 0x0b, 0x68, 0xc1, 0xde, 0xd3, 0x8c, 0x84,
+	0x73, 0x1a, 0x5e, 0x11, 0x41, 0xb3, 0x77, 0x34, 0xc3, 0x56, 0xc7, 0xea, 0xde, 0x75, 0x6d, 0x6d,
+	0xe9, 0x2b, 0x83, 0xa7, 0x71, 0xe4, 0xc0, 0xae, 0x61, 0x67, 0x34, 0xe5, 0x99, 0x2c, 0xe9, 0x9b,
+	0x9a, 0xde, 0xd4, 0x26, 0x57, 0x5b, 0x0a, 0xfe, 0x01, 0xb4, 0x22, 0x26, 0x82, 0xcb, 0x98, 0x92,
+	0x94, 0xc7, 0x2c, 0xfc, 0x60, 0xd2, 0x08, 0x7c, 0xab, 0x63, 0x75, 0x77, 0xdc, 0xdd, 0xc2, 0x38,
+	0xd1, 0x36, 0x9d, 0x48, 0xa0, 0xe7, 0xd0, 0xd4, 0x6f, 0x23, 0x31, 0x13, 0x92, 0x26, 0x44, 0x85,
+	0xc3, 0x5b, 0x1d, 0xab, 0x7b, 0xdb, 0x6d, 0x68, 0xc3, 0x48, 0xe3, 0x13, 0x9e, 0x49, 0xf4, 0x14,
+	0x0c, 0x44, 0xe6, 0x52, 0xa6, 0x86, 0x79, 0x5b, 0x33, 0x6b, 0x1a, 0x7e, 0x2d, 0x65, 0xaa, 0x79,
+	0x2f, 0xa1, 0x11, 0xf2, 0x24, 0xa1, 0xa1, 0x24, 0x92, 0x2d, 0x28, 0xcf, 0x25, 0xbe, 0xd3, 0xb1,
+	0xba, 0x95, 0x83, 0x87, 0x8e, 0x51, 0xdd, 0x29, 0x55, 0x77, 0x8e, 0x0b, 0xd5, 0xdd, 0x7a, 0xe1,
+	0xe1, 0x1b, 0x07, 0xf4, 0x35, 0xd4, 0x58, 0x32, 0xcb, 0xa8, 0x10, 0x24, 0x8c, 0x03, 0x21, 0xf0,
+	0xb6, 0x7e, 0x75, 0xb5, 0x00, 0xfb, 0x0a, 0x43, 0xcf, 0xa0, 0x51, 0x92, 0x94, 0x36, 0x2c, 0xa4,
+	0x78, 0x47, 0xd3, 0xea, 0x05, 0xec, 0x19, 0x14, 0x2d, 0xe0, 0xc1, 0xa7, 0x68, 0x3c, 0x91, 0x19,
+	0x8f, 0x63, 0x9a, 0x91, 0x05, 0x8f, 0x28, 0xbe, 0xdb, 0xb1, 0xba, 0xf5, 0x83, 0xef, 0x9c, 0x35,
+	0x4d, 0xe2, 0x2c, 0x2b, 0xe7, 0x0c, 0x8b, 0xbc, 0x9f, 0xbc, 0xcf, 0x78, 0x44, 0xdd, 0x16, 0x5b,
+	0x07, 0xa3, 0x31, 0x54, 0x82, 0x5c, 0xce, 0x8b, 0x2a, 0x60, 0xd0, 0x29, 0x9e, 0xdf, 0x94, 0xe2,
+	0x28, 0x97, 0x73, 0x53, 0x9b, 0x97, 0x9b, 0xd8, 0x72, 0x21, 0xf8, 0x74, 0x46, 0x43, 0x68, 0x66,
+	0x91, 0x20, 0x19, 0x9d, 0x66, 0x54, 0xcc, 0x49, 0x44, 0xe3, 0xe0, 0x03, 0xae, 0xdc, 0xa0, 0xa9,
+	0x8e, 0xd2, 0xc8, 0x22, 0xe1, 0x1a, 0xb7, 0x63, 0xe5, 0x85, 0xbe, 0x81, 0x3a, 0x4d, 0x74, 0x8f,
+	0xc8, 0x2c, 0x08, 0x59, 0x32, 0xc3, 0x55, 0xdd, 0x1d, 0x35, 0x83, 0xfa, 0x06, 0x54, 0xb5, 0x0e,
+	0xc2, 0x50, 0x09, 0x16, 0xf3, 0x19, 0x99, 0xb2, 0x98, 0xe2, 0x9a, 0x96, 0xb6, 0x66, 0xe0, 0x11,
+	0x9f, 0x9d, 0xb0, 0x98, 0xa2, 0x57, 0x50, 0x8f, 0xe8, 0x34, 0xc8, 0x63, 0x49, 0xcc, 0xd0, 0xe1,
+	0xba, 0xbe, 0x56, 0x67, 0xed, 0x6b, 0x27, 0xaa, 0x4f, 0xcc, 0x73, 0xdd, 0x5a, 0xe1, 0x57, 0x8c,
+	0xc6, 0x33, 0xa8, 0x99, 0x66, 0x0f, 0xa2, 0x48, 0x49, 0x8a, 0x6d, 0x95, 0x4e, 0xbf, 0xa1, 0xaa,
+	0x0d, 0x47, 0x06, 0x47, 0xbf, 0xc2, 0x03, 0x9e, 0xcb, 0x4b, 0x9e, 0x27, 0x91, 0x7a, 0xc2, 0x74,
+	0xca, 0xc2, 0x52, 0xe8, 0xa6, 0x4e, 0x7d, 0x63, 0x2d, 0xc7, 0x85, 0xbb, 0x6f, 0xbc, 0x57, 0x34,
+	0x6f, 0xf1, 0x75, 0x26, 0x74, 0x0c, 0x5f, 0x15, 0x9a, 0x85, 0x31, 0xa3, 0x89, 0x24, 0x82, 0x45,
+	0xd7, 0x67, 0x0c, 0xef, 0x6a, 0x11, 0x1f, 0x19, 0x5a, 0x5f, 0xb3, 0x3c, 0x16, 0xad, 0xce, 0x1a,
+	0xea, 0x40, 0x55, 0x44, 0x82, 0xe4, 0x91, 0x20, 0x69, 0x20, 0xe7, 0xf8, 0x9e, 0xd6, 0x13, 0x44,
+	0x24, 0x2e, 0x22, 0x31, 0x09, 0xe4, 0x5c, 0x95, 0x59, 0x7c, 0x51, 0xe6, 0xd6, 0x7f, 0x2a, 0xb3,
+	0xf8, 0xac, 0xcc, 0xaf, 0xa1, 0x6e, 0xea, 0x41, 0x04, 0xcf, 0xb3, 0x90, 0x0a, 0x7c, 0xbf, 0x73,
+	0xab, 0x5b, 0x39, 0x78, 0xb2, 0x56, 0x1c, 0x23, 0x8c, 0xa7, 0x99, 0x6e, 0x2d, 0x5c, 0x39, 0x09,
+	0x74, 0x08, 0xf7, 0x8b, 0xc7, 0xab, 0xbb, 0x49, 0x7e, 0x45, 0x13, 0xb2, 0xe0, 0x79, 0x22, 0xf1,
+	0x03, 0xb3, 0x56, 0x8c, 0xd5, 0x8b, 0x84, 0xaf, 0x6c, 0x67, 0xca, 0xa4, 0xd6, 0xca, 0x6a, 0xfb,
+	0xf0, 0x6c, 0x11, 0x48, 0x8c, 0xf5, 0x83, 0x1b, 0xcb, 0x06, 0xd2, 0xb0, 0x4a, 0xb0, 0x2a, 0x25,
+	0x99, 0x06, 0x2c, 0x26, 0x3c, 0xa5, 0x09, 0x7e, 0x68, 0x12, 0xa4, 0x4b, 0x11, 0x4f, 0x02, 0x16,
+	0x8f, 0x53, 0x9a, 0xa0, 0x27, 0x50, 0x95, 0x59, 0x2e, 0x24, 0x89, 0xf8, 0x22, 0x60, 0x09, 0x6e,
+	0xeb, 0xd8, 0x15, 0x8d, 0x1d, 0x6b, 0x08, 0x05, 0xb0, 0xbb, 0x72, 0x07, 0x9a, 0x84, 0x3c, 0x52,
+	0xed, 0xfe, 0x48, 0x4f, 0xe3, 0x8b, 0x1b, 0xa7, 0xb1, 0xbc, 0xe5, 0xa0, 0x70, 0x74, 0x9b, 0xc1,
+	0xe7, 0x10, 0xe2, 0x50, 0x93, 0x61, 0x4a, 0xae, 0x28, 0x4d, 0x83, 0x98, 0xbd, 0xa3, 0xf8, 0xb1,
+	0x2e, 0xd6, 0x69, 0x11, 0x7c, 0xf9, 0xa1, 0x28, 0x53, 0x1c, 0x2a, 0xa9, 0xd5, 0x9e, 0x63, 0x3c,
+	0x99, 0x70, 0x1e, 0x7b, 0x54, 0x4a, 0x96, 0xcc, 0x84, 0xe3, 0xf7, 0x27, 0xcb, 0xdf, 0x61, 0xfa,
+	0x63, 0x19, 0xd1, 0xad, 0xca, 0x95, 0x53, 0xfb, 0x0f, 0x0b, 0x5a, 0x6b, 0xdb, 0x17, 0xb9, 0xb0,
+	0xa5, 0xf7, 0x99, 0xa5, 0x9f, 0xf7, 0xc3, 0xff, 0x9a, 0x01, 0x47, 0x6d, 0x2f, 0xdd, 0x4f, 0x3a,
+	0xd6, 0xfe, 0x39, 0x6c, 0xe9, 0x7d, 0xd6, 0x82, 0x9a, 0x3b, 0x78, 0x35, 0xf4, 0x7c, 0xf7, 0x2d,
+	0x19, 0x9f, 0x8f, 0xde, 0xda, 0x1b, 0xed, 0xcd, 0x1d, 0x0b, 0x35, 0xe1, 0xee, 0xd1, 0x68, 0x34,
+	0xfe, 0x89, 0x1c, 0x9d, 0xbf, 0xb5, 0x2d, 0x0d, 0x3d, 0x86, 0x7b, 0x6f, 0x86, 0xae, 0x7f, 0x71,
+	0x34, 0x22, 0xde, 0xc0, 0x7d, 0x33, 0xec, 0x0f, 0x8c, 0xc3, 0xa6, 0xb2, 0xee, 0x7f, 0x0f, 0xad,
+	0xb5, 0x7b, 0x14, 0x6d, 0xc3, 0xad, 0xf1, 0xc9, 0x89, 0xbd, 0x81, 0x2a, 0xb0, 0x7d, 0x3c, 0x38,
+	0x39, 0xba, 0x18, 0xf9, 0xb6, 0x85, 0x00, 0xee, 0x78, 0xbe, 0x3b, 0xec, 0xfb, 0xf6, 0xe6, 0xfe,
+	0x53, 0x80, 0xe5, 0x7e, 0x44, 0x3b, 0xb0, 0x75, 0x3e, 0x3e, 0x1f, 0xd8, 0x1b, 0xa8, 0x0e, 0x70,
+	0x76, 0xa1, 0xf3, 0xf9, 0x23, 0xcf, 0xb6, 0xf6, 0x9f, 0x41, 0xf3, 0x8b, 0xca, 0x29, 0xba, 0x3f,
+	0xf8, 0xd9, 0xb7, 0x37, 0xd4, 0xaf, 0x53, 0x6f, 0x7c, 0x6e, 0x5b, 0xa7, 0x5b, 0x3b, 0x0d, 0xdb,
+	0x3e, 0xdd, 0xda, 0x41, 0xf6, 0xee, 0xbe, 0x80, 0xea, 0xea, 0x04, 0x20, 0x0c, 0xdb, 0xe5, 0x16,
+	0x32, 0xdf, 0xe6, 0xf2, 0x88, 0x86, 0x50, 0x95, 0xb1, 0xfa, 0xda, 0x98, 0x52, 0xe9, 0x6f, 0x71,
+	0xe5, 0xe0, 0xe9, 0xbf, 0xd4, 0xdb, 0x1f, 0x79, 0x65, 0x61, 0xdd, 0x8a, 0x8c, 0x45, 0x79, 0x78,
+	0xd9, 0xfd, 0xf3, 0xe3, 0x9e, 0xf5, 0xd7, 0xc7, 0x3d, 0xeb, 0xef, 0x8f, 0x7b, 0xd6, 0x2f, 0x6d,
+	0x13, 0x81, 0xf1, 0x5e, 0x90, 0xb2, 0xde, 0xb5, 0x3f, 0x1f, 0x97, 0x77, 0xf4, 0xcc, 0x1f, 0xfe,
+	0x13, 0x00, 0x00, 0xff, 0xff, 0x42, 0x10, 0x6c, 0xd1, 0xe5, 0x08, 0x00, 0x00,
 }
diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto
index 952501f6d5..4a19be15ce 100644
--- a/mesh/v1alpha1/config.proto
+++ b/mesh/v1alpha1/config.proto
@@ -71,6 +71,9 @@ message MeshConfig {
   // Connection timeout used by Envoy. (MUST BE >=1ms)
   google.protobuf.Duration connect_timeout = 6;
 
+  // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+  istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive tcp_keepalive = 28;
+
   // Class of ingress resources to be processed by Istio ingress
   // controller.  This corresponds to the value of
   // "kubernetes.io/ingress.class" annotation.
@@ -197,7 +200,7 @@ message MeshConfig {
   string trust_domain = 26;
 
   // $hide_from_docs
-  // Next available field number: 28
+  // Next available field number: 29
 }
 
 // ConfigSource describes information about a configuration store inside a
diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
index 2e6b034417..77ddc649ac 100644
--- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
+++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
@@ -171,6 +171,14 @@ 

MeshConfig

+ + + + + diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 5e36f5a482..f7d392d8a5 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -869,6 +869,9 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *time.Durati // tcp: // maxConnections: 100 // connectTimeout: 30ms +// tcpKeepalive: +// time: 7200s +// interval: 75s // ``` type ConnectionPoolSettings struct { // Settings common to both HTTP and TCP upstream connections. @@ -904,6 +907,8 @@ type ConnectionPoolSettings_TCPSettings struct { MaxConnections int32 `protobuf:"varint,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` // TCP connection timeout. ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` + // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. + TcpKeepalive *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` } func (m *ConnectionPoolSettings_TCPSettings) Reset() { *m = ConnectionPoolSettings_TCPSettings{} } @@ -927,6 +932,61 @@ func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *google_protobu return nil } +func (m *ConnectionPoolSettings_TCPSettings) GetTcpKeepalive() *ConnectionPoolSettings_TCPSettings_TcpKeepalive { + if m != nil { + return m.TcpKeepalive + } + return nil +} + +// TCP keepalive. +type ConnectionPoolSettings_TCPSettings_TcpKeepalive struct { + // Maximum number of keepalive probes to send without response before + // deciding the connection is dead. Default is to use the OS level configuration + // (unless overridden, Linux defaults to 9.) + Probes uint32 `protobuf:"varint,1,opt,name=probes,proto3" json:"probes,omitempty"` + // The time duration a connection needs to be idle before keep-alive + // probes start being sent. Default is to use the OS level configuration + // (unless overridden, Linux defaults to 7200s (ie 2 hours.) + Time *google_protobuf.Duration `protobuf:"bytes,2,opt,name=time" json:"time,omitempty"` + // The time duration between keep-alive probes. + // Default is to use the OS level configuration + // (unless overridden, Linux defaults to 75s.) + Interval *google_protobuf.Duration `protobuf:"bytes,3,opt,name=interval" json:"interval,omitempty"` +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Reset() { + *m = ConnectionPoolSettings_TCPSettings_TcpKeepalive{} +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) String() string { + return proto.CompactTextString(m) +} +func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoMessage() {} +func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Descriptor() ([]byte, []int) { + return fileDescriptorDestinationRule, []int{4, 0, 0} +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32 { + if m != nil { + return m.Probes + } + return 0 +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *google_protobuf.Duration { + if m != nil { + return m.Time + } + return nil +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *google_protobuf.Duration { + if m != nil { + return m.Interval + } + return nil +} + // Settings applicable to HTTP1.1/HTTP2/GRPC connections. type ConnectionPoolSettings_HTTPSettings struct { // Maximum number of pending HTTP requests to a destination. Default 1024. @@ -1211,6 +1271,7 @@ func init() { proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB_HTTPCookie)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie") proto.RegisterType((*ConnectionPoolSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings") proto.RegisterType((*ConnectionPoolSettings_TCPSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings") + proto.RegisterType((*ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive") proto.RegisterType((*ConnectionPoolSettings_HTTPSettings)(nil), "istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings") proto.RegisterType((*OutlierDetection)(nil), "istio.networking.v1alpha3.OutlierDetection") proto.RegisterType((*TLSSettings)(nil), "istio.networking.v1alpha3.TLSSettings") @@ -1670,6 +1731,59 @@ func (m *ConnectionPoolSettings_TCPSettings) MarshalTo(dAtA []byte) (int, error) } i += n19 } + if m.TcpKeepalive != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(m.TcpKeepalive.Size())) + n20, err := m.TcpKeepalive.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n20 + } + return i, nil +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) 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 *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Probes != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(m.Probes)) + } + if m.Time != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(m.Time.Size())) + n21, err := m.Time.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n21 + } + if m.Interval != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(m.Interval.Size())) + n22, err := m.Interval.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n22 + } return i, nil } @@ -1735,21 +1849,21 @@ func (m *OutlierDetection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.Interval.Size())) - n20, err := m.Interval.MarshalTo(dAtA[i:]) + n23, err := m.Interval.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n20 + i += n23 } if m.BaseEjectionTime != nil { dAtA[i] = 0x1a i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.BaseEjectionTime.Size())) - n21, err := m.BaseEjectionTime.MarshalTo(dAtA[i:]) + n24, err := m.BaseEjectionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n21 + i += n24 } if m.MaxEjectionPercent != 0 { dAtA[i] = 0x20 @@ -2031,6 +2145,27 @@ func (m *ConnectionPoolSettings_TCPSettings) Size() (n int) { l = m.ConnectTimeout.Size() n += 1 + l + sovDestinationRule(uint64(l)) } + if m.TcpKeepalive != nil { + l = m.TcpKeepalive.Size() + n += 1 + l + sovDestinationRule(uint64(l)) + } + return n +} + +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int) { + var l int + _ = l + if m.Probes != 0 { + n += 1 + sovDestinationRule(uint64(m.Probes)) + } + if m.Time != nil { + l = m.Time.Size() + n += 1 + l + sovDestinationRule(uint64(l)) + } + if m.Interval != nil { + l = m.Interval.Size() + n += 1 + l + sovDestinationRule(uint64(l)) + } return n } @@ -3511,6 +3646,174 @@ func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TcpKeepalive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthDestinationRule + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TcpKeepalive == nil { + m.TcpKeepalive = &ConnectionPoolSettings_TCPSettings_TcpKeepalive{} + } + if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipDestinationRule(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthDestinationRule + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) 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 ErrIntOverflowDestinationRule + } + 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: TcpKeepalive: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TcpKeepalive: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Probes", wireType) + } + m.Probes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Probes |= (uint32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthDestinationRule + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Time == nil { + m.Time = &google_protobuf.Duration{} + } + if err := m.Time.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Interval", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthDestinationRule + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Interval == nil { + m.Interval = &google_protobuf.Duration{} + } + if err := m.Interval.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipDestinationRule(dAtA[iNdEx:]) @@ -4155,87 +4458,92 @@ func init() { } var fileDescriptorDestinationRule = []byte{ - // 1312 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6e, 0x1b, 0x37, - 0x13, 0xb7, 0xfe, 0xc6, 0x1e, 0xc5, 0xb2, 0xcc, 0xcf, 0xf8, 0x3e, 0x45, 0x1f, 0xe0, 0xb8, 0x42, - 0xd1, 0xb8, 0x69, 0xb3, 0xaa, 0x1d, 0x14, 0x48, 0x13, 0xa4, 0x88, 0x65, 0x0b, 0x91, 0x11, 0xd9, - 0x12, 0xb8, 0x32, 0x50, 0xe4, 0xb2, 0xa0, 0x56, 0xb4, 0xc4, 0x78, 0x77, 0xb9, 0x25, 0xb9, 0xaa, - 0x9d, 0xf7, 0x68, 0xd1, 0x6b, 0x2f, 0x7d, 0x81, 0xbe, 0x44, 0xd1, 0x53, 0xaf, 0xed, 0xa5, 0x45, - 0x5e, 0xa0, 0xa7, 0xde, 0x0b, 0x72, 0x77, 0x25, 0x39, 0x71, 0x9c, 0x18, 0x69, 0x6e, 0x5c, 0xce, - 0xfc, 0x7e, 0x33, 0xe4, 0x0c, 0x7f, 0x23, 0xc1, 0xed, 0x80, 0xaa, 0x6f, 0xb8, 0x38, 0x61, 0xc1, - 0xa8, 0x31, 0xd9, 0x22, 0x5e, 0x38, 0x26, 0x77, 0x1b, 0x43, 0x2a, 0x15, 0x0b, 0x88, 0x62, 0x3c, - 0x70, 0x44, 0xe4, 0x51, 0x2b, 0x14, 0x5c, 0x71, 0x74, 0x83, 0x49, 0xc5, 0xb8, 0x35, 0x43, 0x58, - 0x29, 0xa2, 0xb6, 0x3e, 0xe2, 0x7c, 0xe4, 0xd1, 0x86, 0x71, 0x1c, 0x44, 0xc7, 0x8d, 0x61, 0x24, - 0x0c, 0x3e, 0x86, 0xd6, 0x3e, 0xbe, 0x28, 0xcc, 0x84, 0x09, 0x15, 0x11, 0xcf, 0x91, 0x54, 0x4c, - 0x98, 0x9b, 0x44, 0xa9, 0xad, 0x8d, 0xf8, 0x88, 0x9b, 0x65, 0x43, 0xaf, 0xe2, 0xdd, 0xfa, 0x4f, - 0x19, 0x58, 0xd9, 0x9b, 0xa5, 0x85, 0x23, 0x8f, 0x22, 0x04, 0xf9, 0x31, 0x97, 0xaa, 0x9a, 0xd9, - 0xc8, 0x6c, 0x2e, 0x61, 0xb3, 0x46, 0x5d, 0x28, 0x2b, 0x41, 0x8e, 0x8f, 0x99, 0xeb, 0x84, 0xdc, - 0x63, 0xee, 0x59, 0x35, 0xbb, 0x91, 0xd9, 0x2c, 0x6d, 0x6f, 0x5a, 0xaf, 0x4d, 0xde, 0xea, 0xc7, - 0x80, 0x9e, 0xf1, 0xc7, 0xcb, 0x6a, 0xfe, 0x13, 0x3d, 0x80, 0x6b, 0x32, 0x1a, 0x48, 0xaa, 0x64, - 0x35, 0xb7, 0x91, 0xdb, 0x2c, 0x6d, 0x7f, 0x70, 0x09, 0x93, 0x6d, 0x3c, 0x71, 0x8a, 0xa8, 0xff, - 0x5e, 0x84, 0xe5, 0x73, 0xec, 0xa8, 0x0f, 0xcb, 0x1e, 0x27, 0x43, 0x67, 0x40, 0x3c, 0x12, 0xb8, - 0x54, 0x98, 0xe4, 0x4b, 0xdb, 0x8d, 0x4b, 0x48, 0x3b, 0x9c, 0x0c, 0x9b, 0x89, 0xbb, 0x4d, 0x95, - 0x62, 0xc1, 0x48, 0xe2, 0xeb, 0xde, 0xdc, 0x2e, 0x7a, 0x0a, 0x2b, 0x2e, 0x0f, 0x02, 0xea, 0x9a, - 0x92, 0x85, 0x9c, 0x7b, 0xc9, 0xb1, 0xb7, 0x2e, 0xe1, 0xdd, 0x9d, 0x22, 0x7a, 0x9c, 0x7b, 0x53, - 0xe6, 0xb2, 0x7b, 0x6e, 0x1f, 0x7d, 0x05, 0xab, 0x3c, 0x52, 0x1e, 0xa3, 0xc2, 0x19, 0x52, 0x15, - 0x1b, 0xaa, 0x39, 0xc3, 0xfe, 0xc9, 0x25, 0xec, 0xdd, 0x18, 0xb3, 0x97, 0x42, 0x70, 0x85, 0xbf, - 0xb4, 0x83, 0xee, 0x41, 0x4e, 0x79, 0xb2, 0x9a, 0x37, 0x5c, 0x1f, 0x5d, 0x56, 0xa0, 0x8e, 0x3d, - 0x4d, 0x4f, 0x43, 0xd0, 0x33, 0xf8, 0x4f, 0xc8, 0x85, 0x72, 0x3c, 0x3a, 0xa1, 0xba, 0x7f, 0x62, - 0x5b, 0xb5, 0x60, 0x0a, 0x74, 0xff, 0x6d, 0x4b, 0x6d, 0xf5, 0xb8, 0x50, 0xe7, 0x8b, 0xbf, 0xaa, - 0x69, 0x3b, 0x9a, 0x35, 0x0d, 0x58, 0xfb, 0x2e, 0x07, 0xab, 0xaf, 0x38, 0xa2, 0x07, 0x90, 0xd7, - 0xae, 0x49, 0xf9, 0x6e, 0x5d, 0x12, 0x52, 0x63, 0x6d, 0xea, 0x51, 0x57, 0x71, 0x81, 0x0d, 0xe8, - 0xd5, 0x26, 0xc8, 0xbe, 0xa7, 0x26, 0xc8, 0xbd, 0xd7, 0x26, 0xc8, 0xff, 0x8b, 0x4d, 0x50, 0xb8, - 0x72, 0x13, 0xd4, 0xff, 0xca, 0x40, 0x31, 0x7e, 0x70, 0x5a, 0x09, 0x02, 0xe2, 0xd3, 0x54, 0x09, - 0xf4, 0x1a, 0xb5, 0xa0, 0xe8, 0x91, 0x01, 0xf5, 0x64, 0x35, 0x6b, 0xda, 0xe2, 0xce, 0x1b, 0xdf, - 0xad, 0xd5, 0x31, 0xfe, 0xad, 0x40, 0x89, 0x33, 0x9c, 0x80, 0x2f, 0x10, 0x94, 0xdc, 0x3b, 0x09, - 0x4a, 0xed, 0x0b, 0x28, 0xcd, 0xc5, 0x41, 0x15, 0xc8, 0x9d, 0xd0, 0xb3, 0x24, 0x73, 0xbd, 0x44, - 0x6b, 0x50, 0x98, 0x10, 0x2f, 0xa2, 0xa6, 0x2b, 0x96, 0x70, 0xfc, 0x71, 0x3f, 0x7b, 0x2f, 0x53, - 0xff, 0xb1, 0x00, 0x6b, 0x17, 0x35, 0x02, 0xc2, 0x50, 0x94, 0xcc, 0x0f, 0xbd, 0xf8, 0x06, 0xca, - 0xdb, 0xf7, 0xae, 0xd8, 0x49, 0x96, 0x6d, 0xd0, 0x9d, 0x66, 0x7b, 0x01, 0x27, 0x4c, 0xe8, 0xc4, - 0xb4, 0x93, 0x64, 0x52, 0xd1, 0x40, 0x39, 0x63, 0x22, 0xc7, 0x49, 0x9b, 0x3e, 0xba, 0x2a, 0xf9, - 0xee, 0x94, 0xa6, 0x4d, 0xe4, 0xd8, 0x04, 0x29, 0xbb, 0xe7, 0xf6, 0x6a, 0x7f, 0x67, 0xa1, 0xf2, - 0xb2, 0x1b, 0xba, 0x0d, 0x95, 0xb1, 0x52, 0xa1, 0x33, 0xa6, 0x64, 0x48, 0x85, 0x33, 0xab, 0xb0, - 0x26, 0xd0, 0x96, 0xb6, 0x31, 0x1c, 0xea, 0x6a, 0x07, 0x50, 0x32, 0xbe, 0x2e, 0xe7, 0x27, 0x8c, - 0x26, 0x99, 0x3e, 0x79, 0xd7, 0x4c, 0xad, 0x76, 0xbf, 0xdf, 0xdb, 0x35, 0x94, 0xed, 0x05, 0x0c, - 0x3a, 0x42, 0xfc, 0x85, 0x3e, 0x84, 0xe5, 0x48, 0x52, 0x47, 0xf2, 0x48, 0xb8, 0xd4, 0x61, 0xa1, - 0xe9, 0x8a, 0xc5, 0xf6, 0x02, 0x2e, 0x45, 0x92, 0xda, 0x66, 0x77, 0x3f, 0x44, 0xb7, 0x61, 0xd5, - 0x67, 0x01, 0xf3, 0x23, 0xdf, 0x11, 0x2c, 0x18, 0x39, 0x92, 0x3d, 0xa7, 0xe6, 0xd9, 0xe4, 0xf1, - 0x4a, 0x62, 0xc0, 0x2c, 0x18, 0xd9, 0xec, 0x39, 0xad, 0x8d, 0x00, 0x66, 0xd1, 0x2e, 0xec, 0x68, - 0x04, 0xf9, 0x90, 0xa8, 0x71, 0xd2, 0x17, 0x66, 0x8d, 0xb6, 0x20, 0xa7, 0x54, 0xfa, 0xd0, 0x6f, - 0x58, 0xf1, 0x18, 0xb6, 0xd2, 0x31, 0x6c, 0xed, 0x25, 0x63, 0xb8, 0x99, 0xff, 0xfe, 0x8f, 0x9b, - 0x19, 0xac, 0x7d, 0x9b, 0x00, 0x8b, 0xba, 0x9a, 0xce, 0x09, 0x3d, 0xab, 0xb7, 0x61, 0x31, 0x2d, - 0x3d, 0x5a, 0x81, 0x12, 0xee, 0x1e, 0x1d, 0xee, 0x39, 0xb8, 0xdb, 0xdc, 0x3f, 0xac, 0x2c, 0xa0, - 0x32, 0x40, 0xa7, 0xb5, 0x63, 0xf7, 0x9d, 0xdd, 0xee, 0xe1, 0x61, 0x25, 0x83, 0x00, 0x8a, 0x78, - 0xe7, 0x70, 0xaf, 0x7b, 0x50, 0xc9, 0x6a, 0xe7, 0xde, 0x8e, 0x6d, 0xf7, 0xdb, 0xb8, 0x7b, 0xf4, - 0xb8, 0x5d, 0xc9, 0x35, 0x4b, 0xb0, 0xe4, 0x0d, 0x92, 0x27, 0x52, 0xff, 0x36, 0x0f, 0xff, 0xbd, - 0x58, 0x59, 0x50, 0x17, 0x72, 0xca, 0x0d, 0x13, 0xdd, 0x7c, 0x78, 0x65, 0x65, 0xb2, 0xfa, 0xbb, - 0xbd, 0x39, 0x19, 0x70, 0x43, 0x84, 0x21, 0xaf, 0xeb, 0x92, 0x94, 0xfc, 0xcb, 0xab, 0x33, 0xea, - 0x5b, 0x9f, 0x52, 0x1a, 0xae, 0xda, 0x73, 0x28, 0xcd, 0xc5, 0x41, 0xb7, 0x60, 0xc5, 0x27, 0xa7, - 0xce, 0x4c, 0x13, 0xa5, 0xc9, 0xbf, 0x80, 0xcb, 0x3e, 0x39, 0x9d, 0xb1, 0x4a, 0xd4, 0x9c, 0x4a, - 0xb0, 0xa3, 0x98, 0x4f, 0x79, 0xa4, 0x92, 0xb4, 0x5e, 0x5f, 0x99, 0xa9, 0xd4, 0xf6, 0x63, 0x40, - 0xed, 0xb7, 0x0c, 0x5c, 0x9f, 0x4f, 0x09, 0x3d, 0x80, 0x9a, 0x4e, 0x6a, 0xcb, 0xd1, 0x39, 0x84, - 0x34, 0x18, 0xea, 0x4e, 0x12, 0xf4, 0xeb, 0x88, 0x4a, 0x95, 0x26, 0xf2, 0x3f, 0xe3, 0x71, 0x40, - 0x4e, 0x7b, 0xb1, 0x1d, 0x27, 0x66, 0xf4, 0x29, 0x20, 0x6d, 0xda, 0x36, 0xe0, 0x29, 0x28, 0x6b, - 0x40, 0xe6, 0x75, 0x6d, 0x1f, 0x90, 0xd3, 0xa9, 0xf7, 0x43, 0xf8, 0xff, 0xbc, 0x9f, 0x13, 0x52, - 0x31, 0x77, 0x6a, 0xd3, 0x65, 0x05, 0x5c, 0xf5, 0x67, 0x88, 0x1e, 0x15, 0xb3, 0xf3, 0xa3, 0x9b, - 0x50, 0x8a, 0xe1, 0x4a, 0x30, 0x1a, 0x0f, 0xf6, 0x02, 0x06, 0xe3, 0x6e, 0x76, 0xea, 0x3f, 0x64, - 0xa1, 0xf2, 0xf2, 0x4c, 0x40, 0x77, 0x00, 0x69, 0x35, 0xa0, 0x6e, 0xa4, 0xd8, 0x84, 0x3a, 0x54, - 0x08, 0x2e, 0xd2, 0x73, 0xad, 0xce, 0x59, 0x5a, 0xc6, 0x80, 0x3e, 0x87, 0x45, 0x16, 0x28, 0x2a, - 0x26, 0xc4, 0x7b, 0xf3, 0xe5, 0x4e, 0x5d, 0xd1, 0x63, 0x40, 0x03, 0x22, 0xa9, 0x43, 0x9f, 0x25, - 0x03, 0x52, 0x17, 0xe8, 0x8d, 0xef, 0x06, 0x57, 0x34, 0xa8, 0x95, 0x60, 0x74, 0x89, 0xd0, 0x67, - 0xb0, 0xa6, 0x0f, 0x39, 0xe5, 0x09, 0xa9, 0x70, 0x69, 0xa0, 0x92, 0xd3, 0x22, 0x9f, 0x9c, 0xa6, - 0xee, 0xbd, 0xd8, 0xa2, 0x6b, 0xe0, 0xb3, 0x40, 0xcb, 0x98, 0xa7, 0xc6, 0x53, 0xff, 0x42, 0x5c, - 0x03, 0x9f, 0x05, 0x6d, 0x63, 0x48, 0xbc, 0xeb, 0xbf, 0x64, 0xa1, 0x34, 0x37, 0xeb, 0x50, 0x13, - 0xf2, 0x3e, 0x1f, 0xa6, 0xca, 0x6e, 0xbd, 0xdd, 0x84, 0xd4, 0x6b, 0x8d, 0xc2, 0x06, 0x6b, 0xae, - 0xd8, 0x63, 0x5a, 0xc7, 0x5d, 0x2a, 0x14, 0x3b, 0x66, 0x2e, 0x51, 0xe9, 0x7c, 0x59, 0x8d, 0x2d, - 0xbb, 0x33, 0x83, 0xae, 0x63, 0x28, 0xd8, 0x84, 0x28, 0xaa, 0x45, 0xc2, 0x5c, 0xd2, 0x12, 0x86, - 0x64, 0xeb, 0x09, 0x3d, 0xd3, 0x0f, 0xc2, 0x25, 0xf3, 0x5c, 0x71, 0xb1, 0x97, 0x70, 0xd9, 0x25, - 0x73, 0x44, 0x52, 0x0b, 0xa0, 0x8c, 0x06, 0xfa, 0x3e, 0x1c, 0xe2, 0x29, 0x23, 0xe1, 0xf1, 0xcf, - 0xb4, 0x25, 0xbc, 0x92, 0x18, 0x76, 0x3c, 0xa5, 0x15, 0x5c, 0xea, 0x49, 0x28, 0x03, 0x56, 0x2d, - 0xc6, 0x93, 0x50, 0x06, 0xac, 0xfe, 0x08, 0xae, 0x25, 0xe7, 0x40, 0x25, 0xb8, 0xb6, 0xb7, 0x6f, - 0xef, 0x34, 0x3b, 0xad, 0xca, 0x82, 0x16, 0x22, 0x7b, 0xff, 0xa0, 0xd7, 0x69, 0xc5, 0xa2, 0x74, - 0x70, 0xd4, 0x3f, 0xda, 0xe9, 0x54, 0xb2, 0xa8, 0x02, 0xd7, 0xf7, 0xed, 0xfe, 0x7e, 0xd7, 0x49, - 0x76, 0x72, 0x4d, 0xeb, 0xe7, 0x17, 0xeb, 0x99, 0x5f, 0x5f, 0xac, 0x67, 0xfe, 0x7c, 0xb1, 0x9e, - 0x79, 0xba, 0x11, 0xdf, 0x1d, 0xe3, 0x0d, 0x12, 0xb2, 0xc6, 0x05, 0x7f, 0x49, 0x06, 0x45, 0xd3, - 0x01, 0x77, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x95, 0xd0, 0xbb, 0x17, 0x0d, 0x00, 0x00, + // 1379 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0x6e, 0x1b, 0xb7, + 0x16, 0xb6, 0x7e, 0x63, 0x1f, 0xf9, 0x47, 0xe6, 0x35, 0x72, 0x15, 0x5d, 0xc0, 0xf1, 0x15, 0x8a, + 0xc6, 0x4d, 0x9b, 0x51, 0xed, 0xa0, 0x40, 0x9a, 0x20, 0x45, 0x2c, 0xdb, 0x88, 0xdc, 0xc8, 0x96, + 0x40, 0xc9, 0x40, 0x91, 0xcd, 0x80, 0x1a, 0xd1, 0x12, 0xe3, 0xd1, 0x70, 0x4a, 0x72, 0x54, 0x3b, + 0xcf, 0xd0, 0x75, 0xd0, 0x6d, 0x37, 0x7d, 0x81, 0xbe, 0x44, 0xd1, 0x55, 0xb7, 0xed, 0xa6, 0x45, + 0x5e, 0xa0, 0xab, 0x6e, 0xba, 0x2a, 0xc8, 0xe1, 0x48, 0x72, 0xe2, 0xd8, 0x31, 0xd2, 0xec, 0x38, + 0x3c, 0xe7, 0xfb, 0x48, 0x9e, 0xef, 0xf0, 0x1c, 0x0e, 0xdc, 0x0e, 0xa8, 0xfa, 0x86, 0x8b, 0x63, + 0x16, 0xf4, 0xab, 0xa3, 0x0d, 0xe2, 0x87, 0x03, 0x72, 0xb7, 0xda, 0xa3, 0x52, 0xb1, 0x80, 0x28, + 0xc6, 0x03, 0x57, 0x44, 0x3e, 0x75, 0x42, 0xc1, 0x15, 0x47, 0x37, 0x98, 0x54, 0x8c, 0x3b, 0x13, + 0x84, 0x93, 0x20, 0xca, 0xab, 0x7d, 0xce, 0xfb, 0x3e, 0xad, 0x1a, 0xc7, 0x6e, 0x74, 0x54, 0xed, + 0x45, 0xc2, 0xe0, 0x63, 0x68, 0xf9, 0xa3, 0xf3, 0x96, 0x19, 0x31, 0xa1, 0x22, 0xe2, 0xbb, 0x92, + 0x8a, 0x11, 0xf3, 0xec, 0x2a, 0xe5, 0x95, 0x3e, 0xef, 0x73, 0x33, 0xac, 0xea, 0x51, 0x3c, 0x5b, + 0xf9, 0x31, 0x05, 0x4b, 0x3b, 0x93, 0x6d, 0xe1, 0xc8, 0xa7, 0x08, 0x41, 0x76, 0xc0, 0xa5, 0x2a, + 0xa5, 0xd6, 0x52, 0xeb, 0x73, 0xd8, 0x8c, 0x51, 0x13, 0x16, 0x95, 0x20, 0x47, 0x47, 0xcc, 0x73, + 0x43, 0xee, 0x33, 0xef, 0xb4, 0x94, 0x5e, 0x4b, 0xad, 0x17, 0x36, 0xd7, 0x9d, 0x37, 0x6e, 0xde, + 0xe9, 0xc4, 0x80, 0x96, 0xf1, 0xc7, 0x0b, 0x6a, 0xfa, 0x13, 0x3d, 0x80, 0x6b, 0x32, 0xea, 0x4a, + 0xaa, 0x64, 0x29, 0xb3, 0x96, 0x59, 0x2f, 0x6c, 0xfe, 0xff, 0x02, 0xa6, 0xb6, 0xf1, 0xc4, 0x09, + 0xa2, 0xf2, 0x5b, 0x1e, 0x16, 0xce, 0xb0, 0xa3, 0x0e, 0x2c, 0xf8, 0x9c, 0xf4, 0xdc, 0x2e, 0xf1, + 0x49, 0xe0, 0x51, 0x61, 0x36, 0x5f, 0xd8, 0xac, 0x5e, 0x40, 0xda, 0xe0, 0xa4, 0x57, 0xb3, 0xee, + 0x6d, 0xaa, 0x14, 0x0b, 0xfa, 0x12, 0xcf, 0xfb, 0x53, 0xb3, 0xe8, 0x29, 0x2c, 0x79, 0x3c, 0x08, + 0xa8, 0x67, 0x24, 0x0b, 0x39, 0xf7, 0xed, 0xb1, 0x37, 0x2e, 0xe0, 0xdd, 0x1e, 0x23, 0x5a, 0x9c, + 0xfb, 0x63, 0xe6, 0x45, 0xef, 0xcc, 0x3c, 0xfa, 0x0a, 0x96, 0x79, 0xa4, 0x7c, 0x46, 0x85, 0xdb, + 0xa3, 0x2a, 0x36, 0x94, 0x32, 0x86, 0xfd, 0xe3, 0x0b, 0xd8, 0x9b, 0x31, 0x66, 0x27, 0x81, 0xe0, + 0x22, 0x7f, 0x65, 0x06, 0xdd, 0x83, 0x8c, 0xf2, 0x65, 0x29, 0x6b, 0xb8, 0x3e, 0xbc, 0x48, 0xa0, + 0x46, 0x7b, 0xbc, 0x3d, 0x0d, 0x41, 0xcf, 0xe0, 0x3f, 0x21, 0x17, 0xca, 0xf5, 0xe9, 0x88, 0xea, + 0xfc, 0x89, 0x6d, 0xa5, 0x9c, 0x11, 0xe8, 0xfe, 0xdb, 0x4a, 0xed, 0xb4, 0xb8, 0x50, 0x67, 0xc5, + 0x5f, 0xd6, 0xb4, 0x0d, 0xcd, 0x9a, 0x2c, 0x58, 0x7e, 0x91, 0x81, 0xe5, 0xd7, 0x1c, 0xd1, 0x03, + 0xc8, 0x6a, 0x57, 0x2b, 0xdf, 0xad, 0x0b, 0x96, 0xd4, 0xd8, 0x36, 0xf5, 0xa9, 0xa7, 0xb8, 0xc0, + 0x06, 0xf4, 0x7a, 0x12, 0xa4, 0xdf, 0x53, 0x12, 0x64, 0xde, 0x6b, 0x12, 0x64, 0xff, 0xc5, 0x24, + 0xc8, 0x5d, 0x39, 0x09, 0x2a, 0x7f, 0xa6, 0x20, 0x1f, 0x5f, 0x38, 0x5d, 0x09, 0x02, 0x32, 0xa4, + 0x49, 0x25, 0xd0, 0x63, 0xb4, 0x0b, 0x79, 0x9f, 0x74, 0xa9, 0x2f, 0x4b, 0x69, 0x93, 0x16, 0x77, + 0x2e, 0xbd, 0xb7, 0x4e, 0xc3, 0xf8, 0xef, 0x06, 0x4a, 0x9c, 0x62, 0x0b, 0x3e, 0xa7, 0xa0, 0x64, + 0xde, 0xa9, 0xa0, 0x94, 0x3f, 0x87, 0xc2, 0xd4, 0x3a, 0xa8, 0x08, 0x99, 0x63, 0x7a, 0x6a, 0x77, + 0xae, 0x87, 0x68, 0x05, 0x72, 0x23, 0xe2, 0x47, 0xd4, 0x64, 0xc5, 0x1c, 0x8e, 0x3f, 0xee, 0xa7, + 0xef, 0xa5, 0x2a, 0x3f, 0xe4, 0x60, 0xe5, 0xbc, 0x44, 0x40, 0x18, 0xf2, 0x92, 0x0d, 0x43, 0x3f, + 0x8e, 0xc0, 0xe2, 0xe6, 0xbd, 0x2b, 0x66, 0x92, 0xd3, 0x36, 0xe8, 0x46, 0xad, 0x3e, 0x83, 0x2d, + 0x13, 0x3a, 0x36, 0xe9, 0x24, 0x99, 0x54, 0x34, 0x50, 0xee, 0x80, 0xc8, 0x81, 0x4d, 0xd3, 0x47, + 0x57, 0x25, 0xdf, 0x1e, 0xd3, 0xd4, 0x89, 0x1c, 0x98, 0x45, 0x16, 0xbd, 0x33, 0x73, 0xe5, 0xbf, + 0xd2, 0x50, 0x7c, 0xd5, 0x0d, 0xdd, 0x86, 0xe2, 0x40, 0xa9, 0xd0, 0x1d, 0x50, 0xd2, 0xa3, 0xc2, + 0x9d, 0x28, 0xac, 0x09, 0xb4, 0xa5, 0x6e, 0x0c, 0x07, 0x5a, 0xed, 0x00, 0x0a, 0xc6, 0xd7, 0xe3, + 0xfc, 0x98, 0x51, 0xbb, 0xd3, 0x27, 0xef, 0xba, 0x53, 0xa7, 0xde, 0xe9, 0xb4, 0xb6, 0x0d, 0x65, + 0x7d, 0x06, 0x83, 0x5e, 0x21, 0xfe, 0x42, 0x1f, 0xc0, 0x42, 0x24, 0xa9, 0x2b, 0x79, 0x24, 0x3c, + 0xea, 0xb2, 0xd0, 0x64, 0xc5, 0x6c, 0x7d, 0x06, 0x17, 0x22, 0x49, 0xdb, 0x66, 0x76, 0x2f, 0x44, + 0xb7, 0x61, 0x79, 0xc8, 0x02, 0x36, 0x8c, 0x86, 0xae, 0x60, 0x41, 0xdf, 0x95, 0xec, 0x39, 0x35, + 0xd7, 0x26, 0x8b, 0x97, 0xac, 0x01, 0xb3, 0xa0, 0xdf, 0x66, 0xcf, 0x69, 0xb9, 0x0f, 0x30, 0x59, + 0xed, 0xdc, 0x8c, 0x46, 0x90, 0x0d, 0x89, 0x1a, 0xd8, 0xbc, 0x30, 0x63, 0xb4, 0x01, 0x19, 0xa5, + 0x92, 0x8b, 0x7e, 0xc3, 0x89, 0xdb, 0xb0, 0x93, 0xb4, 0x61, 0x67, 0xc7, 0xb6, 0xe1, 0x5a, 0xf6, + 0xbb, 0xdf, 0x6f, 0xa6, 0xb0, 0xf6, 0xad, 0x01, 0xcc, 0x6a, 0x35, 0xdd, 0x63, 0x7a, 0x5a, 0xa9, + 0xc3, 0x6c, 0x22, 0x3d, 0x5a, 0x82, 0x02, 0x6e, 0x1e, 0x1e, 0xec, 0xb8, 0xb8, 0x59, 0xdb, 0x3b, + 0x28, 0xce, 0xa0, 0x45, 0x80, 0xc6, 0xee, 0x56, 0xbb, 0xe3, 0x6e, 0x37, 0x0f, 0x0e, 0x8a, 0x29, + 0x04, 0x90, 0xc7, 0x5b, 0x07, 0x3b, 0xcd, 0xfd, 0x62, 0x5a, 0x3b, 0xb7, 0xb6, 0xda, 0xed, 0x4e, + 0x1d, 0x37, 0x0f, 0x1f, 0xd7, 0x8b, 0x99, 0x5a, 0x01, 0xe6, 0xfc, 0xae, 0xbd, 0x22, 0x95, 0x17, + 0x79, 0xb8, 0x7e, 0x7e, 0x65, 0x41, 0x4d, 0xc8, 0x28, 0x2f, 0xb4, 0x75, 0xf3, 0xe1, 0x95, 0x2b, + 0x93, 0xd3, 0xd9, 0x6e, 0x4d, 0x95, 0x01, 0x2f, 0x44, 0x18, 0xb2, 0x5a, 0x17, 0x2b, 0xf9, 0x17, + 0x57, 0x67, 0xd4, 0x51, 0x1f, 0x53, 0x1a, 0xae, 0xf2, 0xdf, 0x69, 0x28, 0x4c, 0x2d, 0x84, 0x6e, + 0xc1, 0xd2, 0x90, 0x9c, 0xb8, 0x93, 0xa2, 0x28, 0xcd, 0x01, 0x72, 0x78, 0x71, 0x48, 0x4e, 0x26, + 0xb4, 0x12, 0xd5, 0xc6, 0x35, 0xd8, 0x55, 0x6c, 0x48, 0x79, 0xa4, 0xec, 0xbe, 0xde, 0x2c, 0xcd, + 0xb8, 0xd6, 0x76, 0x62, 0x00, 0xe2, 0xb0, 0xa0, 0xbc, 0xd0, 0x3d, 0xa6, 0x34, 0x24, 0x3e, 0x1b, + 0x51, 0x2b, 0xee, 0x97, 0xef, 0x14, 0x2b, 0xa7, 0xe3, 0x85, 0x4f, 0x12, 0x46, 0x3c, 0xaf, 0xa6, + 0xbe, 0xca, 0xdf, 0xa6, 0x60, 0x7e, 0xda, 0x8c, 0xae, 0x43, 0x3e, 0x14, 0xbc, 0x4b, 0xe3, 0x53, + 0x2e, 0x60, 0xfb, 0x85, 0xee, 0x40, 0x56, 0x9f, 0xea, 0xf2, 0x23, 0x19, 0x37, 0xf4, 0x19, 0xcc, + 0xb2, 0x40, 0x51, 0x31, 0x22, 0x97, 0x27, 0x28, 0x1e, 0xbb, 0x96, 0x7f, 0x4d, 0xc1, 0xfc, 0xb4, + 0x26, 0xe8, 0x01, 0x94, 0xb5, 0x2a, 0x1b, 0xae, 0xd6, 0x20, 0xa4, 0x41, 0x4f, 0x5f, 0x25, 0x41, + 0xbf, 0x8e, 0xa8, 0x54, 0x89, 0x10, 0xff, 0x35, 0x1e, 0xfb, 0xe4, 0xa4, 0x15, 0xdb, 0xb1, 0x35, + 0xa3, 0x4f, 0x00, 0x69, 0xd3, 0xa6, 0x01, 0x8f, 0x41, 0x69, 0x03, 0x32, 0xe5, 0x65, 0x73, 0x9f, + 0x9c, 0x8c, 0xbd, 0x1f, 0xc2, 0xff, 0xa6, 0xfd, 0xdc, 0x90, 0x8a, 0x29, 0xd5, 0xcd, 0x29, 0x72, + 0xb8, 0x34, 0x9c, 0x20, 0x5a, 0x54, 0x4c, 0x82, 0x8f, 0x6e, 0x42, 0x21, 0x86, 0x2b, 0xc1, 0x68, + 0xfc, 0xb2, 0xc9, 0x61, 0x30, 0xee, 0x66, 0xa6, 0xf2, 0x7d, 0x1a, 0x8a, 0xaf, 0x36, 0x45, 0x74, + 0x07, 0x90, 0x2e, 0x87, 0xd4, 0x8b, 0x14, 0x1b, 0x51, 0x97, 0x0a, 0xc1, 0x45, 0x72, 0xae, 0xe5, + 0x29, 0xcb, 0xae, 0x31, 0x9c, 0x09, 0x6b, 0xfa, 0xad, 0xc3, 0x8a, 0x1e, 0x03, 0xea, 0x12, 0x49, + 0x5d, 0xfa, 0xcc, 0xbe, 0x10, 0x8c, 0x94, 0x97, 0xea, 0x52, 0xd4, 0xa0, 0x5d, 0x8b, 0xd1, 0x29, + 0x8a, 0x3e, 0x85, 0x15, 0x7d, 0xc8, 0x31, 0x4f, 0x48, 0x85, 0x47, 0x03, 0x65, 0x4f, 0x8b, 0x86, + 0xe4, 0x24, 0x71, 0x6f, 0xc5, 0x16, 0xad, 0xc1, 0x90, 0x05, 0xba, 0x8e, 0xfb, 0x6a, 0x30, 0xf6, + 0xcf, 0xc5, 0x1a, 0x0c, 0x59, 0x50, 0x37, 0x06, 0xeb, 0x5d, 0xf9, 0x59, 0x5f, 0xbe, 0x49, 0xb3, + 0x47, 0x35, 0xc8, 0x0e, 0x79, 0x2f, 0x69, 0x6d, 0xce, 0xdb, 0x3d, 0x11, 0xf4, 0x58, 0xa3, 0xb0, + 0xc1, 0x9a, 0x10, 0xfb, 0x4c, 0x37, 0x32, 0x8f, 0x0a, 0xc5, 0x8e, 0x98, 0x47, 0x54, 0xd2, 0x60, + 0x97, 0x63, 0xcb, 0xf6, 0xc4, 0xa0, 0x75, 0x0c, 0x05, 0x1b, 0x11, 0x45, 0x75, 0x95, 0x34, 0x41, + 0x9a, 0xc3, 0x60, 0xa7, 0x9e, 0xd0, 0x53, 0x5d, 0x10, 0x3c, 0x32, 0xcd, 0x15, 0x8b, 0x3d, 0x87, + 0x17, 0x3d, 0x32, 0x45, 0x24, 0x75, 0x07, 0x90, 0x51, 0x57, 0xc7, 0xc3, 0x25, 0xbe, 0x32, 0x3d, + 0x2c, 0x7e, 0xa7, 0xce, 0xe1, 0x25, 0x6b, 0xd8, 0xf2, 0x95, 0x6e, 0x61, 0x52, 0x3f, 0x05, 0x64, + 0xc0, 0x4a, 0xf9, 0xf8, 0x29, 0x20, 0x03, 0x56, 0x79, 0x04, 0xd7, 0xec, 0x39, 0x50, 0x01, 0xae, + 0xed, 0xec, 0xb5, 0xb7, 0x6a, 0x8d, 0xdd, 0xe2, 0x8c, 0xae, 0xc4, 0xed, 0xbd, 0xfd, 0x56, 0x63, + 0x37, 0xae, 0xca, 0xfb, 0x87, 0x9d, 0xc3, 0xad, 0x46, 0x31, 0x8d, 0x8a, 0x30, 0xbf, 0xd7, 0xee, + 0xec, 0x35, 0x5d, 0x3b, 0x93, 0xa9, 0x39, 0x3f, 0xbd, 0x5c, 0x4d, 0xfd, 0xf2, 0x72, 0x35, 0xf5, + 0xc7, 0xcb, 0xd5, 0xd4, 0xd3, 0xb5, 0x38, 0x76, 0x8c, 0x57, 0x49, 0xc8, 0xaa, 0xe7, 0xfc, 0x93, + 0x75, 0xf3, 0x26, 0x03, 0xee, 0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x4a, 0x6d, 0x05, 0x18, + 0x0e, 0x00, 0x00, } diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index 188fdc6a1a..a19091e2c3 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -351,15 +351,39 @@ message LoadBalancerSettings { // tcp: // maxConnections: 100 // connectTimeout: 30ms +// tcpKeepalive: +// time: 7200s +// interval: 75s // ``` message ConnectionPoolSettings { // Settings common to both HTTP and TCP upstream connections. message TCPSettings { + // TCP keepalive. + message TcpKeepalive { + // Maximum number of keepalive probes to send without response before + // deciding the connection is dead. Default is to use the OS level configuration + // (unless overridden, Linux defaults to 9.) + uint32 probes = 1; + + // The time duration a connection needs to be idle before keep-alive + // probes start being sent. Default is to use the OS level configuration + // (unless overridden, Linux defaults to 7200s (ie 2 hours.) + google.protobuf.Duration time = 2; + + // The time duration between keep-alive probes. + // Default is to use the OS level configuration + // (unless overridden, Linux defaults to 75s.) + google.protobuf.Duration interval = 3; + }; + // Maximum number of HTTP1 /TCP connections to a destination host. int32 max_connections = 1; // TCP connection timeout. google.protobuf.Duration connect_timeout = 2; + + // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. + TcpKeepalive tcp_keepalive = 3; }; // Settings applicable to HTTP1.1/HTTP2/GRPC connections. diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index 85633a8414..40618387f8 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -6,7 +6,7 @@ generator: protoc-gen-docs aliases: - /docs/reference/config/istio.routing.v1alpha1/ -number_of_entries: 52 +number_of_entries: 53 ---

Configuration affecting traffic routing. Here are a few terms useful to define in the context of traffic routing.

@@ -59,6 +59,9 @@

ConnectionPoolSettings

tcp: maxConnections: 100 connectTimeout: 30ms + tcpKeepalive: + time: 7200s + interval: 75s
NameDescription
TEXT +
JSON

Connection timeout used by Envoy. (MUST BE >=1ms)

+
tcpKeepaliveistio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive +

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

+
@@ -166,6 +169,60 @@

ConnectionPoolSettings.TCPSettings

TCP connection timeout.

+ + +

+ + + + + +
tcpKeepaliveConnectionPoolSettings.TCPSettings.TcpKeepalive +

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.

+ +
+
+

ConnectionPoolSettings.TCPSettings.TcpKeepalive

+
+

TCP keepalive.

+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proto.lock b/proto.lock index 3e8c8b2154..1602f9d220 100644 --- a/proto.lock +++ b/proto.lock @@ -731,6 +731,11 @@ "name": "connect_timeout", "type": "google.protobuf.Duration" }, + { + "id": 28, + "name": "tcp_keepalive", + "type": "istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive" + }, { "id": 7, "name": "ingress_class", @@ -2624,6 +2629,33 @@ "id": 2, "name": "connect_timeout", "type": "google.protobuf.Duration" + }, + { + "id": 3, + "name": "tcp_keepalive", + "type": "TcpKeepalive" + } + ], + "messages": [ + { + "name": "TcpKeepalive", + "fields": [ + { + "id": 1, + "name": "probes", + "type": "uint32" + }, + { + "id": 2, + "name": "time", + "type": "google.protobuf.Duration" + }, + { + "id": 3, + "name": "interval", + "type": "google.protobuf.Duration" + } + ] } ] }, diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index 28143969be..4a48e30acd 100644 --- a/python/istio_api/mesh/v1alpha1/config_pb2.py +++ b/python/istio_api/mesh/v1alpha1/config_pb2.py @@ -22,7 +22,7 @@ name='mesh/v1alpha1/config.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xfa\n\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xdd\x0b\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x1c \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mesh_dot_v1alpha1_dot_proxy__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_destination__rule__pb2.DESCRIPTOR,]) @@ -49,8 +49,8 @@ ], containing_type=None, options=None, - serialized_start=1327, - serialized_end=1405, + serialized_start=1426, + serialized_end=1504, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) @@ -75,8 +75,8 @@ ], containing_type=None, options=None, - serialized_start=1407, - serialized_end=1464, + serialized_start=1506, + serialized_end=1563, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -97,8 +97,8 @@ ], containing_type=None, options=None, - serialized_start=1466, - serialized_end=1504, + serialized_start=1565, + serialized_end=1603, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -119,8 +119,8 @@ ], containing_type=None, options=None, - serialized_start=1506, - serialized_end=1545, + serialized_start=1605, + serialized_end=1644, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING) @@ -152,8 +152,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1224, - serialized_end=1405, + serialized_start=1323, + serialized_end=1504, ) _MESHCONFIG = _descriptor.Descriptor( @@ -213,126 +213,133 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='ingress_class', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_class', index=7, + name='tcp_keepalive', full_name='istio.mesh.v1alpha1.MeshConfig.tcp_keepalive', index=7, + number=28, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ingress_class', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_class', index=8, number=7, 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='ingress_service', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_service', index=8, + name='ingress_service', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_service', index=9, number=8, 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='ingress_controller_mode', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_controller_mode', index=9, + name='ingress_controller_mode', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_controller_mode', index=10, number=9, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='auth_policy', full_name='istio.mesh.v1alpha1.MeshConfig.auth_policy', index=10, + name='auth_policy', full_name='istio.mesh.v1alpha1.MeshConfig.auth_policy', index=11, number=10, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='rds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.rds_refresh_delay', index=11, + name='rds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.rds_refresh_delay', index=12, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_tracing', full_name='istio.mesh.v1alpha1.MeshConfig.enable_tracing', index=12, + name='enable_tracing', full_name='istio.mesh.v1alpha1.MeshConfig.enable_tracing', index=13, number=12, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='access_log_file', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_file', index=13, + name='access_log_file', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_file', index=14, number=13, 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='access_log_format', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_format', index=14, + name='access_log_format', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_format', index=15, number=24, 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='access_log_encoding', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_encoding', index=15, + name='access_log_encoding', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_encoding', index=16, number=27, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=16, + name='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=17, number=14, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=17, + name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=18, number=16, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=18, + name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=19, number=17, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=19, + name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=20, number=19, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=20, + name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=21, number=20, 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='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=21, + name='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=22, number=21, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=22, + name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=23, number=22, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=23, + name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=24, number=23, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=24, + name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=25, number=26, 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, @@ -354,7 +361,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1557, + serialized_end=1656, ) @@ -391,14 +398,15 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1559, - serialized_end=1652, + serialized_start=1658, + serialized_end=1751, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.containing_type = _MESHCONFIG _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.containing_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY _MESHCONFIG.fields_by_name['connect_timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_MESHCONFIG.fields_by_name['tcp_keepalive'].message_type = networking_dot_v1alpha3_dot_destination__rule__pb2._CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE _MESHCONFIG.fields_by_name['ingress_controller_mode'].enum_type = _MESHCONFIG_INGRESSCONTROLLERMODE _MESHCONFIG.fields_by_name['auth_policy'].enum_type = _MESHCONFIG_AUTHPOLICY _MESHCONFIG.fields_by_name['rds_refresh_delay'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION diff --git a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py index 36effb9013..e352885f81 100644 --- a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py +++ b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py @@ -22,7 +22,7 @@ name='networking/v1alpha3/destination_rule.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\x14gogoproto/gogo.proto\"\x95\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x04\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\x99\x03\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1aZ\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xcc\x01\n\x10OutlierDetection\x12\x1a\n\x12\x63onsecutive_errors\x18\x01 \x01(\x05\x12+\n\x08interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12\x62\x61se_ejection_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14max_ejection_percent\x18\x04 \x01(\x05\x12\x1a\n\x12min_health_percent\x18\x05 \x01(\x05\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\x14gogoproto/gogo.proto\"\x95\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x04\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\xf3\x04\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1a\xb3\x02\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x03 \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x1at\n\x0cTcpKeepalive\x12\x0e\n\x06probes\x18\x01 \x01(\r\x12\'\n\x04time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xcc\x01\n\x10OutlierDetection\x12\x1a\n\x12\x63onsecutive_errors\x18\x01 \x01(\x05\x12+\n\x08interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12\x62\x61se_ejection_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14max_ejection_percent\x18\x04 \x01(\x05\x12\x1a\n\x12min_health_percent\x18\x05 \x01(\x05\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_virtual__service__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,]) @@ -83,8 +83,8 @@ ], containing_type=None, options=None, - serialized_start=2646, - serialized_end=2710, + serialized_start=2864, + serialized_end=2928, ) _sym_db.RegisterEnumDescriptor(_TLSSETTINGS_TLSMODE) @@ -473,6 +473,50 @@ ) +_CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE = _descriptor.Descriptor( + name='TcpKeepalive', + full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='probes', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.probes', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='time', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.time', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='interval', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive.interval', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + 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=[ + ], + serialized_start=2208, + serialized_end=2324, +) + _CONNECTIONPOOLSETTINGS_TCPSETTINGS = _descriptor.Descriptor( name='TCPSettings', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings', @@ -494,10 +538,17 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='tcp_keepalive', full_name='istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.tcp_keepalive', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], - nested_types=[], + nested_types=[_CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE, ], enum_types=[ ], options=None, @@ -506,8 +557,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2016, - serialized_end=2106, + serialized_start=2017, + serialized_end=2324, ) _CONNECTIONPOOLSETTINGS_HTTPSETTINGS = _descriptor.Descriptor( @@ -557,8 +608,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2109, - serialized_end=2245, + serialized_start=2327, + serialized_end=2463, ) _CONNECTIONPOOLSETTINGS = _descriptor.Descriptor( @@ -595,7 +646,7 @@ oneofs=[ ], serialized_start=1836, - serialized_end=2245, + serialized_end=2463, ) @@ -653,8 +704,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2248, - serialized_end=2452, + serialized_start=2466, + serialized_end=2670, ) @@ -720,8 +771,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2455, - serialized_end=2710, + serialized_start=2673, + serialized_end=2928, ) _DESTINATIONRULE.fields_by_name['traffic_policy'].message_type = _TRAFFICPOLICY @@ -762,7 +813,11 @@ _LOADBALANCERSETTINGS.oneofs_by_name['lb_policy'].fields.append( _LOADBALANCERSETTINGS.fields_by_name['consistent_hash']) _LOADBALANCERSETTINGS.fields_by_name['consistent_hash'].containing_oneof = _LOADBALANCERSETTINGS.oneofs_by_name['lb_policy'] +_CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE.fields_by_name['time'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE.fields_by_name['interval'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE.containing_type = _CONNECTIONPOOLSETTINGS_TCPSETTINGS _CONNECTIONPOOLSETTINGS_TCPSETTINGS.fields_by_name['connect_timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_CONNECTIONPOOLSETTINGS_TCPSETTINGS.fields_by_name['tcp_keepalive'].message_type = _CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE _CONNECTIONPOOLSETTINGS_TCPSETTINGS.containing_type = _CONNECTIONPOOLSETTINGS _CONNECTIONPOOLSETTINGS_HTTPSETTINGS.containing_type = _CONNECTIONPOOLSETTINGS _CONNECTIONPOOLSETTINGS.fields_by_name['tcp'].message_type = _CONNECTIONPOOLSETTINGS_TCPSETTINGS @@ -843,6 +898,13 @@ ConnectionPoolSettings = _reflection.GeneratedProtocolMessageType('ConnectionPoolSettings', (_message.Message,), dict( TCPSettings = _reflection.GeneratedProtocolMessageType('TCPSettings', (_message.Message,), dict( + + TcpKeepalive = _reflection.GeneratedProtocolMessageType('TcpKeepalive', (_message.Message,), dict( + DESCRIPTOR = _CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE, + __module__ = 'networking.v1alpha3.destination_rule_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive) + )) + , DESCRIPTOR = _CONNECTIONPOOLSETTINGS_TCPSETTINGS, __module__ = 'networking.v1alpha3.destination_rule_pb2' # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings) @@ -861,6 +923,7 @@ )) _sym_db.RegisterMessage(ConnectionPoolSettings) _sym_db.RegisterMessage(ConnectionPoolSettings.TCPSettings) +_sym_db.RegisterMessage(ConnectionPoolSettings.TCPSettings.TcpKeepalive) _sym_db.RegisterMessage(ConnectionPoolSettings.HTTPSettings) OutlierDetection = _reflection.GeneratedProtocolMessageType('OutlierDetection', (_message.Message,), dict( From 1a7788d738d2c6b07ba22106fca19bfef3843fa1 Mon Sep 17 00:00:00 2001 From: Itay Shakury Date: Mon, 26 Nov 2018 05:40:04 +0200 Subject: [PATCH 08/10] allow setting headers (#709) * refactor headers * proto-commit * settle num entries with 1.1 state --- networking/v1alpha3/destination_rule.pb.go | 1 + .../istio.networking.v1alpha3.pb.html | 141 +- networking/v1alpha3/virtual_service.pb.go | 1149 ++++++++++++++--- networking/v1alpha3/virtual_service.proto | 75 +- proto.lock | 56 + .../v1alpha3/virtual_service_pb2.py | 351 ++++- 6 files changed, 1479 insertions(+), 294 deletions(-) diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index f7d392d8a5..0eb5af0c0b 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -27,6 +27,7 @@ VirtualService Destination HTTPRoute + Headers TLSRoute TCPRoute HTTPMatchRequest diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index 40618387f8..c6cc9e88ae 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -6,7 +6,7 @@ generator: protoc-gen-docs aliases: - /docs/reference/config/istio.routing.v1alpha1/ -number_of_entries: 53 +number_of_entries: 55 ---

Configuration affecting traffic routing. Here are a few terms useful to define in the context of traffic routing.

@@ -1819,43 +1819,52 @@

HTTPRoute

- + - + - + - + + + + + + @@ -1957,38 +1966,122 @@

HTTPRouteDestination

- + - + - + - + + + + + + + + +
FieldTypeDescription
probesuint32 +

Maximum number of keepalive probes to send without response before +deciding the connection is dead. Default is to use the OS level configuration +(unless overridden, Linux defaults to 9.)

+ +
timegoogle.protobuf.Duration +

The time duration a connection needs to be idle before keep-alive +probes start being sent. Default is to use the OS level configuration +(unless overridden, Linux defaults to 7200s (ie 2 hours.)

+ +
intervalgoogle.protobuf.Duration +

The time duration between keep-alive probes. +Default is to use the OS level configuration +(unless overridden, Linux defaults to 75s.)

+
appendHeaders map<string, string> -

Use of append_headers is deprecated. Use the append_request_headers +

Use of append_headers is deprecated. Use the headers field instead.

removeResponseHeaders string[] -

HTTP headers to remove before returning a response to the caller.

+

Use of remove_response_header is deprecated. Use the headers +field instead.

appendResponseHeaders map<string, string> -

Additional HTTP headers to add before returning a response to the -caller.

+

Use of append_response_headers is deprecated. Use the headers +field instead.

removeRequestHeaders string[] -

HTTP headers to remove before forwarding a request to the -destination service.

+

Use of remove_request_headers is deprecated. Use the headers +field instead.

appendRequestHeaders map<string, string> -

Additional HTTP headers to add before forwarding a request to the -destination service.

+

Use of append_request_headers is deprecated. Use the headers +field instead.

+ +
headersHeaders +

Header manipulation rules

removeResponseHeaders string[] -

HTTP headers to remove before returning a response to the caller.

+

Use of remove_response_header is deprecated. Use the headers +field instead.

appendResponseHeaders map<string, string> -

Additional HTTP headers to add before returning a response to the -caller.

+

Use of append_response_headers is deprecated. Use the headers +field instead.

removeRequestHeaders string[] -

HTTP headers to remove before forwarding a request to the -destination service.

+

Use of remove_request_headers is deprecated. Use the headers +field instead.

appendRequestHeaders map<string, string> -

Additional HTTP headers to add before forwarding a request to the -destination service.

+

Use of append_request_headers is deprecated. Use the headers +field instead.

+ +
headersHeaders +

Header manipulation rules

+ +
+
+

Headers

+
+

Header manipulation rules

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
requestHeaders.HeaderOperations +

Header manipulation rules to apply before forwarding a request +to the destination service

+ +
responseHeaders.HeaderOperations +

Header manipulation rules to apply before returning a response +to the caller

+ +
+
+

Headers.HeaderOperations

+
+

HeaderOperations Describes the header manipulations to apply

+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index c7c80c8ead..26eca07a01 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -398,20 +398,23 @@ type HTTPRoute struct { // https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS // for further details about cross origin resource sharing. CorsPolicy *CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy" json:"cors_policy,omitempty"` - // Use of `append_headers` is deprecated. Use the `append_request_headers` + // Use of `append_headers` is deprecated. Use the `headers` // field instead. AppendHeaders map[string]string `protobuf:"bytes,11,rep,name=append_headers,json=appendHeaders" json:"append_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // HTTP headers to remove before returning a response to the caller. + // Use of `remove_response_header` is deprecated. Use the `headers` + // field instead. RemoveResponseHeaders []string `protobuf:"bytes,12,rep,name=remove_response_headers,json=removeResponseHeaders" json:"remove_response_headers,omitempty"` - // Additional HTTP headers to add before returning a response to the - // caller. + // Use of `append_response_headers` is deprecated. Use the `headers` + // field instead. AppendResponseHeaders map[string]string `protobuf:"bytes,13,rep,name=append_response_headers,json=appendResponseHeaders" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // HTTP headers to remove before forwarding a request to the - // destination service. + // Use of `remove_request_headers` is deprecated. Use the `headers` + // field instead. RemoveRequestHeaders []string `protobuf:"bytes,14,rep,name=remove_request_headers,json=removeRequestHeaders" json:"remove_request_headers,omitempty"` - // Additional HTTP headers to add before forwarding a request to the - // destination service. + // Use of `append_request_headers` is deprecated. Use the `headers` + // field instead. AppendRequestHeaders map[string]string `protobuf:"bytes,15,rep,name=append_request_headers,json=appendRequestHeaders" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Header manipulation rules + Headers *Headers `protobuf:"bytes,16,opt,name=headers" json:"headers,omitempty"` } func (m *HTTPRoute) Reset() { *m = HTTPRoute{} } @@ -524,6 +527,81 @@ func (m *HTTPRoute) GetAppendRequestHeaders() map[string]string { return nil } +func (m *HTTPRoute) GetHeaders() *Headers { + if m != nil { + return m.Headers + } + return nil +} + +// Header manipulation rules +type Headers struct { + // Header manipulation rules to apply before forwarding a request + // to the destination service + Request *Headers_HeaderOperations `protobuf:"bytes,1,opt,name=request" json:"request,omitempty"` + // Header manipulation rules to apply before returning a response + // to the caller + Response *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response" json:"response,omitempty"` +} + +func (m *Headers) Reset() { *m = Headers{} } +func (m *Headers) String() string { return proto.CompactTextString(m) } +func (*Headers) ProtoMessage() {} +func (*Headers) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{3} } + +func (m *Headers) GetRequest() *Headers_HeaderOperations { + if m != nil { + return m.Request + } + return nil +} + +func (m *Headers) GetResponse() *Headers_HeaderOperations { + if m != nil { + return m.Response + } + return nil +} + +// HeaderOperations Describes the header manipulations to apply +type Headers_HeaderOperations struct { + // Overwrite the headers specified by key with the given values + Set map[string]string `protobuf:"bytes,1,rep,name=set" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Apppend the given values to the the headers specified by keys + // (will create a comma seperated list of values) + Add map[string]string `protobuf:"bytes,2,rep,name=add" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Remove a the specified headers + Remove []string `protobuf:"bytes,3,rep,name=remove" json:"remove,omitempty"` +} + +func (m *Headers_HeaderOperations) Reset() { *m = Headers_HeaderOperations{} } +func (m *Headers_HeaderOperations) String() string { return proto.CompactTextString(m) } +func (*Headers_HeaderOperations) ProtoMessage() {} +func (*Headers_HeaderOperations) Descriptor() ([]byte, []int) { + return fileDescriptorVirtualService, []int{3, 0} +} + +func (m *Headers_HeaderOperations) GetSet() map[string]string { + if m != nil { + return m.Set + } + return nil +} + +func (m *Headers_HeaderOperations) GetAdd() map[string]string { + if m != nil { + return m.Add + } + return nil +} + +func (m *Headers_HeaderOperations) GetRemove() []string { + if m != nil { + return m.Remove + } + return nil +} + // Describes match conditions and actions for routing unterminated TLS // traffic (TLS/HTTPS) The following routing rule forwards unterminated TLS // traffic arriving at port 443 of gateway called "mygateway" to internal @@ -568,7 +646,7 @@ type TLSRoute struct { func (m *TLSRoute) Reset() { *m = TLSRoute{} } func (m *TLSRoute) String() string { return proto.CompactTextString(m) } func (*TLSRoute) ProtoMessage() {} -func (*TLSRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{3} } +func (*TLSRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{4} } func (m *TLSRoute) GetMatch() []*TLSMatchAttributes { if m != nil { @@ -618,7 +696,7 @@ type TCPRoute struct { func (m *TCPRoute) Reset() { *m = TCPRoute{} } func (m *TCPRoute) String() string { return proto.CompactTextString(m) } func (*TCPRoute) ProtoMessage() {} -func (*TCPRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{4} } +func (*TCPRoute) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{5} } func (m *TCPRoute) GetMatch() []*L4MatchAttributes { if m != nil { @@ -733,7 +811,7 @@ type HTTPMatchRequest struct { func (m *HTTPMatchRequest) Reset() { *m = HTTPMatchRequest{} } func (m *HTTPMatchRequest) String() string { return proto.CompactTextString(m) } func (*HTTPMatchRequest) ProtoMessage() {} -func (*HTTPMatchRequest) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{5} } +func (*HTTPMatchRequest) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{6} } func (m *HTTPMatchRequest) GetUri() *StringMatch { if m != nil { @@ -866,24 +944,27 @@ type HTTPRouteDestination struct { // If there is only one destination in a rule, the weight value is assumed to // be 100. Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` - // HTTP headers to remove before returning a response to the caller. + // Use of `remove_response_header` is deprecated. Use the `headers` + // field instead. RemoveResponseHeaders []string `protobuf:"bytes,3,rep,name=remove_response_headers,json=removeResponseHeaders" json:"remove_response_headers,omitempty"` - // Additional HTTP headers to add before returning a response to the - // caller. + // Use of `append_response_headers` is deprecated. Use the `headers` + // field instead. AppendResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=append_response_headers,json=appendResponseHeaders" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // HTTP headers to remove before forwarding a request to the - // destination service. + // Use of `remove_request_headers` is deprecated. Use the `headers` + // field instead. RemoveRequestHeaders []string `protobuf:"bytes,5,rep,name=remove_request_headers,json=removeRequestHeaders" json:"remove_request_headers,omitempty"` - // Additional HTTP headers to add before forwarding a request to the - // destination service. + // Use of `append_request_headers` is deprecated. Use the `headers` + // field instead. AppendRequestHeaders map[string]string `protobuf:"bytes,6,rep,name=append_request_headers,json=appendRequestHeaders" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Header manipulation rules + Headers *Headers `protobuf:"bytes,7,opt,name=headers" json:"headers,omitempty"` } func (m *HTTPRouteDestination) Reset() { *m = HTTPRouteDestination{} } func (m *HTTPRouteDestination) String() string { return proto.CompactTextString(m) } func (*HTTPRouteDestination) ProtoMessage() {} func (*HTTPRouteDestination) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{6} + return fileDescriptorVirtualService, []int{7} } func (m *HTTPRouteDestination) GetDestination() *Destination { @@ -928,6 +1009,13 @@ func (m *HTTPRouteDestination) GetAppendRequestHeaders() map[string]string { return nil } +func (m *HTTPRouteDestination) GetHeaders() *Headers { + if m != nil { + return m.Headers + } + return nil +} + // L4 routing rule weighted destination. type RouteDestination struct { // REQUIRED. Destination uniquely identifies the instances of a service @@ -942,7 +1030,7 @@ type RouteDestination struct { func (m *RouteDestination) Reset() { *m = RouteDestination{} } func (m *RouteDestination) String() string { return proto.CompactTextString(m) } func (*RouteDestination) ProtoMessage() {} -func (*RouteDestination) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{7} } +func (*RouteDestination) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{8} } func (m *RouteDestination) GetDestination() *Destination { if m != nil { @@ -986,7 +1074,7 @@ type L4MatchAttributes struct { func (m *L4MatchAttributes) Reset() { *m = L4MatchAttributes{} } func (m *L4MatchAttributes) String() string { return proto.CompactTextString(m) } func (*L4MatchAttributes) ProtoMessage() {} -func (*L4MatchAttributes) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{8} } +func (*L4MatchAttributes) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{9} } func (m *L4MatchAttributes) GetDestinationSubnets() []string { if m != nil { @@ -1053,10 +1141,12 @@ type TLSMatchAttributes struct { Gateways []string `protobuf:"bytes,6,rep,name=gateways" json:"gateways,omitempty"` } -func (m *TLSMatchAttributes) Reset() { *m = TLSMatchAttributes{} } -func (m *TLSMatchAttributes) String() string { return proto.CompactTextString(m) } -func (*TLSMatchAttributes) ProtoMessage() {} -func (*TLSMatchAttributes) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{9} } +func (m *TLSMatchAttributes) Reset() { *m = TLSMatchAttributes{} } +func (m *TLSMatchAttributes) String() string { return proto.CompactTextString(m) } +func (*TLSMatchAttributes) ProtoMessage() {} +func (*TLSMatchAttributes) Descriptor() ([]byte, []int) { + return fileDescriptorVirtualService, []int{10} +} func (m *TLSMatchAttributes) GetSniHosts() []string { if m != nil { @@ -1136,7 +1226,7 @@ type HTTPRedirect struct { func (m *HTTPRedirect) Reset() { *m = HTTPRedirect{} } func (m *HTTPRedirect) String() string { return proto.CompactTextString(m) } func (*HTTPRedirect) ProtoMessage() {} -func (*HTTPRedirect) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{10} } +func (*HTTPRedirect) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{11} } func (m *HTTPRedirect) GetUri() string { if m != nil { @@ -1190,7 +1280,7 @@ type HTTPRewrite struct { func (m *HTTPRewrite) Reset() { *m = HTTPRewrite{} } func (m *HTTPRewrite) String() string { return proto.CompactTextString(m) } func (*HTTPRewrite) ProtoMessage() {} -func (*HTTPRewrite) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{11} } +func (*HTTPRewrite) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{12} } func (m *HTTPRewrite) GetUri() string { if m != nil { @@ -1219,7 +1309,7 @@ type StringMatch struct { func (m *StringMatch) Reset() { *m = StringMatch{} } func (m *StringMatch) String() string { return proto.CompactTextString(m) } func (*StringMatch) ProtoMessage() {} -func (*StringMatch) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{12} } +func (*StringMatch) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{13} } type isStringMatch_MatchType interface { isStringMatch_MatchType() @@ -1391,7 +1481,7 @@ type HTTPRetry struct { func (m *HTTPRetry) Reset() { *m = HTTPRetry{} } func (m *HTTPRetry) String() string { return proto.CompactTextString(m) } func (*HTTPRetry) ProtoMessage() {} -func (*HTTPRetry) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{13} } +func (*HTTPRetry) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{14} } func (m *HTTPRetry) GetAttempts() int32 { if m != nil { @@ -1474,7 +1564,7 @@ type CorsPolicy struct { func (m *CorsPolicy) Reset() { *m = CorsPolicy{} } func (m *CorsPolicy) String() string { return proto.CompactTextString(m) } func (*CorsPolicy) ProtoMessage() {} -func (*CorsPolicy) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{14} } +func (*CorsPolicy) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{15} } func (m *CorsPolicy) GetAllowOrigin() []string { if m != nil { @@ -1539,7 +1629,7 @@ func (m *HTTPFaultInjection) Reset() { *m = HTTPFaultInjection{} } func (m *HTTPFaultInjection) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection) ProtoMessage() {} func (*HTTPFaultInjection) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{15} + return fileDescriptorVirtualService, []int{16} } func (m *HTTPFaultInjection) GetDelay() *HTTPFaultInjection_Delay { @@ -1604,7 +1694,7 @@ func (m *HTTPFaultInjection_Delay) Reset() { *m = HTTPFaultInjection_Del func (m *HTTPFaultInjection_Delay) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection_Delay) ProtoMessage() {} func (*HTTPFaultInjection_Delay) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{15, 0} + return fileDescriptorVirtualService, []int{16, 0} } type isHTTPFaultInjection_Delay_HttpDelayType interface { @@ -1778,7 +1868,7 @@ func (m *HTTPFaultInjection_Abort) Reset() { *m = HTTPFaultInjection_Abo func (m *HTTPFaultInjection_Abort) String() string { return proto.CompactTextString(m) } func (*HTTPFaultInjection_Abort) ProtoMessage() {} func (*HTTPFaultInjection_Abort) Descriptor() ([]byte, []int) { - return fileDescriptorVirtualService, []int{15, 1} + return fileDescriptorVirtualService, []int{16, 1} } type isHTTPFaultInjection_Abort_ErrorType interface { @@ -1935,7 +2025,7 @@ type PortSelector struct { func (m *PortSelector) Reset() { *m = PortSelector{} } func (m *PortSelector) String() string { return proto.CompactTextString(m) } func (*PortSelector) ProtoMessage() {} -func (*PortSelector) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{16} } +func (*PortSelector) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{17} } type isPortSelector_Port interface { isPortSelector_Port() @@ -2047,7 +2137,7 @@ type Percent struct { func (m *Percent) Reset() { *m = Percent{} } func (m *Percent) String() string { return proto.CompactTextString(m) } func (*Percent) ProtoMessage() {} -func (*Percent) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{17} } +func (*Percent) Descriptor() ([]byte, []int) { return fileDescriptorVirtualService, []int{18} } func (m *Percent) GetValue() float64 { if m != nil { @@ -2060,6 +2150,8 @@ func init() { proto.RegisterType((*VirtualService)(nil), "istio.networking.v1alpha3.VirtualService") proto.RegisterType((*Destination)(nil), "istio.networking.v1alpha3.Destination") proto.RegisterType((*HTTPRoute)(nil), "istio.networking.v1alpha3.HTTPRoute") + proto.RegisterType((*Headers)(nil), "istio.networking.v1alpha3.Headers") + proto.RegisterType((*Headers_HeaderOperations)(nil), "istio.networking.v1alpha3.Headers.HeaderOperations") proto.RegisterType((*TLSRoute)(nil), "istio.networking.v1alpha3.TLSRoute") proto.RegisterType((*TCPRoute)(nil), "istio.networking.v1alpha3.TCPRoute") proto.RegisterType((*HTTPMatchRequest)(nil), "istio.networking.v1alpha3.HTTPMatchRequest") @@ -2402,6 +2494,123 @@ func (m *HTTPRoute) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.Headers != nil { + dAtA[i] = 0x82 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintVirtualService(dAtA, i, uint64(m.Headers.Size())) + n9, err := m.Headers.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + } + return i, nil +} + +func (m *Headers) 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 *Headers) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Request != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintVirtualService(dAtA, i, uint64(m.Request.Size())) + n10, err := m.Request.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + } + if m.Response != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintVirtualService(dAtA, i, uint64(m.Response.Size())) + n11, err := m.Response.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n11 + } + return i, nil +} + +func (m *Headers_HeaderOperations) 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 *Headers_HeaderOperations) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Set) > 0 { + for k, _ := range m.Set { + dAtA[i] = 0xa + i++ + v := m.Set[k] + mapSize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v))) + i = encodeVarintVirtualService(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintVirtualService(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintVirtualService(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + if len(m.Add) > 0 { + for k, _ := range m.Add { + dAtA[i] = 0x12 + i++ + v := m.Add[k] + mapSize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v))) + i = encodeVarintVirtualService(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintVirtualService(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintVirtualService(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + if len(m.Remove) > 0 { + for _, s := range m.Remove { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } return i, nil } @@ -2508,41 +2717,41 @@ func (m *HTTPMatchRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Uri.Size())) - n9, err := m.Uri.MarshalTo(dAtA[i:]) + n12, err := m.Uri.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n9 + i += n12 } if m.Scheme != nil { dAtA[i] = 0x12 i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Scheme.Size())) - n10, err := m.Scheme.MarshalTo(dAtA[i:]) + n13, err := m.Scheme.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n10 + i += n13 } if m.Method != nil { dAtA[i] = 0x1a i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Method.Size())) - n11, err := m.Method.MarshalTo(dAtA[i:]) + n14, err := m.Method.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n11 + i += n14 } if m.Authority != nil { dAtA[i] = 0x22 i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Authority.Size())) - n12, err := m.Authority.MarshalTo(dAtA[i:]) + n15, err := m.Authority.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n12 + i += n15 } if len(m.Headers) > 0 { for k, _ := range m.Headers { @@ -2564,11 +2773,11 @@ func (m *HTTPMatchRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintVirtualService(dAtA, i, uint64(v.Size())) - n13, err := v.MarshalTo(dAtA[i:]) + n16, err := v.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n13 + i += n16 } } } @@ -2631,11 +2840,11 @@ func (m *HTTPRouteDestination) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Destination.Size())) - n14, err := m.Destination.MarshalTo(dAtA[i:]) + n17, err := m.Destination.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n14 + i += n17 } if m.Weight != 0 { dAtA[i] = 0x10 @@ -2706,6 +2915,16 @@ func (m *HTTPRouteDestination) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.Headers != nil { + dAtA[i] = 0x3a + i++ + i = encodeVarintVirtualService(dAtA, i, uint64(m.Headers.Size())) + n18, err := m.Headers.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n18 + } return i, nil } @@ -2728,11 +2947,11 @@ func (m *RouteDestination) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Destination.Size())) - n15, err := m.Destination.MarshalTo(dAtA[i:]) + n19, err := m.Destination.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n15 + i += n19 } if m.Weight != 0 { dAtA[i] = 0x10 @@ -2985,11 +3204,11 @@ func (m *StringMatch) MarshalTo(dAtA []byte) (int, error) { var l int _ = l if m.MatchType != nil { - nn16, err := m.MatchType.MarshalTo(dAtA[i:]) + nn20, err := m.MatchType.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += nn16 + i += nn20 } return i, nil } @@ -3042,11 +3261,11 @@ func (m *HTTPRetry) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.PerTryTimeout.Size())) - n17, err := m.PerTryTimeout.MarshalTo(dAtA[i:]) + n21, err := m.PerTryTimeout.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n17 + i += n21 } if len(m.RetryOn) > 0 { dAtA[i] = 0x1a @@ -3136,21 +3355,21 @@ func (m *CorsPolicy) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.MaxAge.Size())) - n18, err := m.MaxAge.MarshalTo(dAtA[i:]) + n22, err := m.MaxAge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n18 + i += n22 } if m.AllowCredentials != nil { dAtA[i] = 0x32 i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.AllowCredentials.Size())) - n19, err := m.AllowCredentials.MarshalTo(dAtA[i:]) + n23, err := m.AllowCredentials.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n19 + i += n23 } return i, nil } @@ -3174,21 +3393,21 @@ func (m *HTTPFaultInjection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Delay.Size())) - n20, err := m.Delay.MarshalTo(dAtA[i:]) + n24, err := m.Delay.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n20 + i += n24 } if m.Abort != nil { dAtA[i] = 0x12 i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Abort.Size())) - n21, err := m.Abort.MarshalTo(dAtA[i:]) + n25, err := m.Abort.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n21 + i += n25 } return i, nil } @@ -3214,21 +3433,21 @@ func (m *HTTPFaultInjection_Delay) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintVirtualService(dAtA, i, uint64(m.Percent)) } if m.HttpDelayType != nil { - nn22, err := m.HttpDelayType.MarshalTo(dAtA[i:]) + nn26, err := m.HttpDelayType.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += nn22 + i += nn26 } if m.Percentage != nil { dAtA[i] = 0x2a i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Percentage.Size())) - n23, err := m.Percentage.MarshalTo(dAtA[i:]) + n27, err := m.Percentage.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n23 + i += n27 } return i, nil } @@ -3239,11 +3458,11 @@ func (m *HTTPFaultInjection_Delay_FixedDelay) MarshalTo(dAtA []byte) (int, error dAtA[i] = 0x12 i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.FixedDelay.Size())) - n24, err := m.FixedDelay.MarshalTo(dAtA[i:]) + n28, err := m.FixedDelay.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n24 + i += n28 } return i, nil } @@ -3253,11 +3472,11 @@ func (m *HTTPFaultInjection_Delay_ExponentialDelay) MarshalTo(dAtA []byte) (int, dAtA[i] = 0x1a i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.ExponentialDelay.Size())) - n25, err := m.ExponentialDelay.MarshalTo(dAtA[i:]) + n29, err := m.ExponentialDelay.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n25 + i += n29 } return i, nil } @@ -3282,21 +3501,21 @@ func (m *HTTPFaultInjection_Abort) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintVirtualService(dAtA, i, uint64(m.Percent)) } if m.ErrorType != nil { - nn26, err := m.ErrorType.MarshalTo(dAtA[i:]) + nn30, err := m.ErrorType.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += nn26 + i += nn30 } if m.Percentage != nil { dAtA[i] = 0x2a i++ i = encodeVarintVirtualService(dAtA, i, uint64(m.Percentage.Size())) - n27, err := m.Percentage.MarshalTo(dAtA[i:]) + n31, err := m.Percentage.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n27 + i += n31 } return i, nil } @@ -3340,11 +3559,11 @@ func (m *PortSelector) MarshalTo(dAtA []byte) (int, error) { var l int _ = l if m.Port != nil { - nn28, err := m.Port.MarshalTo(dAtA[i:]) + nn32, err := m.Port.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += nn28 + i += nn32 } return i, nil } @@ -3533,6 +3752,52 @@ func (m *HTTPRoute) Size() (n int) { n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize)) } } + if m.Headers != nil { + l = m.Headers.Size() + n += 2 + l + sovVirtualService(uint64(l)) + } + return n +} + +func (m *Headers) Size() (n int) { + var l int + _ = l + if m.Request != nil { + l = m.Request.Size() + n += 1 + l + sovVirtualService(uint64(l)) + } + if m.Response != nil { + l = m.Response.Size() + n += 1 + l + sovVirtualService(uint64(l)) + } + return n +} + +func (m *Headers_HeaderOperations) Size() (n int) { + var l int + _ = l + if len(m.Set) > 0 { + for k, v := range m.Set { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v))) + n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize)) + } + } + if len(m.Add) > 0 { + for k, v := range m.Add { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovVirtualService(uint64(len(k))) + 1 + len(v) + sovVirtualService(uint64(len(v))) + n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize)) + } + } + if len(m.Remove) > 0 { + for _, s := range m.Remove { + l = len(s) + n += 1 + l + sovVirtualService(uint64(l)) + } + } return n } @@ -3662,6 +3927,10 @@ func (m *HTTPRouteDestination) Size() (n int) { n += mapEntrySize + 1 + sovVirtualService(uint64(mapEntrySize)) } } + if m.Headers != nil { + l = m.Headers.Size() + n += 1 + l + sovVirtualService(uint64(l)) + } return n } @@ -5087,6 +5356,39 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } m.AppendRequestHeaders[mapkey] = mapvalue iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Headers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthVirtualService + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Headers == nil { + m.Headers = &Headers{} + } + if err := m.Headers.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipVirtualService(dAtA[iNdEx:]) @@ -5108,7 +5410,7 @@ func (m *HTTPRoute) Unmarshal(dAtA []byte) error { } return nil } -func (m *TLSRoute) Unmarshal(dAtA []byte) error { +func (m *Headers) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5131,15 +5433,15 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: TLSRoute: wiretype end group for non-group") + return fmt.Errorf("proto: Headers: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: TLSRoute: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Headers: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Match", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Request", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5163,14 +5465,16 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Match = append(m.Match, &TLSMatchAttributes{}) - if err := m.Match[len(m.Match)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Request == nil { + m.Request = &Headers_HeaderOperations{} + } + if err := m.Request.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5194,8 +5498,437 @@ func (m *TLSRoute) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Route = append(m.Route, &RouteDestination{}) - if err := m.Route[len(m.Route)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Response == nil { + m.Response = &Headers_HeaderOperations{} + } + if err := m.Response.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipVirtualService(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthVirtualService + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Headers_HeaderOperations) 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 ErrIntOverflowVirtualService + } + 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: HeaderOperations: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: HeaderOperations: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Set", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthVirtualService + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Set == nil { + m.Set = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthVirtualService + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthVirtualService + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipVirtualService(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthVirtualService + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Set[mapkey] = mapvalue + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Add", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthVirtualService + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Add == nil { + m.Add = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthVirtualService + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthVirtualService + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipVirtualService(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthVirtualService + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Add[mapkey] = mapvalue + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Remove", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + 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 ErrInvalidLengthVirtualService + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Remove = append(m.Remove, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipVirtualService(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthVirtualService + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TLSRoute) 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 ErrIntOverflowVirtualService + } + 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: TLSRoute: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TLSRoute: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Match", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthVirtualService + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Match = append(m.Match, &TLSMatchAttributes{}) + if err := m.Match[len(m.Match)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthVirtualService + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Route = append(m.Route, &RouteDestination{}) + if err := m.Route[len(m.Route)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -6178,6 +6911,39 @@ func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error { } m.AppendRequestHeaders[mapkey] = mapvalue iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Headers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthVirtualService + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Headers == nil { + m.Headers = &Headers{} + } + if err := m.Headers.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipVirtualService(dAtA[iNdEx:]) @@ -8326,107 +9092,116 @@ func init() { } var fileDescriptorVirtualService = []byte{ - // 1631 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xdf, 0x6f, 0x1b, 0xc5, - 0x13, 0xef, 0xd9, 0x3e, 0x27, 0x1e, 0x3b, 0x69, 0xb2, 0xdf, 0x34, 0xbd, 0xf8, 0x5b, 0x85, 0xd4, - 0xa5, 0x10, 0x54, 0x6a, 0x8b, 0xa4, 0x40, 0x04, 0x6d, 0xda, 0x38, 0x69, 0xeb, 0xa2, 0x56, 0xad, - 0x2e, 0xa1, 0x0f, 0xbc, 0x58, 0xe7, 0xf3, 0xc6, 0x3e, 0x7a, 0xbe, 0x3d, 0xf6, 0xf6, 0xe2, 0xf8, - 0x09, 0x09, 0xc1, 0x1f, 0x00, 0xe2, 0x15, 0x21, 0xfe, 0x12, 0x5e, 0x79, 0xe4, 0x2f, 0x40, 0x55, - 0x1f, 0xf9, 0x27, 0x40, 0x3b, 0x7b, 0x67, 0x5f, 0xe2, 0xc4, 0x3f, 0xa0, 0x20, 0xde, 0x6e, 0x77, - 0xe7, 0x33, 0x3b, 0x3b, 0x3b, 0xfb, 0x99, 0x99, 0x83, 0x77, 0x3c, 0x2a, 0xba, 0x8c, 0xbf, 0x70, - 0xbc, 0x56, 0xe5, 0xe8, 0x3d, 0xcb, 0xf5, 0xdb, 0xd6, 0x66, 0xe5, 0xc8, 0xe1, 0x22, 0xb4, 0xdc, - 0x7a, 0x40, 0xf9, 0x91, 0x63, 0xd3, 0xb2, 0xcf, 0x99, 0x60, 0x64, 0xc5, 0x09, 0x84, 0xc3, 0xca, - 0x03, 0x40, 0x39, 0x06, 0x14, 0x57, 0x5b, 0x8c, 0xb5, 0x5c, 0x5a, 0x41, 0xc1, 0x46, 0x78, 0x58, - 0x69, 0x86, 0xdc, 0x12, 0x0e, 0xf3, 0x14, 0x74, 0x78, 0xbd, 0xcb, 0x2d, 0xdf, 0xa7, 0x3c, 0x50, - 0xeb, 0xa5, 0xdf, 0x35, 0x98, 0x7f, 0xae, 0x36, 0xdd, 0x57, 0x7b, 0x92, 0x25, 0xd0, 0xdb, 0x2c, - 0x10, 0x81, 0xa1, 0xad, 0xa5, 0xd7, 0x73, 0xa6, 0x1a, 0x90, 0x22, 0xcc, 0xb6, 0x2c, 0x41, 0xbb, - 0x56, 0x2f, 0x30, 0x52, 0xb8, 0xd0, 0x1f, 0x93, 0x2d, 0xc8, 0xb4, 0x85, 0xf0, 0x8d, 0xf4, 0x5a, - 0x7a, 0x3d, 0xbf, 0xf1, 0x66, 0xf9, 0x5c, 0x73, 0xcb, 0xb5, 0x83, 0x83, 0x67, 0x26, 0x0b, 0x05, - 0x35, 0x11, 0x41, 0xde, 0x87, 0xb4, 0xb0, 0x7d, 0x23, 0x83, 0xc0, 0x6b, 0x23, 0x80, 0x07, 0xbb, - 0x11, 0x4e, 0xca, 0x23, 0xcc, 0x0d, 0x0c, 0x7d, 0x3c, 0xec, 0xf1, 0x7e, 0x0c, 0x73, 0x83, 0xd2, - 0x11, 0xe4, 0xf7, 0x68, 0x20, 0x1c, 0x0f, 0x3d, 0x44, 0x08, 0x64, 0xe4, 0xd9, 0x0c, 0x6d, 0x4d, - 0x5b, 0xcf, 0x99, 0xf8, 0x4d, 0x96, 0x21, 0x1b, 0x84, 0x8d, 0x80, 0x0a, 0x23, 0x85, 0xb3, 0xd1, - 0x88, 0x7c, 0x0c, 0x19, 0x9f, 0x71, 0x61, 0xa4, 0xd7, 0xb4, 0xf5, 0xfc, 0xc6, 0xdb, 0x23, 0xb6, - 0x7c, 0xc6, 0xb8, 0xd8, 0xa7, 0x2e, 0xb5, 0x05, 0xe3, 0x26, 0x82, 0x4a, 0x3f, 0x01, 0xe4, 0xfa, - 0x27, 0x27, 0x3b, 0xa0, 0x77, 0x2c, 0x61, 0xb7, 0xd1, 0xbf, 0xf9, 0x8d, 0x1b, 0x63, 0xdc, 0xf5, - 0x44, 0xca, 0x9a, 0xf4, 0x8b, 0x90, 0x06, 0xc2, 0x54, 0x48, 0x72, 0x1f, 0x74, 0x2e, 0x75, 0xe1, - 0x4d, 0xe4, 0x37, 0x2a, 0x93, 0x78, 0x3c, 0x71, 0x72, 0x53, 0xa1, 0xc9, 0x2e, 0xcc, 0x72, 0xda, - 0x74, 0x38, 0xb5, 0x27, 0x39, 0x18, 0x6a, 0x8a, 0xc4, 0xcd, 0x3e, 0x90, 0xdc, 0x83, 0x19, 0x4e, - 0xbb, 0xdc, 0x11, 0xd4, 0xc8, 0xa0, 0x8e, 0xb7, 0xc6, 0xea, 0x40, 0x69, 0x33, 0x86, 0x91, 0x1b, - 0xb0, 0xd8, 0xa5, 0x8d, 0x80, 0xd9, 0x2f, 0xa8, 0xa8, 0x87, 0x7e, 0x8b, 0x5b, 0x4d, 0x6a, 0xe8, - 0x6b, 0xda, 0xfa, 0xac, 0xb9, 0xd0, 0x5f, 0xf8, 0x54, 0xcd, 0x93, 0x4d, 0x98, 0x11, 0x4e, 0x87, - 0xb2, 0x50, 0x18, 0x59, 0xdc, 0x6e, 0xa5, 0xac, 0x42, 0xbc, 0x1c, 0x87, 0x78, 0x79, 0x2f, 0x7a, - 0x02, 0x66, 0x2c, 0x49, 0xb6, 0xa5, 0x8d, 0x82, 0x3b, 0x34, 0x30, 0x66, 0x10, 0x34, 0x36, 0x46, - 0xa9, 0xe0, 0x3d, 0x33, 0x06, 0x91, 0x5d, 0xd0, 0x0f, 0xad, 0xd0, 0x15, 0xc6, 0x2c, 0xa2, 0x6f, - 0x8e, 0x41, 0x3f, 0x90, 0xb2, 0x8f, 0xbc, 0xcf, 0xa9, 0xad, 0xbc, 0x8d, 0x58, 0xb2, 0x0d, 0xd9, - 0x8e, 0xc3, 0x39, 0xe3, 0x46, 0x6e, 0xac, 0x9f, 0x92, 0x97, 0x15, 0xa1, 0xc8, 0x03, 0xc8, 0xdb, - 0x8c, 0x07, 0x75, 0x9f, 0xb9, 0x8e, 0xdd, 0x33, 0x00, 0x95, 0x5c, 0x1f, 0xa1, 0x64, 0x97, 0xf1, - 0xe0, 0x19, 0x0a, 0x9b, 0x60, 0xf7, 0xbf, 0x49, 0x03, 0xe6, 0x25, 0x05, 0x78, 0xcd, 0x7a, 0x9b, - 0x5a, 0x4d, 0xca, 0x03, 0x23, 0x8f, 0x51, 0xf4, 0xe1, 0x24, 0x51, 0x54, 0xde, 0x41, 0x68, 0x4d, - 0x21, 0xef, 0x7b, 0x82, 0xf7, 0xaa, 0x29, 0x43, 0x33, 0xe7, 0xac, 0xe4, 0x3c, 0xf9, 0x00, 0x2e, - 0x73, 0xda, 0x61, 0x47, 0xb4, 0xce, 0x69, 0xe0, 0x33, 0x2f, 0xa0, 0xfd, 0xcd, 0x0a, 0x48, 0x1e, - 0x97, 0xd4, 0xb2, 0x19, 0xad, 0xc6, 0xb8, 0x2e, 0x5c, 0x8e, 0x6c, 0x1b, 0xc2, 0xcd, 0xa1, 0x91, - 0x77, 0xa7, 0x30, 0xf2, 0x94, 0x72, 0x34, 0xd6, 0xbc, 0x64, 0x9d, 0xb5, 0x46, 0x6e, 0xc1, 0x72, - 0xdf, 0x60, 0x7c, 0x6a, 0xfd, 0x7d, 0xe7, 0xd1, 0xde, 0xa5, 0xd8, 0x5e, 0x5c, 0x8c, 0x51, 0x02, - 0x96, 0xfb, 0xe6, 0x9e, 0x44, 0x5d, 0x44, 0x6b, 0xb7, 0xa7, 0xb2, 0x36, 0xa9, 0x5a, 0x19, 0xbb, - 0x64, 0x9d, 0xb1, 0x54, 0xbc, 0x07, 0x64, 0xf8, 0x16, 0xc8, 0x02, 0xa4, 0x5f, 0xd0, 0x5e, 0x44, - 0x66, 0xf2, 0x53, 0x12, 0xf9, 0x91, 0xe5, 0x86, 0x34, 0xa2, 0x32, 0x35, 0xf8, 0x28, 0xb5, 0xa5, - 0x15, 0x6b, 0x50, 0x3c, 0xdf, 0x45, 0x53, 0x69, 0x7a, 0x08, 0x2b, 0xe7, 0x9a, 0x3f, 0x8d, 0xa2, - 0xd2, 0x77, 0x1a, 0xcc, 0xc6, 0x6c, 0x2d, 0xdf, 0x5b, 0x92, 0x22, 0x6f, 0x8e, 0x66, 0x78, 0x64, - 0xc8, 0x1d, 0x21, 0xb8, 0xd3, 0x08, 0x05, 0x0d, 0x62, 0x92, 0xdc, 0x39, 0x49, 0x92, 0xa3, 0x78, - 0xf6, 0x1c, 0x82, 0x2c, 0x7d, 0x2b, 0x8d, 0x8a, 0x32, 0x0f, 0xa9, 0x9e, 0x34, 0xea, 0xdd, 0x11, - 0xfa, 0x1e, 0xdf, 0xfa, 0xe7, 0x6c, 0xfa, 0x51, 0x87, 0x85, 0xd3, 0x79, 0x81, 0x6c, 0x41, 0x3a, - 0xe4, 0x0e, 0x7a, 0x7a, 0x34, 0xb1, 0xec, 0x0b, 0xee, 0x78, 0x2d, 0x85, 0x95, 0x10, 0xc9, 0x4a, - 0x81, 0xdd, 0xa6, 0x1d, 0x75, 0x25, 0x93, 0x83, 0x23, 0x14, 0xb2, 0x1a, 0x15, 0x6d, 0xd6, 0x8c, - 0x32, 0xc8, 0xc4, 0x78, 0x85, 0x22, 0x7b, 0x90, 0xb3, 0x42, 0xd1, 0x66, 0xdc, 0x11, 0xbd, 0x09, - 0x12, 0x48, 0x52, 0xc5, 0x00, 0x48, 0x4c, 0x98, 0x89, 0x5f, 0x9e, 0x2a, 0x0a, 0xb6, 0xa6, 0xc8, - 0xaa, 0xe5, 0x13, 0x6f, 0x2e, 0x56, 0x24, 0xcb, 0x03, 0x4c, 0xf9, 0x32, 0xcd, 0xcc, 0xa9, 0x4c, - 0x4e, 0x1a, 0x30, 0x17, 0xb0, 0x90, 0xdb, 0xb4, 0xee, 0x5a, 0x0d, 0xea, 0xca, 0x74, 0x22, 0x77, - 0xbb, 0x33, 0xcd, 0x6e, 0xfb, 0xa8, 0xe0, 0x31, 0xe2, 0xd5, 0x96, 0x85, 0x20, 0x31, 0x75, 0xa2, - 0xd2, 0x9a, 0x3d, 0x59, 0x69, 0x15, 0x1b, 0x50, 0x18, 0xf3, 0xc2, 0x6e, 0x27, 0x5f, 0xd8, 0xe4, - 0xbe, 0x4c, 0x3c, 0xe9, 0xbb, 0xb0, 0x38, 0x64, 0xe2, 0x54, 0x4f, 0xf9, 0x8f, 0x0c, 0x2c, 0x9d, - 0x55, 0x76, 0x90, 0x1a, 0xe4, 0x9b, 0x83, 0xe1, 0x04, 0xd1, 0x9a, 0x0c, 0xff, 0x24, 0x54, 0x96, - 0x69, 0x5d, 0xea, 0xb4, 0xda, 0xaa, 0x4c, 0xd3, 0xcd, 0x68, 0x34, 0x2a, 0xef, 0xa4, 0x47, 0xe5, - 0x9d, 0xaf, 0xb4, 0xf3, 0x13, 0x8f, 0x2a, 0x4e, 0x3f, 0x99, 0xb2, 0xc6, 0x7a, 0xad, 0x39, 0x48, - 0x1f, 0x91, 0x83, 0xbe, 0x3c, 0x37, 0x07, 0x65, 0xd1, 0xf0, 0x47, 0x7f, 0xd5, 0xf0, 0x49, 0xd3, - 0xd1, 0x7f, 0x30, 0x99, 0x08, 0x58, 0xf8, 0xf7, 0x83, 0xaf, 0xf4, 0x73, 0x0a, 0x16, 0x87, 0x98, - 0x9f, 0x54, 0xe0, 0x7f, 0x09, 0x70, 0x3d, 0x08, 0x1b, 0x1e, 0xed, 0x37, 0x57, 0x24, 0xb1, 0xb4, - 0xaf, 0x56, 0xfa, 0xbc, 0x93, 0x4a, 0xf0, 0xce, 0xb5, 0x3e, 0xef, 0x28, 0x3c, 0x92, 0x6d, 0x2e, - 0x26, 0x0e, 0x85, 0x24, 0xf6, 0x69, 0x72, 0xca, 0x8c, 0x2d, 0x42, 0x86, 0xcc, 0x9d, 0x8a, 0x9d, - 0xf4, 0x53, 0xec, 0xf4, 0xb7, 0x99, 0xe3, 0xb7, 0x14, 0x90, 0xe1, 0x84, 0x4e, 0xfe, 0x0f, 0xb9, - 0xc0, 0x73, 0xea, 0xc9, 0xae, 0x74, 0x36, 0xf0, 0x9c, 0x1a, 0x36, 0xa6, 0xe7, 0xf8, 0x37, 0x35, - 0xd6, 0xbf, 0xe9, 0x51, 0xfe, 0xcd, 0x9c, 0xe1, 0xdf, 0xe6, 0x69, 0xff, 0xea, 0x63, 0x4b, 0xd2, - 0xe1, 0xc3, 0x4c, 0xe5, 0xe0, 0xec, 0xeb, 0x76, 0xf0, 0x36, 0x14, 0x92, 0x6d, 0x9c, 0xc4, 0xc6, - 0x75, 0x43, 0x4e, 0xd5, 0x03, 0x57, 0x92, 0xf9, 0x58, 0xe1, 0x07, 0x13, 0xa5, 0x3b, 0x90, 0x4f, - 0xb4, 0x70, 0x53, 0xc3, 0x29, 0xe4, 0x13, 0x49, 0x87, 0x2c, 0x83, 0x4e, 0x8f, 0x2d, 0x3b, 0xea, - 0xc0, 0x6b, 0x17, 0x4c, 0x35, 0x24, 0x06, 0x64, 0x7d, 0x4e, 0x0f, 0x9d, 0x63, 0xa5, 0xa1, 0x76, - 0xc1, 0x8c, 0xc6, 0x12, 0xc1, 0x69, 0x8b, 0x1e, 0xab, 0xf8, 0x97, 0x08, 0x1c, 0x56, 0x0b, 0x00, - 0x58, 0x60, 0xd5, 0x45, 0xcf, 0xa7, 0xa5, 0x6f, 0xb4, 0xa8, 0xdf, 0x96, 0x5d, 0x9c, 0x74, 0xa8, - 0x25, 0x04, 0xed, 0xf8, 0x18, 0x3c, 0xf2, 0xc1, 0xf6, 0xc7, 0x64, 0x07, 0x2e, 0xfa, 0x94, 0xd7, - 0x05, 0xef, 0xd5, 0xe3, 0xae, 0x32, 0x35, 0xae, 0xab, 0x9c, 0xf3, 0x29, 0x3f, 0xe0, 0xbd, 0x83, - 0xa8, 0xb7, 0x5c, 0x91, 0x4d, 0xb4, 0x54, 0xc0, 0xbc, 0xe8, 0x55, 0x62, 0xdb, 0xd8, 0x7b, 0xea, - 0x95, 0x7e, 0x48, 0x01, 0x0c, 0x9a, 0x30, 0x72, 0x15, 0x0a, 0x96, 0xeb, 0xb2, 0x6e, 0x9d, 0x71, - 0xa7, 0xe5, 0x78, 0x51, 0x24, 0xe7, 0x71, 0xee, 0x29, 0x4e, 0xc9, 0x38, 0x54, 0x22, 0xaa, 0x3a, - 0x8a, 0xc3, 0x58, 0xe1, 0x9e, 0xa8, 0xb9, 0x81, 0xd0, 0xc9, 0xd4, 0xa6, 0x84, 0xe2, 0xb4, 0x70, - 0x1d, 0xe6, 0xe9, 0xb1, 0xcf, 0x4e, 0xe5, 0xb1, 0x9c, 0x39, 0xa7, 0x66, 0x63, 0xb1, 0x0d, 0x98, - 0xe9, 0x58, 0xc7, 0x75, 0xab, 0xa5, 0x3a, 0xee, 0x91, 0x07, 0xcf, 0x76, 0xac, 0xe3, 0x9d, 0x16, - 0x25, 0x0f, 0x61, 0x51, 0xed, 0x6f, 0x73, 0xda, 0xa4, 0x9e, 0x70, 0x2c, 0x37, 0x88, 0x9a, 0xf1, - 0xe2, 0x10, 0xba, 0xca, 0x98, 0xfb, 0x5c, 0xc6, 0x9f, 0xb9, 0x80, 0xa0, 0xdd, 0x01, 0xa6, 0xf4, - 0xbd, 0x0e, 0x64, 0xb8, 0x5f, 0x26, 0x8f, 0x40, 0x6f, 0x52, 0xd7, 0xea, 0x45, 0x1c, 0xbd, 0x39, - 0x55, 0xb7, 0x5d, 0xde, 0x93, 0x50, 0x53, 0x69, 0x90, 0xaa, 0xac, 0x46, 0x4c, 0xa6, 0x53, 0xab, - 0xda, 0x91, 0x50, 0x53, 0x69, 0x28, 0x7e, 0x9d, 0x02, 0x1d, 0x75, 0x93, 0x2b, 0x30, 0xe3, 0x53, - 0x6e, 0x53, 0x4f, 0x05, 0xae, 0x8e, 0x0d, 0x70, 0x3c, 0x45, 0x6e, 0x43, 0xfe, 0xd0, 0x39, 0xa6, - 0xcd, 0xba, 0x3a, 0xc3, 0xb8, 0x70, 0xaa, 0x5d, 0x30, 0x01, 0xe5, 0x95, 0xee, 0x1a, 0x2c, 0xca, - 0x0b, 0xf2, 0x94, 0x8b, 0x22, 0x1d, 0xe9, 0xf1, 0x3a, 0x16, 0x12, 0x28, 0xa5, 0xa9, 0x0a, 0x10, - 0x99, 0x34, 0xb8, 0xdc, 0xd2, 0xa8, 0xff, 0x56, 0x4a, 0xd8, 0x4c, 0xa0, 0xaa, 0x8b, 0x70, 0xb1, - 0x2d, 0x84, 0xaf, 0xcc, 0xc0, 0xb7, 0x55, 0x7c, 0xa9, 0x81, 0x8e, 0x7e, 0x19, 0xe3, 0x86, 0xab, - 0x90, 0x47, 0x68, 0x20, 0x2c, 0x11, 0x06, 0x2a, 0x53, 0xca, 0xb3, 0xca, 0xc9, 0x7d, 0x9c, 0x93, - 0x22, 0x2d, 0xee, 0xdb, 0xb1, 0x48, 0xfc, 0xa4, 0x41, 0x4e, 0x0e, 0x44, 0x24, 0x60, 0xa3, 0x4e, - 0xf1, 0xc7, 0x49, 0x26, 0x16, 0xc1, 0xc9, 0xfb, 0xf8, 0x5b, 0xe4, 0x75, 0x9c, 0xb3, 0x00, 0x80, - 0x1b, 0x28, 0xfa, 0x78, 0x00, 0x85, 0xe4, 0x4f, 0x3c, 0x49, 0x47, 0x5e, 0xd8, 0x69, 0x50, 0x8e, - 0xe7, 0x9c, 0x93, 0x74, 0xa4, 0xc6, 0x64, 0x09, 0x32, 0x9e, 0x15, 0xb5, 0x4e, 0xd2, 0x2e, 0x1c, - 0x55, 0xb3, 0x2a, 0xc1, 0x94, 0xde, 0x80, 0x99, 0x68, 0xb3, 0x01, 0x23, 0x4b, 0x0d, 0x5a, 0xc4, - 0xc8, 0xd5, 0xf2, 0x2f, 0xaf, 0x56, 0xb5, 0x5f, 0x5f, 0xad, 0x6a, 0x2f, 0x5f, 0xad, 0x6a, 0x9f, - 0xad, 0x29, 0x9b, 0x1d, 0x56, 0xb1, 0x7c, 0xa7, 0x72, 0xc6, 0xdf, 0xe1, 0x46, 0x16, 0x6f, 0x7e, - 0xf3, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x77, 0x6d, 0xd7, 0xd3, 0x3b, 0x16, 0x00, 0x00, + // 1771 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0xdb, 0xc6, + 0x15, 0x37, 0x48, 0x82, 0x7f, 0x1e, 0x29, 0x99, 0xda, 0xca, 0x32, 0xc4, 0x7a, 0x54, 0x99, 0xae, + 0x5b, 0x75, 0x5c, 0x93, 0x53, 0xa9, 0x75, 0x35, 0xae, 0x2c, 0x9b, 0x94, 0x6c, 0xd3, 0x1d, 0xbb, + 0xd2, 0x80, 0xaa, 0x0f, 0xbd, 0x70, 0x40, 0x60, 0x45, 0xa2, 0x06, 0x01, 0x74, 0xb1, 0x90, 0xc8, + 0xe9, 0xb1, 0x4d, 0xee, 0xc9, 0xe4, 0x9a, 0xc9, 0xf7, 0xc8, 0x25, 0xd7, 0x9c, 0x32, 0xf9, 0x04, + 0x19, 0x8f, 0x0f, 0x39, 0xe4, 0x92, 0xaf, 0x90, 0xd9, 0x5d, 0x00, 0x84, 0x44, 0x89, 0x20, 0x15, + 0x27, 0x93, 0x93, 0xb8, 0x8b, 0xf7, 0xfb, 0xbd, 0xb7, 0x0f, 0x6f, 0xdf, 0x7b, 0x78, 0x82, 0x3f, + 0xd8, 0x98, 0x9e, 0x3a, 0xe4, 0x8d, 0x69, 0xf7, 0xea, 0x27, 0x7f, 0xd2, 0x2c, 0xb7, 0xaf, 0x6d, + 0xd5, 0x4f, 0x4c, 0x42, 0x7d, 0xcd, 0xea, 0x78, 0x98, 0x9c, 0x98, 0x3a, 0xae, 0xb9, 0xc4, 0xa1, + 0x0e, 0x5a, 0x35, 0x3d, 0x6a, 0x3a, 0xb5, 0x31, 0xa0, 0x16, 0x02, 0x2a, 0x6b, 0x3d, 0xc7, 0xe9, + 0x59, 0xb8, 0xce, 0x05, 0xbb, 0xfe, 0x71, 0xdd, 0xf0, 0x89, 0x46, 0x4d, 0xc7, 0x16, 0xd0, 0xc9, + 0xe7, 0xa7, 0x44, 0x73, 0x5d, 0x4c, 0x3c, 0xf1, 0xbc, 0xfa, 0x9d, 0x04, 0x8b, 0xaf, 0x85, 0xd2, + 0xb6, 0xd0, 0x89, 0x96, 0x41, 0xee, 0x3b, 0x1e, 0xf5, 0x14, 0x69, 0x3d, 0xbd, 0x51, 0x50, 0xc5, + 0x02, 0x55, 0x20, 0xdf, 0xd3, 0x28, 0x3e, 0xd5, 0x46, 0x9e, 0x92, 0xe2, 0x0f, 0xa2, 0x35, 0xda, + 0x86, 0x4c, 0x9f, 0x52, 0x57, 0x49, 0xaf, 0xa7, 0x37, 0x8a, 0x9b, 0xbf, 0xad, 0x5d, 0x6a, 0x6e, + 0xad, 0x75, 0x74, 0x74, 0xa8, 0x3a, 0x3e, 0xc5, 0x2a, 0x47, 0xa0, 0xbf, 0x40, 0x9a, 0xea, 0xae, + 0x92, 0xe1, 0xc0, 0x3b, 0x53, 0x80, 0x47, 0x7b, 0x01, 0x8e, 0xc9, 0x73, 0x98, 0xe5, 0x29, 0x72, + 0x32, 0xec, 0x65, 0x3b, 0x84, 0x59, 0x5e, 0xf5, 0x04, 0x8a, 0xfb, 0xd8, 0xa3, 0xa6, 0xcd, 0x3d, + 0x84, 0x10, 0x64, 0xd8, 0xd9, 0x14, 0x69, 0x5d, 0xda, 0x28, 0xa8, 0xfc, 0x37, 0x5a, 0x81, 0xac, + 0xe7, 0x77, 0x3d, 0x4c, 0x95, 0x14, 0xdf, 0x0d, 0x56, 0xe8, 0x6f, 0x90, 0x71, 0x1d, 0x42, 0x95, + 0xf4, 0xba, 0xb4, 0x51, 0xdc, 0xfc, 0xfd, 0x14, 0x95, 0x87, 0x0e, 0xa1, 0x6d, 0x6c, 0x61, 0x9d, + 0x3a, 0x44, 0xe5, 0xa0, 0xea, 0xf7, 0x00, 0x85, 0xe8, 0xe4, 0xa8, 0x01, 0xf2, 0x40, 0xa3, 0x7a, + 0x9f, 0xfb, 0xb7, 0xb8, 0x79, 0x2f, 0xc1, 0x5d, 0xaf, 0x98, 0xac, 0x8a, 0xff, 0xe3, 0x63, 0x8f, + 0xaa, 0x02, 0x89, 0x9e, 0x82, 0x4c, 0x18, 0x17, 0x7f, 0x13, 0xc5, 0xcd, 0xfa, 0x2c, 0x1e, 0x8f, + 0x9d, 0x5c, 0x15, 0x68, 0xb4, 0x07, 0x79, 0x82, 0x0d, 0x93, 0x60, 0x7d, 0x96, 0x83, 0x71, 0xa6, + 0x40, 0x5c, 0x8d, 0x80, 0xe8, 0x09, 0xe4, 0x08, 0x3e, 0x25, 0x26, 0xc5, 0x4a, 0x86, 0x73, 0xfc, + 0x2e, 0x91, 0x83, 0x4b, 0xab, 0x21, 0x0c, 0xdd, 0x83, 0xa5, 0x53, 0xdc, 0xf5, 0x1c, 0xfd, 0x0d, + 0xa6, 0x1d, 0xdf, 0xed, 0x11, 0xcd, 0xc0, 0x8a, 0xbc, 0x2e, 0x6d, 0xe4, 0xd5, 0x72, 0xf4, 0xe0, + 0x9f, 0x62, 0x1f, 0x6d, 0x41, 0x8e, 0x9a, 0x03, 0xec, 0xf8, 0x54, 0xc9, 0x72, 0x75, 0xab, 0x35, + 0x11, 0xe2, 0xb5, 0x30, 0xc4, 0x6b, 0xfb, 0xc1, 0x15, 0x50, 0x43, 0x49, 0xb4, 0xcb, 0x6c, 0xa4, + 0xc4, 0xc4, 0x9e, 0x92, 0xe3, 0xa0, 0xc4, 0x18, 0xc5, 0x94, 0x8c, 0xd4, 0x10, 0x84, 0xf6, 0x40, + 0x3e, 0xd6, 0x7c, 0x8b, 0x2a, 0x79, 0x8e, 0xbe, 0x9f, 0x80, 0x7e, 0xc6, 0x64, 0x5f, 0xd8, 0xff, + 0xc6, 0xba, 0xf0, 0x36, 0xc7, 0xa2, 0x5d, 0xc8, 0x0e, 0x4c, 0x42, 0x1c, 0xa2, 0x14, 0x12, 0xfd, + 0x14, 0x7f, 0x59, 0x01, 0x0a, 0x3d, 0x83, 0xa2, 0xee, 0x10, 0xaf, 0xe3, 0x3a, 0x96, 0xa9, 0x8f, + 0x14, 0xe0, 0x24, 0x77, 0xa7, 0x90, 0xec, 0x39, 0xc4, 0x3b, 0xe4, 0xc2, 0x2a, 0xe8, 0xd1, 0x6f, + 0xd4, 0x85, 0x45, 0x96, 0x02, 0x6c, 0xa3, 0xd3, 0xc7, 0x9a, 0x81, 0x89, 0xa7, 0x14, 0x79, 0x14, + 0xfd, 0x75, 0x96, 0x28, 0xaa, 0x35, 0x38, 0xb4, 0x25, 0x90, 0x4f, 0x6d, 0x4a, 0x46, 0xcd, 0x94, + 0x22, 0xa9, 0x0b, 0x5a, 0x7c, 0x1f, 0x3d, 0x84, 0x9b, 0x04, 0x0f, 0x9c, 0x13, 0xdc, 0x21, 0xd8, + 0x73, 0x1d, 0xdb, 0xc3, 0x91, 0xb2, 0x12, 0x4b, 0x1e, 0x1c, 0x73, 0x43, 0x88, 0xa8, 0x81, 0x44, + 0x88, 0xfd, 0x2f, 0xdc, 0x0c, 0xec, 0x9b, 0xc0, 0x2e, 0x70, 0x43, 0x1f, 0xcf, 0x61, 0xe8, 0x39, + 0xf2, 0xb1, 0xc1, 0x37, 0xb4, 0x8b, 0x9e, 0xa3, 0x6d, 0x58, 0x89, 0x0c, 0xe7, 0x57, 0x2e, 0xd2, + 0xbd, 0x18, 0xd9, 0xbd, 0x1c, 0xda, 0xcd, 0x05, 0x42, 0xe4, 0x10, 0x56, 0x22, 0xb3, 0xcf, 0x22, + 0xaf, 0x73, 0xab, 0x77, 0xe7, 0xb2, 0x3a, 0x4e, 0x3d, 0x36, 0x7a, 0x59, 0xbb, 0xe0, 0x31, 0xda, + 0x81, 0x5c, 0xa8, 0xaa, 0xcc, 0x83, 0xa2, 0x3a, 0x4d, 0x95, 0x90, 0x54, 0x43, 0x48, 0xe5, 0x09, + 0xa0, 0xc9, 0x77, 0x8a, 0xca, 0x90, 0x7e, 0x83, 0x47, 0x41, 0x6a, 0x64, 0x3f, 0x59, 0x59, 0x38, + 0xd1, 0x2c, 0x1f, 0x07, 0x89, 0x51, 0x2c, 0x1e, 0xa6, 0xb6, 0xa5, 0x4a, 0x0b, 0x2a, 0x97, 0x3b, + 0x7b, 0x2e, 0xa6, 0xe7, 0xb0, 0x7a, 0xa9, 0x03, 0xe6, 0x21, 0xaa, 0x7e, 0x9b, 0x86, 0x5c, 0xe8, + 0x9e, 0x57, 0xec, 0xf2, 0x73, 0x3a, 0x8e, 0x2d, 0x6e, 0x6e, 0x25, 0xbb, 0x27, 0xf8, 0x7b, 0xe0, + 0x62, 0x91, 0x4a, 0x3c, 0x35, 0xe4, 0x40, 0x07, 0x2c, 0x69, 0x8a, 0x73, 0x72, 0xbd, 0x57, 0xe4, + 0x8b, 0x48, 0x2a, 0x9f, 0xa7, 0xa0, 0x7c, 0xfe, 0x31, 0xfa, 0x07, 0xa4, 0x59, 0x11, 0x12, 0x25, + 0x62, 0xe7, 0x0a, 0x0a, 0x6a, 0x6d, 0x4c, 0xb9, 0xdf, 0x54, 0x46, 0xc4, 0xf8, 0x34, 0xc3, 0x08, + 0xea, 0xc5, 0x95, 0xf8, 0x1a, 0x86, 0x11, 0xf0, 0x69, 0x86, 0xc1, 0xea, 0xa4, 0xb8, 0x05, 0xbc, + 0xe8, 0x17, 0xd4, 0x60, 0x55, 0x79, 0x00, 0xf9, 0x50, 0xf1, 0x5c, 0x6f, 0xfe, 0x01, 0xe4, 0x43, + 0x05, 0x73, 0xbd, 0xe8, 0x8f, 0x25, 0xc8, 0x87, 0x45, 0x9e, 0xa5, 0xe9, 0x78, 0x65, 0xbd, 0x3f, + 0xbd, 0x31, 0xe0, 0x85, 0xb5, 0x41, 0x29, 0x31, 0xbb, 0x3e, 0xc5, 0x5e, 0x58, 0x5b, 0x1b, 0x67, + 0x6b, 0xeb, 0xb4, 0xf2, 0x7c, 0x49, 0x5d, 0xad, 0x7e, 0xc4, 0x8c, 0x0a, 0x1a, 0x16, 0xd4, 0x3c, + 0x6b, 0xd4, 0x1f, 0xa7, 0xf0, 0xbd, 0xfc, 0xf3, 0x4f, 0x67, 0xd3, 0x67, 0x32, 0x94, 0xcf, 0xb7, + 0x13, 0x68, 0x1b, 0xd2, 0x3e, 0x31, 0x83, 0x6b, 0x31, 0xad, 0x1e, 0xb5, 0x29, 0x31, 0xed, 0x9e, + 0xc0, 0x32, 0x08, 0x2b, 0x66, 0x9e, 0xde, 0xc7, 0x83, 0xf0, 0x0e, 0xcc, 0x0a, 0x0e, 0x50, 0xbc, + 0x18, 0x62, 0xda, 0x77, 0x8c, 0xa0, 0xf1, 0x98, 0x19, 0x2f, 0x50, 0x68, 0x1f, 0x0a, 0x9a, 0x4f, + 0xfb, 0x0e, 0x31, 0xe9, 0x68, 0x86, 0xbe, 0x23, 0x4e, 0x31, 0x06, 0x22, 0x75, 0x9c, 0x39, 0x45, + 0x2f, 0xb9, 0x3d, 0x47, 0x33, 0x56, 0x8b, 0x67, 0xa7, 0x28, 0x9f, 0xb2, 0xae, 0x92, 0x77, 0x8a, + 0xac, 0x3b, 0x59, 0x10, 0x0d, 0x20, 0xea, 0xc2, 0x82, 0xe7, 0xf8, 0x44, 0xc7, 0x1d, 0x4b, 0xeb, + 0x62, 0x8b, 0x75, 0x21, 0x4c, 0xdb, 0xa3, 0x79, 0xb4, 0xb5, 0x39, 0xc1, 0x4b, 0x8e, 0x17, 0x2a, + 0x4b, 0x5e, 0x6c, 0xeb, 0x4c, 0x83, 0x9e, 0x3f, 0xdb, 0xa0, 0x57, 0xba, 0x50, 0x4a, 0x48, 0xa5, + 0x3b, 0xf1, 0x1b, 0x36, 0xbb, 0x2f, 0x63, 0x37, 0xf8, 0x31, 0x2c, 0x4d, 0x98, 0x38, 0xd7, 0x55, + 0xfe, 0x4a, 0x86, 0xe5, 0x8b, 0xba, 0x55, 0xd4, 0x82, 0xa2, 0x31, 0x5e, 0xce, 0x10, 0xad, 0xf1, + 0xf0, 0x8f, 0x43, 0x59, 0xd6, 0x3a, 0xc5, 0x66, 0xaf, 0x2f, 0xba, 0x7b, 0x59, 0x0d, 0x56, 0xd3, + 0xda, 0x95, 0x74, 0x52, 0xbb, 0xf2, 0xa1, 0x74, 0x79, 0xbf, 0x22, 0xbe, 0x6b, 0xfe, 0x3e, 0x67, + 0x7b, 0xfe, 0xde, 0x5b, 0x17, 0x39, 0xa1, 0x75, 0xf9, 0x9f, 0x74, 0x69, 0xef, 0x92, 0xe5, 0x27, + 0x78, 0x71, 0xd5, 0x13, 0x5c, 0xb1, 0x8d, 0xc9, 0xcd, 0xdf, 0xc6, 0xfc, 0x02, 0x9b, 0x10, 0x0a, + 0xe5, 0x9f, 0x3f, 0x96, 0xab, 0x5f, 0xa4, 0x60, 0x69, 0xa2, 0x90, 0xa0, 0x3a, 0xfc, 0x2a, 0x06, + 0xee, 0x78, 0x7e, 0xd7, 0xc6, 0xd1, 0x27, 0x3e, 0x8a, 0x3d, 0x6a, 0x8b, 0x27, 0x51, 0x1a, 0x4b, + 0xc5, 0xd2, 0xd8, 0x9d, 0x28, 0x8d, 0x09, 0x3c, 0xcf, 0xdd, 0x85, 0x30, 0x0f, 0x09, 0x24, 0xd2, + 0xcf, 0xe7, 0xba, 0x4c, 0x62, 0xfb, 0x3b, 0x61, 0xee, 0x5c, 0xc9, 0x4e, 0x3e, 0x97, 0xec, 0x7e, + 0x74, 0x22, 0xfa, 0x26, 0x05, 0x68, 0xb2, 0x3f, 0x40, 0xbf, 0x86, 0x82, 0x67, 0x9b, 0x9d, 0xf8, + 0x6c, 0x24, 0xef, 0xd9, 0x66, 0x8b, 0x8f, 0x47, 0x2e, 0xf1, 0x6f, 0x2a, 0xd1, 0xbf, 0xe9, 0x69, + 0xfe, 0xcd, 0x5c, 0xe0, 0x5f, 0xe3, 0xbc, 0x7f, 0xe5, 0xc4, 0x8f, 0xa2, 0xc9, 0xc3, 0xcc, 0xe5, + 0xe0, 0xec, 0xfb, 0x76, 0xf0, 0x2e, 0x94, 0xe2, 0xc3, 0x04, 0x86, 0x0d, 0xdb, 0x90, 0x82, 0x68, + 0x2f, 0x6e, 0xc5, 0xcb, 0xbb, 0xc0, 0x8f, 0x37, 0xaa, 0x8f, 0xa0, 0x18, 0x1b, 0x24, 0xcc, 0x0d, + 0xc7, 0x50, 0x8c, 0xd5, 0x30, 0xb4, 0x02, 0x32, 0x1e, 0x6a, 0x7a, 0x30, 0x07, 0x6a, 0x5d, 0x53, + 0xc5, 0x12, 0x29, 0x90, 0x75, 0x09, 0x3e, 0x36, 0x87, 0x82, 0xa1, 0x75, 0x4d, 0x0d, 0xd6, 0x0c, + 0x41, 0x70, 0x0f, 0x0f, 0x45, 0xfc, 0x33, 0x04, 0x5f, 0x36, 0x4b, 0x00, 0xbc, 0x5f, 0xeb, 0xd0, + 0x91, 0x8b, 0xab, 0x1f, 0x48, 0xc1, 0xd4, 0x07, 0x33, 0xff, 0x54, 0x20, 0xaf, 0x51, 0x8a, 0x07, + 0x2e, 0x0f, 0x1e, 0x76, 0x61, 0xa3, 0x35, 0x6a, 0xc0, 0x75, 0x17, 0x93, 0x0e, 0x25, 0xa3, 0x4e, + 0x38, 0xdb, 0x48, 0x25, 0xcd, 0x36, 0x16, 0x5c, 0x4c, 0x8e, 0xc8, 0xe8, 0x28, 0x98, 0x70, 0xac, + 0xb2, 0xaf, 0x12, 0x46, 0xe0, 0xd8, 0xc1, 0xad, 0xe4, 0xc3, 0x8b, 0xd1, 0x81, 0x5d, 0xfd, 0x34, + 0x05, 0x30, 0x1e, 0x05, 0xa0, 0xdb, 0x50, 0xd2, 0x2c, 0xcb, 0x39, 0xed, 0x38, 0xc4, 0xec, 0x99, + 0x76, 0x10, 0xc9, 0x45, 0xbe, 0x77, 0xc0, 0xb7, 0x58, 0x1c, 0x0a, 0x11, 0xd1, 0x6c, 0x85, 0x61, + 0x2c, 0x70, 0xaf, 0xc4, 0xde, 0x58, 0xe8, 0x4c, 0xa5, 0x0c, 0x84, 0xc2, 0x9c, 0x7e, 0x17, 0x16, + 0xf1, 0xd0, 0x75, 0xce, 0x95, 0xc4, 0x82, 0xba, 0x20, 0x76, 0x43, 0xb1, 0x4d, 0xc8, 0x0d, 0xb4, + 0x61, 0x47, 0xeb, 0x89, 0xb9, 0xcf, 0xd4, 0x83, 0x67, 0x07, 0xda, 0xb0, 0xd1, 0xc3, 0xe8, 0x39, + 0x2c, 0x09, 0xfd, 0x3a, 0xc1, 0x06, 0xb6, 0xa9, 0xa9, 0x59, 0x5e, 0x30, 0x12, 0xaa, 0x4c, 0xa0, + 0x9b, 0x8e, 0x63, 0xbd, 0x66, 0xf1, 0xa7, 0x96, 0x39, 0x68, 0x6f, 0x8c, 0xa9, 0x7e, 0x22, 0x03, + 0x9a, 0x9c, 0xda, 0xa0, 0x17, 0x20, 0x1b, 0xd8, 0xd2, 0x46, 0xb3, 0x7c, 0x34, 0x4e, 0xa0, 0x6b, + 0xfb, 0x0c, 0xaa, 0x0a, 0x06, 0x46, 0xa5, 0x75, 0xc3, 0x64, 0x3a, 0x37, 0x55, 0x83, 0x41, 0x55, + 0xc1, 0x50, 0xf9, 0x7f, 0x0a, 0x64, 0xce, 0x8d, 0x6e, 0x41, 0xce, 0xc5, 0x44, 0xc7, 0xb6, 0x08, + 0x5c, 0x99, 0x57, 0xd6, 0x70, 0x0b, 0xed, 0x40, 0xf1, 0xd8, 0x1c, 0x62, 0xa3, 0x23, 0xce, 0x90, + 0x14, 0x4e, 0xad, 0x6b, 0x2a, 0x70, 0x79, 0xc1, 0xdd, 0x82, 0x25, 0xf6, 0x82, 0x6c, 0xe1, 0xa2, + 0x80, 0x23, 0x9d, 0xcc, 0x51, 0x8e, 0xa1, 0x04, 0x53, 0x13, 0x20, 0x30, 0x69, 0xfc, 0x72, 0xa7, + 0xd5, 0xf5, 0x43, 0x21, 0xac, 0xc6, 0x50, 0xcd, 0x25, 0xb8, 0xde, 0xa7, 0xd4, 0x15, 0x66, 0xf0, + 0xbb, 0x55, 0x79, 0x2b, 0x81, 0xcc, 0xfd, 0x92, 0xe0, 0x86, 0xdb, 0x50, 0xe4, 0x50, 0x8f, 0x6a, + 0xd4, 0xf7, 0x44, 0xa5, 0x64, 0x67, 0x65, 0x9b, 0x6d, 0xbe, 0xc7, 0x44, 0x7a, 0xc4, 0xd5, 0x43, + 0x91, 0xf0, 0x4a, 0x03, 0xdb, 0x1c, 0x8b, 0x30, 0xc0, 0x66, 0x07, 0xf3, 0xf1, 0x5d, 0x26, 0x14, + 0xe1, 0x9b, 0x4f, 0xf9, 0x70, 0xee, 0x7d, 0x9c, 0xb3, 0x04, 0xc0, 0x15, 0x88, 0xf4, 0xf1, 0x0c, + 0x4a, 0xf1, 0x51, 0x32, 0x4b, 0x47, 0xb6, 0x3f, 0xe8, 0x62, 0xc2, 0xcf, 0xb9, 0xc0, 0xd2, 0x91, + 0x58, 0xa3, 0x65, 0xc8, 0xd8, 0x5a, 0xf0, 0x25, 0xc6, 0xec, 0xe2, 0xab, 0x66, 0x56, 0x14, 0x98, + 0xea, 0x6f, 0x20, 0x17, 0x28, 0x1b, 0x67, 0x64, 0xc6, 0x20, 0x05, 0x19, 0xb9, 0x59, 0xfb, 0xf2, + 0xdd, 0x9a, 0xf4, 0xf5, 0xbb, 0x35, 0xe9, 0xed, 0xbb, 0x35, 0xe9, 0x5f, 0xeb, 0xc2, 0x66, 0xd3, + 0xa9, 0x6b, 0xae, 0x59, 0xbf, 0xe0, 0x7f, 0x14, 0xdd, 0x2c, 0x7f, 0xf3, 0x5b, 0x3f, 0x04, 0x00, + 0x00, 0xff, 0xff, 0x9e, 0x6d, 0x35, 0x27, 0xc1, 0x18, 0x00, 0x00, } diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index 80f6201f0d..946dca69e2 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -385,24 +385,49 @@ message HTTPRoute { // for further details about cross origin resource sharing. CorsPolicy cors_policy = 10; - // Use of `append_headers` is deprecated. Use the `append_request_headers` + // Use of `append_headers` is deprecated. Use the `headers` // field instead. map append_headers = 11 [deprecated=true]; - // HTTP headers to remove before returning a response to the caller. - repeated string remove_response_headers = 12; + // Use of `remove_response_header` is deprecated. Use the `headers` + // field instead. + repeated string remove_response_headers = 12 [deprecated=true]; - // Additional HTTP headers to add before returning a response to the - // caller. - map append_response_headers = 13; + // Use of `append_response_headers` is deprecated. Use the `headers` + // field instead. + map append_response_headers = 13 [deprecated=true]; - // HTTP headers to remove before forwarding a request to the - // destination service. - repeated string remove_request_headers = 14; + // Use of `remove_request_headers` is deprecated. Use the `headers` + // field instead. + repeated string remove_request_headers = 14 [deprecated=true]; - // Additional HTTP headers to add before forwarding a request to the - // destination service. - map append_request_headers = 15; + // Use of `append_request_headers` is deprecated. Use the `headers` + // field instead. + map append_request_headers = 15 [deprecated=true]; + + // Header manipulation rules + Headers headers = 16; +} + +// Header manipulation rules +message Headers { + // Header manipulation rules to apply before forwarding a request + // to the destination service + HeaderOperations request = 1; + // Header manipulation rules to apply before returning a response + // to the caller + HeaderOperations response = 2; + + // HeaderOperations Describes the header manipulations to apply + message HeaderOperations { + // Overwrite the headers specified by key with the given values + map set = 1; + // Apppend the given values to the the headers specified by keys + // (will create a comma seperated list of values) + map add = 2; + // Remove a the specified headers + repeated string remove = 3; + } } // Describes match conditions and actions for routing unterminated TLS @@ -659,20 +684,24 @@ message HTTPRouteDestination { // be 100. int32 weight = 2; - // HTTP headers to remove before returning a response to the caller. - repeated string remove_response_headers = 3; + // Use of `remove_response_header` is deprecated. Use the `headers` + // field instead. + repeated string remove_response_headers = 3 [deprecated=true]; + + // Use of `append_response_headers` is deprecated. Use the `headers` + // field instead. + map append_response_headers = 4 [deprecated=true]; - // Additional HTTP headers to add before returning a response to the - // caller. - map append_response_headers = 4; + // Use of `remove_request_headers` is deprecated. Use the `headers` + // field instead. + repeated string remove_request_headers = 5 [deprecated=true]; - // HTTP headers to remove before forwarding a request to the - // destination service. - repeated string remove_request_headers = 5; + // Use of `append_request_headers` is deprecated. Use the `headers` + // field instead. + map append_request_headers = 6 [deprecated=true]; - // Additional HTTP headers to add before forwarding a request to the - // destination service. - map append_request_headers = 6; + // Header manipulation rules + Headers headers = 7; } // L4 routing rule weighted destination. diff --git a/proto.lock b/proto.lock index 1602f9d220..9002723a2f 100644 --- a/proto.lock +++ b/proto.lock @@ -3358,6 +3358,11 @@ "name": "remove_request_headers", "type": "string", "is_repeated": true + }, + { + "id": 16, + "name": "headers", + "type": "Headers" } ], "maps": [ @@ -3387,6 +3392,52 @@ } ] }, + { + "name": "Headers", + "fields": [ + { + "id": 1, + "name": "request", + "type": "HeaderOperations" + }, + { + "id": 2, + "name": "response", + "type": "HeaderOperations" + } + ], + "messages": [ + { + "name": "HeaderOperations", + "fields": [ + { + "id": 3, + "name": "remove", + "type": "string", + "is_repeated": true + } + ], + "maps": [ + { + "key_type": "string", + "field": { + "id": 1, + "name": "set", + "type": "string" + } + }, + { + "key_type": "string", + "field": { + "id": 2, + "name": "add", + "type": "string" + } + } + ] + } + ] + }, { "name": "TLSRoute", "fields": [ @@ -3499,6 +3550,11 @@ "name": "remove_request_headers", "type": "string", "is_repeated": true + }, + { + "id": 7, + "name": "headers", + "type": "Headers" } ], "maps": [ diff --git a/python/istio_api/networking/v1alpha3/virtual_service_pb2.py b/python/istio_api/networking/v1alpha3/virtual_service_pb2.py index 4588a89298..69497908ab 100644 --- a/python/istio_api/networking/v1alpha3/virtual_service_pb2.py +++ b/python/istio_api/networking/v1alpha3/virtual_service_pb2.py @@ -21,7 +21,7 @@ name='networking/v1alpha3/virtual_service.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n)networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc9\x01\n\x0eVirtualService\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x10\n\x08gateways\x18\x02 \x03(\t\x12\x32\n\x04http\x18\x03 \x03(\x0b\x32$.istio.networking.v1alpha3.HTTPRoute\x12\x30\n\x03tls\x18\x05 \x03(\x0b\x32#.istio.networking.v1alpha3.TLSRoute\x12\x30\n\x03tcp\x18\x04 \x03(\x0b\x32#.istio.networking.v1alpha3.TCPRoute\"b\n\x0b\x44\x65stination\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0e\n\x06subset\x18\x02 \x01(\t\x12\x35\n\x04port\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\"\xb4\x08\n\tHTTPRoute\x12:\n\x05match\x18\x01 \x03(\x0b\x32+.istio.networking.v1alpha3.HTTPMatchRequest\x12>\n\x05route\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.HTTPRouteDestination\x12\x39\n\x08redirect\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.HTTPRedirect\x12\x37\n\x07rewrite\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.HTTPRewrite\x12\x19\n\x11websocket_upgrade\x18\x05 \x01(\x08\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x07retries\x18\x07 \x01(\x0b\x32$.istio.networking.v1alpha3.HTTPRetry\x12<\n\x05\x66\x61ult\x18\x08 \x01(\x0b\x32-.istio.networking.v1alpha3.HTTPFaultInjection\x12\x36\n\x06mirror\x18\t \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12:\n\x0b\x63ors_policy\x18\n \x01(\x0b\x32%.istio.networking.v1alpha3.CorsPolicy\x12S\n\x0e\x61ppend_headers\x18\x0b \x03(\x0b\x32\x37.istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntryB\x02\x18\x01\x12\x1f\n\x17remove_response_headers\x18\x0c \x03(\t\x12`\n\x17\x61ppend_response_headers\x18\r \x03(\x0b\x32?.istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntry\x12\x1e\n\x16remove_request_headers\x18\x0e \x03(\t\x12^\n\x16\x61ppend_request_headers\x18\x0f \x03(\x0b\x32>.istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntry\x1a\x34\n\x12\x41ppendHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x84\x01\n\x08TLSRoute\x12<\n\x05match\x18\x01 \x03(\x0b\x32-.istio.networking.v1alpha3.TLSMatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\x83\x01\n\x08TCPRoute\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.networking.v1alpha3.L4MatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\xc0\x04\n\x10HTTPMatchRequest\x12\x33\n\x03uri\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06scheme\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06method\x18\x03 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x39\n\tauthority\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry\x12\x0c\n\x04port\x18\x06 \x01(\r\x12T\n\rsource_labels\x18\x07 \x03(\x0b\x32=.istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x08 \x03(\t\x1aV\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch:\x02\x38\x01\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf7\x03\n\x14HTTPRouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12\x1f\n\x17remove_response_headers\x18\x03 \x03(\t\x12k\n\x17\x61ppend_response_headers\x18\x04 \x03(\x0b\x32J.istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntry\x12\x1e\n\x16remove_request_headers\x18\x05 \x03(\t\x12i\n\x16\x61ppend_request_headers\x18\x06 \x03(\x0b\x32I.istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntry\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\x10RouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"\xf3\x01\n\x11L4MatchAttributes\x12\x1b\n\x13\x64\x65stination_subnets\x18\x01 \x03(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x15\n\rsource_subnet\x18\x03 \x01(\t\x12U\n\rsource_labels\x18\x04 \x03(\x0b\x32>.istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x05 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x88\x02\n\x12TLSMatchAttributes\x12\x11\n\tsni_hosts\x18\x01 \x03(\t\x12\x1b\n\x13\x64\x65stination_subnets\x18\x02 \x03(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x15\n\rsource_subnet\x18\x04 \x01(\t\x12V\n\rsource_labels\x18\x05 \x03(\x0b\x32?.istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x06 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\".\n\x0cHTTPRedirect\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"-\n\x0bHTTPRewrite\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"c\n\tHTTPRetry\x12\x10\n\x08\x61ttempts\x18\x01 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08retry_on\x18\x03 \x01(\t\"\xcb\x01\n\nCorsPolicy\x12\x14\n\x0c\x61llow_origin\x18\x01 \x03(\t\x12\x15\n\rallow_methods\x18\x02 \x03(\t\x12\x15\n\rallow_headers\x18\x03 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x04 \x03(\t\x12*\n\x07max_age\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x11\x61llow_credentials\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"\x9a\x04\n\x12HTTPFaultInjection\x12\x42\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Delay\x12\x42\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Abort\x1a\xd1\x01\n\x05\x44\x65lay\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x30\n\x0b\x66ixed_delay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\x11\x65xponential_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x11\n\x0fhttp_delay_type\x1a\xa7\x01\n\x05\x41\x62ort\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x15\n\x0bhttp_status\x18\x02 \x01(\x05H\x00\x12\x15\n\x0bgrpc_status\x18\x03 \x01(\tH\x00\x12\x15\n\x0bhttp2_error\x18\x04 \x01(\tH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x0c\n\nerror_type\"8\n\x0cPortSelector\x12\x10\n\x06number\x18\x01 \x01(\rH\x00\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x42\x06\n\x04port\"\x18\n\x07Percent\x12\r\n\x05value\x18\x01 \x01(\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n)networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc9\x01\n\x0eVirtualService\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x10\n\x08gateways\x18\x02 \x03(\t\x12\x32\n\x04http\x18\x03 \x03(\x0b\x32$.istio.networking.v1alpha3.HTTPRoute\x12\x30\n\x03tls\x18\x05 \x03(\x0b\x32#.istio.networking.v1alpha3.TLSRoute\x12\x30\n\x03tcp\x18\x04 \x03(\x0b\x32#.istio.networking.v1alpha3.TCPRoute\"b\n\x0b\x44\x65stination\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0e\n\x06subset\x18\x02 \x01(\t\x12\x35\n\x04port\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\"\xf9\x08\n\tHTTPRoute\x12:\n\x05match\x18\x01 \x03(\x0b\x32+.istio.networking.v1alpha3.HTTPMatchRequest\x12>\n\x05route\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.HTTPRouteDestination\x12\x39\n\x08redirect\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.HTTPRedirect\x12\x37\n\x07rewrite\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.HTTPRewrite\x12\x19\n\x11websocket_upgrade\x18\x05 \x01(\x08\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x07retries\x18\x07 \x01(\x0b\x32$.istio.networking.v1alpha3.HTTPRetry\x12<\n\x05\x66\x61ult\x18\x08 \x01(\x0b\x32-.istio.networking.v1alpha3.HTTPFaultInjection\x12\x36\n\x06mirror\x18\t \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12:\n\x0b\x63ors_policy\x18\n \x01(\x0b\x32%.istio.networking.v1alpha3.CorsPolicy\x12S\n\x0e\x61ppend_headers\x18\x0b \x03(\x0b\x32\x37.istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntryB\x02\x18\x01\x12#\n\x17remove_response_headers\x18\x0c \x03(\tB\x02\x18\x01\x12\x64\n\x17\x61ppend_response_headers\x18\r \x03(\x0b\x32?.istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x0e \x03(\tB\x02\x18\x01\x12\x62\n\x16\x61ppend_request_headers\x18\x0f \x03(\x0b\x32>.istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x10 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a\x34\n\x12\x41ppendHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x03\n\x07Headers\x12\x44\n\x07request\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x12\x45\n\x08response\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x1a\x90\x02\n\x10HeaderOperations\x12I\n\x03set\x18\x01 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry\x12I\n\x03\x61\x64\x64\x18\x02 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry\x12\x0e\n\x06remove\x18\x03 \x03(\t\x1a*\n\x08SetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a*\n\x08\x41\x64\x64\x45ntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x84\x01\n\x08TLSRoute\x12<\n\x05match\x18\x01 \x03(\x0b\x32-.istio.networking.v1alpha3.TLSMatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\x83\x01\n\x08TCPRoute\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.networking.v1alpha3.L4MatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\xc0\x04\n\x10HTTPMatchRequest\x12\x33\n\x03uri\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06scheme\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06method\x18\x03 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x39\n\tauthority\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry\x12\x0c\n\x04port\x18\x06 \x01(\r\x12T\n\rsource_labels\x18\x07 \x03(\x0b\x32=.istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x08 \x03(\t\x1aV\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch:\x02\x38\x01\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbc\x04\n\x14HTTPRouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12#\n\x17remove_response_headers\x18\x03 \x03(\tB\x02\x18\x01\x12o\n\x17\x61ppend_response_headers\x18\x04 \x03(\x0b\x32J.istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x05 \x03(\tB\x02\x18\x01\x12m\n\x16\x61ppend_request_headers\x18\x06 \x03(\x0b\x32I.istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x07 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\x10RouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"\xf3\x01\n\x11L4MatchAttributes\x12\x1b\n\x13\x64\x65stination_subnets\x18\x01 \x03(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x15\n\rsource_subnet\x18\x03 \x01(\t\x12U\n\rsource_labels\x18\x04 \x03(\x0b\x32>.istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x05 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x88\x02\n\x12TLSMatchAttributes\x12\x11\n\tsni_hosts\x18\x01 \x03(\t\x12\x1b\n\x13\x64\x65stination_subnets\x18\x02 \x03(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x15\n\rsource_subnet\x18\x04 \x01(\t\x12V\n\rsource_labels\x18\x05 \x03(\x0b\x32?.istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x06 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\".\n\x0cHTTPRedirect\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"-\n\x0bHTTPRewrite\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"c\n\tHTTPRetry\x12\x10\n\x08\x61ttempts\x18\x01 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08retry_on\x18\x03 \x01(\t\"\xcb\x01\n\nCorsPolicy\x12\x14\n\x0c\x61llow_origin\x18\x01 \x03(\t\x12\x15\n\rallow_methods\x18\x02 \x03(\t\x12\x15\n\rallow_headers\x18\x03 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x04 \x03(\t\x12*\n\x07max_age\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x11\x61llow_credentials\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"\x9a\x04\n\x12HTTPFaultInjection\x12\x42\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Delay\x12\x42\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Abort\x1a\xd1\x01\n\x05\x44\x65lay\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x30\n\x0b\x66ixed_delay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\x11\x65xponential_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x11\n\x0fhttp_delay_type\x1a\xa7\x01\n\x05\x41\x62ort\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x15\n\x0bhttp_status\x18\x02 \x01(\x05H\x00\x12\x15\n\x0bgrpc_status\x18\x03 \x01(\tH\x00\x12\x15\n\x0bhttp2_error\x18\x04 \x01(\tH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x0c\n\nerror_type\"8\n\x0cPortSelector\x12\x10\n\x06number\x18\x01 \x01(\rH\x00\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x42\x06\n\x04port\"\x18\n\x07Percent\x12\r\n\x05value\x18\x01 \x01(\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,]) @@ -165,8 +165,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1342, - serialized_end=1394, + serialized_start=1411, + serialized_end=1463, ) _HTTPROUTE_APPENDRESPONSEHEADERSENTRY = _descriptor.Descriptor( @@ -202,8 +202,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1396, - serialized_end=1456, + serialized_start=1465, + serialized_end=1525, ) _HTTPROUTE_APPENDREQUESTHEADERSENTRY = _descriptor.Descriptor( @@ -239,8 +239,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1458, - serialized_end=1517, + serialized_start=1527, + serialized_end=1586, ) _HTTPROUTE = _descriptor.Descriptor( @@ -333,27 +333,34 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='append_response_headers', full_name='istio.networking.v1alpha3.HTTPRoute.append_response_headers', index=12, number=13, 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, - options=None, file=DESCRIPTOR), + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='remove_request_headers', full_name='istio.networking.v1alpha3.HTTPRoute.remove_request_headers', index=13, number=14, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='append_request_headers', full_name='istio.networking.v1alpha3.HTTPRoute.append_request_headers', index=14, number=15, 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, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='headers', full_name='istio.networking.v1alpha3.HTTPRoute.headers', index=15, + number=16, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ @@ -368,7 +375,163 @@ oneofs=[ ], serialized_start=441, - serialized_end=1517, + serialized_end=1586, +) + + +_HEADERS_HEADEROPERATIONS_SETENTRY = _descriptor.Descriptor( + name='SetEntry', + full_name='istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry.key', 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='value', full_name='istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1928, + serialized_end=1970, +) + +_HEADERS_HEADEROPERATIONS_ADDENTRY = _descriptor.Descriptor( + name='AddEntry', + full_name='istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry.key', 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='value', full_name='istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1972, + serialized_end=2014, +) + +_HEADERS_HEADEROPERATIONS = _descriptor.Descriptor( + name='HeaderOperations', + full_name='istio.networking.v1alpha3.Headers.HeaderOperations', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='set', full_name='istio.networking.v1alpha3.Headers.HeaderOperations.set', index=0, + number=1, 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, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='add', full_name='istio.networking.v1alpha3.Headers.HeaderOperations.add', 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, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='remove', full_name='istio.networking.v1alpha3.Headers.HeaderOperations.remove', index=2, + number=3, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_HEADERS_HEADEROPERATIONS_SETENTRY, _HEADERS_HEADEROPERATIONS_ADDENTRY, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1742, + serialized_end=2014, +) + +_HEADERS = _descriptor.Descriptor( + name='Headers', + full_name='istio.networking.v1alpha3.Headers', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='request', full_name='istio.networking.v1alpha3.Headers.request', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='response', full_name='istio.networking.v1alpha3.Headers.response', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_HEADERS_HEADEROPERATIONS, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1589, + serialized_end=2014, ) @@ -405,8 +568,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1520, - serialized_end=1652, + serialized_start=2017, + serialized_end=2149, ) @@ -443,8 +606,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1655, - serialized_end=1786, + serialized_start=2152, + serialized_end=2283, ) @@ -481,8 +644,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2226, - serialized_end=2312, + serialized_start=2723, + serialized_end=2809, ) _HTTPMATCHREQUEST_SOURCELABELSENTRY = _descriptor.Descriptor( @@ -518,8 +681,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2314, - serialized_end=2365, + serialized_start=2811, + serialized_end=2862, ) _HTTPMATCHREQUEST = _descriptor.Descriptor( @@ -597,8 +760,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1789, - serialized_end=2365, + serialized_start=2286, + serialized_end=2862, ) @@ -635,8 +798,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1396, - serialized_end=1456, + serialized_start=1465, + serialized_end=1525, ) _HTTPROUTEDESTINATION_APPENDREQUESTHEADERSENTRY = _descriptor.Descriptor( @@ -672,8 +835,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1458, - serialized_end=1517, + serialized_start=1527, + serialized_end=1586, ) _HTTPROUTEDESTINATION = _descriptor.Descriptor( @@ -703,27 +866,34 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='append_response_headers', full_name='istio.networking.v1alpha3.HTTPRouteDestination.append_response_headers', index=3, number=4, 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, - options=None, file=DESCRIPTOR), + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='remove_request_headers', full_name='istio.networking.v1alpha3.HTTPRouteDestination.remove_request_headers', index=4, number=5, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='append_request_headers', full_name='istio.networking.v1alpha3.HTTPRouteDestination.append_request_headers', index=5, number=6, 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, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='headers', full_name='istio.networking.v1alpha3.HTTPRouteDestination.headers', index=6, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ @@ -737,8 +907,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2368, - serialized_end=2871, + serialized_start=2865, + serialized_end=3437, ) @@ -775,8 +945,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2873, - serialized_end=2968, + serialized_start=3439, + serialized_end=3534, ) @@ -813,8 +983,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2314, - serialized_end=2365, + serialized_start=2811, + serialized_end=2862, ) _L4MATCHATTRIBUTES = _descriptor.Descriptor( @@ -871,8 +1041,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2971, - serialized_end=3214, + serialized_start=3537, + serialized_end=3780, ) @@ -909,8 +1079,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2314, - serialized_end=2365, + serialized_start=2811, + serialized_end=2862, ) _TLSMATCHATTRIBUTES = _descriptor.Descriptor( @@ -974,8 +1144,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3217, - serialized_end=3481, + serialized_start=3783, + serialized_end=4047, ) @@ -1012,8 +1182,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3483, - serialized_end=3529, + serialized_start=4049, + serialized_end=4095, ) @@ -1050,8 +1220,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3531, - serialized_end=3576, + serialized_start=4097, + serialized_end=4142, ) @@ -1098,8 +1268,8 @@ name='match_type', full_name='istio.networking.v1alpha3.StringMatch.match_type', index=0, containing_type=None, fields=[]), ], - serialized_start=3578, - serialized_end=3657, + serialized_start=4144, + serialized_end=4223, ) @@ -1143,8 +1313,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3659, - serialized_end=3758, + serialized_start=4225, + serialized_end=4324, ) @@ -1209,8 +1379,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3761, - serialized_end=3964, + serialized_start=4327, + serialized_end=4530, ) @@ -1264,8 +1434,8 @@ name='http_delay_type', full_name='istio.networking.v1alpha3.HTTPFaultInjection.Delay.http_delay_type', index=0, containing_type=None, fields=[]), ], - serialized_start=4126, - serialized_end=4335, + serialized_start=4692, + serialized_end=4901, ) _HTTPFAULTINJECTION_ABORT = _descriptor.Descriptor( @@ -1325,8 +1495,8 @@ name='error_type', full_name='istio.networking.v1alpha3.HTTPFaultInjection.Abort.error_type', index=0, containing_type=None, fields=[]), ], - serialized_start=4338, - serialized_end=4505, + serialized_start=4904, + serialized_end=5071, ) _HTTPFAULTINJECTION = _descriptor.Descriptor( @@ -1362,8 +1532,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3967, - serialized_end=4505, + serialized_start=4533, + serialized_end=5071, ) @@ -1403,8 +1573,8 @@ name='port', full_name='istio.networking.v1alpha3.PortSelector.port', index=0, containing_type=None, fields=[]), ], - serialized_start=4507, - serialized_end=4563, + serialized_start=5073, + serialized_end=5129, ) @@ -1434,8 +1604,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4565, - serialized_end=4589, + serialized_start=5131, + serialized_end=5155, ) _VIRTUALSERVICE.fields_by_name['http'].message_type = _HTTPROUTE @@ -1457,6 +1627,14 @@ _HTTPROUTE.fields_by_name['append_headers'].message_type = _HTTPROUTE_APPENDHEADERSENTRY _HTTPROUTE.fields_by_name['append_response_headers'].message_type = _HTTPROUTE_APPENDRESPONSEHEADERSENTRY _HTTPROUTE.fields_by_name['append_request_headers'].message_type = _HTTPROUTE_APPENDREQUESTHEADERSENTRY +_HTTPROUTE.fields_by_name['headers'].message_type = _HEADERS +_HEADERS_HEADEROPERATIONS_SETENTRY.containing_type = _HEADERS_HEADEROPERATIONS +_HEADERS_HEADEROPERATIONS_ADDENTRY.containing_type = _HEADERS_HEADEROPERATIONS +_HEADERS_HEADEROPERATIONS.fields_by_name['set'].message_type = _HEADERS_HEADEROPERATIONS_SETENTRY +_HEADERS_HEADEROPERATIONS.fields_by_name['add'].message_type = _HEADERS_HEADEROPERATIONS_ADDENTRY +_HEADERS_HEADEROPERATIONS.containing_type = _HEADERS +_HEADERS.fields_by_name['request'].message_type = _HEADERS_HEADEROPERATIONS +_HEADERS.fields_by_name['response'].message_type = _HEADERS_HEADEROPERATIONS _TLSROUTE.fields_by_name['match'].message_type = _TLSMATCHATTRIBUTES _TLSROUTE.fields_by_name['route'].message_type = _ROUTEDESTINATION _TCPROUTE.fields_by_name['match'].message_type = _L4MATCHATTRIBUTES @@ -1475,6 +1653,7 @@ _HTTPROUTEDESTINATION.fields_by_name['destination'].message_type = _DESTINATION _HTTPROUTEDESTINATION.fields_by_name['append_response_headers'].message_type = _HTTPROUTEDESTINATION_APPENDRESPONSEHEADERSENTRY _HTTPROUTEDESTINATION.fields_by_name['append_request_headers'].message_type = _HTTPROUTEDESTINATION_APPENDREQUESTHEADERSENTRY +_HTTPROUTEDESTINATION.fields_by_name['headers'].message_type = _HEADERS _ROUTEDESTINATION.fields_by_name['destination'].message_type = _DESTINATION _L4MATCHATTRIBUTES_SOURCELABELSENTRY.containing_type = _L4MATCHATTRIBUTES _L4MATCHATTRIBUTES.fields_by_name['source_labels'].message_type = _L4MATCHATTRIBUTES_SOURCELABELSENTRY @@ -1524,6 +1703,7 @@ DESCRIPTOR.message_types_by_name['VirtualService'] = _VIRTUALSERVICE DESCRIPTOR.message_types_by_name['Destination'] = _DESTINATION DESCRIPTOR.message_types_by_name['HTTPRoute'] = _HTTPROUTE +DESCRIPTOR.message_types_by_name['Headers'] = _HEADERS DESCRIPTOR.message_types_by_name['TLSRoute'] = _TLSROUTE DESCRIPTOR.message_types_by_name['TCPRoute'] = _TCPROUTE DESCRIPTOR.message_types_by_name['HTTPMatchRequest'] = _HTTPMATCHREQUEST @@ -1586,6 +1766,37 @@ _sym_db.RegisterMessage(HTTPRoute.AppendResponseHeadersEntry) _sym_db.RegisterMessage(HTTPRoute.AppendRequestHeadersEntry) +Headers = _reflection.GeneratedProtocolMessageType('Headers', (_message.Message,), dict( + + HeaderOperations = _reflection.GeneratedProtocolMessageType('HeaderOperations', (_message.Message,), dict( + + SetEntry = _reflection.GeneratedProtocolMessageType('SetEntry', (_message.Message,), dict( + DESCRIPTOR = _HEADERS_HEADEROPERATIONS_SETENTRY, + __module__ = 'networking.v1alpha3.virtual_service_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry) + )) + , + + AddEntry = _reflection.GeneratedProtocolMessageType('AddEntry', (_message.Message,), dict( + DESCRIPTOR = _HEADERS_HEADEROPERATIONS_ADDENTRY, + __module__ = 'networking.v1alpha3.virtual_service_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry) + )) + , + DESCRIPTOR = _HEADERS_HEADEROPERATIONS, + __module__ = 'networking.v1alpha3.virtual_service_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Headers.HeaderOperations) + )) + , + DESCRIPTOR = _HEADERS, + __module__ = 'networking.v1alpha3.virtual_service_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Headers) + )) +_sym_db.RegisterMessage(Headers) +_sym_db.RegisterMessage(Headers.HeaderOperations) +_sym_db.RegisterMessage(Headers.HeaderOperations.SetEntry) +_sym_db.RegisterMessage(Headers.HeaderOperations.AddEntry) + TLSRoute = _reflection.GeneratedProtocolMessageType('TLSRoute', (_message.Message,), dict( DESCRIPTOR = _TLSROUTE, __module__ = 'networking.v1alpha3.virtual_service_pb2' @@ -1766,6 +1977,18 @@ _HTTPROUTE_APPENDREQUESTHEADERSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _HTTPROUTE.fields_by_name['append_headers'].has_options = True _HTTPROUTE.fields_by_name['append_headers']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) +_HTTPROUTE.fields_by_name['remove_response_headers'].has_options = True +_HTTPROUTE.fields_by_name['remove_response_headers']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) +_HTTPROUTE.fields_by_name['append_response_headers'].has_options = True +_HTTPROUTE.fields_by_name['append_response_headers']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) +_HTTPROUTE.fields_by_name['remove_request_headers'].has_options = True +_HTTPROUTE.fields_by_name['remove_request_headers']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) +_HTTPROUTE.fields_by_name['append_request_headers'].has_options = True +_HTTPROUTE.fields_by_name['append_request_headers']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) +_HEADERS_HEADEROPERATIONS_SETENTRY.has_options = True +_HEADERS_HEADEROPERATIONS_SETENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) +_HEADERS_HEADEROPERATIONS_ADDENTRY.has_options = True +_HEADERS_HEADEROPERATIONS_ADDENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _HTTPMATCHREQUEST_HEADERSENTRY.has_options = True _HTTPMATCHREQUEST_HEADERSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _HTTPMATCHREQUEST_SOURCELABELSENTRY.has_options = True @@ -1774,6 +1997,14 @@ _HTTPROUTEDESTINATION_APPENDRESPONSEHEADERSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _HTTPROUTEDESTINATION_APPENDREQUESTHEADERSENTRY.has_options = True _HTTPROUTEDESTINATION_APPENDREQUESTHEADERSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) +_HTTPROUTEDESTINATION.fields_by_name['remove_response_headers'].has_options = True +_HTTPROUTEDESTINATION.fields_by_name['remove_response_headers']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) +_HTTPROUTEDESTINATION.fields_by_name['append_response_headers'].has_options = True +_HTTPROUTEDESTINATION.fields_by_name['append_response_headers']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) +_HTTPROUTEDESTINATION.fields_by_name['remove_request_headers'].has_options = True +_HTTPROUTEDESTINATION.fields_by_name['remove_request_headers']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) +_HTTPROUTEDESTINATION.fields_by_name['append_request_headers'].has_options = True +_HTTPROUTEDESTINATION.fields_by_name['append_request_headers']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) _L4MATCHATTRIBUTES_SOURCELABELSENTRY.has_options = True _L4MATCHATTRIBUTES_SOURCELABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TLSMATCHATTRIBUTES_SOURCELABELSENTRY.has_options = True From 4f643c98546f632307978debedc7d5dbd0452aa2 Mon Sep 17 00:00:00 2001 From: Shriram Rajagopalan Date: Wed, 28 Nov 2018 15:09:16 -0500 Subject: [PATCH 09/10] NetworkScopes (#719) * default network scope Signed-off-by: Shriram Rajagopalan * protolock Signed-off-by: Shriram Rajagopalan * doc update Signed-off-by: Shriram Rajagopalan * NetworkScopes Signed-off-by: Shriram Rajagopalan * proto lock Signed-off-by: Shriram Rajagopalan * updates Signed-off-by: Shriram Rajagopalan * default network scope Signed-off-by: Shriram Rajagopalan * doc updates Signed-off-by: Shriram Rajagopalan * updates Signed-off-by: Shriram Rajagopalan * rename * nits and final updates Signed-off-by: Shriram Rajagopalan --- Makefile | 3 + mesh/v1alpha1/config.pb.go | 445 +++++++-- mesh/v1alpha1/config.proto | 35 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 82 +- networking/v1alpha3/destination_rule.pb.go | 219 ++-- networking/v1alpha3/destination_rule.proto | 7 + networking/v1alpha3/gateway.pb.go | 8 +- networking/v1alpha3/gateway.proto | 8 +- .../istio.networking.v1alpha3.pb.html | 258 ++++- networking/v1alpha3/network_scope.pb.go | 933 ++++++++++++++++++ networking/v1alpha3/network_scope.proto | 168 ++++ networking/v1alpha3/service_entry.pb.go | 106 +- networking/v1alpha3/service_entry.proto | 8 + networking/v1alpha3/virtual_service.pb.go | 266 ++--- networking/v1alpha3/virtual_service.proto | 8 + proto.lock | 120 +++ python/istio_api/mesh/v1alpha1/config_pb2.py | 109 +- .../v1alpha3/destination_rule_pb2.py | 77 +- .../networking/v1alpha3/network_scope_pb2.py | 241 +++++ .../networking/v1alpha3/service_entry_pb2.py | 37 +- .../v1alpha3/virtual_service_pb2.py | 145 +-- 21 files changed, 2831 insertions(+), 452 deletions(-) create mode 100644 networking/v1alpha3/network_scope.pb.go create mode 100644 networking/v1alpha3/network_scope.proto create mode 100644 python/istio_api/networking/v1alpha3/network_scope_pb2.py diff --git a/Makefile b/Makefile index a74a1d6faa..5d804e31ac 100644 --- a/Makefile +++ b/Makefile @@ -351,6 +351,9 @@ clean-envoy: proto-commit: @$(docker_lock) commit +proto-commit-force: + @$(docker_lock) commit --force + ##################### # Lint ##################### diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index f613644c60..7ae7af46e6 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -23,7 +23,7 @@ import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" import google_protobuf "github.com/gogo/protobuf/types" -import istio_networking_v1alpha31 "istio.io/api/networking/v1alpha3" +import istio_networking_v1alpha32 "istio.io/api/networking/v1alpha3" import io "io" @@ -152,6 +152,34 @@ func (MeshConfig_OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0, 0, 0} } +type MeshConfig_DefaultNetworkScope_Mode int32 + +const ( + // Configure routes to services in all namespaces, i.e. import + // services from all namespaces. + MeshConfig_DefaultNetworkScope_ALL_NAMESPACES MeshConfig_DefaultNetworkScope_Mode = 0 + // Only configure routes to services that are in the same namespace + // as the workload as well as services in namespaces specified in + // importNamespaces. + MeshConfig_DefaultNetworkScope_SAME_NAMESPACE MeshConfig_DefaultNetworkScope_Mode = 1 +) + +var MeshConfig_DefaultNetworkScope_Mode_name = map[int32]string{ + 0: "ALL_NAMESPACES", + 1: "SAME_NAMESPACE", +} +var MeshConfig_DefaultNetworkScope_Mode_value = map[string]int32{ + "ALL_NAMESPACES": 0, + "SAME_NAMESPACE": 1, +} + +func (x MeshConfig_DefaultNetworkScope_Mode) String() string { + return proto.EnumName(MeshConfig_DefaultNetworkScope_Mode_name, int32(x)) +} +func (MeshConfig_DefaultNetworkScope_Mode) EnumDescriptor() ([]byte, []int) { + return fileDescriptorConfig, []int{0, 1, 0} +} + // MeshConfig defines mesh-wide variables shared by all Envoy instances in the // Istio service mesh. // @@ -189,7 +217,7 @@ type MeshConfig struct { // Connection timeout used by Envoy. (MUST BE >=1ms) ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,6,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"` // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. - TcpKeepalive *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` + TcpKeepalive *istio_networking_v1alpha32.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` // Class of ingress resources to be processed by Istio ingress // controller. This corresponds to the value of // "kubernetes.io/ingress.class" annotation. @@ -250,6 +278,12 @@ type MeshConfig struct { // Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain // Fallback to old identity format(without trust domain) if not set. TrustDomain string `protobuf:"bytes,26,opt,name=trust_domain,json=trustDomain,proto3" json:"trust_domain,omitempty"` + // The default network scope associated with every workload in the mesh. + // Pilot will program the routes in the sidecars and gateways + // accordingly. If omitted, sidecars will be configured to reach every + // service in the mesh. The default scope can be overriden by supplying a + // NetworkScope resource per namespace. + DefaultNetworkScope *MeshConfig_DefaultNetworkScope `protobuf:"bytes,29,opt,name=default_network_scope,json=defaultNetworkScope" json:"default_network_scope,omitempty"` } func (m *MeshConfig) Reset() { *m = MeshConfig{} } @@ -306,7 +340,7 @@ func (m *MeshConfig) GetConnectTimeout() *google_protobuf.Duration { return nil } -func (m *MeshConfig) GetTcpKeepalive() *istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive { +func (m *MeshConfig) GetTcpKeepalive() *istio_networking_v1alpha32.ConnectionPoolSettings_TCPSettings_TcpKeepalive { if m != nil { return m.TcpKeepalive } @@ -439,6 +473,13 @@ func (m *MeshConfig) GetTrustDomain() string { return "" } +func (m *MeshConfig) GetDefaultNetworkScope() *MeshConfig_DefaultNetworkScope { + if m != nil { + return m.DefaultNetworkScope + } + return nil +} + type MeshConfig_OutboundTrafficPolicy struct { Mode MeshConfig_OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode" json:"mode,omitempty"` } @@ -457,6 +498,41 @@ func (m *MeshConfig_OutboundTrafficPolicy) GetMode() MeshConfig_OutboundTrafficP return MeshConfig_OutboundTrafficPolicy_REGISTRY_ONLY } +// Default network scope settings for each workload in the mesh. Network +// scope controls the reachability of workloads to other services in the +// mesh. +type MeshConfig_DefaultNetworkScope struct { + // REQUIRED: The default import setting for every workload in the mesh. + ImportMode MeshConfig_DefaultNetworkScope_Mode `protobuf:"varint,1,opt,name=import_mode,json=importMode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_DefaultNetworkScope_Mode" json:"import_mode,omitempty"` + // Specifies one or more namespaces that should be imported by default + // in all user defined NetworkScope resources in addition to the + // namespaces explicitly specified by the end user. Use this setting to + // automatically import services/resources from namespaces such as + // istio-system that all workloads in the mesh depend upon. + ImportNamespaces []string `protobuf:"bytes,2,rep,name=import_namespaces,json=importNamespaces" json:"import_namespaces,omitempty"` +} + +func (m *MeshConfig_DefaultNetworkScope) Reset() { *m = MeshConfig_DefaultNetworkScope{} } +func (m *MeshConfig_DefaultNetworkScope) String() string { return proto.CompactTextString(m) } +func (*MeshConfig_DefaultNetworkScope) ProtoMessage() {} +func (*MeshConfig_DefaultNetworkScope) Descriptor() ([]byte, []int) { + return fileDescriptorConfig, []int{0, 1} +} + +func (m *MeshConfig_DefaultNetworkScope) GetImportMode() MeshConfig_DefaultNetworkScope_Mode { + if m != nil { + return m.ImportMode + } + return MeshConfig_DefaultNetworkScope_ALL_NAMESPACES +} + +func (m *MeshConfig_DefaultNetworkScope) GetImportNamespaces() []string { + if m != nil { + return m.ImportNamespaces + } + 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. @@ -468,7 +544,7 @@ type ConfigSource struct { // Use the tls_settings to specify the tls mode to use. If the MCP server // uses Istio MTLS and shares the root CA with Pilot, specify the TLS // mode as ISTIO_MUTUAL. - TlsSettings *istio_networking_v1alpha31.TLSSettings `protobuf:"bytes,2,opt,name=tls_settings,json=tlsSettings" json:"tls_settings,omitempty"` + TlsSettings *istio_networking_v1alpha32.TLSSettings `protobuf:"bytes,2,opt,name=tls_settings,json=tlsSettings" json:"tls_settings,omitempty"` } func (m *ConfigSource) Reset() { *m = ConfigSource{} } @@ -483,7 +559,7 @@ func (m *ConfigSource) GetAddress() string { return "" } -func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha31.TLSSettings { +func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha32.TLSSettings { if m != nil { return m.TlsSettings } @@ -493,11 +569,13 @@ func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha31.TLSSettings func init() { proto.RegisterType((*MeshConfig)(nil), "istio.mesh.v1alpha1.MeshConfig") proto.RegisterType((*MeshConfig_OutboundTrafficPolicy)(nil), "istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy") + proto.RegisterType((*MeshConfig_DefaultNetworkScope)(nil), "istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope") proto.RegisterType((*ConfigSource)(nil), "istio.mesh.v1alpha1.ConfigSource") proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_IngressControllerMode", MeshConfig_IngressControllerMode_name, MeshConfig_IngressControllerMode_value) proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AuthPolicy", MeshConfig_AuthPolicy_name, MeshConfig_AuthPolicy_value) proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AccessLogEncoding", MeshConfig_AccessLogEncoding_name, MeshConfig_AccessLogEncoding_value) proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode", MeshConfig_OutboundTrafficPolicy_Mode_name, MeshConfig_OutboundTrafficPolicy_Mode_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_DefaultNetworkScope_Mode", MeshConfig_DefaultNetworkScope_Mode_name, MeshConfig_DefaultNetworkScope_Mode_value) } func (m *MeshConfig) Marshal() (dAtA []byte, err error) { size := m.Size() @@ -739,6 +817,18 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { } i += n6 } + if m.DefaultNetworkScope != nil { + dAtA[i] = 0xea + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintConfig(dAtA, i, uint64(m.DefaultNetworkScope.Size())) + n7, err := m.DefaultNetworkScope.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + } return i, nil } @@ -765,6 +855,44 @@ func (m *MeshConfig_OutboundTrafficPolicy) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *MeshConfig_DefaultNetworkScope) 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 *MeshConfig_DefaultNetworkScope) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.ImportMode != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintConfig(dAtA, i, uint64(m.ImportMode)) + } + if len(m.ImportNamespaces) > 0 { + for _, s := range m.ImportNamespaces { + dAtA[i] = 0x12 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + func (m *ConfigSource) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -790,11 +918,11 @@ func (m *ConfigSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintConfig(dAtA, i, uint64(m.TlsSettings.Size())) - n7, err := m.TlsSettings.MarshalTo(dAtA[i:]) + n8, err := m.TlsSettings.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n7 + i += n8 } return i, nil } @@ -907,6 +1035,10 @@ func (m *MeshConfig) Size() (n int) { l = m.TcpKeepalive.Size() n += 2 + l + sovConfig(uint64(l)) } + if m.DefaultNetworkScope != nil { + l = m.DefaultNetworkScope.Size() + n += 2 + l + sovConfig(uint64(l)) + } return n } @@ -919,6 +1051,21 @@ func (m *MeshConfig_OutboundTrafficPolicy) Size() (n int) { return n } +func (m *MeshConfig_DefaultNetworkScope) Size() (n int) { + var l int + _ = l + if m.ImportMode != 0 { + n += 1 + sovConfig(uint64(m.ImportMode)) + } + if len(m.ImportNamespaces) > 0 { + for _, s := range m.ImportNamespaces { + l = len(s) + n += 1 + l + sovConfig(uint64(l)) + } + } + return n +} + func (m *ConfigSource) Size() (n int) { var l int _ = l @@ -1654,12 +1801,45 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.TcpKeepalive == nil { - m.TcpKeepalive = &istio_networking_v1alpha31.ConnectionPoolSettings_TCPSettings_TcpKeepalive{} + m.TcpKeepalive = &istio_networking_v1alpha32.ConnectionPoolSettings_TCPSettings_TcpKeepalive{} } if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 29: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DefaultNetworkScope", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowConfig + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthConfig + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DefaultNetworkScope == nil { + m.DefaultNetworkScope = &MeshConfig_DefaultNetworkScope{} + } + if err := m.DefaultNetworkScope.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipConfig(dAtA[iNdEx:]) @@ -1750,6 +1930,104 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { } return nil } +func (m *MeshConfig_DefaultNetworkScope) 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 ErrIntOverflowConfig + } + 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: DefaultNetworkScope: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DefaultNetworkScope: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ImportMode", wireType) + } + m.ImportMode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowConfig + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ImportMode |= (MeshConfig_DefaultNetworkScope_Mode(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImportNamespaces", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowConfig + } + 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 ErrInvalidLengthConfig + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ImportNamespaces = append(m.ImportNamespaces, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipConfig(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthConfig + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *ConfigSource) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -1835,7 +2113,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.TlsSettings == nil { - m.TlsSettings = &istio_networking_v1alpha31.TLSSettings{} + m.TlsSettings = &istio_networking_v1alpha32.TLSSettings{} } if err := m.TlsSettings.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1970,75 +2248,82 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 1117 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0xdb, 0x36, - 0x14, 0x8e, 0xd2, 0xb4, 0x49, 0x8f, 0xff, 0x64, 0xa6, 0x6e, 0x59, 0xb7, 0xc8, 0xdc, 0x0c, 0x6b, - 0x8d, 0x62, 0x90, 0xd1, 0x04, 0xbb, 0xd8, 0xee, 0x52, 0xc7, 0x69, 0x9d, 0x39, 0xb1, 0x21, 0x29, - 0xdd, 0xba, 0x1b, 0x42, 0x91, 0x68, 0x9b, 0x88, 0x2c, 0x6a, 0x22, 0xd5, 0xb5, 0xcf, 0xb3, 0xc7, - 0xd8, 0x0b, 0xec, 0x72, 0x8f, 0x30, 0xf4, 0x49, 0x06, 0x92, 0x52, 0xed, 0xb4, 0xc6, 0x32, 0xec, - 0xce, 0xfc, 0xce, 0x77, 0xce, 0x21, 0xbf, 0xf3, 0x23, 0x43, 0x7b, 0x41, 0xc5, 0xbc, 0xf7, 0xee, - 0x45, 0x10, 0xa7, 0xf3, 0xe0, 0x45, 0x2f, 0xe4, 0xc9, 0x94, 0xcd, 0x9c, 0x34, 0xe3, 0x92, 0xa3, - 0x5d, 0x26, 0x24, 0xe3, 0x8e, 0x62, 0x38, 0x25, 0xa3, 0xbd, 0x37, 0xe3, 0x7c, 0x16, 0xd3, 0x9e, - 0xa6, 0x5c, 0xe6, 0xd3, 0x5e, 0x94, 0x67, 0x81, 0x64, 0x3c, 0x31, 0x4e, 0xed, 0x87, 0xd7, 0x03, - 0xa6, 0x19, 0x7f, 0xff, 0xa1, 0x30, 0x3d, 0x4f, 0xa8, 0xfc, 0x8d, 0x67, 0x57, 0x2c, 0x99, 0x95, - 0x84, 0xc3, 0x5e, 0x44, 0x85, 0x64, 0x89, 0x8e, 0x40, 0xb2, 0x3c, 0xa6, 0x86, 0xbb, 0xff, 0x7b, - 0x03, 0xe0, 0x8c, 0x8a, 0x79, 0x5f, 0x5f, 0x08, 0x7d, 0x0b, 0x68, 0xc1, 0xde, 0xd3, 0x8c, 0x84, - 0x73, 0x1a, 0x5e, 0x11, 0x41, 0xb3, 0x77, 0x34, 0xc3, 0x56, 0xc7, 0xea, 0xde, 0x75, 0x6d, 0x6d, - 0xe9, 0x2b, 0x83, 0xa7, 0x71, 0xe4, 0xc0, 0xae, 0x61, 0x67, 0x34, 0xe5, 0x99, 0x2c, 0xe9, 0x9b, - 0x9a, 0xde, 0xd4, 0x26, 0x57, 0x5b, 0x0a, 0xfe, 0x01, 0xb4, 0x22, 0x26, 0x82, 0xcb, 0x98, 0x92, - 0x94, 0xc7, 0x2c, 0xfc, 0x60, 0xd2, 0x08, 0x7c, 0xab, 0x63, 0x75, 0x77, 0xdc, 0xdd, 0xc2, 0x38, - 0xd1, 0x36, 0x9d, 0x48, 0xa0, 0xe7, 0xd0, 0xd4, 0x6f, 0x23, 0x31, 0x13, 0x92, 0x26, 0x44, 0x85, - 0xc3, 0x5b, 0x1d, 0xab, 0x7b, 0xdb, 0x6d, 0x68, 0xc3, 0x48, 0xe3, 0x13, 0x9e, 0x49, 0xf4, 0x14, - 0x0c, 0x44, 0xe6, 0x52, 0xa6, 0x86, 0x79, 0x5b, 0x33, 0x6b, 0x1a, 0x7e, 0x2d, 0x65, 0xaa, 0x79, - 0x2f, 0xa1, 0x11, 0xf2, 0x24, 0xa1, 0xa1, 0x24, 0x92, 0x2d, 0x28, 0xcf, 0x25, 0xbe, 0xd3, 0xb1, - 0xba, 0x95, 0x83, 0x87, 0x8e, 0x51, 0xdd, 0x29, 0x55, 0x77, 0x8e, 0x0b, 0xd5, 0xdd, 0x7a, 0xe1, - 0xe1, 0x1b, 0x07, 0xf4, 0x35, 0xd4, 0x58, 0x32, 0xcb, 0xa8, 0x10, 0x24, 0x8c, 0x03, 0x21, 0xf0, - 0xb6, 0x7e, 0x75, 0xb5, 0x00, 0xfb, 0x0a, 0x43, 0xcf, 0xa0, 0x51, 0x92, 0x94, 0x36, 0x2c, 0xa4, - 0x78, 0x47, 0xd3, 0xea, 0x05, 0xec, 0x19, 0x14, 0x2d, 0xe0, 0xc1, 0xa7, 0x68, 0x3c, 0x91, 0x19, - 0x8f, 0x63, 0x9a, 0x91, 0x05, 0x8f, 0x28, 0xbe, 0xdb, 0xb1, 0xba, 0xf5, 0x83, 0xef, 0x9c, 0x35, - 0x4d, 0xe2, 0x2c, 0x2b, 0xe7, 0x0c, 0x8b, 0xbc, 0x9f, 0xbc, 0xcf, 0x78, 0x44, 0xdd, 0x16, 0x5b, - 0x07, 0xa3, 0x31, 0x54, 0x82, 0x5c, 0xce, 0x8b, 0x2a, 0x60, 0xd0, 0x29, 0x9e, 0xdf, 0x94, 0xe2, - 0x28, 0x97, 0x73, 0x53, 0x9b, 0x97, 0x9b, 0xd8, 0x72, 0x21, 0xf8, 0x74, 0x46, 0x43, 0x68, 0x66, - 0x91, 0x20, 0x19, 0x9d, 0x66, 0x54, 0xcc, 0x49, 0x44, 0xe3, 0xe0, 0x03, 0xae, 0xdc, 0xa0, 0xa9, - 0x8e, 0xd2, 0xc8, 0x22, 0xe1, 0x1a, 0xb7, 0x63, 0xe5, 0x85, 0xbe, 0x81, 0x3a, 0x4d, 0x74, 0x8f, - 0xc8, 0x2c, 0x08, 0x59, 0x32, 0xc3, 0x55, 0xdd, 0x1d, 0x35, 0x83, 0xfa, 0x06, 0x54, 0xb5, 0x0e, - 0xc2, 0x50, 0x09, 0x16, 0xf3, 0x19, 0x99, 0xb2, 0x98, 0xe2, 0x9a, 0x96, 0xb6, 0x66, 0xe0, 0x11, - 0x9f, 0x9d, 0xb0, 0x98, 0xa2, 0x57, 0x50, 0x8f, 0xe8, 0x34, 0xc8, 0x63, 0x49, 0xcc, 0xd0, 0xe1, - 0xba, 0xbe, 0x56, 0x67, 0xed, 0x6b, 0x27, 0xaa, 0x4f, 0xcc, 0x73, 0xdd, 0x5a, 0xe1, 0x57, 0x8c, - 0xc6, 0x33, 0xa8, 0x99, 0x66, 0x0f, 0xa2, 0x48, 0x49, 0x8a, 0x6d, 0x95, 0x4e, 0xbf, 0xa1, 0xaa, - 0x0d, 0x47, 0x06, 0x47, 0xbf, 0xc2, 0x03, 0x9e, 0xcb, 0x4b, 0x9e, 0x27, 0x91, 0x7a, 0xc2, 0x74, - 0xca, 0xc2, 0x52, 0xe8, 0xa6, 0x4e, 0x7d, 0x63, 0x2d, 0xc7, 0x85, 0xbb, 0x6f, 0xbc, 0x57, 0x34, - 0x6f, 0xf1, 0x75, 0x26, 0x74, 0x0c, 0x5f, 0x15, 0x9a, 0x85, 0x31, 0xa3, 0x89, 0x24, 0x82, 0x45, - 0xd7, 0x67, 0x0c, 0xef, 0x6a, 0x11, 0x1f, 0x19, 0x5a, 0x5f, 0xb3, 0x3c, 0x16, 0xad, 0xce, 0x1a, - 0xea, 0x40, 0x55, 0x44, 0x82, 0xe4, 0x91, 0x20, 0x69, 0x20, 0xe7, 0xf8, 0x9e, 0xd6, 0x13, 0x44, - 0x24, 0x2e, 0x22, 0x31, 0x09, 0xe4, 0x5c, 0x95, 0x59, 0x7c, 0x51, 0xe6, 0xd6, 0x7f, 0x2a, 0xb3, - 0xf8, 0xac, 0xcc, 0xaf, 0xa1, 0x6e, 0xea, 0x41, 0x04, 0xcf, 0xb3, 0x90, 0x0a, 0x7c, 0xbf, 0x73, - 0xab, 0x5b, 0x39, 0x78, 0xb2, 0x56, 0x1c, 0x23, 0x8c, 0xa7, 0x99, 0x6e, 0x2d, 0x5c, 0x39, 0x09, - 0x74, 0x08, 0xf7, 0x8b, 0xc7, 0xab, 0xbb, 0x49, 0x7e, 0x45, 0x13, 0xb2, 0xe0, 0x79, 0x22, 0xf1, - 0x03, 0xb3, 0x56, 0x8c, 0xd5, 0x8b, 0x84, 0xaf, 0x6c, 0x67, 0xca, 0xa4, 0xd6, 0xca, 0x6a, 0xfb, - 0xf0, 0x6c, 0x11, 0x48, 0x8c, 0xf5, 0x83, 0x1b, 0xcb, 0x06, 0xd2, 0xb0, 0x4a, 0xb0, 0x2a, 0x25, - 0x99, 0x06, 0x2c, 0x26, 0x3c, 0xa5, 0x09, 0x7e, 0x68, 0x12, 0xa4, 0x4b, 0x11, 0x4f, 0x02, 0x16, - 0x8f, 0x53, 0x9a, 0xa0, 0x27, 0x50, 0x95, 0x59, 0x2e, 0x24, 0x89, 0xf8, 0x22, 0x60, 0x09, 0x6e, - 0xeb, 0xd8, 0x15, 0x8d, 0x1d, 0x6b, 0x08, 0x05, 0xb0, 0xbb, 0x72, 0x07, 0x9a, 0x84, 0x3c, 0x52, - 0xed, 0xfe, 0x48, 0x4f, 0xe3, 0x8b, 0x1b, 0xa7, 0xb1, 0xbc, 0xe5, 0xa0, 0x70, 0x74, 0x9b, 0xc1, - 0xe7, 0x10, 0xe2, 0x50, 0x93, 0x61, 0x4a, 0xae, 0x28, 0x4d, 0x83, 0x98, 0xbd, 0xa3, 0xf8, 0xb1, - 0x2e, 0xd6, 0x69, 0x11, 0x7c, 0xf9, 0xa1, 0x28, 0x53, 0x1c, 0x2a, 0xa9, 0xd5, 0x9e, 0x63, 0x3c, - 0x99, 0x70, 0x1e, 0x7b, 0x54, 0x4a, 0x96, 0xcc, 0x84, 0xe3, 0xf7, 0x27, 0xcb, 0xdf, 0x61, 0xfa, - 0x63, 0x19, 0xd1, 0xad, 0xca, 0x95, 0x53, 0xfb, 0x0f, 0x0b, 0x5a, 0x6b, 0xdb, 0x17, 0xb9, 0xb0, - 0xa5, 0xf7, 0x99, 0xa5, 0x9f, 0xf7, 0xc3, 0xff, 0x9a, 0x01, 0x47, 0x6d, 0x2f, 0xdd, 0x4f, 0x3a, - 0xd6, 0xfe, 0x39, 0x6c, 0xe9, 0x7d, 0xd6, 0x82, 0x9a, 0x3b, 0x78, 0x35, 0xf4, 0x7c, 0xf7, 0x2d, - 0x19, 0x9f, 0x8f, 0xde, 0xda, 0x1b, 0xed, 0xcd, 0x1d, 0x0b, 0x35, 0xe1, 0xee, 0xd1, 0x68, 0x34, - 0xfe, 0x89, 0x1c, 0x9d, 0xbf, 0xb5, 0x2d, 0x0d, 0x3d, 0x86, 0x7b, 0x6f, 0x86, 0xae, 0x7f, 0x71, - 0x34, 0x22, 0xde, 0xc0, 0x7d, 0x33, 0xec, 0x0f, 0x8c, 0xc3, 0xa6, 0xb2, 0xee, 0x7f, 0x0f, 0xad, - 0xb5, 0x7b, 0x14, 0x6d, 0xc3, 0xad, 0xf1, 0xc9, 0x89, 0xbd, 0x81, 0x2a, 0xb0, 0x7d, 0x3c, 0x38, - 0x39, 0xba, 0x18, 0xf9, 0xb6, 0x85, 0x00, 0xee, 0x78, 0xbe, 0x3b, 0xec, 0xfb, 0xf6, 0xe6, 0xfe, - 0x53, 0x80, 0xe5, 0x7e, 0x44, 0x3b, 0xb0, 0x75, 0x3e, 0x3e, 0x1f, 0xd8, 0x1b, 0xa8, 0x0e, 0x70, - 0x76, 0xa1, 0xf3, 0xf9, 0x23, 0xcf, 0xb6, 0xf6, 0x9f, 0x41, 0xf3, 0x8b, 0xca, 0x29, 0xba, 0x3f, - 0xf8, 0xd9, 0xb7, 0x37, 0xd4, 0xaf, 0x53, 0x6f, 0x7c, 0x6e, 0x5b, 0xa7, 0x5b, 0x3b, 0x0d, 0xdb, - 0x3e, 0xdd, 0xda, 0x41, 0xf6, 0xee, 0xbe, 0x80, 0xea, 0xea, 0x04, 0x20, 0x0c, 0xdb, 0xe5, 0x16, - 0x32, 0xdf, 0xe6, 0xf2, 0x88, 0x86, 0x50, 0x95, 0xb1, 0xfa, 0xda, 0x98, 0x52, 0xe9, 0x6f, 0x71, - 0xe5, 0xe0, 0xe9, 0xbf, 0xd4, 0xdb, 0x1f, 0x79, 0x65, 0x61, 0xdd, 0x8a, 0x8c, 0x45, 0x79, 0x78, - 0xd9, 0xfd, 0xf3, 0xe3, 0x9e, 0xf5, 0xd7, 0xc7, 0x3d, 0xeb, 0xef, 0x8f, 0x7b, 0xd6, 0x2f, 0x6d, - 0x13, 0x81, 0xf1, 0x5e, 0x90, 0xb2, 0xde, 0xb5, 0x3f, 0x1f, 0x97, 0x77, 0xf4, 0xcc, 0x1f, 0xfe, - 0x13, 0x00, 0x00, 0xff, 0xff, 0x42, 0x10, 0x6c, 0xd1, 0xe5, 0x08, 0x00, 0x00, + // 1226 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0xdb, 0xb6, + 0x17, 0x8f, 0x92, 0xb4, 0x49, 0x8f, 0x3f, 0x22, 0xd3, 0x75, 0xab, 0xba, 0xfd, 0xe7, 0xef, 0x66, + 0x58, 0x6b, 0x74, 0x83, 0x8c, 0x26, 0x18, 0xb0, 0xed, 0xce, 0x75, 0x9c, 0xd6, 0x99, 0x63, 0x1b, + 0x92, 0xd2, 0x2d, 0xbb, 0x21, 0x14, 0x89, 0xb6, 0x89, 0xc8, 0xa2, 0x26, 0x52, 0x5d, 0xfb, 0x6c, + 0x7b, 0x81, 0xdd, 0x0c, 0xd8, 0x03, 0xec, 0x62, 0xe8, 0x93, 0x0c, 0x24, 0xa5, 0xd8, 0x6d, 0x8d, + 0x65, 0xe8, 0x9d, 0xf8, 0x3b, 0x5f, 0x3c, 0xbf, 0xf3, 0x41, 0x41, 0x73, 0x41, 0xf8, 0xbc, 0xf3, + 0xe6, 0xb9, 0x1f, 0x25, 0x73, 0xff, 0x79, 0x27, 0x60, 0xf1, 0x94, 0xce, 0xec, 0x24, 0x65, 0x82, + 0xa1, 0x3a, 0xe5, 0x82, 0x32, 0x5b, 0x6a, 0xd8, 0x85, 0x46, 0x73, 0x7f, 0xc6, 0xd8, 0x2c, 0x22, + 0x1d, 0xa5, 0x72, 0x99, 0x4d, 0x3b, 0x61, 0x96, 0xfa, 0x82, 0xb2, 0x58, 0x1b, 0x35, 0x1f, 0x7c, + 0xe8, 0x30, 0x49, 0xd9, 0xdb, 0x77, 0xb9, 0xe8, 0x59, 0x4c, 0xc4, 0xaf, 0x2c, 0xbd, 0xa2, 0xf1, + 0xac, 0x50, 0x38, 0xea, 0x84, 0x84, 0x0b, 0x1a, 0x2b, 0x0f, 0x38, 0xcd, 0x22, 0xa2, 0x75, 0x0f, + 0xfe, 0xaa, 0x01, 0x9c, 0x11, 0x3e, 0xef, 0xa9, 0x0b, 0xa1, 0xaf, 0x01, 0x2d, 0xe8, 0x5b, 0x92, + 0xe2, 0x60, 0x4e, 0x82, 0x2b, 0xcc, 0x49, 0xfa, 0x86, 0xa4, 0x96, 0xd1, 0x32, 0xda, 0x77, 0x1c, + 0x53, 0x49, 0x7a, 0x52, 0xe0, 0x2a, 0x1c, 0xd9, 0x50, 0xd7, 0xda, 0x29, 0x49, 0x58, 0x2a, 0x0a, + 0xf5, 0x4d, 0xa5, 0x5e, 0x53, 0x22, 0x47, 0x49, 0x72, 0xfd, 0x43, 0x68, 0x84, 0x94, 0xfb, 0x97, + 0x11, 0xc1, 0x09, 0x8b, 0x68, 0xf0, 0x4e, 0x87, 0xe1, 0xd6, 0x56, 0xcb, 0x68, 0xef, 0x3a, 0xf5, + 0x5c, 0x38, 0x51, 0x32, 0x15, 0x88, 0xa3, 0x67, 0x50, 0x53, 0xb9, 0xe1, 0x88, 0x72, 0x41, 0x62, + 0x2c, 0xdd, 0x59, 0xdb, 0x2d, 0xa3, 0x7d, 0xcb, 0xd9, 0x53, 0x82, 0xa1, 0xc2, 0x27, 0x2c, 0x15, + 0xe8, 0x09, 0x68, 0x08, 0xcf, 0x85, 0x48, 0xb4, 0xe6, 0x2d, 0xa5, 0x59, 0x51, 0xf0, 0x2b, 0x21, + 0x12, 0xa5, 0xf7, 0x02, 0xf6, 0x02, 0x16, 0xc7, 0x24, 0x10, 0x58, 0xd0, 0x05, 0x61, 0x99, 0xb0, + 0x6e, 0xb7, 0x8c, 0x76, 0xe9, 0xf0, 0x81, 0xad, 0x59, 0xb7, 0x0b, 0xd6, 0xed, 0xe3, 0x9c, 0x75, + 0xa7, 0x9a, 0x5b, 0x78, 0xda, 0x00, 0x7d, 0x01, 0x15, 0x1a, 0xcf, 0x52, 0xc2, 0x39, 0x0e, 0x22, + 0x9f, 0x73, 0x6b, 0x47, 0x65, 0x5d, 0xce, 0xc1, 0x9e, 0xc4, 0xd0, 0x53, 0xd8, 0x2b, 0x94, 0x24, + 0x37, 0x34, 0x20, 0xd6, 0xae, 0x52, 0xab, 0xe6, 0xb0, 0xab, 0x51, 0xb4, 0x80, 0xfb, 0xd7, 0xde, + 0x58, 0x2c, 0x52, 0x16, 0x45, 0x24, 0xc5, 0x0b, 0x16, 0x12, 0xeb, 0x4e, 0xcb, 0x68, 0x57, 0x0f, + 0xbf, 0xb1, 0xd7, 0x34, 0x89, 0xbd, 0xac, 0x9c, 0x3d, 0xc8, 0xe3, 0x5e, 0x5b, 0x9f, 0xb1, 0x90, + 0x38, 0x0d, 0xba, 0x0e, 0x46, 0x63, 0x28, 0xf9, 0x99, 0x98, 0xe7, 0x55, 0xb0, 0x40, 0x85, 0x78, + 0x76, 0x53, 0x88, 0x6e, 0x26, 0xe6, 0xba, 0x36, 0x2f, 0x36, 0x2d, 0xc3, 0x01, 0xff, 0xfa, 0x8c, + 0x06, 0x50, 0x4b, 0x43, 0x8e, 0x53, 0x32, 0x4d, 0x09, 0x9f, 0xe3, 0x90, 0x44, 0xfe, 0x3b, 0xab, + 0x74, 0x03, 0xa7, 0xca, 0xcb, 0x5e, 0x1a, 0x72, 0x47, 0x9b, 0x1d, 0x4b, 0x2b, 0xf4, 0x25, 0x54, + 0x49, 0xac, 0x7a, 0x44, 0xa4, 0x7e, 0x40, 0xe3, 0x99, 0x55, 0x56, 0xdd, 0x51, 0xd1, 0xa8, 0xa7, + 0x41, 0x59, 0x6b, 0x3f, 0x08, 0x24, 0x61, 0x11, 0x9b, 0xe1, 0x29, 0x8d, 0x88, 0x55, 0x51, 0xd4, + 0x56, 0x34, 0x3c, 0x64, 0xb3, 0x13, 0x1a, 0x11, 0xf4, 0x12, 0xaa, 0x21, 0x99, 0xfa, 0x59, 0x24, + 0xb0, 0x1e, 0x3a, 0xab, 0xaa, 0xae, 0xd5, 0x5a, 0x9b, 0xed, 0x44, 0xf6, 0x89, 0x4e, 0xd7, 0xa9, + 0xe4, 0x76, 0xf9, 0x68, 0x3c, 0x85, 0x8a, 0x6e, 0x76, 0x3f, 0x0c, 0x25, 0xa5, 0x96, 0x29, 0xc3, + 0xa9, 0x1c, 0xca, 0x4a, 0xd0, 0xd5, 0x38, 0xfa, 0x05, 0xee, 0xb3, 0x4c, 0x5c, 0xb2, 0x2c, 0x0e, + 0x65, 0x0a, 0xd3, 0x29, 0x0d, 0x0a, 0xa2, 0x6b, 0x2a, 0xf4, 0x8d, 0xb5, 0x1c, 0xe7, 0xe6, 0x9e, + 0xb6, 0x5e, 0xe1, 0xbc, 0xc1, 0xd6, 0x89, 0xd0, 0x31, 0xfc, 0x3f, 0xe7, 0x2c, 0x88, 0x28, 0x89, + 0x05, 0xe6, 0x34, 0xfc, 0x70, 0xc6, 0xac, 0xba, 0x22, 0xf1, 0xa1, 0x56, 0xeb, 0x29, 0x2d, 0x97, + 0x86, 0xab, 0xb3, 0x86, 0x5a, 0x50, 0xe6, 0x21, 0xc7, 0x59, 0xc8, 0x71, 0xe2, 0x8b, 0xb9, 0x75, + 0x57, 0xf1, 0x09, 0x3c, 0xe4, 0xe7, 0x21, 0x9f, 0xf8, 0x62, 0x2e, 0xcb, 0xcc, 0x3f, 0x29, 0x73, + 0xe3, 0x3f, 0x95, 0x99, 0x7f, 0x54, 0xe6, 0x57, 0x50, 0xd5, 0xf5, 0xc0, 0x9c, 0x65, 0x69, 0x40, + 0xb8, 0x75, 0xaf, 0xb5, 0xd5, 0x2e, 0x1d, 0x3e, 0x5e, 0x4b, 0x8e, 0x26, 0xc6, 0x55, 0x9a, 0x4e, + 0x25, 0x58, 0x39, 0x71, 0x74, 0x04, 0xf7, 0xf2, 0xe4, 0xe5, 0xdd, 0x04, 0xbb, 0x22, 0x31, 0x5e, + 0xb0, 0x2c, 0x16, 0xd6, 0x7d, 0xbd, 0x56, 0xb4, 0xd4, 0x0d, 0xb9, 0x27, 0x65, 0x67, 0x52, 0x24, + 0xd7, 0xca, 0x6a, 0xfb, 0xb0, 0x74, 0xe1, 0x0b, 0xcb, 0x52, 0x09, 0xef, 0x2d, 0x1b, 0x48, 0xc1, + 0x32, 0xc0, 0x2a, 0x95, 0x78, 0xea, 0xd3, 0x08, 0xb3, 0x84, 0xc4, 0xd6, 0x03, 0x1d, 0x20, 0x59, + 0x92, 0x78, 0xe2, 0xd3, 0x68, 0x9c, 0x90, 0x18, 0x3d, 0x86, 0xb2, 0x48, 0x33, 0x2e, 0x70, 0xc8, + 0x16, 0x3e, 0x8d, 0xad, 0xa6, 0xf2, 0x5d, 0x52, 0xd8, 0xb1, 0x82, 0x90, 0x0f, 0xf5, 0x95, 0x3b, + 0x90, 0x38, 0x60, 0xa1, 0x6c, 0xf7, 0x87, 0x6a, 0x1a, 0x9f, 0xdf, 0x38, 0x8d, 0xc5, 0x2d, 0xfb, + 0xb9, 0xa1, 0x53, 0xf3, 0x3f, 0x86, 0x10, 0x83, 0x8a, 0x08, 0x12, 0x7c, 0x45, 0x48, 0xe2, 0x47, + 0xf4, 0x0d, 0xb1, 0x1e, 0xa9, 0x62, 0x9d, 0xe6, 0xce, 0x97, 0x0f, 0x45, 0x11, 0xe2, 0x48, 0x52, + 0x2d, 0xf7, 0x1c, 0x65, 0xf1, 0x84, 0xb1, 0xc8, 0x25, 0x42, 0xd0, 0x78, 0xc6, 0x6d, 0xaf, 0x37, + 0x59, 0x7e, 0x07, 0xc9, 0x0f, 0x85, 0x47, 0xa7, 0x2c, 0x56, 0x4e, 0x68, 0x06, 0x8d, 0x62, 0xdc, + 0x72, 0xe7, 0x98, 0x07, 0x2c, 0x21, 0xd6, 0xff, 0x54, 0xe0, 0xa3, 0x9b, 0xb2, 0x3a, 0xd6, 0xc6, + 0x23, 0x6d, 0xeb, 0x4a, 0x53, 0xa7, 0x1e, 0x7e, 0x0a, 0x36, 0x7f, 0x33, 0xa0, 0xb1, 0x76, 0x4e, + 0x90, 0x03, 0xdb, 0x6a, 0x71, 0x1a, 0x8a, 0xc7, 0xef, 0x3f, 0x6b, 0xd8, 0x6c, 0xb9, 0x26, 0x55, + 0xe3, 0x2a, 0x5f, 0x07, 0x23, 0xd8, 0x56, 0x8b, 0xb3, 0x01, 0x15, 0xa7, 0xff, 0x72, 0xe0, 0x7a, + 0xce, 0x05, 0x1e, 0x8f, 0x86, 0x17, 0xe6, 0x46, 0x73, 0x73, 0xd7, 0x40, 0x35, 0xb8, 0xd3, 0x1d, + 0x0e, 0xc7, 0x3f, 0xe2, 0xee, 0xe8, 0xc2, 0x34, 0x14, 0xf4, 0x08, 0xee, 0xbe, 0x1e, 0x38, 0xde, + 0x79, 0x77, 0x88, 0xdd, 0xbe, 0xf3, 0x7a, 0xd0, 0xeb, 0x6b, 0x83, 0x4d, 0x29, 0x6d, 0xfe, 0x61, + 0x40, 0x7d, 0x4d, 0xaa, 0xe8, 0x02, 0x4a, 0x74, 0xa1, 0xde, 0xd2, 0x95, 0x14, 0xbe, 0xfd, 0x0c, + 0xd2, 0x54, 0x02, 0x0e, 0x68, 0x67, 0xea, 0xea, 0x5f, 0x41, 0x2d, 0x77, 0x1d, 0xfb, 0x0b, 0xc2, + 0x13, 0x5f, 0xce, 0xdc, 0x66, 0x6b, 0x4b, 0xbe, 0xec, 0x5a, 0x30, 0xba, 0xc6, 0x0f, 0xec, 0x3c, + 0x5f, 0x04, 0xd5, 0xee, 0x70, 0x88, 0x47, 0xdd, 0xb3, 0xbe, 0x3b, 0xe9, 0xf6, 0xfa, 0xae, 0xb9, + 0x21, 0x31, 0xb7, 0x7b, 0xd6, 0x5f, 0x82, 0xa6, 0x71, 0xf0, 0x1d, 0x34, 0xd6, 0x3e, 0x40, 0x68, + 0x07, 0xb6, 0xc6, 0x27, 0x27, 0xe6, 0x06, 0x2a, 0xc1, 0xce, 0x71, 0xff, 0xa4, 0x7b, 0x3e, 0xf4, + 0x4c, 0x03, 0x01, 0xdc, 0x76, 0x3d, 0x67, 0xd0, 0xf3, 0xcc, 0xcd, 0x83, 0x27, 0x00, 0xcb, 0x87, + 0x05, 0xed, 0xc2, 0xf6, 0x68, 0x3c, 0xea, 0x9b, 0x1b, 0xa8, 0x0a, 0x70, 0x76, 0xae, 0xf8, 0xf3, + 0x86, 0xae, 0x69, 0x1c, 0x3c, 0x85, 0xda, 0x27, 0x2d, 0x2f, 0xd5, 0xbd, 0xfe, 0x4f, 0x9e, 0xb9, + 0x21, 0xbf, 0x4e, 0xdd, 0xf1, 0xc8, 0x34, 0x4e, 0xb7, 0x77, 0xf7, 0x4c, 0xf3, 0x74, 0x7b, 0x17, + 0x99, 0xf5, 0x03, 0x0e, 0xe5, 0xd5, 0xd5, 0x81, 0x2c, 0xd8, 0x29, 0xd6, 0xb7, 0xfe, 0xa9, 0x29, + 0x8e, 0x68, 0x00, 0x65, 0x11, 0xc9, 0x67, 0x5a, 0xf7, 0xb8, 0xfa, 0x89, 0x29, 0x1d, 0x3e, 0xf9, + 0x97, 0x41, 0xf1, 0x86, 0x6e, 0x31, 0x11, 0x4e, 0x49, 0x44, 0xbc, 0x38, 0xbc, 0x68, 0xff, 0xfe, + 0x7e, 0xdf, 0xf8, 0xf3, 0xfd, 0xbe, 0xf1, 0xf7, 0xfb, 0x7d, 0xe3, 0xe7, 0xa6, 0xf6, 0x40, 0x59, + 0xc7, 0x4f, 0x68, 0xe7, 0x83, 0xbf, 0xb6, 0xcb, 0xdb, 0x6a, 0x59, 0x1e, 0xfd, 0x13, 0x00, 0x00, + 0xff, 0xff, 0xa3, 0x39, 0x16, 0x35, 0x1e, 0x0a, 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index 4a19be15ce..975d8c5a01 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -199,8 +199,41 @@ message MeshConfig { // Fallback to old identity format(without trust domain) if not set. string trust_domain = 26; + // Default network scope settings for each workload in the mesh. Network + // scope controls the reachability of workloads to other services in the + // mesh. + message DefaultNetworkScope { + enum Mode { + // Configure routes to services in all namespaces, i.e. import + // services from all namespaces. + ALL_NAMESPACES = 0; + + // Only configure routes to services that are in the same namespace + // as the workload as well as services in namespaces specified in + // importNamespaces. + SAME_NAMESPACE = 1; + } + + // REQUIRED: The default import setting for every workload in the mesh. + Mode import_mode = 1; + + // Specifies one or more namespaces that should be imported by default + // in all user defined NetworkScope resources in addition to the + // namespaces explicitly specified by the end user. Use this setting to + // automatically import services/resources from namespaces such as + // istio-system that all workloads in the mesh depend upon. + repeated string import_namespaces = 2; + } + + // The default network scope associated with every workload in the mesh. + // Pilot will program the routes in the sidecars and gateways + // accordingly. If omitted, sidecars will be configured to reach every + // service in the mesh. The default scope can be overriden by supplying a + // NetworkScope resource per namespace. + DefaultNetworkScope default_network_scope = 29; + // $hide_from_docs - // Next available field number: 29 + // Next available field number: 30 } // ConfigSource describes information about a configuration store inside a diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 77ddc649ac..6296b26b6a 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: 16 +number_of_entries: 18 ---

AuthenticationPolicy

@@ -303,6 +303,18 @@

MeshConfig

Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain Fallback to old identity format(without trust domain) if not set.

+ + +
+ + + @@ -326,6 +338,74 @@

MeshConfig.AccessLogEncoding

+ + +
FieldTypeDescription
setmap<string, string> +

Overwrite the headers specified by key with the given values

+ +
addmap<string, string> +

Apppend the given values to the the headers specified by keys +(will create a comma seperated list of values)

+ +
removestring[] +

Remove a the specified headers

defaultNetworkScopeMeshConfig.DefaultNetworkScope +

The default network scope associated with every workload in the mesh. +Pilot will program the routes in the sidecars and gateways +accordingly. If omitted, sidecars will be configured to reach every +service in the mesh. The default scope can be overriden by supplying a +NetworkScope resource per namespace.

+
JSON +
+
+

MeshConfig.DefaultNetworkScope

+
+

Default network scope settings for each workload in the mesh. Network +scope controls the reachability of workloads to other services in the +mesh.

+ + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
importModeMeshConfig.DefaultNetworkScope.Mode +

REQUIRED: The default import setting for every workload in the mesh.

+ +
importNamespacesstring[] +

Specifies one or more namespaces that should be imported by default +in all user defined NetworkScope resources in addition to the +namespaces explicitly specified by the end user. Use this setting to +automatically import services/resources from namespaces such as +istio-system that all workloads in the mesh depend upon.

+ +
+
+

MeshConfig.DefaultNetworkScope.Mode

+
+ + + + + + + + + + + + + + + diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 0eb5af0c0b..44df1d8164 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -8,6 +8,7 @@ networking/v1alpha3/destination_rule.proto networking/v1alpha3/envoy_filter.proto networking/v1alpha3/gateway.proto + networking/v1alpha3/network_scope.proto networking/v1alpha3/service_entry.proto networking/v1alpha3/virtual_service.proto @@ -23,6 +24,7 @@ Gateway Server Port + NetworkScope ServiceEntry VirtualService Destination @@ -245,6 +247,11 @@ type DestinationRule struct { // One or more named sets that represent individual versions of a // service. Traffic policies can be overridden at subset level. Subsets []*Subset `protobuf:"bytes,3,rep,name=subsets" json:"subsets,omitempty"` + // The visibility setting associated with this DestinationRule. Set to + // PRIVATE if this destination rule should not be exported, i.e. restrict + // the applicability of this destination rule to only workloads in the same + // namespace as the destination rule. + ConfigScope ConfigScope `protobuf:"varint,4,opt,name=config_scope,json=configScope,proto3,enum=istio.networking.v1alpha3.ConfigScope" json:"config_scope,omitempty"` } func (m *DestinationRule) Reset() { *m = DestinationRule{} } @@ -273,6 +280,13 @@ func (m *DestinationRule) GetSubsets() []*Subset { return nil } +func (m *DestinationRule) GetConfigScope() ConfigScope { + if m != nil { + return m.ConfigScope + } + return ConfigScope_PUBLIC +} + // Traffic policies to apply for a specific destination, across all // destination ports. See DestinationRule for examples. type TrafficPolicy struct { @@ -1322,6 +1336,11 @@ func (m *DestinationRule) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.ConfigScope != 0 { + dAtA[i] = 0x20 + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(m.ConfigScope)) + } return i, nil } @@ -1967,6 +1986,9 @@ func (m *DestinationRule) Size() (n int) { n += 1 + l + sovDestinationRule(uint64(l)) } } + if m.ConfigScope != 0 { + n += 1 + sovDestinationRule(uint64(m.ConfigScope)) + } return n } @@ -2377,6 +2399,25 @@ func (m *DestinationRule) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfigScope", wireType) + } + m.ConfigScope = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ConfigScope |= (ConfigScope(b) & 0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipDestinationRule(dAtA[iNdEx:]) @@ -4459,92 +4500,94 @@ func init() { } var fileDescriptorDestinationRule = []byte{ - // 1379 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0x6e, 0x1b, 0xb7, - 0x16, 0xb6, 0x7e, 0x63, 0x1f, 0xf9, 0x47, 0xe6, 0x35, 0x72, 0x15, 0x5d, 0xc0, 0xf1, 0x15, 0x8a, - 0xc6, 0x4d, 0x9b, 0x51, 0xed, 0xa0, 0x40, 0x9a, 0x20, 0x45, 0x2c, 0xdb, 0x88, 0xdc, 0xc8, 0x96, - 0x40, 0xc9, 0x40, 0x91, 0xcd, 0x80, 0x1a, 0xd1, 0x12, 0xe3, 0xd1, 0x70, 0x4a, 0x72, 0x54, 0x3b, - 0xcf, 0xd0, 0x75, 0xd0, 0x6d, 0x37, 0x7d, 0x81, 0xbe, 0x44, 0xd1, 0x55, 0xb7, 0xed, 0xa6, 0x45, - 0x5e, 0xa0, 0xab, 0x6e, 0xba, 0x2a, 0xc8, 0xe1, 0x48, 0x72, 0xe2, 0xd8, 0x31, 0xd2, 0xec, 0x38, - 0x3c, 0xe7, 0xfb, 0x48, 0x9e, 0xef, 0xf0, 0x1c, 0x0e, 0xdc, 0x0e, 0xa8, 0xfa, 0x86, 0x8b, 0x63, - 0x16, 0xf4, 0xab, 0xa3, 0x0d, 0xe2, 0x87, 0x03, 0x72, 0xb7, 0xda, 0xa3, 0x52, 0xb1, 0x80, 0x28, - 0xc6, 0x03, 0x57, 0x44, 0x3e, 0x75, 0x42, 0xc1, 0x15, 0x47, 0x37, 0x98, 0x54, 0x8c, 0x3b, 0x13, - 0x84, 0x93, 0x20, 0xca, 0xab, 0x7d, 0xce, 0xfb, 0x3e, 0xad, 0x1a, 0xc7, 0x6e, 0x74, 0x54, 0xed, - 0x45, 0xc2, 0xe0, 0x63, 0x68, 0xf9, 0xa3, 0xf3, 0x96, 0x19, 0x31, 0xa1, 0x22, 0xe2, 0xbb, 0x92, - 0x8a, 0x11, 0xf3, 0xec, 0x2a, 0xe5, 0x95, 0x3e, 0xef, 0x73, 0x33, 0xac, 0xea, 0x51, 0x3c, 0x5b, - 0xf9, 0x31, 0x05, 0x4b, 0x3b, 0x93, 0x6d, 0xe1, 0xc8, 0xa7, 0x08, 0x41, 0x76, 0xc0, 0xa5, 0x2a, - 0xa5, 0xd6, 0x52, 0xeb, 0x73, 0xd8, 0x8c, 0x51, 0x13, 0x16, 0x95, 0x20, 0x47, 0x47, 0xcc, 0x73, - 0x43, 0xee, 0x33, 0xef, 0xb4, 0x94, 0x5e, 0x4b, 0xad, 0x17, 0x36, 0xd7, 0x9d, 0x37, 0x6e, 0xde, - 0xe9, 0xc4, 0x80, 0x96, 0xf1, 0xc7, 0x0b, 0x6a, 0xfa, 0x13, 0x3d, 0x80, 0x6b, 0x32, 0xea, 0x4a, - 0xaa, 0x64, 0x29, 0xb3, 0x96, 0x59, 0x2f, 0x6c, 0xfe, 0xff, 0x02, 0xa6, 0xb6, 0xf1, 0xc4, 0x09, - 0xa2, 0xf2, 0x5b, 0x1e, 0x16, 0xce, 0xb0, 0xa3, 0x0e, 0x2c, 0xf8, 0x9c, 0xf4, 0xdc, 0x2e, 0xf1, - 0x49, 0xe0, 0x51, 0x61, 0x36, 0x5f, 0xd8, 0xac, 0x5e, 0x40, 0xda, 0xe0, 0xa4, 0x57, 0xb3, 0xee, - 0x6d, 0xaa, 0x14, 0x0b, 0xfa, 0x12, 0xcf, 0xfb, 0x53, 0xb3, 0xe8, 0x29, 0x2c, 0x79, 0x3c, 0x08, - 0xa8, 0x67, 0x24, 0x0b, 0x39, 0xf7, 0xed, 0xb1, 0x37, 0x2e, 0xe0, 0xdd, 0x1e, 0x23, 0x5a, 0x9c, - 0xfb, 0x63, 0xe6, 0x45, 0xef, 0xcc, 0x3c, 0xfa, 0x0a, 0x96, 0x79, 0xa4, 0x7c, 0x46, 0x85, 0xdb, - 0xa3, 0x2a, 0x36, 0x94, 0x32, 0x86, 0xfd, 0xe3, 0x0b, 0xd8, 0x9b, 0x31, 0x66, 0x27, 0x81, 0xe0, - 0x22, 0x7f, 0x65, 0x06, 0xdd, 0x83, 0x8c, 0xf2, 0x65, 0x29, 0x6b, 0xb8, 0x3e, 0xbc, 0x48, 0xa0, - 0x46, 0x7b, 0xbc, 0x3d, 0x0d, 0x41, 0xcf, 0xe0, 0x3f, 0x21, 0x17, 0xca, 0xf5, 0xe9, 0x88, 0xea, - 0xfc, 0x89, 0x6d, 0xa5, 0x9c, 0x11, 0xe8, 0xfe, 0xdb, 0x4a, 0xed, 0xb4, 0xb8, 0x50, 0x67, 0xc5, - 0x5f, 0xd6, 0xb4, 0x0d, 0xcd, 0x9a, 0x2c, 0x58, 0x7e, 0x91, 0x81, 0xe5, 0xd7, 0x1c, 0xd1, 0x03, - 0xc8, 0x6a, 0x57, 0x2b, 0xdf, 0xad, 0x0b, 0x96, 0xd4, 0xd8, 0x36, 0xf5, 0xa9, 0xa7, 0xb8, 0xc0, - 0x06, 0xf4, 0x7a, 0x12, 0xa4, 0xdf, 0x53, 0x12, 0x64, 0xde, 0x6b, 0x12, 0x64, 0xff, 0xc5, 0x24, - 0xc8, 0x5d, 0x39, 0x09, 0x2a, 0x7f, 0xa6, 0x20, 0x1f, 0x5f, 0x38, 0x5d, 0x09, 0x02, 0x32, 0xa4, - 0x49, 0x25, 0xd0, 0x63, 0xb4, 0x0b, 0x79, 0x9f, 0x74, 0xa9, 0x2f, 0x4b, 0x69, 0x93, 0x16, 0x77, - 0x2e, 0xbd, 0xb7, 0x4e, 0xc3, 0xf8, 0xef, 0x06, 0x4a, 0x9c, 0x62, 0x0b, 0x3e, 0xa7, 0xa0, 0x64, - 0xde, 0xa9, 0xa0, 0x94, 0x3f, 0x87, 0xc2, 0xd4, 0x3a, 0xa8, 0x08, 0x99, 0x63, 0x7a, 0x6a, 0x77, - 0xae, 0x87, 0x68, 0x05, 0x72, 0x23, 0xe2, 0x47, 0xd4, 0x64, 0xc5, 0x1c, 0x8e, 0x3f, 0xee, 0xa7, - 0xef, 0xa5, 0x2a, 0x3f, 0xe4, 0x60, 0xe5, 0xbc, 0x44, 0x40, 0x18, 0xf2, 0x92, 0x0d, 0x43, 0x3f, - 0x8e, 0xc0, 0xe2, 0xe6, 0xbd, 0x2b, 0x66, 0x92, 0xd3, 0x36, 0xe8, 0x46, 0xad, 0x3e, 0x83, 0x2d, - 0x13, 0x3a, 0x36, 0xe9, 0x24, 0x99, 0x54, 0x34, 0x50, 0xee, 0x80, 0xc8, 0x81, 0x4d, 0xd3, 0x47, - 0x57, 0x25, 0xdf, 0x1e, 0xd3, 0xd4, 0x89, 0x1c, 0x98, 0x45, 0x16, 0xbd, 0x33, 0x73, 0xe5, 0xbf, - 0xd2, 0x50, 0x7c, 0xd5, 0x0d, 0xdd, 0x86, 0xe2, 0x40, 0xa9, 0xd0, 0x1d, 0x50, 0xd2, 0xa3, 0xc2, - 0x9d, 0x28, 0xac, 0x09, 0xb4, 0xa5, 0x6e, 0x0c, 0x07, 0x5a, 0xed, 0x00, 0x0a, 0xc6, 0xd7, 0xe3, - 0xfc, 0x98, 0x51, 0xbb, 0xd3, 0x27, 0xef, 0xba, 0x53, 0xa7, 0xde, 0xe9, 0xb4, 0xb6, 0x0d, 0x65, - 0x7d, 0x06, 0x83, 0x5e, 0x21, 0xfe, 0x42, 0x1f, 0xc0, 0x42, 0x24, 0xa9, 0x2b, 0x79, 0x24, 0x3c, - 0xea, 0xb2, 0xd0, 0x64, 0xc5, 0x6c, 0x7d, 0x06, 0x17, 0x22, 0x49, 0xdb, 0x66, 0x76, 0x2f, 0x44, - 0xb7, 0x61, 0x79, 0xc8, 0x02, 0x36, 0x8c, 0x86, 0xae, 0x60, 0x41, 0xdf, 0x95, 0xec, 0x39, 0x35, - 0xd7, 0x26, 0x8b, 0x97, 0xac, 0x01, 0xb3, 0xa0, 0xdf, 0x66, 0xcf, 0x69, 0xb9, 0x0f, 0x30, 0x59, - 0xed, 0xdc, 0x8c, 0x46, 0x90, 0x0d, 0x89, 0x1a, 0xd8, 0xbc, 0x30, 0x63, 0xb4, 0x01, 0x19, 0xa5, - 0x92, 0x8b, 0x7e, 0xc3, 0x89, 0xdb, 0xb0, 0x93, 0xb4, 0x61, 0x67, 0xc7, 0xb6, 0xe1, 0x5a, 0xf6, - 0xbb, 0xdf, 0x6f, 0xa6, 0xb0, 0xf6, 0xad, 0x01, 0xcc, 0x6a, 0x35, 0xdd, 0x63, 0x7a, 0x5a, 0xa9, - 0xc3, 0x6c, 0x22, 0x3d, 0x5a, 0x82, 0x02, 0x6e, 0x1e, 0x1e, 0xec, 0xb8, 0xb8, 0x59, 0xdb, 0x3b, - 0x28, 0xce, 0xa0, 0x45, 0x80, 0xc6, 0xee, 0x56, 0xbb, 0xe3, 0x6e, 0x37, 0x0f, 0x0e, 0x8a, 0x29, - 0x04, 0x90, 0xc7, 0x5b, 0x07, 0x3b, 0xcd, 0xfd, 0x62, 0x5a, 0x3b, 0xb7, 0xb6, 0xda, 0xed, 0x4e, - 0x1d, 0x37, 0x0f, 0x1f, 0xd7, 0x8b, 0x99, 0x5a, 0x01, 0xe6, 0xfc, 0xae, 0xbd, 0x22, 0x95, 0x17, - 0x79, 0xb8, 0x7e, 0x7e, 0x65, 0x41, 0x4d, 0xc8, 0x28, 0x2f, 0xb4, 0x75, 0xf3, 0xe1, 0x95, 0x2b, - 0x93, 0xd3, 0xd9, 0x6e, 0x4d, 0x95, 0x01, 0x2f, 0x44, 0x18, 0xb2, 0x5a, 0x17, 0x2b, 0xf9, 0x17, - 0x57, 0x67, 0xd4, 0x51, 0x1f, 0x53, 0x1a, 0xae, 0xf2, 0xdf, 0x69, 0x28, 0x4c, 0x2d, 0x84, 0x6e, - 0xc1, 0xd2, 0x90, 0x9c, 0xb8, 0x93, 0xa2, 0x28, 0xcd, 0x01, 0x72, 0x78, 0x71, 0x48, 0x4e, 0x26, - 0xb4, 0x12, 0xd5, 0xc6, 0x35, 0xd8, 0x55, 0x6c, 0x48, 0x79, 0xa4, 0xec, 0xbe, 0xde, 0x2c, 0xcd, - 0xb8, 0xd6, 0x76, 0x62, 0x00, 0xe2, 0xb0, 0xa0, 0xbc, 0xd0, 0x3d, 0xa6, 0x34, 0x24, 0x3e, 0x1b, - 0x51, 0x2b, 0xee, 0x97, 0xef, 0x14, 0x2b, 0xa7, 0xe3, 0x85, 0x4f, 0x12, 0x46, 0x3c, 0xaf, 0xa6, - 0xbe, 0xca, 0xdf, 0xa6, 0x60, 0x7e, 0xda, 0x8c, 0xae, 0x43, 0x3e, 0x14, 0xbc, 0x4b, 0xe3, 0x53, - 0x2e, 0x60, 0xfb, 0x85, 0xee, 0x40, 0x56, 0x9f, 0xea, 0xf2, 0x23, 0x19, 0x37, 0xf4, 0x19, 0xcc, - 0xb2, 0x40, 0x51, 0x31, 0x22, 0x97, 0x27, 0x28, 0x1e, 0xbb, 0x96, 0x7f, 0x4d, 0xc1, 0xfc, 0xb4, - 0x26, 0xe8, 0x01, 0x94, 0xb5, 0x2a, 0x1b, 0xae, 0xd6, 0x20, 0xa4, 0x41, 0x4f, 0x5f, 0x25, 0x41, - 0xbf, 0x8e, 0xa8, 0x54, 0x89, 0x10, 0xff, 0x35, 0x1e, 0xfb, 0xe4, 0xa4, 0x15, 0xdb, 0xb1, 0x35, - 0xa3, 0x4f, 0x00, 0x69, 0xd3, 0xa6, 0x01, 0x8f, 0x41, 0x69, 0x03, 0x32, 0xe5, 0x65, 0x73, 0x9f, - 0x9c, 0x8c, 0xbd, 0x1f, 0xc2, 0xff, 0xa6, 0xfd, 0xdc, 0x90, 0x8a, 0x29, 0xd5, 0xcd, 0x29, 0x72, - 0xb8, 0x34, 0x9c, 0x20, 0x5a, 0x54, 0x4c, 0x82, 0x8f, 0x6e, 0x42, 0x21, 0x86, 0x2b, 0xc1, 0x68, - 0xfc, 0xb2, 0xc9, 0x61, 0x30, 0xee, 0x66, 0xa6, 0xf2, 0x7d, 0x1a, 0x8a, 0xaf, 0x36, 0x45, 0x74, - 0x07, 0x90, 0x2e, 0x87, 0xd4, 0x8b, 0x14, 0x1b, 0x51, 0x97, 0x0a, 0xc1, 0x45, 0x72, 0xae, 0xe5, - 0x29, 0xcb, 0xae, 0x31, 0x9c, 0x09, 0x6b, 0xfa, 0xad, 0xc3, 0x8a, 0x1e, 0x03, 0xea, 0x12, 0x49, - 0x5d, 0xfa, 0xcc, 0xbe, 0x10, 0x8c, 0x94, 0x97, 0xea, 0x52, 0xd4, 0xa0, 0x5d, 0x8b, 0xd1, 0x29, - 0x8a, 0x3e, 0x85, 0x15, 0x7d, 0xc8, 0x31, 0x4f, 0x48, 0x85, 0x47, 0x03, 0x65, 0x4f, 0x8b, 0x86, - 0xe4, 0x24, 0x71, 0x6f, 0xc5, 0x16, 0xad, 0xc1, 0x90, 0x05, 0xba, 0x8e, 0xfb, 0x6a, 0x30, 0xf6, - 0xcf, 0xc5, 0x1a, 0x0c, 0x59, 0x50, 0x37, 0x06, 0xeb, 0x5d, 0xf9, 0x59, 0x5f, 0xbe, 0x49, 0xb3, - 0x47, 0x35, 0xc8, 0x0e, 0x79, 0x2f, 0x69, 0x6d, 0xce, 0xdb, 0x3d, 0x11, 0xf4, 0x58, 0xa3, 0xb0, - 0xc1, 0x9a, 0x10, 0xfb, 0x4c, 0x37, 0x32, 0x8f, 0x0a, 0xc5, 0x8e, 0x98, 0x47, 0x54, 0xd2, 0x60, - 0x97, 0x63, 0xcb, 0xf6, 0xc4, 0xa0, 0x75, 0x0c, 0x05, 0x1b, 0x11, 0x45, 0x75, 0x95, 0x34, 0x41, - 0x9a, 0xc3, 0x60, 0xa7, 0x9e, 0xd0, 0x53, 0x5d, 0x10, 0x3c, 0x32, 0xcd, 0x15, 0x8b, 0x3d, 0x87, - 0x17, 0x3d, 0x32, 0x45, 0x24, 0x75, 0x07, 0x90, 0x51, 0x57, 0xc7, 0xc3, 0x25, 0xbe, 0x32, 0x3d, - 0x2c, 0x7e, 0xa7, 0xce, 0xe1, 0x25, 0x6b, 0xd8, 0xf2, 0x95, 0x6e, 0x61, 0x52, 0x3f, 0x05, 0x64, - 0xc0, 0x4a, 0xf9, 0xf8, 0x29, 0x20, 0x03, 0x56, 0x79, 0x04, 0xd7, 0xec, 0x39, 0x50, 0x01, 0xae, - 0xed, 0xec, 0xb5, 0xb7, 0x6a, 0x8d, 0xdd, 0xe2, 0x8c, 0xae, 0xc4, 0xed, 0xbd, 0xfd, 0x56, 0x63, - 0x37, 0xae, 0xca, 0xfb, 0x87, 0x9d, 0xc3, 0xad, 0x46, 0x31, 0x8d, 0x8a, 0x30, 0xbf, 0xd7, 0xee, - 0xec, 0x35, 0x5d, 0x3b, 0x93, 0xa9, 0x39, 0x3f, 0xbd, 0x5c, 0x4d, 0xfd, 0xf2, 0x72, 0x35, 0xf5, - 0xc7, 0xcb, 0xd5, 0xd4, 0xd3, 0xb5, 0x38, 0x76, 0x8c, 0x57, 0x49, 0xc8, 0xaa, 0xe7, 0xfc, 0x93, - 0x75, 0xf3, 0x26, 0x03, 0xee, 0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x4a, 0x6d, 0x05, 0x18, - 0x0e, 0x00, 0x00, + // 1416 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x4f, 0x6f, 0x1b, 0xb7, + 0x12, 0xb7, 0xfe, 0xc6, 0x1e, 0xd9, 0xb2, 0xcc, 0x67, 0xe4, 0x29, 0x7a, 0x80, 0xe3, 0x27, 0x14, + 0x8d, 0x9b, 0x36, 0xab, 0xda, 0x41, 0x81, 0x34, 0x41, 0x8a, 0x58, 0xb6, 0x11, 0xb9, 0x91, 0x2d, + 0x81, 0x2b, 0x03, 0x45, 0x2e, 0x0b, 0x6a, 0x45, 0x4b, 0x8c, 0x57, 0xcb, 0xed, 0x92, 0xab, 0xda, + 0xf9, 0x0c, 0x3d, 0x07, 0xbd, 0xf6, 0xd2, 0xcf, 0x52, 0xf4, 0xd4, 0x6b, 0x7b, 0x69, 0x91, 0x2f, + 0xd0, 0x53, 0x2f, 0x3d, 0x14, 0x05, 0xb9, 0x5c, 0x49, 0x4e, 0x1c, 0x39, 0x46, 0x9a, 0x1b, 0xc9, + 0xf9, 0xfd, 0x86, 0xe4, 0xcc, 0x6f, 0x67, 0xb8, 0x70, 0xdb, 0xa7, 0xf2, 0x1b, 0x1e, 0x9e, 0x30, + 0xbf, 0x5f, 0x1b, 0x6d, 0x12, 0x2f, 0x18, 0x90, 0xbb, 0xb5, 0x1e, 0x15, 0x92, 0xf9, 0x44, 0x32, + 0xee, 0x3b, 0x61, 0xe4, 0x51, 0x2b, 0x08, 0xb9, 0xe4, 0xe8, 0x06, 0x13, 0x92, 0x71, 0x6b, 0xc2, + 0xb0, 0x12, 0x46, 0x65, 0xad, 0xcf, 0x79, 0xdf, 0xa3, 0x35, 0x0d, 0xec, 0x46, 0xc7, 0xb5, 0x5e, + 0x14, 0x6a, 0x7e, 0x4c, 0xad, 0x7c, 0x74, 0xd1, 0x36, 0x23, 0x16, 0xca, 0x88, 0x78, 0x8e, 0xa0, + 0xe1, 0x88, 0xb9, 0x66, 0x97, 0xca, 0xad, 0x8b, 0xa0, 0x66, 0xcd, 0x11, 0x2e, 0x0f, 0x12, 0xe0, + 0x6a, 0x9f, 0xf7, 0xb9, 0x1e, 0xd6, 0xd4, 0x28, 0x5e, 0xad, 0xfe, 0x9d, 0x82, 0xe5, 0xdd, 0xc9, + 0xf9, 0x71, 0xe4, 0x51, 0x84, 0x20, 0x3b, 0xe0, 0x42, 0x96, 0x53, 0xeb, 0xa9, 0x8d, 0x05, 0xac, + 0xc7, 0xa8, 0x05, 0x45, 0x19, 0x92, 0xe3, 0x63, 0xe6, 0x3a, 0x01, 0xf7, 0x98, 0x7b, 0x56, 0x4e, + 0xaf, 0xa7, 0x36, 0x0a, 0x5b, 0x1b, 0xd6, 0x1b, 0x6f, 0x69, 0x75, 0x62, 0x42, 0x5b, 0xe3, 0xf1, + 0x92, 0x9c, 0x9e, 0xa2, 0x07, 0x70, 0x4d, 0x44, 0x5d, 0x41, 0xa5, 0x28, 0x67, 0xd6, 0x33, 0x1b, + 0x85, 0xad, 0xff, 0xcf, 0xf0, 0x64, 0x6b, 0x24, 0x4e, 0x18, 0x68, 0x1f, 0x16, 0x5d, 0xee, 0x1f, + 0xb3, 0x7e, 0x7c, 0xc3, 0x72, 0x76, 0x3d, 0xb5, 0x51, 0xdc, 0xfa, 0x70, 0x86, 0x87, 0x1d, 0x0d, + 0xb7, 0x15, 0x1a, 0x17, 0xdc, 0xc9, 0xa4, 0xfa, 0x6b, 0x1e, 0x96, 0xce, 0x1d, 0x14, 0x75, 0x60, + 0xc9, 0xe3, 0xa4, 0xe7, 0x74, 0x89, 0x47, 0x7c, 0x97, 0x86, 0x3a, 0x0e, 0x85, 0xad, 0xda, 0x0c, + 0xef, 0x4d, 0x4e, 0x7a, 0x75, 0x03, 0xb7, 0xa9, 0x94, 0xcc, 0xef, 0x0b, 0xbc, 0xe8, 0x4d, 0xad, + 0xa2, 0xa7, 0xb0, 0xec, 0x72, 0xdf, 0xa7, 0xae, 0x96, 0x49, 0xc0, 0xb9, 0x67, 0x22, 0xb8, 0x39, + 0xfb, 0xd4, 0x86, 0xd1, 0xe6, 0xdc, 0x1b, 0x7b, 0x2e, 0xba, 0xe7, 0xd6, 0xd1, 0x57, 0xb0, 0xc2, + 0x23, 0xe9, 0x31, 0x1a, 0x3a, 0x3d, 0x2a, 0x63, 0x43, 0x39, 0xa3, 0xbd, 0x7f, 0x3c, 0xc3, 0x7b, + 0x2b, 0xe6, 0xec, 0x26, 0x14, 0x5c, 0xe2, 0xaf, 0xac, 0xa0, 0x7b, 0x90, 0x91, 0x9e, 0xd0, 0xf1, + 0x2d, 0xcc, 0x8c, 0x6f, 0xa7, 0x69, 0x8f, 0x8f, 0xa7, 0x28, 0xe8, 0x19, 0xfc, 0x27, 0xe0, 0xa1, + 0x74, 0x3c, 0x3a, 0xa2, 0x4a, 0xb3, 0xb1, 0xad, 0x9c, 0xd3, 0xb9, 0xbe, 0xff, 0xb6, 0xaa, 0xb1, + 0xda, 0x3c, 0x94, 0xe7, 0x75, 0xb4, 0xa2, 0xdc, 0x36, 0x95, 0xd7, 0x64, 0xc3, 0xca, 0x8b, 0x0c, + 0xac, 0xbc, 0x06, 0x44, 0x0f, 0x20, 0xab, 0xa0, 0x26, 0x7d, 0xb7, 0x66, 0x6c, 0xa9, 0xb8, 0x36, + 0xf5, 0xa8, 0x2b, 0x79, 0x88, 0x35, 0xe9, 0x75, 0x11, 0xa4, 0xdf, 0x93, 0x08, 0x32, 0xef, 0x55, + 0x04, 0xd9, 0x7f, 0x51, 0x04, 0xb9, 0x2b, 0x8b, 0xa0, 0xfa, 0x47, 0x0a, 0xf2, 0xf1, 0xb7, 0xab, + 0x8a, 0x8a, 0x4f, 0x86, 0x34, 0x29, 0x2a, 0x6a, 0x8c, 0xf6, 0x20, 0xef, 0x91, 0x2e, 0xf5, 0x44, + 0x39, 0xad, 0x65, 0x71, 0xe7, 0xd2, 0x12, 0x60, 0x35, 0x35, 0x7e, 0xcf, 0x97, 0xe1, 0x19, 0x36, + 0xe4, 0x0b, 0x6a, 0x53, 0xe6, 0x9d, 0x6a, 0x53, 0xe5, 0x73, 0x28, 0x4c, 0xed, 0x83, 0x4a, 0x90, + 0x39, 0xa1, 0x67, 0xe6, 0xe4, 0x6a, 0x88, 0x56, 0x21, 0x37, 0x22, 0x5e, 0x44, 0xb5, 0x2a, 0x16, + 0x70, 0x3c, 0xb9, 0x9f, 0xbe, 0x97, 0xaa, 0xfe, 0x90, 0x83, 0xd5, 0x8b, 0x84, 0x80, 0x30, 0xe4, + 0x05, 0x1b, 0x06, 0x5e, 0x1c, 0x81, 0xe2, 0xd6, 0xbd, 0x2b, 0x2a, 0xc9, 0xb2, 0x35, 0xbb, 0x59, + 0x6f, 0xcc, 0x61, 0xe3, 0x09, 0x9d, 0x68, 0x39, 0x09, 0x26, 0x24, 0xf5, 0xa5, 0x33, 0x20, 0x62, + 0x60, 0x64, 0xfa, 0xe8, 0xaa, 0xce, 0x77, 0xc6, 0x6e, 0x1a, 0x44, 0x0c, 0xf4, 0x26, 0x45, 0xf7, + 0xdc, 0x5a, 0xe5, 0xcf, 0x34, 0x94, 0x5e, 0x85, 0xa1, 0xdb, 0x50, 0x1a, 0x48, 0x19, 0x38, 0x03, + 0x4a, 0x7a, 0x34, 0x74, 0x26, 0x19, 0x56, 0x0e, 0x94, 0xa5, 0xa1, 0x0d, 0x87, 0x2a, 0xdb, 0x3e, + 0x14, 0x34, 0xd6, 0xe5, 0xfc, 0x84, 0x51, 0x73, 0xd2, 0x27, 0xef, 0x7a, 0x52, 0xab, 0xd1, 0xe9, + 0xb4, 0x77, 0xb4, 0xcb, 0xc6, 0x1c, 0x06, 0xb5, 0x43, 0x3c, 0x43, 0x1f, 0xc0, 0x52, 0x24, 0xa8, + 0x23, 0x78, 0x14, 0xba, 0xd4, 0x61, 0x81, 0x56, 0xc5, 0x7c, 0x63, 0x0e, 0x17, 0x22, 0x41, 0x6d, + 0xbd, 0xba, 0x1f, 0xa0, 0xdb, 0xb0, 0x32, 0x64, 0x3e, 0x1b, 0x46, 0x43, 0x27, 0x64, 0x7e, 0xdf, + 0x11, 0xec, 0x79, 0xdc, 0x4f, 0xb2, 0x78, 0xd9, 0x18, 0x30, 0xf3, 0xfb, 0x36, 0x7b, 0x4e, 0x2b, + 0x7d, 0x80, 0xc9, 0x6e, 0x17, 0x2a, 0x1a, 0x41, 0x36, 0x20, 0x72, 0x60, 0x74, 0xa1, 0xc7, 0x68, + 0x13, 0x32, 0x52, 0x26, 0x1f, 0xfa, 0x0d, 0x2b, 0x6e, 0xfd, 0x56, 0xd2, 0xfa, 0xad, 0x5d, 0xd3, + 0xfa, 0xeb, 0xd9, 0xef, 0x7e, 0xbb, 0x99, 0xc2, 0x0a, 0x5b, 0x07, 0x98, 0x57, 0xd9, 0x74, 0x4e, + 0xe8, 0x59, 0xb5, 0x01, 0xf3, 0x49, 0xea, 0xd1, 0x32, 0x14, 0x70, 0xeb, 0xe8, 0x70, 0xd7, 0xc1, + 0xad, 0xfa, 0xfe, 0x61, 0x69, 0x0e, 0x15, 0x01, 0x9a, 0x7b, 0xdb, 0x76, 0xc7, 0xd9, 0x69, 0x1d, + 0x1e, 0x96, 0x52, 0x08, 0x20, 0x8f, 0xb7, 0x0f, 0x77, 0x5b, 0x07, 0xa5, 0xb4, 0x02, 0xb7, 0xb7, + 0x6d, 0xbb, 0xd3, 0xc0, 0xad, 0xa3, 0xc7, 0x8d, 0x52, 0xa6, 0x5e, 0x80, 0x05, 0xaf, 0x6b, 0x3e, + 0x91, 0xea, 0x8b, 0x3c, 0x5c, 0xbf, 0xb8, 0xb2, 0xa0, 0x16, 0x64, 0xa4, 0x1b, 0x98, 0xba, 0xf9, + 0xf0, 0xca, 0x95, 0xc9, 0xea, 0xec, 0xb4, 0xa7, 0xca, 0x80, 0x1b, 0x20, 0x0c, 0x59, 0x95, 0x17, + 0x93, 0xf2, 0x2f, 0xae, 0xee, 0x51, 0x45, 0x7d, 0xec, 0x52, 0xfb, 0xaa, 0xfc, 0x95, 0x86, 0xc2, + 0xd4, 0x46, 0xe8, 0x16, 0x2c, 0x0f, 0xc9, 0xa9, 0x33, 0x29, 0x8a, 0x42, 0x5f, 0x20, 0x87, 0x8b, + 0x43, 0x72, 0x3a, 0x71, 0x2b, 0x50, 0x7d, 0x5c, 0x83, 0x1d, 0xc9, 0x86, 0x94, 0x47, 0xd2, 0x9c, + 0xeb, 0xcd, 0xa9, 0x19, 0xd7, 0xda, 0x4e, 0x4c, 0x40, 0x1c, 0x96, 0xa4, 0x1b, 0x38, 0x27, 0x94, + 0x06, 0xc4, 0x63, 0x23, 0x6a, 0x92, 0xfb, 0xe5, 0x3b, 0xc5, 0xca, 0xea, 0xb8, 0xc1, 0x93, 0xc4, + 0x23, 0x5e, 0x94, 0x53, 0xb3, 0xca, 0xb7, 0x29, 0x58, 0x9c, 0x36, 0xa3, 0xeb, 0x90, 0x0f, 0x42, + 0xde, 0xa5, 0xf1, 0x2d, 0x97, 0xb0, 0x99, 0xa1, 0x3b, 0x90, 0x55, 0xb7, 0xba, 0xfc, 0x4a, 0x1a, + 0x86, 0x3e, 0x83, 0x79, 0xe6, 0x4b, 0x1a, 0x8e, 0xc8, 0xe5, 0x02, 0xc5, 0x63, 0x68, 0xe5, 0x97, + 0x14, 0x2c, 0x4e, 0xe7, 0x04, 0x3d, 0x80, 0x8a, 0xca, 0xca, 0xa6, 0xa3, 0x72, 0x10, 0x50, 0xbf, + 0xa7, 0x3e, 0xa5, 0x90, 0x7e, 0x1d, 0x51, 0x21, 0x93, 0x44, 0xfc, 0x57, 0x23, 0x0e, 0xc8, 0x69, + 0x3b, 0xb6, 0x63, 0x63, 0x46, 0x9f, 0x00, 0x52, 0xa6, 0x2d, 0x4d, 0x1e, 0x93, 0xd2, 0x9a, 0xa4, + 0xcb, 0xcb, 0xd6, 0x01, 0x39, 0x1d, 0xa3, 0x1f, 0xc2, 0xff, 0xa6, 0x71, 0x4e, 0x40, 0xc3, 0xa9, + 0xac, 0xeb, 0x5b, 0xe4, 0x70, 0x79, 0x38, 0x61, 0xb4, 0x69, 0x38, 0x09, 0x3e, 0xba, 0x09, 0x85, + 0x98, 0x2e, 0x43, 0x46, 0xe3, 0x97, 0x4d, 0x0e, 0x83, 0x86, 0xeb, 0x95, 0xea, 0xf7, 0x69, 0x28, + 0xbd, 0xda, 0x14, 0xd1, 0x1d, 0x40, 0xaa, 0x1c, 0x52, 0x37, 0x92, 0x6c, 0x44, 0x1d, 0x1a, 0x86, + 0x3c, 0x4c, 0xee, 0xb5, 0x32, 0x65, 0xd9, 0xd3, 0x86, 0x73, 0x61, 0x4d, 0xbf, 0x75, 0x58, 0xd1, + 0x63, 0x40, 0x5d, 0x22, 0xa8, 0x43, 0x9f, 0x99, 0x17, 0x82, 0x4e, 0xe5, 0xa5, 0x79, 0x29, 0x29, + 0xd2, 0x9e, 0xe1, 0x28, 0x89, 0xa2, 0x4f, 0x61, 0x55, 0x5d, 0x72, 0xec, 0x27, 0xa0, 0xa1, 0x4b, + 0x7d, 0x69, 0x6e, 0x8b, 0x86, 0xe4, 0x34, 0x81, 0xb7, 0x63, 0x8b, 0xca, 0xc1, 0x90, 0xf9, 0xaa, + 0x8e, 0x7b, 0x72, 0x30, 0xc6, 0xe7, 0xe2, 0x1c, 0x0c, 0x99, 0xdf, 0xd0, 0x06, 0x83, 0xae, 0xfe, + 0xa4, 0x3e, 0xbe, 0x49, 0xb3, 0x47, 0x75, 0xc8, 0x0e, 0x79, 0x2f, 0x69, 0x6d, 0xd6, 0xdb, 0x3d, + 0x11, 0xd4, 0x58, 0xb1, 0xb0, 0xe6, 0xea, 0x10, 0x7b, 0x4c, 0x35, 0x32, 0x97, 0x86, 0x92, 0x1d, + 0x33, 0x97, 0xc8, 0xa4, 0xc1, 0xae, 0xc4, 0x96, 0x9d, 0x89, 0x41, 0xe5, 0x31, 0x08, 0xd9, 0x88, + 0x48, 0xaa, 0xaa, 0xa4, 0x0e, 0xd2, 0x02, 0x06, 0xb3, 0xf4, 0x84, 0x9e, 0xa9, 0x82, 0xe0, 0x92, + 0x69, 0x5f, 0x71, 0xb2, 0x17, 0x70, 0xd1, 0x25, 0x53, 0x8e, 0x84, 0xea, 0x00, 0x22, 0xea, 0xaa, + 0x78, 0x38, 0xc4, 0x93, 0xba, 0x87, 0xc5, 0xef, 0xd4, 0x05, 0xbc, 0x6c, 0x0c, 0xdb, 0x9e, 0x54, + 0x2d, 0x4c, 0xa8, 0xa7, 0x80, 0xf0, 0x59, 0x39, 0x1f, 0x3f, 0x05, 0x84, 0xcf, 0xaa, 0x8f, 0xe0, + 0x9a, 0xb9, 0x07, 0x2a, 0xc0, 0xb5, 0xdd, 0x7d, 0x7b, 0xbb, 0xde, 0xdc, 0x2b, 0xcd, 0xa9, 0x4a, + 0x6c, 0xef, 0x1f, 0xb4, 0x9b, 0x7b, 0x71, 0x55, 0x3e, 0x38, 0xea, 0x1c, 0x6d, 0x37, 0x4b, 0x69, + 0x54, 0x82, 0xc5, 0x7d, 0xbb, 0xb3, 0xdf, 0x72, 0xcc, 0x4a, 0xa6, 0x6e, 0xfd, 0xf8, 0x72, 0x2d, + 0xf5, 0xf3, 0xcb, 0xb5, 0xd4, 0xef, 0x2f, 0xd7, 0x52, 0x4f, 0xd7, 0xe3, 0xd8, 0x31, 0x5e, 0x23, + 0x01, 0xab, 0x5d, 0xf0, 0x73, 0xd7, 0xcd, 0x6b, 0x05, 0xdc, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, + 0xa1, 0xaa, 0x97, 0xcc, 0x8c, 0x0e, 0x00, 0x00, } diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index a19091e2c3..ebd4faf38e 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -15,6 +15,7 @@ syntax = "proto3"; import "google/protobuf/duration.proto"; import "networking/v1alpha3/virtual_service.proto"; +import "networking/v1alpha3/network_scope.proto"; import "gogoproto/gogo.proto"; package istio.networking.v1alpha3; @@ -117,6 +118,12 @@ message DestinationRule { // One or more named sets that represent individual versions of a // service. Traffic policies can be overridden at subset level. repeated Subset subsets = 3; + + // The visibility setting associated with this DestinationRule. Set to + // PRIVATE if this destination rule should not be exported, i.e. restrict + // the applicability of this destination rule to only workloads in the same + // namespace as the destination rule. + ConfigScope config_scope = 4; } // Traffic policies to apply for a specific destination, across all diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index cbab67e68e..2ae532566e 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -116,6 +116,7 @@ func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { // kind: Gateway // metadata: // name: my-gateway +// namespace: some-config-namespace // spec: // selector: // app: my-gateway-controller @@ -173,13 +174,14 @@ func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { // kind: VirtualService // metadata: // name: bookinfo-rule +// namespace: bookinfo-namespace // spec: // hosts: // - reviews.prod.svc.cluster.local // - uk.bookinfo.com // - eu.bookinfo.com // gateways: -// - my-gateway +// - some-config-namespace/my-gateway // - mesh # applies to all the sidecars in the mesh // http: // - match: @@ -215,11 +217,13 @@ func (Server_TLSOptions_TLSProtocol) EnumDescriptor() ([]byte, []int) { // kind: VirtualService // metadata: // name: bookinfo-Mongo +// namespace: bookinfo-namespace // spec: // hosts: // - mongosvr.prod.svc.cluster.local #name of internal Mongo service // gateways: -// - my-gateway +// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same +// namespace as virtual service. // tcp: // - match: // - port: 27017 diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto index e7a54a41af..4f857dd8d2 100644 --- a/networking/v1alpha3/gateway.proto +++ b/networking/v1alpha3/gateway.proto @@ -36,6 +36,7 @@ option go_package = "istio.io/api/networking/v1alpha3"; // kind: Gateway // metadata: // name: my-gateway +// namespace: some-config-namespace // spec: // selector: // app: my-gateway-controller @@ -93,13 +94,14 @@ option go_package = "istio.io/api/networking/v1alpha3"; // kind: VirtualService // metadata: // name: bookinfo-rule +// namespace: bookinfo-namespace // spec: // hosts: // - reviews.prod.svc.cluster.local // - uk.bookinfo.com // - eu.bookinfo.com // gateways: -// - my-gateway +// - some-config-namespace/my-gateway // - mesh # applies to all the sidecars in the mesh // http: // - match: @@ -135,11 +137,13 @@ option go_package = "istio.io/api/networking/v1alpha3"; // kind: VirtualService // metadata: // name: bookinfo-Mongo +// namespace: bookinfo-namespace // spec: // hosts: // - mongosvr.prod.svc.cluster.local #name of internal Mongo service // gateways: -// - my-gateway +// - some-config-namespace/my-gateway # can omit the namespace if gateway is in same +// namespace as virtual service. // tcp: // - match: // - port: 27017 diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index c6cc9e88ae..4c91ad0146 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -6,7 +6,7 @@ generator: protoc-gen-docs aliases: - /docs/reference/config/istio.routing.v1alpha1/ -number_of_entries: 55 +number_of_entries: 59 ---

Configuration affecting traffic routing. Here are a few terms useful to define in the context of traffic routing.

@@ -37,6 +37,40 @@ application code to decouple itself from the evolution of dependent services.

+

ConfigScope

+
+

ConfigScope defines the visibility of an Istio configuration artifact in +a namespace when the namespace is imported. By default all +configuration artifacts are public. Configurations with private scope +will not be imported when the namespace containing the configuration is +imported in a NetworkScope.

+ +
NameDescription
ALL_NAMESPACES +

Configure routes to services in all namespaces, i.e. import +services from all namespaces.

+ +
SAME_NAMESPACE +

Only configure routes to services that are in the same namespace +as the workload as well as services in namespaces specified in +importNamespaces.

+
+ + + + + + + + + + + + + + + + +
NameDescription
PUBLIC +

Config with this scope are visible to all workloads in the mesh

+ +
PRIVATE +

Configs with this scope are visible to only workloads in the same +namespace as the configuration resource.

+ +
+

ConnectionPoolSettings

Connection pool settings for an upstream host. The settings apply to @@ -628,6 +662,17 @@

DestinationRule

One or more named sets that represent individual versions of a service. Traffic policies can be overridden at subset level.

+ + + +configScope +ConfigScope + +

The visibility setting associated with this DestinationRule. Set to +PRIVATE if this destination rule should not be exported, i.e. restrict +the applicability of this destination rule to only workloads in the same +namespace as the destination rule.

+ @@ -1044,6 +1089,7 @@

Gateway

kind: Gateway metadata: name: my-gateway + namespace: some-config-namespace spec: selector: app: my-gateway-controller @@ -1101,13 +1147,14 @@

Gateway

kind: VirtualService metadata: name: bookinfo-rule + namespace: bookinfo-namespace spec: hosts: - reviews.prod.svc.cluster.local - uk.bookinfo.com - eu.bookinfo.com gateways: - - my-gateway + - some-config-namespace/my-gateway - mesh # applies to all the sidecars in the mesh http: - match: @@ -1142,11 +1189,13 @@

Gateway

kind: VirtualService metadata: name: bookinfo-Mongo + namespace: bookinfo-namespace spec: hosts: - mongosvr.prod.svc.cluster.local #name of internal Mongo service gateways: - - my-gateway + - some-config-namespace/my-gateway # can omit the namespace if gateway is in same + namespace as virtual service. tcp: - match: - port: 27017 @@ -2353,6 +2402,186 @@

LoadBalancerSettings.SimpleLB

advanced use cases. Refer to Original Destination load balancer in Envoy for further details.

+ + + + +
+

NetworkScope

+
+

NetworkScope describes the set of services that a workload depends on +for its operation. In other words, it describes the properties of +outgoing traffic from a given workload. By default, the service mesh +established by Istio will have a full mesh connectivity - i.e. every +workload will have proxy configuration required to reach every other +workload in the mesh. However most connectivity graphs are sparse in +practice. The NetworkScope provides a way to declare the service +dependencies associated with each workload such that the amount of +configuration sent to the sidecars can be scoped to the requisite +dependencies.

+ +

Services and configuration in a mesh are organized into one or more +namespaces (e.g., a Kubernetes namespace or a CF org/space). Workloads +in a namespace have an implicit dependency on other workloads in the +same namespace. In addition, to declare dependencies on workloads in +other namespaces, a NetworkScope resource has to be specified in the +current namespace. Each namespace MUST have only one NetworkScope +resource named “default”. The behavior of the system is undefined if +more than one NetworkScope resource exists in a given namespace. The set +of dependencies specified in a NetworkScope resource will be used to +compute the sidecar configuration for every workload in the namespace.

+ +

NOTE 1: If workloads in the mesh depend only on other workloads in the +same namespace, set defaultNetworkScope.importMode to SAME_NAMESPACE +in the mesh global config map (in values.yaml).

+ +

NOTE 2: To facilitate incremental pruning of the the sidecar +configuration, the default import mode for the mesh is set to +ALL_NAMESPACES. In other words, every workload will be able to reach +every other workload. Adding a NetworkScope resource in a namespace will +automatically prune the configuration for the workloads in that +namespace.

+ +

The following examples illustrate a few specific use cases of NetworkScope.

+ +

The example below delcares a NetworkScope resource in the prod-us1 +namespace that specifies that workloads in the namespace will be able to +reach the services in the prod-apis namespace only.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: NetworkScope
+metadata:
+  name: default
+  namespace: prod-us1
+spec:
+  dependencies:
+  - imports:
+    - namespace: prod-apis
+
+ +

In a mesh where the default network scope is set to SAME_NAMESPACE +only, if one or more workloads need to be able to reach every other +service in the mesh (e.g., metrics collection server), the following +NetworkScope resource can be used to specify such a dependency:

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: NetworkScope
+metadata:
+  name: default
+  namespace: metrics-collection
+spec:
+  dependencies:
+  - imports:
+    - namespace: '*'
+
+ +

The configuration above will allow workloads in the metrics-collection +namespace to access service in any namespace while workloads in other +namespaces will be configured for namespace local access as per the +global default network scope (SAME_NAMESPACE).

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
dependenciesNetworkScope.Dependency[] +

REQUIRED. The set of services that workloads in this namespace are +expected to talk to, in addition to other workloads in the same +namespace. Dependencies describe the properties of outbound traffic from +a given workload.

+ +
+
+

NetworkScope.Dependency

+
+

Dependency describes a workload and the set of service dependencies +for the workload.

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
importsNetworkScope.Import[] +

REQUIRED: Import describes the set of namespaces whose exported +services will be accessed by the workloads selected by the +sourceWorkloadLabels. The sidecars attached to the workloads will be +configured with information required to reach other services in the +same namespace and the imported services. In addition to the +explicitly specified namespaces, namespaces specified in the global +mesh config (through defaultNetworkScope.importNamespaces) will also be +imported.

+ +
+
+

NetworkScope.Import

+
+

Import describes the set of namespaces whose exported services +(real/virtual) will be accessed by workloads in a given namespace. The +sidecars attached to the workloads will be configured with information +required to reach the imported services only. The gateways in the +current namespace will only honor imported VirtualServices instead of +every VirtualService that binds itself to the gateway.

+ +

Importing a service from a namespace will automatically import the +exported configuration artifacts associated with the service, such as +VirtualService, DestinationRule, etc. The service in a namespace can be +a service in the service registry (e.g., a kubernetes or cloud foundry +service) or a service specified via ServiceEntry configuration.

+ +

NOTE: Only exported services and configuration artifacts from a +namespace can be imported. Private services/configuration will not be +imported. See the scope setting associated with VirtualService, +DestinationRule, ServiceEntry, etc.

+ + + + + + + + + + + + + + + + + + + @@ -3234,6 +3463,18 @@

ServiceEntry

+ + + + + @@ -4176,6 +4417,17 @@

VirtualService

be applied to any port that is not a HTTP or TLS port. The first rule matching an incoming request is used.

+ + + + + + diff --git a/networking/v1alpha3/network_scope.pb.go b/networking/v1alpha3/network_scope.pb.go new file mode 100644 index 0000000000..6f6f79d670 --- /dev/null +++ b/networking/v1alpha3/network_scope.pb.go @@ -0,0 +1,933 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: networking/v1alpha3/network_scope.proto + +package v1alpha3 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import io "io" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// ConfigScope defines the visibility of an Istio configuration artifact in +// a namespace when the namespace is imported. By default all +// configuration artifacts are public. Configurations with private scope +// will not be imported when the namespace containing the configuration is +// imported in a NetworkScope. +type ConfigScope int32 + +const ( + // Config with this scope are visible to all workloads in the mesh + ConfigScope_PUBLIC ConfigScope = 0 + // Configs with this scope are visible to only workloads in the same + // namespace as the configuration resource. + ConfigScope_PRIVATE ConfigScope = 1 +) + +var ConfigScope_name = map[int32]string{ + 0: "PUBLIC", + 1: "PRIVATE", +} +var ConfigScope_value = map[string]int32{ + "PUBLIC": 0, + "PRIVATE": 1, +} + +func (x ConfigScope) String() string { + return proto.EnumName(ConfigScope_name, int32(x)) +} +func (ConfigScope) EnumDescriptor() ([]byte, []int) { return fileDescriptorNetworkScope, []int{0} } + +// `NetworkScope` describes the set of services that a workload depends on +// for its operation. In other words, it describes the properties of +// outgoing traffic from a given workload. By default, the service mesh +// established by Istio will have a full mesh connectivity - i.e. every +// workload will have proxy configuration required to reach every other +// workload in the mesh. However most connectivity graphs are sparse in +// practice. The NetworkScope provides a way to declare the service +// dependencies associated with each workload such that the amount of +// configuration sent to the sidecars can be scoped to the requisite +// dependencies. +// +// Services and configuration in a mesh are organized into one or more +// namespaces (e.g., a Kubernetes namespace or a CF org/space). Workloads +// in a namespace have an implicit dependency on other workloads in the +// same namespace. In addition, to declare dependencies on workloads in +// other namespaces, a NetworkScope resource has to be specified in the +// current namespace. *_Each namespace MUST have only one NetworkScope +// resource named "default"_*. The behavior of the system is undefined if +// more than one NetworkScope resource exists in a given namespace. The set +// of dependencies specified in a NetworkScope resource will be used to +// compute the sidecar configuration for every workload in the namespace. +// +// NOTE 1: If workloads in the mesh depend only on other workloads in the +// same namespace, set defaultNetworkScope.importMode to SAME_NAMESPACE +// in the mesh global config map (in values.yaml). +// +// NOTE 2: To facilitate incremental pruning of the the sidecar +// configuration, the default import mode for the mesh is set to +// ALL_NAMESPACES. In other words, every workload will be able to reach +// every other workload. Adding a NetworkScope resource in a namespace will +// automatically prune the configuration for the workloads in that +// namespace. +// +// The following examples illustrate a few specific use cases of NetworkScope. +// +// The example below delcares a NetworkScope resource in the prod-us1 +// namespace that specifies that workloads in the namespace will be able to +// reach the services in the prod-apis namespace only. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: NetworkScope +// metadata: +// name: default +// namespace: prod-us1 +// spec: +// dependencies: +// - imports: +// - namespace: prod-apis +// ``` +// +// In a mesh where the default network scope is set to SAME_NAMESPACE +// only, if one or more workloads need to be able to reach every other +// service in the mesh (e.g., metrics collection server), the following +// NetworkScope resource can be used to specify such a dependency: +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: NetworkScope +// metadata: +// name: default +// namespace: metrics-collection +// spec: +// dependencies: +// - imports: +// - namespace: '*' +// ``` +// +// The configuration above will allow workloads in the metrics-collection +// namespace to access service in any namespace while workloads in other +// namespaces will be configured for namespace local access as per the +// global default network scope (SAME_NAMESPACE). +// +type NetworkScope struct { + // REQUIRED. The set of services that workloads in this namespace are + // expected to talk to, in addition to other workloads in the same + // namespace. Dependencies describe the properties of outbound traffic from + // a given workload. + Dependencies []*NetworkScope_Dependency `protobuf:"bytes,1,rep,name=dependencies" json:"dependencies,omitempty"` +} + +func (m *NetworkScope) Reset() { *m = NetworkScope{} } +func (m *NetworkScope) String() string { return proto.CompactTextString(m) } +func (*NetworkScope) ProtoMessage() {} +func (*NetworkScope) Descriptor() ([]byte, []int) { return fileDescriptorNetworkScope, []int{0} } + +func (m *NetworkScope) GetDependencies() []*NetworkScope_Dependency { + if m != nil { + return m.Dependencies + } + return nil +} + +// Import describes the set of namespaces whose exported services +// (real/virtual) will be accessed by workloads in a given namespace. The +// sidecars attached to the workloads will be configured with information +// required to reach the imported services only. The gateways in the +// current namespace will only honor imported VirtualServices instead of +// every VirtualService that binds itself to the gateway. +// +// Importing a service from a namespace will automatically import the +// exported configuration artifacts associated with the service, such as +// VirtualService, DestinationRule, etc. The service in a namespace can be +// a service in the service registry (e.g., a kubernetes or cloud foundry +// service) or a service specified via ServiceEntry configuration. +// +// NOTE: Only exported services and configuration artifacts from a +// namespace can be imported. Private services/configuration will not be +// imported. See the scope setting associated with VirtualService, +// DestinationRule, ServiceEntry, etc. +type NetworkScope_Import struct { + // The configuration namespace whose services need to be imported. + // Specify * to import all namespaces. The import can be scoped further + // by specifying individual hosts. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // A FQDN or wildcard prefixed DNS name of the host to import from the + // specified namespace. The hostnames include names of services from the + // service registry as well as those specified in a VirtualService. + Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` +} + +func (m *NetworkScope_Import) Reset() { *m = NetworkScope_Import{} } +func (m *NetworkScope_Import) String() string { return proto.CompactTextString(m) } +func (*NetworkScope_Import) ProtoMessage() {} +func (*NetworkScope_Import) Descriptor() ([]byte, []int) { + return fileDescriptorNetworkScope, []int{0, 0} +} + +func (m *NetworkScope_Import) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *NetworkScope_Import) GetHost() string { + if m != nil { + return m.Host + } + return "" +} + +// Dependency describes a workload and the set of service dependencies +// for the workload. +type NetworkScope_Dependency struct { + // [#not-implemented-hide:] + // One or more labels that indicate a specific set of pods/VMs on which + // this dependency configuration should be applied. The scope of label + // search is platform dependent. On Kubernetes, for example, the scope + // includes pods running in the namespace in which the NetworkScope + // resource is present. If the sourceWorkloadLabels are omitted, the + // imports specified will be applicable to all workloads in the current + // configuration namespace. + // NOTE: source_workload_labels are currently not supported. + SourceWorkloadLabels map[string]string `protobuf:"bytes,1,rep,name=source_workload_labels,json=sourceWorkloadLabels" json:"source_workload_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // REQUIRED: Import describes the set of namespaces whose exported + // services will be accessed by the workloads selected by the + // sourceWorkloadLabels. The sidecars attached to the workloads will be + // configured with information required to reach other services in the + // same namespace and the imported services. In addition to the + // explicitly specified namespaces, namespaces specified in the global + // mesh config (through defaultNetworkScope.importNamespaces) will also be + // imported. + Imports []*NetworkScope_Import `protobuf:"bytes,2,rep,name=imports" json:"imports,omitempty"` +} + +func (m *NetworkScope_Dependency) Reset() { *m = NetworkScope_Dependency{} } +func (m *NetworkScope_Dependency) String() string { return proto.CompactTextString(m) } +func (*NetworkScope_Dependency) ProtoMessage() {} +func (*NetworkScope_Dependency) Descriptor() ([]byte, []int) { + return fileDescriptorNetworkScope, []int{0, 1} +} + +func (m *NetworkScope_Dependency) GetSourceWorkloadLabels() map[string]string { + if m != nil { + return m.SourceWorkloadLabels + } + return nil +} + +func (m *NetworkScope_Dependency) GetImports() []*NetworkScope_Import { + if m != nil { + return m.Imports + } + return nil +} + +func init() { + proto.RegisterType((*NetworkScope)(nil), "istio.networking.v1alpha3.NetworkScope") + proto.RegisterType((*NetworkScope_Import)(nil), "istio.networking.v1alpha3.NetworkScope.Import") + proto.RegisterType((*NetworkScope_Dependency)(nil), "istio.networking.v1alpha3.NetworkScope.Dependency") + proto.RegisterEnum("istio.networking.v1alpha3.ConfigScope", ConfigScope_name, ConfigScope_value) +} +func (m *NetworkScope) 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 *NetworkScope) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Dependencies) > 0 { + for _, msg := range m.Dependencies { + dAtA[i] = 0xa + i++ + i = encodeVarintNetworkScope(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *NetworkScope_Import) 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 *NetworkScope_Import) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Namespace) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintNetworkScope(dAtA, i, uint64(len(m.Namespace))) + i += copy(dAtA[i:], m.Namespace) + } + if len(m.Host) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintNetworkScope(dAtA, i, uint64(len(m.Host))) + i += copy(dAtA[i:], m.Host) + } + return i, nil +} + +func (m *NetworkScope_Dependency) 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 *NetworkScope_Dependency) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.SourceWorkloadLabels) > 0 { + for k, _ := range m.SourceWorkloadLabels { + dAtA[i] = 0xa + i++ + v := m.SourceWorkloadLabels[k] + mapSize := 1 + len(k) + sovNetworkScope(uint64(len(k))) + 1 + len(v) + sovNetworkScope(uint64(len(v))) + i = encodeVarintNetworkScope(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintNetworkScope(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintNetworkScope(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + if len(m.Imports) > 0 { + for _, msg := range m.Imports { + dAtA[i] = 0x12 + i++ + i = encodeVarintNetworkScope(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func encodeVarintNetworkScope(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *NetworkScope) Size() (n int) { + var l int + _ = l + if len(m.Dependencies) > 0 { + for _, e := range m.Dependencies { + l = e.Size() + n += 1 + l + sovNetworkScope(uint64(l)) + } + } + return n +} + +func (m *NetworkScope_Import) Size() (n int) { + var l int + _ = l + l = len(m.Namespace) + if l > 0 { + n += 1 + l + sovNetworkScope(uint64(l)) + } + l = len(m.Host) + if l > 0 { + n += 1 + l + sovNetworkScope(uint64(l)) + } + return n +} + +func (m *NetworkScope_Dependency) Size() (n int) { + var l int + _ = l + if len(m.SourceWorkloadLabels) > 0 { + for k, v := range m.SourceWorkloadLabels { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovNetworkScope(uint64(len(k))) + 1 + len(v) + sovNetworkScope(uint64(len(v))) + n += mapEntrySize + 1 + sovNetworkScope(uint64(mapEntrySize)) + } + } + if len(m.Imports) > 0 { + for _, e := range m.Imports { + l = e.Size() + n += 1 + l + sovNetworkScope(uint64(l)) + } + } + return n +} + +func sovNetworkScope(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozNetworkScope(x uint64) (n int) { + return sovNetworkScope(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *NetworkScope) 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 ErrIntOverflowNetworkScope + } + 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: NetworkScope: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NetworkScope: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Dependencies", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNetworkScope + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthNetworkScope + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Dependencies = append(m.Dependencies, &NetworkScope_Dependency{}) + if err := m.Dependencies[len(m.Dependencies)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipNetworkScope(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthNetworkScope + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NetworkScope_Import) 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 ErrIntOverflowNetworkScope + } + 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: Import: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Import: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNetworkScope + } + 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 ErrInvalidLengthNetworkScope + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Namespace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNetworkScope + } + 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 ErrInvalidLengthNetworkScope + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Host = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipNetworkScope(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthNetworkScope + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NetworkScope_Dependency) 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 ErrIntOverflowNetworkScope + } + 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: Dependency: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Dependency: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SourceWorkloadLabels", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNetworkScope + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthNetworkScope + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SourceWorkloadLabels == nil { + m.SourceWorkloadLabels = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNetworkScope + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNetworkScope + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthNetworkScope + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNetworkScope + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthNetworkScope + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipNetworkScope(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthNetworkScope + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.SourceWorkloadLabels[mapkey] = mapvalue + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Imports", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNetworkScope + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthNetworkScope + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Imports = append(m.Imports, &NetworkScope_Import{}) + if err := m.Imports[len(m.Imports)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipNetworkScope(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthNetworkScope + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipNetworkScope(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, ErrIntOverflowNetworkScope + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowNetworkScope + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowNetworkScope + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthNetworkScope + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowNetworkScope + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipNetworkScope(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthNetworkScope = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowNetworkScope = fmt.Errorf("proto: integer overflow") +) + +func init() { proto.RegisterFile("networking/v1alpha3/network_scope.proto", fileDescriptorNetworkScope) } + +var fileDescriptorNetworkScope = []byte{ + // 352 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcf, 0x4b, 0x2d, 0x29, + 0xcf, 0x2f, 0xca, 0xce, 0xcc, 0x4b, 0xd7, 0x2f, 0x33, 0x4c, 0xcc, 0x29, 0xc8, 0x48, 0x34, 0xd6, + 0x87, 0x8a, 0xc5, 0x17, 0x27, 0xe7, 0x17, 0xa4, 0xea, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0x49, + 0x66, 0x16, 0x97, 0x64, 0xe6, 0xeb, 0x21, 0x94, 0xeb, 0xc1, 0x94, 0x2b, 0x9d, 0x64, 0xe6, 0xe2, + 0xf1, 0x83, 0x88, 0x07, 0x83, 0x74, 0x08, 0x85, 0x71, 0xf1, 0xa4, 0xa4, 0x16, 0xa4, 0xe6, 0xa5, + 0xa4, 0xe6, 0x25, 0x67, 0xa6, 0x16, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x1b, 0x19, 0xe9, 0xe1, + 0x34, 0x42, 0x0f, 0x59, 0xbb, 0x9e, 0x0b, 0x4c, 0x6f, 0x65, 0x10, 0x8a, 0x39, 0x52, 0x56, 0x5c, + 0x6c, 0x9e, 0xb9, 0x05, 0xf9, 0x45, 0x25, 0x42, 0x32, 0x5c, 0x9c, 0x79, 0x89, 0xb9, 0xa9, 0xc5, + 0x05, 0x89, 0xc9, 0xa9, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0x08, 0x01, 0x21, 0x21, 0x2e, + 0x96, 0x8c, 0xfc, 0xe2, 0x12, 0x09, 0x26, 0xb0, 0x04, 0x98, 0x2d, 0xb5, 0x84, 0x89, 0x8b, 0x0b, + 0x61, 0xb0, 0x50, 0x13, 0x23, 0x97, 0x58, 0x71, 0x7e, 0x69, 0x51, 0x72, 0x6a, 0x3c, 0xc8, 0xe2, + 0x9c, 0xfc, 0xc4, 0x94, 0xf8, 0x9c, 0xc4, 0xa4, 0xd4, 0x1c, 0x98, 0x6b, 0x7d, 0x48, 0x77, 0xad, + 0x5e, 0x30, 0xd8, 0xc0, 0x70, 0xa8, 0x79, 0x3e, 0x60, 0xe3, 0x5c, 0xf3, 0x4a, 0x8a, 0x2a, 0x83, + 0x44, 0x8a, 0xb1, 0x48, 0x09, 0x79, 0x70, 0xb1, 0x67, 0x82, 0xfd, 0x53, 0x2c, 0xc1, 0x04, 0xb6, + 0x54, 0x8f, 0x58, 0x4b, 0x21, 0xc1, 0x10, 0x04, 0xd3, 0x2e, 0xe5, 0xce, 0x25, 0x89, 0xd3, 0x72, + 0x21, 0x01, 0x2e, 0xe6, 0xec, 0xd4, 0x4a, 0x68, 0x30, 0x81, 0x98, 0x42, 0x22, 0x5c, 0xac, 0x65, + 0x89, 0x39, 0xa5, 0xa9, 0xd0, 0x10, 0x82, 0x70, 0xac, 0x98, 0x2c, 0x18, 0xb5, 0xd4, 0xb8, 0xb8, + 0x9d, 0xf3, 0xf3, 0xd2, 0x32, 0xd3, 0x21, 0x31, 0xc9, 0xc5, 0xc5, 0x16, 0x10, 0xea, 0xe4, 0xe3, + 0xe9, 0x2c, 0xc0, 0x20, 0xc4, 0xcd, 0xc5, 0x1e, 0x10, 0xe4, 0x19, 0xe6, 0x18, 0xe2, 0x2a, 0xc0, + 0xe8, 0xa4, 0x77, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x46, + 0x29, 0x40, 0x9c, 0x9d, 0x99, 0xaf, 0x9f, 0x58, 0x90, 0xa9, 0x8f, 0x25, 0x49, 0x25, 0xb1, 0x81, + 0x53, 0x91, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x64, 0xd5, 0x9b, 0x1f, 0x70, 0x02, 0x00, 0x00, +} diff --git a/networking/v1alpha3/network_scope.proto b/networking/v1alpha3/network_scope.proto new file mode 100644 index 0000000000..e78dbc0322 --- /dev/null +++ b/networking/v1alpha3/network_scope.proto @@ -0,0 +1,168 @@ +// Copyright 2018 Istio Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; + +// `NetworkScope` describes the set of services that a workload depends on +// for its operation. In other words, it describes the properties of +// outgoing traffic from a given workload. By default, the service mesh +// established by Istio will have a full mesh connectivity - i.e. every +// workload will have proxy configuration required to reach every other +// workload in the mesh. However most connectivity graphs are sparse in +// practice. The NetworkScope provides a way to declare the service +// dependencies associated with each workload such that the amount of +// configuration sent to the sidecars can be scoped to the requisite +// dependencies. +// +// Services and configuration in a mesh are organized into one or more +// namespaces (e.g., a Kubernetes namespace or a CF org/space). Workloads +// in a namespace have an implicit dependency on other workloads in the +// same namespace. In addition, to declare dependencies on workloads in +// other namespaces, a NetworkScope resource has to be specified in the +// current namespace. *_Each namespace MUST have only one NetworkScope +// resource named "default"_*. The behavior of the system is undefined if +// more than one NetworkScope resource exists in a given namespace. The set +// of dependencies specified in a NetworkScope resource will be used to +// compute the sidecar configuration for every workload in the namespace. +// +// NOTE 1: If workloads in the mesh depend only on other workloads in the +// same namespace, set defaultNetworkScope.importMode to SAME_NAMESPACE +// in the mesh global config map (in values.yaml). +// +// NOTE 2: To facilitate incremental pruning of the the sidecar +// configuration, the default import mode for the mesh is set to +// ALL_NAMESPACES. In other words, every workload will be able to reach +// every other workload. Adding a NetworkScope resource in a namespace will +// automatically prune the configuration for the workloads in that +// namespace. +// +// The following examples illustrate a few specific use cases of NetworkScope. +// +// The example below delcares a NetworkScope resource in the prod-us1 +// namespace that specifies that workloads in the namespace will be able to +// reach the services in the prod-apis namespace only. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: NetworkScope +// metadata: +// name: default +// namespace: prod-us1 +// spec: +// dependencies: +// - imports: +// - namespace: prod-apis +// ``` +// +// In a mesh where the default network scope is set to SAME_NAMESPACE +// only, if one or more workloads need to be able to reach every other +// service in the mesh (e.g., metrics collection server), the following +// NetworkScope resource can be used to specify such a dependency: +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: NetworkScope +// metadata: +// name: default +// namespace: metrics-collection +// spec: +// dependencies: +// - imports: +// - namespace: '*' +// ``` +// +// The configuration above will allow workloads in the metrics-collection +// namespace to access service in any namespace while workloads in other +// namespaces will be configured for namespace local access as per the +// global default network scope (SAME_NAMESPACE). +// +message NetworkScope { + // Import describes the set of namespaces whose exported services + // (real/virtual) will be accessed by workloads in a given namespace. The + // sidecars attached to the workloads will be configured with information + // required to reach the imported services only. The gateways in the + // current namespace will only honor imported VirtualServices instead of + // every VirtualService that binds itself to the gateway. + // + // Importing a service from a namespace will automatically import the + // exported configuration artifacts associated with the service, such as + // VirtualService, DestinationRule, etc. The service in a namespace can be + // a service in the service registry (e.g., a kubernetes or cloud foundry + // service) or a service specified via ServiceEntry configuration. + // + // NOTE: Only exported services and configuration artifacts from a + // namespace can be imported. Private services/configuration will not be + // imported. See the scope setting associated with VirtualService, + // DestinationRule, ServiceEntry, etc. + message Import { + // The configuration namespace whose services need to be imported. + // Specify * to import all namespaces. The import can be scoped further + // by specifying individual hosts. + string namespace = 1; + + // A FQDN or wildcard prefixed DNS name of the host to import from the + // specified namespace. The hostnames include names of services from the + // service registry as well as those specified in a VirtualService. + string host = 2; + }; + + // Dependency describes a workload and the set of service dependencies + // for the workload. + message Dependency { + // [#not-implemented-hide:] + // One or more labels that indicate a specific set of pods/VMs on which + // this dependency configuration should be applied. The scope of label + // search is platform dependent. On Kubernetes, for example, the scope + // includes pods running in the namespace in which the NetworkScope + // resource is present. If the sourceWorkloadLabels are omitted, the + // imports specified will be applicable to all workloads in the current + // configuration namespace. + // NOTE: source_workload_labels are currently not supported. + map source_workload_labels = 1; + + // REQUIRED: Import describes the set of namespaces whose exported + // services will be accessed by the workloads selected by the + // sourceWorkloadLabels. The sidecars attached to the workloads will be + // configured with information required to reach other services in the + // same namespace and the imported services. In addition to the + // explicitly specified namespaces, namespaces specified in the global + // mesh config (through defaultNetworkScope.importNamespaces) will also be + // imported. + repeated Import imports = 2; + }; + + // REQUIRED. The set of services that workloads in this namespace are + // expected to talk to, in addition to other workloads in the same + // namespace. Dependencies describe the properties of outbound traffic from + // a given workload. + repeated Dependency dependencies = 1; +} + +// ConfigScope defines the visibility of an Istio configuration artifact in +// a namespace when the namespace is imported. By default all +// configuration artifacts are public. Configurations with private scope +// will not be imported when the namespace containing the configuration is +// imported in a NetworkScope. +enum ConfigScope { + // Config with this scope are visible to all workloads in the mesh + PUBLIC = 0; + + // Configs with this scope are visible to only workloads in the same + // namespace as the configuration resource. + PRIVATE = 1; +} diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index faa5471fde..80b70528d2 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -400,6 +400,12 @@ type ServiceEntry struct { Resolution ServiceEntry_Resolution `protobuf:"varint,5,opt,name=resolution,proto3,enum=istio.networking.v1alpha3.ServiceEntry_Resolution" json:"resolution,omitempty"` // One or more endpoints associated with the service. Endpoints []*ServiceEntry_Endpoint `protobuf:"bytes,6,rep,name=endpoints" json:"endpoints,omitempty"` + // The visibility setting associated with this service entry. Set to + // PRIVATE if this service should not be visible outside the namespace + // where the service entry was added. The default scope is public, + // i.e. the service added by the service entry will be visible to + // workloads in the entire mesh. + ConfigScope ConfigScope `protobuf:"varint,7,opt,name=config_scope,json=configScope,proto3,enum=istio.networking.v1alpha3.ConfigScope" json:"config_scope,omitempty"` } func (m *ServiceEntry) Reset() { *m = ServiceEntry{} } @@ -449,6 +455,13 @@ func (m *ServiceEntry) GetEndpoints() []*ServiceEntry_Endpoint { return nil } +func (m *ServiceEntry) GetConfigScope() ConfigScope { + if m != nil { + return m.ConfigScope + } + return ConfigScope_PUBLIC +} + // Endpoint defines a network address (IP or hostname) associated with // the mesh service. type ServiceEntry_Endpoint struct { @@ -629,6 +642,11 @@ func (m *ServiceEntry) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.ConfigScope != 0 { + dAtA[i] = 0x38 + i++ + i = encodeVarintServiceEntry(dAtA, i, uint64(m.ConfigScope)) + } return i, nil } @@ -748,6 +766,9 @@ func (m *ServiceEntry) Size() (n int) { n += 1 + l + sovServiceEntry(uint64(l)) } } + if m.ConfigScope != 0 { + n += 1 + sovServiceEntry(uint64(m.ConfigScope)) + } return n } @@ -988,6 +1009,25 @@ func (m *ServiceEntry) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfigScope", wireType) + } + m.ConfigScope = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowServiceEntry + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ConfigScope |= (ConfigScope(b) & 0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipServiceEntry(dAtA[iNdEx:]) @@ -1498,36 +1538,38 @@ var ( func init() { proto.RegisterFile("networking/v1alpha3/service_entry.proto", fileDescriptorServiceEntry) } var fileDescriptorServiceEntry = []byte{ - // 481 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xdf, 0x6e, 0xd3, 0x30, - 0x14, 0xc6, 0xe7, 0x66, 0xcd, 0x9a, 0x33, 0x86, 0x82, 0x85, 0x90, 0x89, 0x50, 0x09, 0xbd, 0x21, - 0x12, 0x52, 0x3a, 0x3a, 0x21, 0x8d, 0x3f, 0x37, 0x03, 0x22, 0x31, 0xa9, 0x04, 0x70, 0x7b, 0x81, - 0xb8, 0x99, 0xbc, 0xd5, 0x6a, 0xad, 0x45, 0x71, 0x14, 0x7b, 0xad, 0xfa, 0x16, 0x3c, 0x16, 0x97, - 0xbc, 0x00, 0x12, 0xea, 0x93, 0xa0, 0x3a, 0x4e, 0xd3, 0x8b, 0x01, 0xdb, 0x5d, 0xbe, 0x13, 0x7f, - 0x3f, 0x1f, 0x7f, 0xc7, 0x86, 0xa7, 0x39, 0xd7, 0x0b, 0x59, 0x5e, 0x8a, 0x7c, 0xda, 0x9f, 0x3f, - 0x67, 0x59, 0x31, 0x63, 0x47, 0x7d, 0xc5, 0xcb, 0xb9, 0xb8, 0xe0, 0x67, 0x3c, 0xd7, 0xe5, 0x32, - 0x2e, 0x4a, 0xa9, 0x25, 0x7e, 0x28, 0x94, 0x16, 0x32, 0x6e, 0x96, 0xc7, 0xf5, 0xf2, 0xe0, 0xc9, - 0x75, 0x8c, 0x29, 0xd3, 0x7c, 0xc1, 0xac, 0xbb, 0xf7, 0xcb, 0x85, 0x3b, 0xa3, 0x8a, 0x9a, 0xac, - 0xa1, 0xf8, 0x3e, 0xb4, 0x67, 0x52, 0x69, 0x45, 0x50, 0xe8, 0x44, 0x1e, 0xad, 0x04, 0x7e, 0x04, - 0x1e, 0x9b, 0x4c, 0x4a, 0xae, 0x14, 0x57, 0xa4, 0x65, 0xfe, 0x34, 0x05, 0xfc, 0x02, 0xda, 0x85, - 0x2c, 0xb5, 0x22, 0x4e, 0xe8, 0x44, 0xfb, 0x83, 0xc7, 0xf1, 0x5f, 0x5b, 0x8a, 0x3f, 0xcb, 0x52, - 0xd3, 0x6a, 0x35, 0x1e, 0x42, 0x27, 0x93, 0x17, 0x4c, 0x0b, 0x99, 0x93, 0xdd, 0x10, 0x45, 0x77, - 0x07, 0x87, 0xff, 0x70, 0x6e, 0x77, 0x19, 0x0f, 0xad, 0x8f, 0x6e, 0x08, 0x98, 0x02, 0x94, 0x5c, - 0xc9, 0xec, 0xca, 0xf0, 0xda, 0x86, 0x37, 0xb8, 0x29, 0x8f, 0x6e, 0x9c, 0x74, 0x8b, 0x82, 0x53, - 0xf0, 0x78, 0x3e, 0x29, 0xa4, 0xc8, 0xb5, 0x22, 0xae, 0x39, 0xdc, 0x8d, 0x5b, 0x4c, 0xac, 0x91, - 0x36, 0x88, 0xe0, 0xbb, 0x03, 0x9d, 0xba, 0x8e, 0x09, 0xec, 0xd9, 0x08, 0x09, 0x0a, 0x51, 0xe4, - 0xd1, 0x5a, 0xe2, 0x2f, 0x75, 0x9e, 0x2d, 0xb3, 0xe5, 0xeb, 0xdb, 0x6e, 0x69, 0x52, 0x56, 0xa6, - 0x56, 0x67, 0x3d, 0x06, 0x37, 0x63, 0xe7, 0x3c, 0xab, 0x67, 0xf4, 0xe6, 0xd6, 0xcc, 0xa1, 0xb1, - 0x57, 0x50, 0xcb, 0x5a, 0x1f, 0xc1, 0x02, 0xcc, 0x00, 0x3d, 0x5a, 0x4b, 0x1c, 0x54, 0xb3, 0xcd, - 0x84, 0x5e, 0x9a, 0x59, 0x78, 0x74, 0xa3, 0xf1, 0x03, 0x70, 0x17, 0x5c, 0x4c, 0x67, 0x9a, 0xb8, - 0x21, 0x8a, 0x0e, 0xa8, 0x55, 0xc1, 0x31, 0x40, 0xd3, 0x38, 0xf6, 0xc1, 0xb9, 0xe4, 0x4b, 0x1b, - 0xcd, 0xfa, 0x73, 0x7d, 0x35, 0xe7, 0x2c, 0xbb, 0xe2, 0xa4, 0x65, 0x6c, 0x95, 0x78, 0xd5, 0x3a, - 0x46, 0xc1, 0x4b, 0xd8, 0xdf, 0x6a, 0xef, 0x7f, 0x56, 0x6f, 0xcb, 0xda, 0x3b, 0x84, 0x4e, 0x7d, - 0x99, 0xf0, 0x3d, 0x38, 0xf8, 0x98, 0x8c, 0x3e, 0x9c, 0x25, 0x5f, 0xc7, 0x09, 0x4d, 0x4f, 0x86, - 0xfe, 0xce, 0xa6, 0x74, 0x9a, 0xda, 0x12, 0xea, 0x3d, 0x03, 0x68, 0xae, 0x0b, 0xee, 0xc0, 0x6e, - 0xfa, 0x29, 0x4d, 0xfc, 0x1d, 0x0c, 0xe0, 0x8e, 0xc6, 0x27, 0xe3, 0xd3, 0x77, 0x3e, 0xc2, 0x7b, - 0xe0, 0xbc, 0x4f, 0x47, 0x7e, 0xeb, 0x6d, 0xfc, 0x63, 0xd5, 0x45, 0x3f, 0x57, 0x5d, 0xf4, 0x7b, - 0xd5, 0x45, 0xdf, 0xc2, 0x2a, 0x74, 0x21, 0xfb, 0xac, 0x10, 0xfd, 0x6b, 0x5e, 0xe7, 0xb9, 0x6b, - 0x9e, 0xe5, 0xd1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe5, 0xb0, 0x1f, 0xc6, 0xff, 0x03, 0x00, - 0x00, + // 521 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xcd, 0x6e, 0xd3, 0x4c, + 0x14, 0xed, 0xc4, 0x8d, 0x13, 0xdf, 0xb4, 0x9f, 0xf2, 0x8d, 0x10, 0x1a, 0x2c, 0x14, 0x4c, 0x16, + 0x10, 0x09, 0xc9, 0x29, 0xa9, 0x90, 0xca, 0xcf, 0xa6, 0x14, 0x4b, 0x44, 0x0a, 0x06, 0x26, 0x59, + 0x20, 0x36, 0x91, 0x9b, 0x0c, 0xc9, 0xa8, 0x96, 0xc7, 0xf2, 0x4c, 0x13, 0xe5, 0x2d, 0x78, 0x0c, + 0x1e, 0x85, 0x25, 0x8f, 0x80, 0xf2, 0x24, 0x28, 0xe3, 0x71, 0x9c, 0x45, 0x28, 0xed, 0xce, 0xe7, + 0xfa, 0x9e, 0x73, 0xcf, 0xcc, 0xb9, 0x03, 0x4f, 0x13, 0xa6, 0x96, 0x22, 0xbb, 0xe2, 0xc9, 0xac, + 0xbb, 0x78, 0x1e, 0xc5, 0xe9, 0x3c, 0x3a, 0xed, 0x4a, 0x96, 0x2d, 0xf8, 0x84, 0x8d, 0x59, 0xa2, + 0xb2, 0x95, 0x9f, 0x66, 0x42, 0x09, 0xfc, 0x80, 0x4b, 0xc5, 0x85, 0x5f, 0xb6, 0xfb, 0x45, 0xbb, + 0xfb, 0x78, 0x9f, 0xc6, 0x2c, 0x52, 0x6c, 0x19, 0x19, 0xb6, 0xbb, 0x77, 0x8c, 0xa9, 0x8d, 0xe5, + 0x44, 0xa4, 0x2c, 0x6f, 0x6c, 0xff, 0xa8, 0xc1, 0xd1, 0x30, 0x1f, 0x1f, 0x6c, 0xa6, 0xe3, 0x7b, + 0x50, 0x9d, 0x0b, 0xa9, 0x24, 0x41, 0x9e, 0xd5, 0x71, 0x68, 0x0e, 0xf0, 0x43, 0x70, 0xa2, 0xe9, + 0x34, 0x63, 0x52, 0x32, 0x49, 0x2a, 0xfa, 0x4f, 0x59, 0xc0, 0x2f, 0xa0, 0x9a, 0x8a, 0x4c, 0x49, + 0x62, 0x79, 0x56, 0xa7, 0xd1, 0x7b, 0xe4, 0xff, 0xd5, 0xbb, 0xff, 0x49, 0x64, 0x8a, 0xe6, 0xdd, + 0x78, 0x00, 0xf5, 0x58, 0x4c, 0x22, 0xc5, 0x45, 0x42, 0x0e, 0x3d, 0xd4, 0xf9, 0xaf, 0x77, 0x72, + 0x03, 0x73, 0xd7, 0xa5, 0x3f, 0x30, 0x3c, 0xba, 0x55, 0xc0, 0x14, 0x20, 0x63, 0x52, 0xc4, 0xd7, + 0x5a, 0xaf, 0xaa, 0xf5, 0x7a, 0xb7, 0xd5, 0xa3, 0x5b, 0x26, 0xdd, 0x51, 0xc1, 0x21, 0x38, 0x2c, + 0x99, 0xa6, 0x82, 0x27, 0x4a, 0x12, 0x5b, 0x1f, 0xee, 0xd6, 0x16, 0x03, 0x43, 0xa4, 0xa5, 0x04, + 0xee, 0xc3, 0xd1, 0x44, 0x24, 0xdf, 0xf8, 0x2c, 0xcf, 0x80, 0xd4, 0xb4, 0xcb, 0x27, 0x37, 0x48, + 0x5e, 0xe8, 0xf6, 0xe1, 0xa6, 0x9b, 0x36, 0x26, 0x25, 0x70, 0xbf, 0x5b, 0x50, 0x2f, 0x46, 0x60, + 0x02, 0x35, 0x93, 0x06, 0x41, 0x1e, 0xea, 0x38, 0xb4, 0x80, 0xf8, 0x73, 0x11, 0x4d, 0x45, 0xbb, + 0x7f, 0x7d, 0x57, 0xf7, 0x3a, 0x30, 0xa9, 0x6b, 0x45, 0x6c, 0x23, 0xb0, 0xe3, 0xe8, 0x92, 0xc5, + 0x45, 0xdc, 0x6f, 0xee, 0xac, 0x39, 0xd0, 0xf4, 0x5c, 0xd4, 0x68, 0x6d, 0x8e, 0x60, 0x04, 0xf4, + 0x2e, 0x38, 0xb4, 0x80, 0xd8, 0xcd, 0xd7, 0x24, 0xe6, 0x6a, 0xa5, 0x63, 0x75, 0xe8, 0x16, 0xe3, + 0xfb, 0x60, 0x2f, 0x19, 0x9f, 0xcd, 0x15, 0xb1, 0x3d, 0xd4, 0x39, 0xa6, 0x06, 0xb9, 0x67, 0x00, + 0xa5, 0x71, 0xdc, 0x04, 0xeb, 0x8a, 0xad, 0xcc, 0xd5, 0x6c, 0x3e, 0x37, 0x5b, 0xbe, 0x88, 0xe2, + 0x6b, 0x46, 0x2a, 0x9a, 0x96, 0x83, 0x57, 0x95, 0x33, 0xe4, 0xbe, 0x84, 0xc6, 0x8e, 0xbd, 0x7f, + 0x51, 0x9d, 0x1d, 0x6a, 0xfb, 0x04, 0xea, 0xc5, 0x5e, 0xe2, 0xff, 0xe1, 0xf8, 0x43, 0x30, 0x7c, + 0x3f, 0x0e, 0xbe, 0x8c, 0x02, 0x1a, 0x9e, 0x0f, 0x9a, 0x07, 0xdb, 0x52, 0x3f, 0x34, 0x25, 0xd4, + 0x7e, 0x06, 0x50, 0x6e, 0x1e, 0xae, 0xc3, 0x61, 0xf8, 0x31, 0x0c, 0x9a, 0x07, 0x18, 0xc0, 0x1e, + 0x8e, 0xce, 0x47, 0xfd, 0x8b, 0x26, 0xc2, 0x35, 0xb0, 0xde, 0x85, 0xc3, 0x66, 0xe5, 0xad, 0xff, + 0x73, 0xdd, 0x42, 0xbf, 0xd6, 0x2d, 0xf4, 0x7b, 0xdd, 0x42, 0x5f, 0xbd, 0xfc, 0xd2, 0xb9, 0xe8, + 0x46, 0x29, 0xef, 0xee, 0x79, 0xee, 0x97, 0xb6, 0x7e, 0xe1, 0xa7, 0x7f, 0x02, 0x00, 0x00, 0xff, + 0xff, 0x24, 0xa5, 0x68, 0xd6, 0x73, 0x04, 0x00, 0x00, } diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index 69bc993da0..de25067bae 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -15,6 +15,7 @@ syntax = "proto3"; import "networking/v1alpha3/gateway.proto"; +import "networking/v1alpha3/network_scope.proto"; package istio.networking.v1alpha3; @@ -427,4 +428,11 @@ message ServiceEntry { // One or more endpoints associated with the service. repeated Endpoint endpoints = 6; + + // The visibility setting associated with this service entry. Set to + // PRIVATE if this service should not be visible outside the namespace + // where the service entry was added. The default scope is public, + // i.e. the service added by the service entry will be visible to + // workloads in the entire mesh. + ConfigScope config_scope = 7; } diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 26eca07a01..17c4d44ad4 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -134,6 +134,11 @@ type VirtualService struct { // be applied to any port that is not a HTTP or TLS port. The first rule // matching an incoming request is used. Tcp []*TCPRoute `protobuf:"bytes,4,rep,name=tcp" json:"tcp,omitempty"` + // The visibility setting associated with this VirtualService. Set to + // PRIVATE if this virtual service should not be exported, i.e. restrict + // the applicability of this virtual service to only workloads in the same + // namespace as the virtual service. + ConfigScope ConfigScope `protobuf:"varint,6,opt,name=config_scope,json=configScope,proto3,enum=istio.networking.v1alpha3.ConfigScope" json:"config_scope,omitempty"` } func (m *VirtualService) Reset() { *m = VirtualService{} } @@ -176,6 +181,13 @@ func (m *VirtualService) GetTcp() []*TCPRoute { return nil } +func (m *VirtualService) GetConfigScope() ConfigScope { + if m != nil { + return m.ConfigScope + } + return ConfigScope_PUBLIC +} + // Destination indicates the network addressable service to which the // request/connection will be sent after processing a routing rule. The // destination.host should unambiguously refer to a service in the service @@ -2251,6 +2263,11 @@ func (m *VirtualService) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.ConfigScope != 0 { + dAtA[i] = 0x30 + i++ + i = encodeVarintVirtualService(dAtA, i, uint64(m.ConfigScope)) + } return i, nil } @@ -3649,6 +3666,9 @@ func (m *VirtualService) Size() (n int) { n += 1 + l + sovVirtualService(uint64(l)) } } + if m.ConfigScope != 0 { + n += 1 + sovVirtualService(uint64(m.ConfigScope)) + } return n } @@ -4440,6 +4460,25 @@ func (m *VirtualService) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfigScope", wireType) + } + m.ConfigScope = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ConfigScope |= (ConfigScope(b) & 0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipVirtualService(dAtA[iNdEx:]) @@ -9092,116 +9131,119 @@ func init() { } var fileDescriptorVirtualService = []byte{ - // 1771 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0xdb, 0xc6, - 0x15, 0x37, 0x48, 0x82, 0x7f, 0x1e, 0x29, 0x99, 0xda, 0xca, 0x32, 0xc4, 0x7a, 0x54, 0x99, 0xae, - 0x5b, 0x75, 0x5c, 0x93, 0x53, 0xa9, 0x75, 0x35, 0xae, 0x2c, 0x9b, 0x94, 0x6c, 0xd3, 0x1d, 0xbb, - 0xd2, 0x80, 0xaa, 0x0f, 0xbd, 0x70, 0x40, 0x60, 0x45, 0xa2, 0x06, 0x01, 0x74, 0xb1, 0x90, 0xc8, - 0xe9, 0xb1, 0x4d, 0xee, 0xc9, 0xe4, 0x9a, 0xc9, 0xf7, 0xc8, 0x25, 0xd7, 0x9c, 0x32, 0xf9, 0x04, - 0x19, 0x8f, 0x0f, 0x39, 0xe4, 0x92, 0xaf, 0x90, 0xd9, 0x5d, 0x00, 0x84, 0x44, 0x89, 0x20, 0x15, - 0x27, 0x93, 0x93, 0xb8, 0x8b, 0xf7, 0xfb, 0xbd, 0xb7, 0x0f, 0x6f, 0xdf, 0x7b, 0x78, 0x82, 0x3f, - 0xd8, 0x98, 0x9e, 0x3a, 0xe4, 0x8d, 0x69, 0xf7, 0xea, 0x27, 0x7f, 0xd2, 0x2c, 0xb7, 0xaf, 0x6d, - 0xd5, 0x4f, 0x4c, 0x42, 0x7d, 0xcd, 0xea, 0x78, 0x98, 0x9c, 0x98, 0x3a, 0xae, 0xb9, 0xc4, 0xa1, - 0x0e, 0x5a, 0x35, 0x3d, 0x6a, 0x3a, 0xb5, 0x31, 0xa0, 0x16, 0x02, 0x2a, 0x6b, 0x3d, 0xc7, 0xe9, - 0x59, 0xb8, 0xce, 0x05, 0xbb, 0xfe, 0x71, 0xdd, 0xf0, 0x89, 0x46, 0x4d, 0xc7, 0x16, 0xd0, 0xc9, - 0xe7, 0xa7, 0x44, 0x73, 0x5d, 0x4c, 0x3c, 0xf1, 0xbc, 0xfa, 0x9d, 0x04, 0x8b, 0xaf, 0x85, 0xd2, - 0xb6, 0xd0, 0x89, 0x96, 0x41, 0xee, 0x3b, 0x1e, 0xf5, 0x14, 0x69, 0x3d, 0xbd, 0x51, 0x50, 0xc5, - 0x02, 0x55, 0x20, 0xdf, 0xd3, 0x28, 0x3e, 0xd5, 0x46, 0x9e, 0x92, 0xe2, 0x0f, 0xa2, 0x35, 0xda, - 0x86, 0x4c, 0x9f, 0x52, 0x57, 0x49, 0xaf, 0xa7, 0x37, 0x8a, 0x9b, 0xbf, 0xad, 0x5d, 0x6a, 0x6e, - 0xad, 0x75, 0x74, 0x74, 0xa8, 0x3a, 0x3e, 0xc5, 0x2a, 0x47, 0xa0, 0xbf, 0x40, 0x9a, 0xea, 0xae, - 0x92, 0xe1, 0xc0, 0x3b, 0x53, 0x80, 0x47, 0x7b, 0x01, 0x8e, 0xc9, 0x73, 0x98, 0xe5, 0x29, 0x72, - 0x32, 0xec, 0x65, 0x3b, 0x84, 0x59, 0x5e, 0xf5, 0x04, 0x8a, 0xfb, 0xd8, 0xa3, 0xa6, 0xcd, 0x3d, - 0x84, 0x10, 0x64, 0xd8, 0xd9, 0x14, 0x69, 0x5d, 0xda, 0x28, 0xa8, 0xfc, 0x37, 0x5a, 0x81, 0xac, - 0xe7, 0x77, 0x3d, 0x4c, 0x95, 0x14, 0xdf, 0x0d, 0x56, 0xe8, 0x6f, 0x90, 0x71, 0x1d, 0x42, 0x95, - 0xf4, 0xba, 0xb4, 0x51, 0xdc, 0xfc, 0xfd, 0x14, 0x95, 0x87, 0x0e, 0xa1, 0x6d, 0x6c, 0x61, 0x9d, - 0x3a, 0x44, 0xe5, 0xa0, 0xea, 0xf7, 0x00, 0x85, 0xe8, 0xe4, 0xa8, 0x01, 0xf2, 0x40, 0xa3, 0x7a, - 0x9f, 0xfb, 0xb7, 0xb8, 0x79, 0x2f, 0xc1, 0x5d, 0xaf, 0x98, 0xac, 0x8a, 0xff, 0xe3, 0x63, 0x8f, - 0xaa, 0x02, 0x89, 0x9e, 0x82, 0x4c, 0x18, 0x17, 0x7f, 0x13, 0xc5, 0xcd, 0xfa, 0x2c, 0x1e, 0x8f, - 0x9d, 0x5c, 0x15, 0x68, 0xb4, 0x07, 0x79, 0x82, 0x0d, 0x93, 0x60, 0x7d, 0x96, 0x83, 0x71, 0xa6, - 0x40, 0x5c, 0x8d, 0x80, 0xe8, 0x09, 0xe4, 0x08, 0x3e, 0x25, 0x26, 0xc5, 0x4a, 0x86, 0x73, 0xfc, - 0x2e, 0x91, 0x83, 0x4b, 0xab, 0x21, 0x0c, 0xdd, 0x83, 0xa5, 0x53, 0xdc, 0xf5, 0x1c, 0xfd, 0x0d, - 0xa6, 0x1d, 0xdf, 0xed, 0x11, 0xcd, 0xc0, 0x8a, 0xbc, 0x2e, 0x6d, 0xe4, 0xd5, 0x72, 0xf4, 0xe0, - 0x9f, 0x62, 0x1f, 0x6d, 0x41, 0x8e, 0x9a, 0x03, 0xec, 0xf8, 0x54, 0xc9, 0x72, 0x75, 0xab, 0x35, - 0x11, 0xe2, 0xb5, 0x30, 0xc4, 0x6b, 0xfb, 0xc1, 0x15, 0x50, 0x43, 0x49, 0xb4, 0xcb, 0x6c, 0xa4, - 0xc4, 0xc4, 0x9e, 0x92, 0xe3, 0xa0, 0xc4, 0x18, 0xc5, 0x94, 0x8c, 0xd4, 0x10, 0x84, 0xf6, 0x40, - 0x3e, 0xd6, 0x7c, 0x8b, 0x2a, 0x79, 0x8e, 0xbe, 0x9f, 0x80, 0x7e, 0xc6, 0x64, 0x5f, 0xd8, 0xff, - 0xc6, 0xba, 0xf0, 0x36, 0xc7, 0xa2, 0x5d, 0xc8, 0x0e, 0x4c, 0x42, 0x1c, 0xa2, 0x14, 0x12, 0xfd, - 0x14, 0x7f, 0x59, 0x01, 0x0a, 0x3d, 0x83, 0xa2, 0xee, 0x10, 0xaf, 0xe3, 0x3a, 0x96, 0xa9, 0x8f, - 0x14, 0xe0, 0x24, 0x77, 0xa7, 0x90, 0xec, 0x39, 0xc4, 0x3b, 0xe4, 0xc2, 0x2a, 0xe8, 0xd1, 0x6f, - 0xd4, 0x85, 0x45, 0x96, 0x02, 0x6c, 0xa3, 0xd3, 0xc7, 0x9a, 0x81, 0x89, 0xa7, 0x14, 0x79, 0x14, - 0xfd, 0x75, 0x96, 0x28, 0xaa, 0x35, 0x38, 0xb4, 0x25, 0x90, 0x4f, 0x6d, 0x4a, 0x46, 0xcd, 0x94, - 0x22, 0xa9, 0x0b, 0x5a, 0x7c, 0x1f, 0x3d, 0x84, 0x9b, 0x04, 0x0f, 0x9c, 0x13, 0xdc, 0x21, 0xd8, - 0x73, 0x1d, 0xdb, 0xc3, 0x91, 0xb2, 0x12, 0x4b, 0x1e, 0x1c, 0x73, 0x43, 0x88, 0xa8, 0x81, 0x44, - 0x88, 0xfd, 0x2f, 0xdc, 0x0c, 0xec, 0x9b, 0xc0, 0x2e, 0x70, 0x43, 0x1f, 0xcf, 0x61, 0xe8, 0x39, - 0xf2, 0xb1, 0xc1, 0x37, 0xb4, 0x8b, 0x9e, 0xa3, 0x6d, 0x58, 0x89, 0x0c, 0xe7, 0x57, 0x2e, 0xd2, - 0xbd, 0x18, 0xd9, 0xbd, 0x1c, 0xda, 0xcd, 0x05, 0x42, 0xe4, 0x10, 0x56, 0x22, 0xb3, 0xcf, 0x22, - 0xaf, 0x73, 0xab, 0x77, 0xe7, 0xb2, 0x3a, 0x4e, 0x3d, 0x36, 0x7a, 0x59, 0xbb, 0xe0, 0x31, 0xda, - 0x81, 0x5c, 0xa8, 0xaa, 0xcc, 0x83, 0xa2, 0x3a, 0x4d, 0x95, 0x90, 0x54, 0x43, 0x48, 0xe5, 0x09, - 0xa0, 0xc9, 0x77, 0x8a, 0xca, 0x90, 0x7e, 0x83, 0x47, 0x41, 0x6a, 0x64, 0x3f, 0x59, 0x59, 0x38, - 0xd1, 0x2c, 0x1f, 0x07, 0x89, 0x51, 0x2c, 0x1e, 0xa6, 0xb6, 0xa5, 0x4a, 0x0b, 0x2a, 0x97, 0x3b, - 0x7b, 0x2e, 0xa6, 0xe7, 0xb0, 0x7a, 0xa9, 0x03, 0xe6, 0x21, 0xaa, 0x7e, 0x9b, 0x86, 0x5c, 0xe8, - 0x9e, 0x57, 0xec, 0xf2, 0x73, 0x3a, 0x8e, 0x2d, 0x6e, 0x6e, 0x25, 0xbb, 0x27, 0xf8, 0x7b, 0xe0, - 0x62, 0x91, 0x4a, 0x3c, 0x35, 0xe4, 0x40, 0x07, 0x2c, 0x69, 0x8a, 0x73, 0x72, 0xbd, 0x57, 0xe4, - 0x8b, 0x48, 0x2a, 0x9f, 0xa7, 0xa0, 0x7c, 0xfe, 0x31, 0xfa, 0x07, 0xa4, 0x59, 0x11, 0x12, 0x25, - 0x62, 0xe7, 0x0a, 0x0a, 0x6a, 0x6d, 0x4c, 0xb9, 0xdf, 0x54, 0x46, 0xc4, 0xf8, 0x34, 0xc3, 0x08, - 0xea, 0xc5, 0x95, 0xf8, 0x1a, 0x86, 0x11, 0xf0, 0x69, 0x86, 0xc1, 0xea, 0xa4, 0xb8, 0x05, 0xbc, - 0xe8, 0x17, 0xd4, 0x60, 0x55, 0x79, 0x00, 0xf9, 0x50, 0xf1, 0x5c, 0x6f, 0xfe, 0x01, 0xe4, 0x43, - 0x05, 0x73, 0xbd, 0xe8, 0x8f, 0x25, 0xc8, 0x87, 0x45, 0x9e, 0xa5, 0xe9, 0x78, 0x65, 0xbd, 0x3f, - 0xbd, 0x31, 0xe0, 0x85, 0xb5, 0x41, 0x29, 0x31, 0xbb, 0x3e, 0xc5, 0x5e, 0x58, 0x5b, 0x1b, 0x67, - 0x6b, 0xeb, 0xb4, 0xf2, 0x7c, 0x49, 0x5d, 0xad, 0x7e, 0xc4, 0x8c, 0x0a, 0x1a, 0x16, 0xd4, 0x3c, - 0x6b, 0xd4, 0x1f, 0xa7, 0xf0, 0xbd, 0xfc, 0xf3, 0x4f, 0x67, 0xd3, 0x67, 0x32, 0x94, 0xcf, 0xb7, - 0x13, 0x68, 0x1b, 0xd2, 0x3e, 0x31, 0x83, 0x6b, 0x31, 0xad, 0x1e, 0xb5, 0x29, 0x31, 0xed, 0x9e, - 0xc0, 0x32, 0x08, 0x2b, 0x66, 0x9e, 0xde, 0xc7, 0x83, 0xf0, 0x0e, 0xcc, 0x0a, 0x0e, 0x50, 0xbc, - 0x18, 0x62, 0xda, 0x77, 0x8c, 0xa0, 0xf1, 0x98, 0x19, 0x2f, 0x50, 0x68, 0x1f, 0x0a, 0x9a, 0x4f, - 0xfb, 0x0e, 0x31, 0xe9, 0x68, 0x86, 0xbe, 0x23, 0x4e, 0x31, 0x06, 0x22, 0x75, 0x9c, 0x39, 0x45, - 0x2f, 0xb9, 0x3d, 0x47, 0x33, 0x56, 0x8b, 0x67, 0xa7, 0x28, 0x9f, 0xb2, 0xae, 0x92, 0x77, 0x8a, - 0xac, 0x3b, 0x59, 0x10, 0x0d, 0x20, 0xea, 0xc2, 0x82, 0xe7, 0xf8, 0x44, 0xc7, 0x1d, 0x4b, 0xeb, - 0x62, 0x8b, 0x75, 0x21, 0x4c, 0xdb, 0xa3, 0x79, 0xb4, 0xb5, 0x39, 0xc1, 0x4b, 0x8e, 0x17, 0x2a, - 0x4b, 0x5e, 0x6c, 0xeb, 0x4c, 0x83, 0x9e, 0x3f, 0xdb, 0xa0, 0x57, 0xba, 0x50, 0x4a, 0x48, 0xa5, - 0x3b, 0xf1, 0x1b, 0x36, 0xbb, 0x2f, 0x63, 0x37, 0xf8, 0x31, 0x2c, 0x4d, 0x98, 0x38, 0xd7, 0x55, - 0xfe, 0x4a, 0x86, 0xe5, 0x8b, 0xba, 0x55, 0xd4, 0x82, 0xa2, 0x31, 0x5e, 0xce, 0x10, 0xad, 0xf1, - 0xf0, 0x8f, 0x43, 0x59, 0xd6, 0x3a, 0xc5, 0x66, 0xaf, 0x2f, 0xba, 0x7b, 0x59, 0x0d, 0x56, 0xd3, - 0xda, 0x95, 0x74, 0x52, 0xbb, 0xf2, 0xa1, 0x74, 0x79, 0xbf, 0x22, 0xbe, 0x6b, 0xfe, 0x3e, 0x67, - 0x7b, 0xfe, 0xde, 0x5b, 0x17, 0x39, 0xa1, 0x75, 0xf9, 0x9f, 0x74, 0x69, 0xef, 0x92, 0xe5, 0x27, - 0x78, 0x71, 0xd5, 0x13, 0x5c, 0xb1, 0x8d, 0xc9, 0xcd, 0xdf, 0xc6, 0xfc, 0x02, 0x9b, 0x10, 0x0a, - 0xe5, 0x9f, 0x3f, 0x96, 0xab, 0x5f, 0xa4, 0x60, 0x69, 0xa2, 0x90, 0xa0, 0x3a, 0xfc, 0x2a, 0x06, - 0xee, 0x78, 0x7e, 0xd7, 0xc6, 0xd1, 0x27, 0x3e, 0x8a, 0x3d, 0x6a, 0x8b, 0x27, 0x51, 0x1a, 0x4b, - 0xc5, 0xd2, 0xd8, 0x9d, 0x28, 0x8d, 0x09, 0x3c, 0xcf, 0xdd, 0x85, 0x30, 0x0f, 0x09, 0x24, 0xd2, - 0xcf, 0xe7, 0xba, 0x4c, 0x62, 0xfb, 0x3b, 0x61, 0xee, 0x5c, 0xc9, 0x4e, 0x3e, 0x97, 0xec, 0x7e, - 0x74, 0x22, 0xfa, 0x26, 0x05, 0x68, 0xb2, 0x3f, 0x40, 0xbf, 0x86, 0x82, 0x67, 0x9b, 0x9d, 0xf8, - 0x6c, 0x24, 0xef, 0xd9, 0x66, 0x8b, 0x8f, 0x47, 0x2e, 0xf1, 0x6f, 0x2a, 0xd1, 0xbf, 0xe9, 0x69, - 0xfe, 0xcd, 0x5c, 0xe0, 0x5f, 0xe3, 0xbc, 0x7f, 0xe5, 0xc4, 0x8f, 0xa2, 0xc9, 0xc3, 0xcc, 0xe5, - 0xe0, 0xec, 0xfb, 0x76, 0xf0, 0x2e, 0x94, 0xe2, 0xc3, 0x04, 0x86, 0x0d, 0xdb, 0x90, 0x82, 0x68, - 0x2f, 0x6e, 0xc5, 0xcb, 0xbb, 0xc0, 0x8f, 0x37, 0xaa, 0x8f, 0xa0, 0x18, 0x1b, 0x24, 0xcc, 0x0d, - 0xc7, 0x50, 0x8c, 0xd5, 0x30, 0xb4, 0x02, 0x32, 0x1e, 0x6a, 0x7a, 0x30, 0x07, 0x6a, 0x5d, 0x53, - 0xc5, 0x12, 0x29, 0x90, 0x75, 0x09, 0x3e, 0x36, 0x87, 0x82, 0xa1, 0x75, 0x4d, 0x0d, 0xd6, 0x0c, - 0x41, 0x70, 0x0f, 0x0f, 0x45, 0xfc, 0x33, 0x04, 0x5f, 0x36, 0x4b, 0x00, 0xbc, 0x5f, 0xeb, 0xd0, - 0x91, 0x8b, 0xab, 0x1f, 0x48, 0xc1, 0xd4, 0x07, 0x33, 0xff, 0x54, 0x20, 0xaf, 0x51, 0x8a, 0x07, - 0x2e, 0x0f, 0x1e, 0x76, 0x61, 0xa3, 0x35, 0x6a, 0xc0, 0x75, 0x17, 0x93, 0x0e, 0x25, 0xa3, 0x4e, - 0x38, 0xdb, 0x48, 0x25, 0xcd, 0x36, 0x16, 0x5c, 0x4c, 0x8e, 0xc8, 0xe8, 0x28, 0x98, 0x70, 0xac, - 0xb2, 0xaf, 0x12, 0x46, 0xe0, 0xd8, 0xc1, 0xad, 0xe4, 0xc3, 0x8b, 0xd1, 0x81, 0x5d, 0xfd, 0x34, - 0x05, 0x30, 0x1e, 0x05, 0xa0, 0xdb, 0x50, 0xd2, 0x2c, 0xcb, 0x39, 0xed, 0x38, 0xc4, 0xec, 0x99, - 0x76, 0x10, 0xc9, 0x45, 0xbe, 0x77, 0xc0, 0xb7, 0x58, 0x1c, 0x0a, 0x11, 0xd1, 0x6c, 0x85, 0x61, - 0x2c, 0x70, 0xaf, 0xc4, 0xde, 0x58, 0xe8, 0x4c, 0xa5, 0x0c, 0x84, 0xc2, 0x9c, 0x7e, 0x17, 0x16, - 0xf1, 0xd0, 0x75, 0xce, 0x95, 0xc4, 0x82, 0xba, 0x20, 0x76, 0x43, 0xb1, 0x4d, 0xc8, 0x0d, 0xb4, - 0x61, 0x47, 0xeb, 0x89, 0xb9, 0xcf, 0xd4, 0x83, 0x67, 0x07, 0xda, 0xb0, 0xd1, 0xc3, 0xe8, 0x39, - 0x2c, 0x09, 0xfd, 0x3a, 0xc1, 0x06, 0xb6, 0xa9, 0xa9, 0x59, 0x5e, 0x30, 0x12, 0xaa, 0x4c, 0xa0, - 0x9b, 0x8e, 0x63, 0xbd, 0x66, 0xf1, 0xa7, 0x96, 0x39, 0x68, 0x6f, 0x8c, 0xa9, 0x7e, 0x22, 0x03, - 0x9a, 0x9c, 0xda, 0xa0, 0x17, 0x20, 0x1b, 0xd8, 0xd2, 0x46, 0xb3, 0x7c, 0x34, 0x4e, 0xa0, 0x6b, - 0xfb, 0x0c, 0xaa, 0x0a, 0x06, 0x46, 0xa5, 0x75, 0xc3, 0x64, 0x3a, 0x37, 0x55, 0x83, 0x41, 0x55, - 0xc1, 0x50, 0xf9, 0x7f, 0x0a, 0x64, 0xce, 0x8d, 0x6e, 0x41, 0xce, 0xc5, 0x44, 0xc7, 0xb6, 0x08, - 0x5c, 0x99, 0x57, 0xd6, 0x70, 0x0b, 0xed, 0x40, 0xf1, 0xd8, 0x1c, 0x62, 0xa3, 0x23, 0xce, 0x90, - 0x14, 0x4e, 0xad, 0x6b, 0x2a, 0x70, 0x79, 0xc1, 0xdd, 0x82, 0x25, 0xf6, 0x82, 0x6c, 0xe1, 0xa2, - 0x80, 0x23, 0x9d, 0xcc, 0x51, 0x8e, 0xa1, 0x04, 0x53, 0x13, 0x20, 0x30, 0x69, 0xfc, 0x72, 0xa7, - 0xd5, 0xf5, 0x43, 0x21, 0xac, 0xc6, 0x50, 0xcd, 0x25, 0xb8, 0xde, 0xa7, 0xd4, 0x15, 0x66, 0xf0, - 0xbb, 0x55, 0x79, 0x2b, 0x81, 0xcc, 0xfd, 0x92, 0xe0, 0x86, 0xdb, 0x50, 0xe4, 0x50, 0x8f, 0x6a, - 0xd4, 0xf7, 0x44, 0xa5, 0x64, 0x67, 0x65, 0x9b, 0x6d, 0xbe, 0xc7, 0x44, 0x7a, 0xc4, 0xd5, 0x43, - 0x91, 0xf0, 0x4a, 0x03, 0xdb, 0x1c, 0x8b, 0x30, 0xc0, 0x66, 0x07, 0xf3, 0xf1, 0x5d, 0x26, 0x14, - 0xe1, 0x9b, 0x4f, 0xf9, 0x70, 0xee, 0x7d, 0x9c, 0xb3, 0x04, 0xc0, 0x15, 0x88, 0xf4, 0xf1, 0x0c, - 0x4a, 0xf1, 0x51, 0x32, 0x4b, 0x47, 0xb6, 0x3f, 0xe8, 0x62, 0xc2, 0xcf, 0xb9, 0xc0, 0xd2, 0x91, - 0x58, 0xa3, 0x65, 0xc8, 0xd8, 0x5a, 0xf0, 0x25, 0xc6, 0xec, 0xe2, 0xab, 0x66, 0x56, 0x14, 0x98, - 0xea, 0x6f, 0x20, 0x17, 0x28, 0x1b, 0x67, 0x64, 0xc6, 0x20, 0x05, 0x19, 0xb9, 0x59, 0xfb, 0xf2, - 0xdd, 0x9a, 0xf4, 0xf5, 0xbb, 0x35, 0xe9, 0xed, 0xbb, 0x35, 0xe9, 0x5f, 0xeb, 0xc2, 0x66, 0xd3, - 0xa9, 0x6b, 0xae, 0x59, 0xbf, 0xe0, 0x7f, 0x14, 0xdd, 0x2c, 0x7f, 0xf3, 0x5b, 0x3f, 0x04, 0x00, - 0x00, 0xff, 0xff, 0x9e, 0x6d, 0x35, 0x27, 0xc1, 0x18, 0x00, 0x00, + // 1811 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0xe3, 0x48, + 0x15, 0x1f, 0xd9, 0x96, 0xff, 0x3c, 0x39, 0x19, 0xa7, 0xc9, 0xce, 0x6a, 0xcc, 0xd6, 0x90, 0xf5, + 0xb2, 0xbb, 0xa1, 0x96, 0xb5, 0x0b, 0x0f, 0x2c, 0xa9, 0x65, 0x76, 0x76, 0xed, 0xcc, 0xcc, 0x3a, + 0xd4, 0x0c, 0x49, 0xc9, 0x61, 0x0f, 0x5c, 0x54, 0xb2, 0xd4, 0xb1, 0xc5, 0xc8, 0x92, 0x68, 0xb5, + 0x12, 0xbb, 0x38, 0xf2, 0xe7, 0x0e, 0xc5, 0x95, 0xe2, 0x53, 0x70, 0xe1, 0xc2, 0x95, 0x13, 0xc5, + 0x27, 0xa0, 0xa6, 0xe6, 0xc0, 0x95, 0xaf, 0x40, 0xf5, 0x1f, 0xc9, 0x4a, 0x9c, 0x58, 0x76, 0x18, + 0xa8, 0x3d, 0xc5, 0xdd, 0xfd, 0x7e, 0xaf, 0x5f, 0xbf, 0xee, 0xf7, 0xde, 0x4f, 0x2f, 0xf0, 0x1d, + 0x1f, 0xd3, 0x8b, 0x80, 0xbc, 0x74, 0xfd, 0x71, 0xe7, 0xfc, 0x7b, 0x96, 0x17, 0x4e, 0xac, 0x87, + 0x9d, 0x73, 0x97, 0xd0, 0xd8, 0xf2, 0xcc, 0x08, 0x93, 0x73, 0xd7, 0xc6, 0xed, 0x90, 0x04, 0x34, + 0x40, 0xf7, 0xdd, 0x88, 0xba, 0x41, 0x7b, 0x01, 0x68, 0x27, 0x80, 0xe6, 0x83, 0x71, 0x10, 0x8c, + 0x3d, 0xdc, 0xe1, 0x82, 0xa3, 0xf8, 0xac, 0xe3, 0xc4, 0xc4, 0xa2, 0x6e, 0xe0, 0x0b, 0xe8, 0xf2, + 0xfa, 0x05, 0xb1, 0xc2, 0x10, 0x93, 0x48, 0xae, 0x7f, 0x78, 0x9d, 0x15, 0x72, 0xce, 0x8c, 0xec, + 0x20, 0x94, 0x36, 0xb4, 0xfe, 0x5c, 0x80, 0xed, 0xaf, 0x84, 0x75, 0x43, 0x61, 0x1c, 0xda, 0x05, + 0x75, 0x12, 0x44, 0x34, 0xd2, 0x95, 0xbd, 0xe2, 0x7e, 0xcd, 0x10, 0x03, 0xd4, 0x84, 0xea, 0xd8, + 0xa2, 0xf8, 0xc2, 0x9a, 0x47, 0x7a, 0x81, 0x2f, 0xa4, 0x63, 0x74, 0x00, 0xa5, 0x09, 0xa5, 0xa1, + 0x5e, 0xdc, 0x2b, 0xee, 0x6b, 0xdd, 0x6f, 0xb7, 0x6f, 0x3c, 0x57, 0x7b, 0x70, 0x7a, 0x7a, 0x62, + 0x04, 0x31, 0xc5, 0x06, 0x47, 0xa0, 0x1f, 0x40, 0x91, 0xda, 0xa1, 0x5e, 0xe2, 0xc0, 0xf7, 0x56, + 0x00, 0x4f, 0x0f, 0x25, 0x8e, 0xc9, 0x73, 0x98, 0x17, 0xe9, 0x6a, 0x3e, 0xec, 0xf9, 0x30, 0x81, + 0x79, 0x11, 0x3a, 0x82, 0xba, 0x1d, 0xf8, 0x67, 0xee, 0x58, 0xb8, 0x40, 0x2f, 0xef, 0x29, 0xfb, + 0xdb, 0xdd, 0x0f, 0x56, 0xe0, 0x0f, 0xb9, 0xf8, 0x90, 0x49, 0x1b, 0x9a, 0xbd, 0x18, 0xb4, 0xce, + 0x41, 0x7b, 0x82, 0x23, 0xea, 0xfa, 0xfc, 0x56, 0x10, 0x82, 0x12, 0x73, 0x93, 0xae, 0xec, 0x29, + 0xfb, 0x35, 0x83, 0xff, 0x46, 0xf7, 0xa0, 0x1c, 0xc5, 0xa3, 0x08, 0x53, 0xbd, 0xc0, 0x67, 0xe5, + 0x08, 0xfd, 0x08, 0x4a, 0x61, 0x40, 0xa8, 0x5e, 0xdc, 0x53, 0xf6, 0xb5, 0xee, 0x87, 0x2b, 0x76, + 0x3f, 0x09, 0x08, 0x1d, 0x62, 0x0f, 0xdb, 0x34, 0x20, 0x06, 0x07, 0xb5, 0xfe, 0x0d, 0x50, 0x4b, + 0x9d, 0x88, 0x7a, 0xa0, 0x4e, 0x2d, 0x6a, 0x4f, 0xf8, 0x55, 0x69, 0xdd, 0x8f, 0x72, 0x3c, 0xff, + 0x82, 0xc9, 0x1a, 0xf8, 0x17, 0x31, 0x8e, 0xa8, 0x21, 0x90, 0xe8, 0x29, 0xa8, 0x84, 0xe9, 0xe2, + 0x97, 0xaa, 0x75, 0x3b, 0xeb, 0x5c, 0x5e, 0xe6, 0xe4, 0x86, 0x40, 0xa3, 0x43, 0xa8, 0x12, 0xec, + 0xb8, 0x04, 0xdb, 0xeb, 0x1c, 0x8c, 0x6b, 0x92, 0xe2, 0x46, 0x0a, 0x44, 0x5f, 0x40, 0x85, 0xe0, + 0x0b, 0xe2, 0x52, 0xac, 0x97, 0xb8, 0x8e, 0x0f, 0x72, 0x75, 0x70, 0x69, 0x23, 0x81, 0xa1, 0x8f, + 0x60, 0xe7, 0x02, 0x8f, 0xa2, 0xc0, 0x7e, 0x89, 0xa9, 0x19, 0x87, 0x63, 0x62, 0x39, 0x58, 0x57, + 0xf7, 0x94, 0xfd, 0xaa, 0xd1, 0x48, 0x17, 0x7e, 0x2a, 0xe6, 0xd1, 0x43, 0xa8, 0x50, 0x77, 0x8a, + 0x83, 0x98, 0xf2, 0x97, 0xa0, 0x75, 0xef, 0xb7, 0x45, 0x58, 0xb5, 0x93, 0xb0, 0x6a, 0x3f, 0x91, + 0x61, 0x67, 0x24, 0x92, 0xe8, 0x31, 0xb3, 0x91, 0x12, 0x17, 0x47, 0x7a, 0x85, 0x83, 0x72, 0x9f, + 0x3b, 0xa6, 0x64, 0x6e, 0x24, 0x20, 0x74, 0x08, 0xea, 0x99, 0x15, 0x7b, 0x54, 0xaf, 0x72, 0xf4, + 0xc7, 0x39, 0xe8, 0x67, 0x4c, 0xf6, 0xc8, 0xff, 0x39, 0xb6, 0x85, 0xb7, 0x39, 0x16, 0x3d, 0x86, + 0xf2, 0xd4, 0x25, 0x24, 0x20, 0x7a, 0x2d, 0xd7, 0x4f, 0xd9, 0xcb, 0x92, 0x28, 0xf4, 0x0c, 0x34, + 0x3b, 0x20, 0x91, 0x19, 0x06, 0x9e, 0x6b, 0xcf, 0x75, 0xe0, 0x4a, 0xde, 0x5f, 0x19, 0x07, 0x24, + 0x3a, 0xe1, 0xc2, 0x06, 0xd8, 0xe9, 0x6f, 0x34, 0x82, 0x6d, 0x96, 0x76, 0x7c, 0xc7, 0x9c, 0x60, + 0xcb, 0xc1, 0x24, 0xd2, 0x35, 0xfe, 0x8a, 0x7e, 0xb8, 0xce, 0x2b, 0x6a, 0xf7, 0x38, 0x74, 0x20, + 0x90, 0x4f, 0x7d, 0x4a, 0xe6, 0xfd, 0x82, 0xae, 0x18, 0x5b, 0x56, 0x76, 0x1e, 0x7d, 0x0a, 0x6f, + 0x13, 0x3c, 0x0d, 0xce, 0xb1, 0x49, 0x70, 0x14, 0x06, 0x7e, 0x84, 0xd3, 0xcd, 0xea, 0x2c, 0x0f, + 0x71, 0xcc, 0x5b, 0x42, 0xc4, 0x90, 0x12, 0x09, 0xf6, 0x97, 0xf0, 0xb6, 0xb4, 0x6f, 0x09, 0xbb, + 0xc5, 0x0d, 0xfd, 0x7c, 0x03, 0x43, 0xaf, 0x28, 0x5f, 0x18, 0xfc, 0x96, 0x75, 0xdd, 0x3a, 0x3a, + 0x80, 0x7b, 0xa9, 0xe1, 0x3c, 0xe4, 0xd2, 0xbd, 0xb7, 0x53, 0xbb, 0x77, 0x13, 0xbb, 0xb9, 0x40, + 0x82, 0x9c, 0xc1, 0xbd, 0xd4, 0xec, 0xcb, 0xc8, 0xbb, 0xdc, 0xea, 0xc7, 0x1b, 0x59, 0x9d, 0x55, + 0xbd, 0x30, 0x7a, 0xd7, 0xba, 0x66, 0x19, 0x3d, 0x82, 0x4a, 0xb2, 0x55, 0x83, 0x3f, 0x8a, 0xd6, + 0xaa, 0xad, 0x84, 0xa4, 0x91, 0x40, 0x9a, 0x5f, 0x00, 0x5a, 0xbe, 0x53, 0xd4, 0x80, 0xe2, 0x4b, + 0x3c, 0x97, 0xa9, 0x91, 0xfd, 0x64, 0x15, 0xe6, 0xdc, 0xf2, 0x62, 0x2c, 0x13, 0xa3, 0x18, 0x7c, + 0x5a, 0x38, 0x50, 0x9a, 0x03, 0x68, 0xde, 0xec, 0xec, 0x8d, 0x34, 0x7d, 0x09, 0xf7, 0x6f, 0x74, + 0xc0, 0x26, 0x8a, 0x5a, 0xff, 0x2a, 0x42, 0x25, 0x71, 0xcf, 0x0b, 0x16, 0xfc, 0x5c, 0x1d, 0xc7, + 0x6a, 0xdd, 0x87, 0xf9, 0xee, 0x91, 0x7f, 0x8f, 0x43, 0x2c, 0x52, 0x49, 0x64, 0x24, 0x3a, 0xd0, + 0x31, 0x4b, 0x9a, 0xe2, 0x9c, 0x7c, 0xdf, 0x5b, 0xea, 0x4b, 0x95, 0x34, 0xff, 0x52, 0x80, 0xc6, + 0xd5, 0x65, 0xf4, 0x13, 0x28, 0xb2, 0x22, 0x24, 0x4a, 0xc4, 0xa3, 0x5b, 0x6c, 0xd0, 0x1e, 0x62, + 0xca, 0xfd, 0x66, 0x30, 0x45, 0x4c, 0x9f, 0xe5, 0x38, 0xb2, 0x5e, 0xdc, 0x4a, 0x5f, 0xcf, 0x71, + 0xa4, 0x3e, 0xcb, 0x71, 0x58, 0x9d, 0x14, 0x51, 0xc0, 0xf9, 0x43, 0xcd, 0x90, 0xa3, 0xe6, 0x27, + 0x50, 0x4d, 0x36, 0xde, 0xe8, 0xe6, 0x3f, 0x81, 0x6a, 0xb2, 0xc1, 0x46, 0x17, 0xfd, 0x7b, 0x05, + 0xaa, 0x09, 0x5f, 0x60, 0x69, 0x3a, 0x5b, 0x59, 0x3f, 0x5e, 0xcd, 0x31, 0x78, 0x61, 0xed, 0x51, + 0x4a, 0xdc, 0x51, 0x4c, 0x71, 0x94, 0xd4, 0xd6, 0xde, 0xe5, 0xda, 0xba, 0xaa, 0x3c, 0xdf, 0x50, + 0x57, 0x5b, 0xbf, 0x63, 0x46, 0x49, 0xee, 0x83, 0xfa, 0x97, 0x8d, 0xfa, 0xee, 0x0a, 0x7d, 0xcf, + 0xbf, 0xff, 0xbf, 0xb3, 0xe9, 0x4f, 0x2a, 0x34, 0xae, 0xd2, 0x09, 0x74, 0x00, 0xc5, 0x98, 0xb8, + 0x32, 0x2c, 0x56, 0xd5, 0xa3, 0x21, 0x25, 0xae, 0x3f, 0x16, 0x58, 0x06, 0x61, 0xc5, 0x2c, 0xb2, + 0x27, 0x78, 0x9a, 0xc4, 0xc0, 0xba, 0x60, 0x89, 0xe2, 0xc5, 0x10, 0xd3, 0x49, 0xe0, 0x48, 0xe2, + 0xb1, 0x36, 0x5e, 0xa0, 0xd0, 0x13, 0xa8, 0x59, 0x31, 0x9d, 0x04, 0xc4, 0xa5, 0xf3, 0x35, 0x78, + 0x47, 0x56, 0xc5, 0x02, 0x88, 0x8c, 0x45, 0xe6, 0x14, 0xb4, 0xf4, 0x60, 0x03, 0x32, 0xd6, 0xce, + 0x66, 0xa7, 0x34, 0x9f, 0x32, 0x56, 0xc9, 0x99, 0x22, 0x63, 0x27, 0x5b, 0x82, 0x00, 0xa2, 0x11, + 0x6c, 0x45, 0x41, 0x4c, 0x6c, 0x6c, 0x7a, 0xd6, 0x08, 0x7b, 0x8c, 0x85, 0xb0, 0xdd, 0x3e, 0xdb, + 0x64, 0xb7, 0x21, 0x57, 0xf0, 0x9c, 0xe3, 0xc5, 0x96, 0xf5, 0x28, 0x33, 0x75, 0x89, 0xeb, 0x57, + 0x2f, 0x73, 0xfd, 0xe6, 0x08, 0xea, 0x39, 0xa9, 0xf4, 0x51, 0x36, 0xc2, 0xd6, 0xf7, 0x65, 0x26, + 0x82, 0x3f, 0x87, 0x9d, 0x25, 0x13, 0x37, 0x0a, 0xe5, 0xbf, 0xab, 0xb0, 0x7b, 0x1d, 0x5b, 0x45, + 0x03, 0xd0, 0x9c, 0xc5, 0x70, 0x8d, 0xd7, 0x9a, 0x7d, 0xfe, 0x59, 0x28, 0xcb, 0x5a, 0x17, 0xd8, + 0x1d, 0x4f, 0x04, 0xbb, 0x57, 0x0d, 0x39, 0x5a, 0x45, 0x57, 0x8a, 0x79, 0x74, 0xe5, 0xb7, 0xca, + 0xcd, 0x7c, 0x45, 0x7c, 0x22, 0xfd, 0x78, 0x43, 0x7a, 0xfe, 0xc6, 0xa9, 0x8b, 0x9a, 0x43, 0x5d, + 0x7e, 0xa5, 0xdc, 0xc8, 0x5d, 0xca, 0xfc, 0x04, 0x47, 0xb7, 0x3d, 0xc1, 0x2d, 0x69, 0x4c, 0x65, + 0x73, 0x1a, 0xf3, 0x35, 0x24, 0x21, 0x14, 0x1a, 0xff, 0xff, 0xb7, 0xdc, 0xfa, 0x6b, 0x01, 0x76, + 0x96, 0x0a, 0x09, 0xea, 0xc0, 0x37, 0x32, 0x60, 0x33, 0x8a, 0x47, 0x3e, 0x4e, 0xbb, 0x05, 0x28, + 0xb3, 0x34, 0x14, 0x2b, 0x69, 0x1a, 0x2b, 0x64, 0xd2, 0xd8, 0x7b, 0x69, 0x1a, 0x13, 0x78, 0x9e, + 0xbb, 0x6b, 0x49, 0x1e, 0x12, 0x48, 0x64, 0x5f, 0xcd, 0x75, 0xa5, 0x5c, 0xfa, 0xbb, 0x64, 0xee, + 0x46, 0xc9, 0x4e, 0xbd, 0x92, 0xec, 0xfe, 0xeb, 0x44, 0xf4, 0xcf, 0x02, 0xa0, 0x65, 0x7e, 0x80, + 0xbe, 0x09, 0xb5, 0xc8, 0x77, 0xcd, 0x6c, 0x9b, 0xa5, 0x1a, 0xf9, 0xee, 0x80, 0x77, 0x5a, 0x6e, + 0xf0, 0x6f, 0x21, 0xd7, 0xbf, 0xc5, 0x55, 0xfe, 0x2d, 0x5d, 0xe3, 0x5f, 0xe7, 0xaa, 0x7f, 0xd5, + 0xdc, 0x8f, 0xa2, 0xe5, 0xc3, 0x6c, 0xe4, 0xe0, 0xf2, 0x9b, 0x76, 0xf0, 0x63, 0xa8, 0x67, 0x9b, + 0x09, 0x0c, 0x9b, 0xd0, 0x90, 0x9a, 0xa0, 0x17, 0xef, 0x64, 0xcb, 0xbb, 0xc0, 0x2f, 0x26, 0x5a, + 0x9f, 0x81, 0x96, 0x69, 0x24, 0x6c, 0x0c, 0xc7, 0xa0, 0x65, 0x6a, 0x18, 0xba, 0x07, 0x2a, 0x9e, + 0x59, 0xb6, 0xec, 0x03, 0x0d, 0xee, 0x18, 0x62, 0x88, 0x74, 0x28, 0x87, 0x04, 0x9f, 0xb9, 0x33, + 0xa1, 0x61, 0x70, 0xc7, 0x90, 0x63, 0x86, 0x20, 0x78, 0x8c, 0x67, 0xe2, 0xfd, 0x33, 0x04, 0x1f, + 0xf6, 0xeb, 0x00, 0x9c, 0xaf, 0x99, 0x74, 0x1e, 0xe2, 0xd6, 0x6f, 0x14, 0xd9, 0xf5, 0xc1, 0xcc, + 0x3f, 0x4d, 0xa8, 0x5a, 0x94, 0xe2, 0x69, 0xc8, 0x1f, 0x0f, 0x0b, 0xd8, 0x74, 0x8c, 0x7a, 0x70, + 0x37, 0xc4, 0xc4, 0xa4, 0x64, 0x6e, 0x26, 0xbd, 0x8d, 0x42, 0x5e, 0x6f, 0x63, 0x2b, 0xc4, 0xe4, + 0x94, 0xcc, 0x4f, 0x65, 0x87, 0xe3, 0x3e, 0xfb, 0x2a, 0x61, 0x0a, 0x02, 0x5f, 0x46, 0x25, 0x6f, + 0x5e, 0xcc, 0x8f, 0xfd, 0xd6, 0x1f, 0x0b, 0x00, 0x8b, 0x56, 0x00, 0x7a, 0x17, 0xea, 0x96, 0xe7, + 0x05, 0x17, 0x66, 0x40, 0xdc, 0xb1, 0xeb, 0xcb, 0x97, 0xac, 0xf1, 0xb9, 0x63, 0x3e, 0xc5, 0xde, + 0xa1, 0x10, 0x11, 0x64, 0x2b, 0x79, 0xc6, 0x02, 0xf7, 0x42, 0xcc, 0x2d, 0x84, 0x2e, 0x55, 0x4a, + 0x29, 0x94, 0xe4, 0xf4, 0xf7, 0x61, 0x1b, 0xcf, 0xc2, 0xe0, 0x4a, 0x49, 0xac, 0x19, 0x5b, 0x62, + 0x36, 0x11, 0xeb, 0x42, 0x65, 0x6a, 0xcd, 0x4c, 0x6b, 0x2c, 0xfa, 0x3e, 0x2b, 0x0f, 0x5e, 0x9e, + 0x5a, 0xb3, 0xde, 0x18, 0xa3, 0x2f, 0x61, 0x47, 0xec, 0x6f, 0x13, 0xec, 0x60, 0x9f, 0xba, 0x96, + 0x17, 0xc9, 0x96, 0x50, 0x73, 0x09, 0xdd, 0x0f, 0x02, 0xef, 0x2b, 0xf6, 0xfe, 0x8c, 0x06, 0x07, + 0x1d, 0x2e, 0x30, 0xad, 0x3f, 0xa8, 0x80, 0x96, 0xbb, 0x36, 0xe8, 0x08, 0x54, 0x07, 0x7b, 0xd6, + 0x7c, 0x9d, 0x8f, 0xc6, 0x25, 0x74, 0xfb, 0x09, 0x83, 0x1a, 0x42, 0x03, 0x53, 0x65, 0x8d, 0x92, + 0x64, 0xba, 0xb1, 0xaa, 0x1e, 0x83, 0x1a, 0x42, 0x43, 0xf3, 0xd7, 0x05, 0x50, 0xb9, 0x6e, 0xf4, + 0x0e, 0x54, 0x42, 0x4c, 0x6c, 0xec, 0x8b, 0x87, 0xab, 0xf2, 0xca, 0x9a, 0x4c, 0xa1, 0x47, 0xa0, + 0x9d, 0xb9, 0x33, 0xec, 0x98, 0xe2, 0x0c, 0x79, 0xcf, 0x69, 0x70, 0xc7, 0x00, 0x2e, 0x2f, 0x74, + 0x0f, 0x60, 0x87, 0x5d, 0x90, 0x2f, 0x5c, 0x24, 0x75, 0x14, 0xf3, 0x75, 0x34, 0x32, 0x28, 0xa1, + 0xa9, 0x0f, 0x20, 0x4d, 0x5a, 0x5c, 0xee, 0xaa, 0xba, 0x7e, 0x22, 0x84, 0x8d, 0x0c, 0xaa, 0xbf, + 0x03, 0x77, 0x27, 0x94, 0x86, 0xc2, 0x0c, 0x1e, 0x5b, 0xcd, 0x57, 0x0a, 0xa8, 0xdc, 0x2f, 0x39, + 0x6e, 0x78, 0x17, 0x34, 0x0e, 0x8d, 0xa8, 0x45, 0xe3, 0x48, 0x54, 0x4a, 0x76, 0x56, 0x36, 0x39, + 0xe4, 0x73, 0x4c, 0x64, 0x4c, 0x42, 0x3b, 0x11, 0x49, 0x42, 0x1a, 0xd8, 0xe4, 0x42, 0x84, 0x01, + 0xba, 0x26, 0xe6, 0xed, 0xbb, 0x52, 0x22, 0xc2, 0x27, 0x9f, 0xf2, 0xe6, 0xdc, 0x9b, 0x38, 0x67, + 0x1d, 0x80, 0x6f, 0x20, 0xd2, 0xc7, 0x33, 0xa8, 0x67, 0x5b, 0xc9, 0x2c, 0x1d, 0xf9, 0xf1, 0x74, + 0x84, 0x09, 0x3f, 0xe7, 0x16, 0x4b, 0x47, 0x62, 0x8c, 0x76, 0xa1, 0xe4, 0x5b, 0xf2, 0x4b, 0x8c, + 0xd9, 0xc5, 0x47, 0xfd, 0xb2, 0x28, 0x30, 0xad, 0x6f, 0x41, 0x45, 0x6e, 0xb6, 0xc8, 0xc8, 0x4c, + 0x83, 0x22, 0x33, 0x72, 0xbf, 0xfd, 0xb7, 0xd7, 0x0f, 0x94, 0x7f, 0xbc, 0x7e, 0xa0, 0xbc, 0x7a, + 0xfd, 0x40, 0xf9, 0xd9, 0x9e, 0xb0, 0xd9, 0x0d, 0x3a, 0x56, 0xe8, 0x76, 0xae, 0xf9, 0x8f, 0xc4, + 0xa8, 0xcc, 0x6f, 0xfe, 0xe1, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xcb, 0x93, 0xb9, 0x9e, 0x35, + 0x19, 0x00, 0x00, } diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index 946dca69e2..3f0e74e5b5 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -17,6 +17,8 @@ syntax = "proto3"; import "google/protobuf/duration.proto"; import "google/protobuf/wrappers.proto"; +import "networking/v1alpha3/network_scope.proto"; + // $title: Traffic Routing // $description: Configuration affecting traffic routing. // $location: https://istio.io/docs/reference/config/istio.networking.v1alpha3.html @@ -175,6 +177,12 @@ message VirtualService { // be applied to any port that is not a HTTP or TLS port. The first rule // matching an incoming request is used. repeated TCPRoute tcp = 4; + + // The visibility setting associated with this VirtualService. Set to + // PRIVATE if this virtual service should not be exported, i.e. restrict + // the applicability of this virtual service to only workloads in the same + // namespace as the virtual service. + ConfigScope config_scope = 6; } // Destination indicates the network addressable service to which the diff --git a/proto.lock b/proto.lock index 9002723a2f..633c8f8014 100644 --- a/proto.lock +++ b/proto.lock @@ -690,6 +690,19 @@ "integer": 2 } ] + }, + { + "name": "DefaultNetworkScope.Mode", + "enum_fields": [ + { + "name": "ALL_NAMESPACES", + "integer": 0 + }, + { + "name": "SAME_NAMESPACE", + "integer": 1 + } + ] } ], "messages": [ @@ -826,6 +839,11 @@ "id": 26, "name": "trust_domain", "type": "string" + }, + { + "id": 29, + "name": "default_network_scope", + "type": "DefaultNetworkScope" } ], "reserved_ids": [ @@ -842,6 +860,22 @@ "type": "Mode" } ] + }, + { + "name": "DefaultNetworkScope", + "fields": [ + { + "id": 1, + "name": "import_mode", + "type": "Mode" + }, + { + "id": 2, + "name": "import_namespaces", + "type": "string", + "is_repeated": true + } + ] } ] }, @@ -2447,6 +2481,11 @@ "name": "subsets", "type": "Subset", "is_repeated": true + }, + { + "id": 4, + "name": "config_scope", + "type": "ConfigScope" } ] }, @@ -3110,6 +3149,77 @@ ] } }, + { + "protopath": "networking:/:v1alpha3:/:network_scope.proto", + "def": { + "enums": [ + { + "name": "ConfigScope", + "enum_fields": [ + { + "name": "PUBLIC", + "integer": 0 + }, + { + "name": "PRIVATE", + "integer": 1 + } + ] + } + ], + "messages": [ + { + "name": "NetworkScope", + "fields": [ + { + "id": 1, + "name": "dependencies", + "type": "Dependency", + "is_repeated": true + } + ], + "messages": [ + { + "name": "Import", + "fields": [ + { + "id": 1, + "name": "namespace", + "type": "string" + }, + { + "id": 2, + "name": "host", + "type": "string" + } + ] + }, + { + "name": "Dependency", + "fields": [ + { + "id": 2, + "name": "imports", + "type": "Import", + "is_repeated": true + } + ], + "maps": [ + { + "key_type": "string", + "field": { + "id": 1, + "name": "source_workload_labels", + "type": "string" + } + } + ] + } + ] + } + ] + } + }, { "protopath": "networking:/:v1alpha3:/:service_entry.proto", "def": { @@ -3182,6 +3292,11 @@ "name": "endpoints", "type": "Endpoint", "is_repeated": true + }, + { + "id": 7, + "name": "config_scope", + "type": "ConfigScope" } ], "messages": [ @@ -3269,6 +3384,11 @@ "name": "tcp", "type": "TCPRoute", "is_repeated": true + }, + { + "id": 6, + "name": "config_scope", + "type": "ConfigScope" } ] }, diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index 4a48e30acd..f5462a765d 100644 --- a/python/istio_api/mesh/v1alpha1/config_pb2.py +++ b/python/istio_api/mesh/v1alpha1/config_pb2.py @@ -22,7 +22,7 @@ name='mesh/v1alpha1/config.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xdd\x0b\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x1c \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xe3\r\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x1c \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x12R\n\x15\x64\x65\x66\x61ult_network_scope\x18\x1d \x01(\x0b\x32\x33.istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\x1a\xaf\x01\n\x13\x44\x65\x66\x61ultNetworkScope\x12M\n\x0bimport_mode\x18\x01 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope.Mode\x12\x19\n\x11import_namespaces\x18\x02 \x03(\t\".\n\x04Mode\x12\x12\n\x0e\x41LL_NAMESPACES\x10\x00\x12\x12\n\x0eSAME_NAMESPACE\x10\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mesh_dot_v1alpha1_dot_proxy__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_destination__rule__pb2.DESCRIPTOR,]) @@ -49,11 +49,33 @@ ], containing_type=None, options=None, - serialized_start=1426, - serialized_end=1504, + serialized_start=1510, + serialized_end=1588, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) +_MESHCONFIG_DEFAULTNETWORKSCOPE_MODE = _descriptor.EnumDescriptor( + name='Mode', + full_name='istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope.Mode', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='ALL_NAMESPACES', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SAME_NAMESPACE', index=1, number=1, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=1720, + serialized_end=1766, +) +_sym_db.RegisterEnumDescriptor(_MESHCONFIG_DEFAULTNETWORKSCOPE_MODE) + _MESHCONFIG_INGRESSCONTROLLERMODE = _descriptor.EnumDescriptor( name='IngressControllerMode', full_name='istio.mesh.v1alpha1.MeshConfig.IngressControllerMode', @@ -75,8 +97,8 @@ ], containing_type=None, options=None, - serialized_start=1506, - serialized_end=1563, + serialized_start=1768, + serialized_end=1825, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -97,8 +119,8 @@ ], containing_type=None, options=None, - serialized_start=1565, - serialized_end=1603, + serialized_start=1827, + serialized_end=1865, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -119,8 +141,8 @@ ], containing_type=None, options=None, - serialized_start=1605, - serialized_end=1644, + serialized_start=1867, + serialized_end=1906, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING) @@ -152,8 +174,46 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1323, - serialized_end=1504, + serialized_start=1407, + serialized_end=1588, +) + +_MESHCONFIG_DEFAULTNETWORKSCOPE = _descriptor.Descriptor( + name='DefaultNetworkScope', + full_name='istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='import_mode', full_name='istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope.import_mode', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='import_namespaces', full_name='istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope.import_namespaces', index=1, + number=2, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _MESHCONFIG_DEFAULTNETWORKSCOPE_MODE, + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1591, + serialized_end=1766, ) _MESHCONFIG = _descriptor.Descriptor( @@ -345,10 +405,17 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='default_network_scope', full_name='istio.mesh.v1alpha1.MeshConfig.default_network_scope', index=26, + number=29, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], - nested_types=[_MESHCONFIG_OUTBOUNDTRAFFICPOLICY, ], + nested_types=[_MESHCONFIG_OUTBOUNDTRAFFICPOLICY, _MESHCONFIG_DEFAULTNETWORKSCOPE, ], enum_types=[ _MESHCONFIG_INGRESSCONTROLLERMODE, _MESHCONFIG_AUTHPOLICY, @@ -361,7 +428,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1656, + serialized_end=1918, ) @@ -398,13 +465,16 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1658, - serialized_end=1751, + serialized_start=1920, + serialized_end=2013, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.containing_type = _MESHCONFIG _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.containing_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY +_MESHCONFIG_DEFAULTNETWORKSCOPE.fields_by_name['import_mode'].enum_type = _MESHCONFIG_DEFAULTNETWORKSCOPE_MODE +_MESHCONFIG_DEFAULTNETWORKSCOPE.containing_type = _MESHCONFIG +_MESHCONFIG_DEFAULTNETWORKSCOPE_MODE.containing_type = _MESHCONFIG_DEFAULTNETWORKSCOPE _MESHCONFIG.fields_by_name['connect_timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _MESHCONFIG.fields_by_name['tcp_keepalive'].message_type = networking_dot_v1alpha3_dot_destination__rule__pb2._CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE _MESHCONFIG.fields_by_name['ingress_controller_mode'].enum_type = _MESHCONFIG_INGRESSCONTROLLERMODE @@ -415,6 +485,7 @@ _MESHCONFIG.fields_by_name['outbound_traffic_policy'].message_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY _MESHCONFIG.fields_by_name['sds_refresh_delay'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _MESHCONFIG.fields_by_name['config_sources'].message_type = _CONFIGSOURCE +_MESHCONFIG.fields_by_name['default_network_scope'].message_type = _MESHCONFIG_DEFAULTNETWORKSCOPE _MESHCONFIG_INGRESSCONTROLLERMODE.containing_type = _MESHCONFIG _MESHCONFIG_AUTHPOLICY.containing_type = _MESHCONFIG _MESHCONFIG_ACCESSLOGENCODING.containing_type = _MESHCONFIG @@ -431,12 +502,20 @@ # @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy) )) , + + DefaultNetworkScope = _reflection.GeneratedProtocolMessageType('DefaultNetworkScope', (_message.Message,), dict( + DESCRIPTOR = _MESHCONFIG_DEFAULTNETWORKSCOPE, + __module__ = 'mesh.v1alpha1.config_pb2' + # @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope) + )) + , DESCRIPTOR = _MESHCONFIG, __module__ = 'mesh.v1alpha1.config_pb2' # @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.MeshConfig) )) _sym_db.RegisterMessage(MeshConfig) _sym_db.RegisterMessage(MeshConfig.OutboundTrafficPolicy) +_sym_db.RegisterMessage(MeshConfig.DefaultNetworkScope) ConfigSource = _reflection.GeneratedProtocolMessageType('ConfigSource', (_message.Message,), dict( DESCRIPTOR = _CONFIGSOURCE, diff --git a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py index e352885f81..23e08904dc 100644 --- a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py +++ b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py @@ -15,6 +15,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from networking.v1alpha3 import virtual_service_pb2 as networking_dot_v1alpha3_dot_virtual__service__pb2 +from networking.v1alpha3 import network_scope_pb2 as networking_dot_v1alpha3_dot_network__scope__pb2 from gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 @@ -22,9 +23,9 @@ name='networking/v1alpha3/destination_rule.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\x14gogoproto/gogo.proto\"\x95\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x04\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\xf3\x04\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1a\xb3\x02\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x03 \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x1at\n\x0cTcpKeepalive\x12\x0e\n\x06probes\x18\x01 \x01(\r\x12\'\n\x04time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xcc\x01\n\x10OutlierDetection\x12\x1a\n\x12\x63onsecutive_errors\x18\x01 \x01(\x05\x12+\n\x08interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12\x62\x61se_ejection_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14max_ejection_percent\x18\x04 \x01(\x05\x12\x1a\n\x12min_health_percent\x18\x05 \x01(\x05\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\'networking/v1alpha3/network_scope.proto\x1a\x14gogoproto/gogo.proto\"\xd3\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\x12<\n\x0c\x63onfig_scope\x18\x04 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x04\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\xf3\x04\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1a\xb3\x02\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x03 \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x1at\n\x0cTcpKeepalive\x12\x0e\n\x06probes\x18\x01 \x01(\r\x12\'\n\x04time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xcc\x01\n\x10OutlierDetection\x12\x1a\n\x12\x63onsecutive_errors\x18\x01 \x01(\x05\x12+\n\x08interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12\x62\x61se_ejection_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14max_ejection_percent\x18\x04 \x01(\x05\x12\x1a\n\x12min_health_percent\x18\x05 \x01(\x05\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , - dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_virtual__service__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,]) + dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_virtual__service__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_network__scope__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,]) @@ -53,8 +54,8 @@ ], containing_type=None, options=None, - serialized_start=1748, - serialized_end=1820, + serialized_start=1851, + serialized_end=1923, ) _sym_db.RegisterEnumDescriptor(_LOADBALANCERSETTINGS_SIMPLELB) @@ -83,8 +84,8 @@ ], containing_type=None, options=None, - serialized_start=2864, - serialized_end=2928, + serialized_start=2967, + serialized_end=3031, ) _sym_db.RegisterEnumDescriptor(_TLSSETTINGS_TLSMODE) @@ -117,6 +118,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='config_scope', full_name='istio.networking.v1alpha3.DestinationRule.config_scope', index=3, + number=4, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -129,8 +137,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=171, - serialized_end=320, + serialized_start=212, + serialized_end=423, ) @@ -188,8 +196,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=703, - serialized_end=1050, + serialized_start=806, + serialized_end=1153, ) _TRAFFICPOLICY = _descriptor.Descriptor( @@ -246,8 +254,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=323, - serialized_end=1050, + serialized_start=426, + serialized_end=1153, ) @@ -284,8 +292,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1206, - serialized_end=1251, + serialized_start=1309, + serialized_end=1354, ) _SUBSET = _descriptor.Descriptor( @@ -328,8 +336,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1053, - serialized_end=1251, + serialized_start=1156, + serialized_end=1354, ) @@ -373,8 +381,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1648, - serialized_end=1734, + serialized_start=1751, + serialized_end=1837, ) _LOADBALANCERSETTINGS_CONSISTENTHASHLB = _descriptor.Descriptor( @@ -427,8 +435,8 @@ name='hash_key', full_name='istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.hash_key', index=0, containing_type=None, fields=[]), ], - serialized_start=1448, - serialized_end=1746, + serialized_start=1551, + serialized_end=1849, ) _LOADBALANCERSETTINGS = _descriptor.Descriptor( @@ -468,8 +476,8 @@ name='lb_policy', full_name='istio.networking.v1alpha3.LoadBalancerSettings.lb_policy', index=0, containing_type=None, fields=[]), ], - serialized_start=1254, - serialized_end=1833, + serialized_start=1357, + serialized_end=1936, ) @@ -513,8 +521,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2208, - serialized_end=2324, + serialized_start=2311, + serialized_end=2427, ) _CONNECTIONPOOLSETTINGS_TCPSETTINGS = _descriptor.Descriptor( @@ -557,8 +565,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2017, - serialized_end=2324, + serialized_start=2120, + serialized_end=2427, ) _CONNECTIONPOOLSETTINGS_HTTPSETTINGS = _descriptor.Descriptor( @@ -608,8 +616,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2327, - serialized_end=2463, + serialized_start=2430, + serialized_end=2566, ) _CONNECTIONPOOLSETTINGS = _descriptor.Descriptor( @@ -645,8 +653,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1836, - serialized_end=2463, + serialized_start=1939, + serialized_end=2566, ) @@ -704,8 +712,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2466, - serialized_end=2670, + serialized_start=2569, + serialized_end=2773, ) @@ -771,12 +779,13 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2673, - serialized_end=2928, + serialized_start=2776, + serialized_end=3031, ) _DESTINATIONRULE.fields_by_name['traffic_policy'].message_type = _TRAFFICPOLICY _DESTINATIONRULE.fields_by_name['subsets'].message_type = _SUBSET +_DESTINATIONRULE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_network__scope__pb2._CONFIGSCOPE _TRAFFICPOLICY_PORTTRAFFICPOLICY.fields_by_name['port'].message_type = networking_dot_v1alpha3_dot_virtual__service__pb2._PORTSELECTOR _TRAFFICPOLICY_PORTTRAFFICPOLICY.fields_by_name['load_balancer'].message_type = _LOADBALANCERSETTINGS _TRAFFICPOLICY_PORTTRAFFICPOLICY.fields_by_name['connection_pool'].message_type = _CONNECTIONPOOLSETTINGS diff --git a/python/istio_api/networking/v1alpha3/network_scope_pb2.py b/python/istio_api/networking/v1alpha3/network_scope_pb2.py new file mode 100644 index 0000000000..2fd1a36238 --- /dev/null +++ b/python/istio_api/networking/v1alpha3/network_scope_pb2.py @@ -0,0 +1,241 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: networking/v1alpha3/network_scope.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +from google.protobuf import descriptor_pb2 +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='networking/v1alpha3/network_scope.proto', + package='istio.networking.v1alpha3', + syntax='proto3', + serialized_pb=_b('\n\'networking/v1alpha3/network_scope.proto\x12\x19istio.networking.v1alpha3\"\xfe\x02\n\x0cNetworkScope\x12H\n\x0c\x64\x65pendencies\x18\x01 \x03(\x0b\x32\x32.istio.networking.v1alpha3.NetworkScope.Dependency\x1a)\n\x06Import\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x1a\xf8\x01\n\nDependency\x12l\n\x16source_workload_labels\x18\x01 \x03(\x0b\x32L.istio.networking.v1alpha3.NetworkScope.Dependency.SourceWorkloadLabelsEntry\x12?\n\x07imports\x18\x02 \x03(\x0b\x32..istio.networking.v1alpha3.NetworkScope.Import\x1a;\n\x19SourceWorkloadLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*&\n\x0b\x43onfigScope\x12\n\n\x06PUBLIC\x10\x00\x12\x0b\n\x07PRIVATE\x10\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') +) + +_CONFIGSCOPE = _descriptor.EnumDescriptor( + name='ConfigScope', + full_name='istio.networking.v1alpha3.ConfigScope', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='PUBLIC', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='PRIVATE', index=1, number=1, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=455, + serialized_end=493, +) +_sym_db.RegisterEnumDescriptor(_CONFIGSCOPE) + +ConfigScope = enum_type_wrapper.EnumTypeWrapper(_CONFIGSCOPE) +PUBLIC = 0 +PRIVATE = 1 + + + +_NETWORKSCOPE_IMPORT = _descriptor.Descriptor( + name='Import', + full_name='istio.networking.v1alpha3.NetworkScope.Import', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='namespace', full_name='istio.networking.v1alpha3.NetworkScope.Import.namespace', 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='host', full_name='istio.networking.v1alpha3.NetworkScope.Import.host', 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=[ + ], + serialized_start=161, + serialized_end=202, +) + +_NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY = _descriptor.Descriptor( + name='SourceWorkloadLabelsEntry', + full_name='istio.networking.v1alpha3.NetworkScope.Dependency.SourceWorkloadLabelsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='istio.networking.v1alpha3.NetworkScope.Dependency.SourceWorkloadLabelsEntry.key', 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='value', full_name='istio.networking.v1alpha3.NetworkScope.Dependency.SourceWorkloadLabelsEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=394, + serialized_end=453, +) + +_NETWORKSCOPE_DEPENDENCY = _descriptor.Descriptor( + name='Dependency', + full_name='istio.networking.v1alpha3.NetworkScope.Dependency', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='source_workload_labels', full_name='istio.networking.v1alpha3.NetworkScope.Dependency.source_workload_labels', index=0, + number=1, 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, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='imports', full_name='istio.networking.v1alpha3.NetworkScope.Dependency.imports', 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, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=205, + serialized_end=453, +) + +_NETWORKSCOPE = _descriptor.Descriptor( + name='NetworkScope', + full_name='istio.networking.v1alpha3.NetworkScope', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='dependencies', full_name='istio.networking.v1alpha3.NetworkScope.dependencies', index=0, + number=1, 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, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_NETWORKSCOPE_IMPORT, _NETWORKSCOPE_DEPENDENCY, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=71, + serialized_end=453, +) + +_NETWORKSCOPE_IMPORT.containing_type = _NETWORKSCOPE +_NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY.containing_type = _NETWORKSCOPE_DEPENDENCY +_NETWORKSCOPE_DEPENDENCY.fields_by_name['source_workload_labels'].message_type = _NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY +_NETWORKSCOPE_DEPENDENCY.fields_by_name['imports'].message_type = _NETWORKSCOPE_IMPORT +_NETWORKSCOPE_DEPENDENCY.containing_type = _NETWORKSCOPE +_NETWORKSCOPE.fields_by_name['dependencies'].message_type = _NETWORKSCOPE_DEPENDENCY +DESCRIPTOR.message_types_by_name['NetworkScope'] = _NETWORKSCOPE +DESCRIPTOR.enum_types_by_name['ConfigScope'] = _CONFIGSCOPE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +NetworkScope = _reflection.GeneratedProtocolMessageType('NetworkScope', (_message.Message,), dict( + + Import = _reflection.GeneratedProtocolMessageType('Import', (_message.Message,), dict( + DESCRIPTOR = _NETWORKSCOPE_IMPORT, + __module__ = 'networking.v1alpha3.network_scope_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.NetworkScope.Import) + )) + , + + Dependency = _reflection.GeneratedProtocolMessageType('Dependency', (_message.Message,), dict( + + SourceWorkloadLabelsEntry = _reflection.GeneratedProtocolMessageType('SourceWorkloadLabelsEntry', (_message.Message,), dict( + DESCRIPTOR = _NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY, + __module__ = 'networking.v1alpha3.network_scope_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.NetworkScope.Dependency.SourceWorkloadLabelsEntry) + )) + , + DESCRIPTOR = _NETWORKSCOPE_DEPENDENCY, + __module__ = 'networking.v1alpha3.network_scope_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.NetworkScope.Dependency) + )) + , + DESCRIPTOR = _NETWORKSCOPE, + __module__ = 'networking.v1alpha3.network_scope_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.NetworkScope) + )) +_sym_db.RegisterMessage(NetworkScope) +_sym_db.RegisterMessage(NetworkScope.Import) +_sym_db.RegisterMessage(NetworkScope.Dependency) +_sym_db.RegisterMessage(NetworkScope.Dependency.SourceWorkloadLabelsEntry) + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z istio.io/api/networking/v1alpha3')) +_NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY.has_options = True +_NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) +# @@protoc_insertion_point(module_scope) diff --git a/python/istio_api/networking/v1alpha3/service_entry_pb2.py b/python/istio_api/networking/v1alpha3/service_entry_pb2.py index 09d81c603a..b9d58bd667 100644 --- a/python/istio_api/networking/v1alpha3/service_entry_pb2.py +++ b/python/istio_api/networking/v1alpha3/service_entry_pb2.py @@ -14,15 +14,16 @@ from networking.v1alpha3 import gateway_pb2 as networking_dot_v1alpha3_dot_gateway__pb2 +from networking.v1alpha3 import network_scope_pb2 as networking_dot_v1alpha3_dot_network__scope__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='networking/v1alpha3/service_entry.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n\'networking/v1alpha3/service_entry.proto\x12\x19istio.networking.v1alpha3\x1a!networking/v1alpha3/gateway.proto\"\xd8\x05\n\x0cServiceEntry\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x11\n\taddresses\x18\x02 \x03(\t\x12.\n\x05ports\x18\x03 \x03(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x42\n\x08location\x18\x04 \x01(\x0e\x32\x30.istio.networking.v1alpha3.ServiceEntry.Location\x12\x46\n\nresolution\x18\x05 \x01(\x0e\x32\x32.istio.networking.v1alpha3.ServiceEntry.Resolution\x12\x43\n\tendpoints\x18\x06 \x03(\x0b\x32\x30.istio.networking.v1alpha3.ServiceEntry.Endpoint\x1a\xc5\x02\n\x08\x45ndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12J\n\x05ports\x18\x02 \x03(\x0b\x32;.istio.networking.v1alpha3.ServiceEntry.Endpoint.PortsEntry\x12L\n\x06labels\x18\x03 \x03(\x0b\x32<.istio.networking.v1alpha3.ServiceEntry.Endpoint.LabelsEntry\x12\x0f\n\x07network\x18\x04 \x01(\t\x12\x10\n\x08locality\x18\x05 \x01(\t\x12\x0e\n\x06weight\x18\x06 \x01(\r\x1a,\n\nPortsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"0\n\x08Location\x12\x11\n\rMESH_EXTERNAL\x10\x00\x12\x11\n\rMESH_INTERNAL\x10\x01\"+\n\nResolution\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06STATIC\x10\x01\x12\x07\n\x03\x44NS\x10\x02\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n\'networking/v1alpha3/service_entry.proto\x12\x19istio.networking.v1alpha3\x1a!networking/v1alpha3/gateway.proto\x1a\'networking/v1alpha3/network_scope.proto\"\x96\x06\n\x0cServiceEntry\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x11\n\taddresses\x18\x02 \x03(\t\x12.\n\x05ports\x18\x03 \x03(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x42\n\x08location\x18\x04 \x01(\x0e\x32\x30.istio.networking.v1alpha3.ServiceEntry.Location\x12\x46\n\nresolution\x18\x05 \x01(\x0e\x32\x32.istio.networking.v1alpha3.ServiceEntry.Resolution\x12\x43\n\tendpoints\x18\x06 \x03(\x0b\x32\x30.istio.networking.v1alpha3.ServiceEntry.Endpoint\x12<\n\x0c\x63onfig_scope\x18\x07 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\x1a\xc5\x02\n\x08\x45ndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12J\n\x05ports\x18\x02 \x03(\x0b\x32;.istio.networking.v1alpha3.ServiceEntry.Endpoint.PortsEntry\x12L\n\x06labels\x18\x03 \x03(\x0b\x32<.istio.networking.v1alpha3.ServiceEntry.Endpoint.LabelsEntry\x12\x0f\n\x07network\x18\x04 \x01(\t\x12\x10\n\x08locality\x18\x05 \x01(\t\x12\x0e\n\x06weight\x18\x06 \x01(\r\x1a,\n\nPortsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"0\n\x08Location\x12\x11\n\rMESH_EXTERNAL\x10\x00\x12\x11\n\rMESH_INTERNAL\x10\x01\"+\n\nResolution\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06STATIC\x10\x01\x12\x07\n\x03\x44NS\x10\x02\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , - dependencies=[networking_dot_v1alpha3_dot_gateway__pb2.DESCRIPTOR,]) + dependencies=[networking_dot_v1alpha3_dot_gateway__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_network__scope__pb2.DESCRIPTOR,]) @@ -43,8 +44,8 @@ ], containing_type=None, options=None, - serialized_start=741, - serialized_end=789, + serialized_start=844, + serialized_end=892, ) _sym_db.RegisterEnumDescriptor(_SERVICEENTRY_LOCATION) @@ -69,8 +70,8 @@ ], containing_type=None, options=None, - serialized_start=791, - serialized_end=834, + serialized_start=894, + serialized_end=937, ) _sym_db.RegisterEnumDescriptor(_SERVICEENTRY_RESOLUTION) @@ -108,8 +109,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=648, - serialized_end=692, + serialized_start=751, + serialized_end=795, ) _SERVICEENTRY_ENDPOINT_LABELSENTRY = _descriptor.Descriptor( @@ -145,8 +146,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=694, - serialized_end=739, + serialized_start=797, + serialized_end=842, ) _SERVICEENTRY_ENDPOINT = _descriptor.Descriptor( @@ -210,8 +211,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=414, - serialized_end=739, + serialized_start=517, + serialized_end=842, ) _SERVICEENTRY = _descriptor.Descriptor( @@ -263,6 +264,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='config_scope', full_name='istio.networking.v1alpha3.ServiceEntry.config_scope', index=6, + number=7, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -277,8 +285,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=106, - serialized_end=834, + serialized_start=147, + serialized_end=937, ) _SERVICEENTRY_ENDPOINT_PORTSENTRY.containing_type = _SERVICEENTRY_ENDPOINT @@ -290,6 +298,7 @@ _SERVICEENTRY.fields_by_name['location'].enum_type = _SERVICEENTRY_LOCATION _SERVICEENTRY.fields_by_name['resolution'].enum_type = _SERVICEENTRY_RESOLUTION _SERVICEENTRY.fields_by_name['endpoints'].message_type = _SERVICEENTRY_ENDPOINT +_SERVICEENTRY.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_network__scope__pb2._CONFIGSCOPE _SERVICEENTRY_LOCATION.containing_type = _SERVICEENTRY _SERVICEENTRY_RESOLUTION.containing_type = _SERVICEENTRY DESCRIPTOR.message_types_by_name['ServiceEntry'] = _SERVICEENTRY diff --git a/python/istio_api/networking/v1alpha3/virtual_service_pb2.py b/python/istio_api/networking/v1alpha3/virtual_service_pb2.py index 69497908ab..9a6433a753 100644 --- a/python/istio_api/networking/v1alpha3/virtual_service_pb2.py +++ b/python/istio_api/networking/v1alpha3/virtual_service_pb2.py @@ -15,15 +15,16 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 +from networking.v1alpha3 import network_scope_pb2 as networking_dot_v1alpha3_dot_network__scope__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='networking/v1alpha3/virtual_service.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n)networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc9\x01\n\x0eVirtualService\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x10\n\x08gateways\x18\x02 \x03(\t\x12\x32\n\x04http\x18\x03 \x03(\x0b\x32$.istio.networking.v1alpha3.HTTPRoute\x12\x30\n\x03tls\x18\x05 \x03(\x0b\x32#.istio.networking.v1alpha3.TLSRoute\x12\x30\n\x03tcp\x18\x04 \x03(\x0b\x32#.istio.networking.v1alpha3.TCPRoute\"b\n\x0b\x44\x65stination\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0e\n\x06subset\x18\x02 \x01(\t\x12\x35\n\x04port\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\"\xf9\x08\n\tHTTPRoute\x12:\n\x05match\x18\x01 \x03(\x0b\x32+.istio.networking.v1alpha3.HTTPMatchRequest\x12>\n\x05route\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.HTTPRouteDestination\x12\x39\n\x08redirect\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.HTTPRedirect\x12\x37\n\x07rewrite\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.HTTPRewrite\x12\x19\n\x11websocket_upgrade\x18\x05 \x01(\x08\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x07retries\x18\x07 \x01(\x0b\x32$.istio.networking.v1alpha3.HTTPRetry\x12<\n\x05\x66\x61ult\x18\x08 \x01(\x0b\x32-.istio.networking.v1alpha3.HTTPFaultInjection\x12\x36\n\x06mirror\x18\t \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12:\n\x0b\x63ors_policy\x18\n \x01(\x0b\x32%.istio.networking.v1alpha3.CorsPolicy\x12S\n\x0e\x61ppend_headers\x18\x0b \x03(\x0b\x32\x37.istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntryB\x02\x18\x01\x12#\n\x17remove_response_headers\x18\x0c \x03(\tB\x02\x18\x01\x12\x64\n\x17\x61ppend_response_headers\x18\r \x03(\x0b\x32?.istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x0e \x03(\tB\x02\x18\x01\x12\x62\n\x16\x61ppend_request_headers\x18\x0f \x03(\x0b\x32>.istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x10 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a\x34\n\x12\x41ppendHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x03\n\x07Headers\x12\x44\n\x07request\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x12\x45\n\x08response\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x1a\x90\x02\n\x10HeaderOperations\x12I\n\x03set\x18\x01 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry\x12I\n\x03\x61\x64\x64\x18\x02 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry\x12\x0e\n\x06remove\x18\x03 \x03(\t\x1a*\n\x08SetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a*\n\x08\x41\x64\x64\x45ntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x84\x01\n\x08TLSRoute\x12<\n\x05match\x18\x01 \x03(\x0b\x32-.istio.networking.v1alpha3.TLSMatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\x83\x01\n\x08TCPRoute\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.networking.v1alpha3.L4MatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\xc0\x04\n\x10HTTPMatchRequest\x12\x33\n\x03uri\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06scheme\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06method\x18\x03 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x39\n\tauthority\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry\x12\x0c\n\x04port\x18\x06 \x01(\r\x12T\n\rsource_labels\x18\x07 \x03(\x0b\x32=.istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x08 \x03(\t\x1aV\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch:\x02\x38\x01\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbc\x04\n\x14HTTPRouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12#\n\x17remove_response_headers\x18\x03 \x03(\tB\x02\x18\x01\x12o\n\x17\x61ppend_response_headers\x18\x04 \x03(\x0b\x32J.istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x05 \x03(\tB\x02\x18\x01\x12m\n\x16\x61ppend_request_headers\x18\x06 \x03(\x0b\x32I.istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x07 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\x10RouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"\xf3\x01\n\x11L4MatchAttributes\x12\x1b\n\x13\x64\x65stination_subnets\x18\x01 \x03(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x15\n\rsource_subnet\x18\x03 \x01(\t\x12U\n\rsource_labels\x18\x04 \x03(\x0b\x32>.istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x05 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x88\x02\n\x12TLSMatchAttributes\x12\x11\n\tsni_hosts\x18\x01 \x03(\t\x12\x1b\n\x13\x64\x65stination_subnets\x18\x02 \x03(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x15\n\rsource_subnet\x18\x04 \x01(\t\x12V\n\rsource_labels\x18\x05 \x03(\x0b\x32?.istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x06 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\".\n\x0cHTTPRedirect\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"-\n\x0bHTTPRewrite\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"c\n\tHTTPRetry\x12\x10\n\x08\x61ttempts\x18\x01 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08retry_on\x18\x03 \x01(\t\"\xcb\x01\n\nCorsPolicy\x12\x14\n\x0c\x61llow_origin\x18\x01 \x03(\t\x12\x15\n\rallow_methods\x18\x02 \x03(\t\x12\x15\n\rallow_headers\x18\x03 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x04 \x03(\t\x12*\n\x07max_age\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x11\x61llow_credentials\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"\x9a\x04\n\x12HTTPFaultInjection\x12\x42\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Delay\x12\x42\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Abort\x1a\xd1\x01\n\x05\x44\x65lay\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x30\n\x0b\x66ixed_delay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\x11\x65xponential_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x11\n\x0fhttp_delay_type\x1a\xa7\x01\n\x05\x41\x62ort\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x15\n\x0bhttp_status\x18\x02 \x01(\x05H\x00\x12\x15\n\x0bgrpc_status\x18\x03 \x01(\tH\x00\x12\x15\n\x0bhttp2_error\x18\x04 \x01(\tH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x0c\n\nerror_type\"8\n\x0cPortSelector\x12\x10\n\x06number\x18\x01 \x01(\rH\x00\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x42\x06\n\x04port\"\x18\n\x07Percent\x12\r\n\x05value\x18\x01 \x01(\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n)networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\'networking/v1alpha3/network_scope.proto\"\x87\x02\n\x0eVirtualService\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x10\n\x08gateways\x18\x02 \x03(\t\x12\x32\n\x04http\x18\x03 \x03(\x0b\x32$.istio.networking.v1alpha3.HTTPRoute\x12\x30\n\x03tls\x18\x05 \x03(\x0b\x32#.istio.networking.v1alpha3.TLSRoute\x12\x30\n\x03tcp\x18\x04 \x03(\x0b\x32#.istio.networking.v1alpha3.TCPRoute\x12<\n\x0c\x63onfig_scope\x18\x06 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\"b\n\x0b\x44\x65stination\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0e\n\x06subset\x18\x02 \x01(\t\x12\x35\n\x04port\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\"\xf9\x08\n\tHTTPRoute\x12:\n\x05match\x18\x01 \x03(\x0b\x32+.istio.networking.v1alpha3.HTTPMatchRequest\x12>\n\x05route\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.HTTPRouteDestination\x12\x39\n\x08redirect\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.HTTPRedirect\x12\x37\n\x07rewrite\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.HTTPRewrite\x12\x19\n\x11websocket_upgrade\x18\x05 \x01(\x08\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x07retries\x18\x07 \x01(\x0b\x32$.istio.networking.v1alpha3.HTTPRetry\x12<\n\x05\x66\x61ult\x18\x08 \x01(\x0b\x32-.istio.networking.v1alpha3.HTTPFaultInjection\x12\x36\n\x06mirror\x18\t \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12:\n\x0b\x63ors_policy\x18\n \x01(\x0b\x32%.istio.networking.v1alpha3.CorsPolicy\x12S\n\x0e\x61ppend_headers\x18\x0b \x03(\x0b\x32\x37.istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntryB\x02\x18\x01\x12#\n\x17remove_response_headers\x18\x0c \x03(\tB\x02\x18\x01\x12\x64\n\x17\x61ppend_response_headers\x18\r \x03(\x0b\x32?.istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x0e \x03(\tB\x02\x18\x01\x12\x62\n\x16\x61ppend_request_headers\x18\x0f \x03(\x0b\x32>.istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x10 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a\x34\n\x12\x41ppendHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x03\n\x07Headers\x12\x44\n\x07request\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x12\x45\n\x08response\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x1a\x90\x02\n\x10HeaderOperations\x12I\n\x03set\x18\x01 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry\x12I\n\x03\x61\x64\x64\x18\x02 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry\x12\x0e\n\x06remove\x18\x03 \x03(\t\x1a*\n\x08SetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a*\n\x08\x41\x64\x64\x45ntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x84\x01\n\x08TLSRoute\x12<\n\x05match\x18\x01 \x03(\x0b\x32-.istio.networking.v1alpha3.TLSMatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\x83\x01\n\x08TCPRoute\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.networking.v1alpha3.L4MatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\xc0\x04\n\x10HTTPMatchRequest\x12\x33\n\x03uri\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06scheme\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06method\x18\x03 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x39\n\tauthority\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry\x12\x0c\n\x04port\x18\x06 \x01(\r\x12T\n\rsource_labels\x18\x07 \x03(\x0b\x32=.istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x08 \x03(\t\x1aV\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch:\x02\x38\x01\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbc\x04\n\x14HTTPRouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12#\n\x17remove_response_headers\x18\x03 \x03(\tB\x02\x18\x01\x12o\n\x17\x61ppend_response_headers\x18\x04 \x03(\x0b\x32J.istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x05 \x03(\tB\x02\x18\x01\x12m\n\x16\x61ppend_request_headers\x18\x06 \x03(\x0b\x32I.istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x07 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\x10RouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"\xf3\x01\n\x11L4MatchAttributes\x12\x1b\n\x13\x64\x65stination_subnets\x18\x01 \x03(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x15\n\rsource_subnet\x18\x03 \x01(\t\x12U\n\rsource_labels\x18\x04 \x03(\x0b\x32>.istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x05 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x88\x02\n\x12TLSMatchAttributes\x12\x11\n\tsni_hosts\x18\x01 \x03(\t\x12\x1b\n\x13\x64\x65stination_subnets\x18\x02 \x03(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x15\n\rsource_subnet\x18\x04 \x01(\t\x12V\n\rsource_labels\x18\x05 \x03(\x0b\x32?.istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x06 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\".\n\x0cHTTPRedirect\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"-\n\x0bHTTPRewrite\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"c\n\tHTTPRetry\x12\x10\n\x08\x61ttempts\x18\x01 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08retry_on\x18\x03 \x01(\t\"\xcb\x01\n\nCorsPolicy\x12\x14\n\x0c\x61llow_origin\x18\x01 \x03(\t\x12\x15\n\rallow_methods\x18\x02 \x03(\t\x12\x15\n\rallow_headers\x18\x03 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x04 \x03(\t\x12*\n\x07max_age\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x11\x61llow_credentials\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"\x9a\x04\n\x12HTTPFaultInjection\x12\x42\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Delay\x12\x42\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Abort\x1a\xd1\x01\n\x05\x44\x65lay\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x30\n\x0b\x66ixed_delay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\x11\x65xponential_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x11\n\x0fhttp_delay_type\x1a\xa7\x01\n\x05\x41\x62ort\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x15\n\x0bhttp_status\x18\x02 \x01(\x05H\x00\x12\x15\n\x0bgrpc_status\x18\x03 \x01(\tH\x00\x12\x15\n\x0bhttp2_error\x18\x04 \x01(\tH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x0c\n\nerror_type\"8\n\x0cPortSelector\x12\x10\n\x06number\x18\x01 \x01(\rH\x00\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x42\x06\n\x04port\"\x18\n\x07Percent\x12\r\n\x05value\x18\x01 \x01(\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , - dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,]) + dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_network__scope__pb2.DESCRIPTOR,]) @@ -70,6 +71,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='config_scope', full_name='istio.networking.v1alpha3.VirtualService.config_scope', index=5, + number=6, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -82,8 +90,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=137, - serialized_end=338, + serialized_start=178, + serialized_end=441, ) @@ -127,8 +135,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=340, - serialized_end=438, + serialized_start=443, + serialized_end=541, ) @@ -165,8 +173,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1411, - serialized_end=1463, + serialized_start=1514, + serialized_end=1566, ) _HTTPROUTE_APPENDRESPONSEHEADERSENTRY = _descriptor.Descriptor( @@ -202,8 +210,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1465, - serialized_end=1525, + serialized_start=1568, + serialized_end=1628, ) _HTTPROUTE_APPENDREQUESTHEADERSENTRY = _descriptor.Descriptor( @@ -239,8 +247,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1527, - serialized_end=1586, + serialized_start=1630, + serialized_end=1689, ) _HTTPROUTE = _descriptor.Descriptor( @@ -374,8 +382,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=441, - serialized_end=1586, + serialized_start=544, + serialized_end=1689, ) @@ -412,8 +420,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1928, - serialized_end=1970, + serialized_start=2031, + serialized_end=2073, ) _HEADERS_HEADEROPERATIONS_ADDENTRY = _descriptor.Descriptor( @@ -449,8 +457,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1972, - serialized_end=2014, + serialized_start=2075, + serialized_end=2117, ) _HEADERS_HEADEROPERATIONS = _descriptor.Descriptor( @@ -493,8 +501,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1742, - serialized_end=2014, + serialized_start=1845, + serialized_end=2117, ) _HEADERS = _descriptor.Descriptor( @@ -530,8 +538,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1589, - serialized_end=2014, + serialized_start=1692, + serialized_end=2117, ) @@ -568,8 +576,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2017, - serialized_end=2149, + serialized_start=2120, + serialized_end=2252, ) @@ -606,8 +614,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2152, - serialized_end=2283, + serialized_start=2255, + serialized_end=2386, ) @@ -644,8 +652,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2723, - serialized_end=2809, + serialized_start=2826, + serialized_end=2912, ) _HTTPMATCHREQUEST_SOURCELABELSENTRY = _descriptor.Descriptor( @@ -681,8 +689,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2811, - serialized_end=2862, + serialized_start=2914, + serialized_end=2965, ) _HTTPMATCHREQUEST = _descriptor.Descriptor( @@ -760,8 +768,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2286, - serialized_end=2862, + serialized_start=2389, + serialized_end=2965, ) @@ -798,8 +806,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1465, - serialized_end=1525, + serialized_start=1568, + serialized_end=1628, ) _HTTPROUTEDESTINATION_APPENDREQUESTHEADERSENTRY = _descriptor.Descriptor( @@ -835,8 +843,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1527, - serialized_end=1586, + serialized_start=1630, + serialized_end=1689, ) _HTTPROUTEDESTINATION = _descriptor.Descriptor( @@ -907,8 +915,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2865, - serialized_end=3437, + serialized_start=2968, + serialized_end=3540, ) @@ -945,8 +953,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3439, - serialized_end=3534, + serialized_start=3542, + serialized_end=3637, ) @@ -983,8 +991,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2811, - serialized_end=2862, + serialized_start=2914, + serialized_end=2965, ) _L4MATCHATTRIBUTES = _descriptor.Descriptor( @@ -1041,8 +1049,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3537, - serialized_end=3780, + serialized_start=3640, + serialized_end=3883, ) @@ -1079,8 +1087,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2811, - serialized_end=2862, + serialized_start=2914, + serialized_end=2965, ) _TLSMATCHATTRIBUTES = _descriptor.Descriptor( @@ -1144,8 +1152,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3783, - serialized_end=4047, + serialized_start=3886, + serialized_end=4150, ) @@ -1182,8 +1190,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4049, - serialized_end=4095, + serialized_start=4152, + serialized_end=4198, ) @@ -1220,8 +1228,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4097, - serialized_end=4142, + serialized_start=4200, + serialized_end=4245, ) @@ -1268,8 +1276,8 @@ name='match_type', full_name='istio.networking.v1alpha3.StringMatch.match_type', index=0, containing_type=None, fields=[]), ], - serialized_start=4144, - serialized_end=4223, + serialized_start=4247, + serialized_end=4326, ) @@ -1313,8 +1321,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4225, - serialized_end=4324, + serialized_start=4328, + serialized_end=4427, ) @@ -1379,8 +1387,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4327, - serialized_end=4530, + serialized_start=4430, + serialized_end=4633, ) @@ -1434,8 +1442,8 @@ name='http_delay_type', full_name='istio.networking.v1alpha3.HTTPFaultInjection.Delay.http_delay_type', index=0, containing_type=None, fields=[]), ], - serialized_start=4692, - serialized_end=4901, + serialized_start=4795, + serialized_end=5004, ) _HTTPFAULTINJECTION_ABORT = _descriptor.Descriptor( @@ -1495,8 +1503,8 @@ name='error_type', full_name='istio.networking.v1alpha3.HTTPFaultInjection.Abort.error_type', index=0, containing_type=None, fields=[]), ], - serialized_start=4904, - serialized_end=5071, + serialized_start=5007, + serialized_end=5174, ) _HTTPFAULTINJECTION = _descriptor.Descriptor( @@ -1532,8 +1540,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4533, - serialized_end=5071, + serialized_start=4636, + serialized_end=5174, ) @@ -1573,8 +1581,8 @@ name='port', full_name='istio.networking.v1alpha3.PortSelector.port', index=0, containing_type=None, fields=[]), ], - serialized_start=5073, - serialized_end=5129, + serialized_start=5176, + serialized_end=5232, ) @@ -1604,13 +1612,14 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5131, - serialized_end=5155, + serialized_start=5234, + serialized_end=5258, ) _VIRTUALSERVICE.fields_by_name['http'].message_type = _HTTPROUTE _VIRTUALSERVICE.fields_by_name['tls'].message_type = _TLSROUTE _VIRTUALSERVICE.fields_by_name['tcp'].message_type = _TCPROUTE +_VIRTUALSERVICE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_network__scope__pb2._CONFIGSCOPE _DESTINATION.fields_by_name['port'].message_type = _PORTSELECTOR _HTTPROUTE_APPENDHEADERSENTRY.containing_type = _HTTPROUTE _HTTPROUTE_APPENDRESPONSEHEADERSENTRY.containing_type = _HTTPROUTE From 49946a7daf8033a750d8bb966022255fcb38558d Mon Sep 17 00:00:00 2001 From: Shriram Rajagopalan Date: Wed, 28 Nov 2018 22:24:25 -0500 Subject: [PATCH 10/10] rename NetworkScope to ServiceDependency (#720) * rename NetworkScope to ServiceDependency Signed-off-by: Shriram Rajagopalan * update Signed-off-by: Shriram Rajagopalan --- mesh/v1alpha1/config.pb.go | 251 ++++++------ mesh/v1alpha1/config.proto | 22 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 38 +- networking/v1alpha3/destination_rule.pb.go | 184 ++++----- networking/v1alpha3/destination_rule.proto | 2 +- .../istio.networking.v1alpha3.pb.html | 362 +++++++++--------- ...k_scope.pb.go => service_dependency.pb.go} | 285 +++++++------- ...k_scope.proto => service_dependency.proto} | 38 +- networking/v1alpha3/service_entry.pb.go | 68 ++-- networking/v1alpha3/service_entry.proto | 2 +- networking/v1alpha3/virtual_service.pb.go | 228 +++++------ networking/v1alpha3/virtual_service.proto | 3 +- proto.lock | 12 +- python/istio_api/mesh/v1alpha1/config_pb2.py | 74 ++-- .../v1alpha3/destination_rule_pb2.py | 72 ++-- ...scope_pb2.py => service_dependency_pb2.py} | 114 +++--- .../networking/v1alpha3/service_entry_pb2.py | 32 +- .../v1alpha3/virtual_service_pb2.py | 140 +++---- 18 files changed, 966 insertions(+), 961 deletions(-) rename networking/v1alpha3/{network_scope.pb.go => service_dependency.pb.go} (65%) rename networking/v1alpha3/{network_scope.proto => service_dependency.proto} (84%) rename python/istio_api/networking/v1alpha3/{network_scope_pb2.py => service_dependency_pb2.py} (54%) diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 7ae7af46e6..4552e43de2 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -152,31 +152,31 @@ func (MeshConfig_OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0, 0, 0} } -type MeshConfig_DefaultNetworkScope_Mode int32 +type MeshConfig_DefaultServiceDependency_Mode int32 const ( // Configure routes to services in all namespaces, i.e. import // services from all namespaces. - MeshConfig_DefaultNetworkScope_ALL_NAMESPACES MeshConfig_DefaultNetworkScope_Mode = 0 + MeshConfig_DefaultServiceDependency_ALL_NAMESPACES MeshConfig_DefaultServiceDependency_Mode = 0 // Only configure routes to services that are in the same namespace // as the workload as well as services in namespaces specified in // importNamespaces. - MeshConfig_DefaultNetworkScope_SAME_NAMESPACE MeshConfig_DefaultNetworkScope_Mode = 1 + MeshConfig_DefaultServiceDependency_SAME_NAMESPACE MeshConfig_DefaultServiceDependency_Mode = 1 ) -var MeshConfig_DefaultNetworkScope_Mode_name = map[int32]string{ +var MeshConfig_DefaultServiceDependency_Mode_name = map[int32]string{ 0: "ALL_NAMESPACES", 1: "SAME_NAMESPACE", } -var MeshConfig_DefaultNetworkScope_Mode_value = map[string]int32{ +var MeshConfig_DefaultServiceDependency_Mode_value = map[string]int32{ "ALL_NAMESPACES": 0, "SAME_NAMESPACE": 1, } -func (x MeshConfig_DefaultNetworkScope_Mode) String() string { - return proto.EnumName(MeshConfig_DefaultNetworkScope_Mode_name, int32(x)) +func (x MeshConfig_DefaultServiceDependency_Mode) String() string { + return proto.EnumName(MeshConfig_DefaultServiceDependency_Mode_name, int32(x)) } -func (MeshConfig_DefaultNetworkScope_Mode) EnumDescriptor() ([]byte, []int) { +func (MeshConfig_DefaultServiceDependency_Mode) EnumDescriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0, 1, 0} } @@ -278,12 +278,12 @@ type MeshConfig struct { // Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain // Fallback to old identity format(without trust domain) if not set. TrustDomain string `protobuf:"bytes,26,opt,name=trust_domain,json=trustDomain,proto3" json:"trust_domain,omitempty"` - // The default network scope associated with every workload in the mesh. - // Pilot will program the routes in the sidecars and gateways - // accordingly. If omitted, sidecars will be configured to reach every - // service in the mesh. The default scope can be overriden by supplying a - // NetworkScope resource per namespace. - DefaultNetworkScope *MeshConfig_DefaultNetworkScope `protobuf:"bytes,29,opt,name=default_network_scope,json=defaultNetworkScope" json:"default_network_scope,omitempty"` + // The default service dependency setting associated with every workload + // in the mesh. Pilot will program the routes in the sidecars and + // gateways accordingly. If omitted, sidecars will be configured to reach + // every service in the mesh. The default scope can be overriden by + // supplying a ServiceDependency resource per namespace. + DefaultServiceDependency *MeshConfig_DefaultServiceDependency `protobuf:"bytes,29,opt,name=default_service_dependency,json=defaultServiceDependency" json:"default_service_dependency,omitempty"` } func (m *MeshConfig) Reset() { *m = MeshConfig{} } @@ -473,9 +473,9 @@ func (m *MeshConfig) GetTrustDomain() string { return "" } -func (m *MeshConfig) GetDefaultNetworkScope() *MeshConfig_DefaultNetworkScope { +func (m *MeshConfig) GetDefaultServiceDependency() *MeshConfig_DefaultServiceDependency { if m != nil { - return m.DefaultNetworkScope + return m.DefaultServiceDependency } return nil } @@ -498,35 +498,35 @@ func (m *MeshConfig_OutboundTrafficPolicy) GetMode() MeshConfig_OutboundTrafficP return MeshConfig_OutboundTrafficPolicy_REGISTRY_ONLY } -// Default network scope settings for each workload in the mesh. Network -// scope controls the reachability of workloads to other services in the -// mesh. -type MeshConfig_DefaultNetworkScope struct { +// Default service dependency settings for each workload in the +// mesh. ServiceDependencycontrols the reachability of workloads to other +// services in the mesh. +type MeshConfig_DefaultServiceDependency struct { // REQUIRED: The default import setting for every workload in the mesh. - ImportMode MeshConfig_DefaultNetworkScope_Mode `protobuf:"varint,1,opt,name=import_mode,json=importMode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_DefaultNetworkScope_Mode" json:"import_mode,omitempty"` + ImportMode MeshConfig_DefaultServiceDependency_Mode `protobuf:"varint,1,opt,name=import_mode,json=importMode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_DefaultServiceDependency_Mode" json:"import_mode,omitempty"` // Specifies one or more namespaces that should be imported by default - // in all user defined NetworkScope resources in addition to the + // in all user defined ServiceDependency resources in addition to the // namespaces explicitly specified by the end user. Use this setting to // automatically import services/resources from namespaces such as // istio-system that all workloads in the mesh depend upon. ImportNamespaces []string `protobuf:"bytes,2,rep,name=import_namespaces,json=importNamespaces" json:"import_namespaces,omitempty"` } -func (m *MeshConfig_DefaultNetworkScope) Reset() { *m = MeshConfig_DefaultNetworkScope{} } -func (m *MeshConfig_DefaultNetworkScope) String() string { return proto.CompactTextString(m) } -func (*MeshConfig_DefaultNetworkScope) ProtoMessage() {} -func (*MeshConfig_DefaultNetworkScope) Descriptor() ([]byte, []int) { +func (m *MeshConfig_DefaultServiceDependency) Reset() { *m = MeshConfig_DefaultServiceDependency{} } +func (m *MeshConfig_DefaultServiceDependency) String() string { return proto.CompactTextString(m) } +func (*MeshConfig_DefaultServiceDependency) ProtoMessage() {} +func (*MeshConfig_DefaultServiceDependency) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0, 1} } -func (m *MeshConfig_DefaultNetworkScope) GetImportMode() MeshConfig_DefaultNetworkScope_Mode { +func (m *MeshConfig_DefaultServiceDependency) GetImportMode() MeshConfig_DefaultServiceDependency_Mode { if m != nil { return m.ImportMode } - return MeshConfig_DefaultNetworkScope_ALL_NAMESPACES + return MeshConfig_DefaultServiceDependency_ALL_NAMESPACES } -func (m *MeshConfig_DefaultNetworkScope) GetImportNamespaces() []string { +func (m *MeshConfig_DefaultServiceDependency) GetImportNamespaces() []string { if m != nil { return m.ImportNamespaces } @@ -569,13 +569,13 @@ func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha32.TLSSettings func init() { proto.RegisterType((*MeshConfig)(nil), "istio.mesh.v1alpha1.MeshConfig") proto.RegisterType((*MeshConfig_OutboundTrafficPolicy)(nil), "istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy") - proto.RegisterType((*MeshConfig_DefaultNetworkScope)(nil), "istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope") + proto.RegisterType((*MeshConfig_DefaultServiceDependency)(nil), "istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency") proto.RegisterType((*ConfigSource)(nil), "istio.mesh.v1alpha1.ConfigSource") proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_IngressControllerMode", MeshConfig_IngressControllerMode_name, MeshConfig_IngressControllerMode_value) proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AuthPolicy", MeshConfig_AuthPolicy_name, MeshConfig_AuthPolicy_value) proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AccessLogEncoding", MeshConfig_AccessLogEncoding_name, MeshConfig_AccessLogEncoding_value) proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode", MeshConfig_OutboundTrafficPolicy_Mode_name, MeshConfig_OutboundTrafficPolicy_Mode_value) - proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_DefaultNetworkScope_Mode", MeshConfig_DefaultNetworkScope_Mode_name, MeshConfig_DefaultNetworkScope_Mode_value) + proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_DefaultServiceDependency_Mode", MeshConfig_DefaultServiceDependency_Mode_name, MeshConfig_DefaultServiceDependency_Mode_value) } func (m *MeshConfig) Marshal() (dAtA []byte, err error) { size := m.Size() @@ -817,13 +817,13 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { } i += n6 } - if m.DefaultNetworkScope != nil { + if m.DefaultServiceDependency != nil { dAtA[i] = 0xea i++ dAtA[i] = 0x1 i++ - i = encodeVarintConfig(dAtA, i, uint64(m.DefaultNetworkScope.Size())) - n7, err := m.DefaultNetworkScope.MarshalTo(dAtA[i:]) + i = encodeVarintConfig(dAtA, i, uint64(m.DefaultServiceDependency.Size())) + n7, err := m.DefaultServiceDependency.MarshalTo(dAtA[i:]) if err != nil { return 0, err } @@ -855,7 +855,7 @@ func (m *MeshConfig_OutboundTrafficPolicy) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func (m *MeshConfig_DefaultNetworkScope) Marshal() (dAtA []byte, err error) { +func (m *MeshConfig_DefaultServiceDependency) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) @@ -865,7 +865,7 @@ func (m *MeshConfig_DefaultNetworkScope) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MeshConfig_DefaultNetworkScope) MarshalTo(dAtA []byte) (int, error) { +func (m *MeshConfig_DefaultServiceDependency) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int @@ -1035,8 +1035,8 @@ func (m *MeshConfig) Size() (n int) { l = m.TcpKeepalive.Size() n += 2 + l + sovConfig(uint64(l)) } - if m.DefaultNetworkScope != nil { - l = m.DefaultNetworkScope.Size() + if m.DefaultServiceDependency != nil { + l = m.DefaultServiceDependency.Size() n += 2 + l + sovConfig(uint64(l)) } return n @@ -1051,7 +1051,7 @@ func (m *MeshConfig_OutboundTrafficPolicy) Size() (n int) { return n } -func (m *MeshConfig_DefaultNetworkScope) Size() (n int) { +func (m *MeshConfig_DefaultServiceDependency) Size() (n int) { var l int _ = l if m.ImportMode != 0 { @@ -1809,7 +1809,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 29: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DefaultNetworkScope", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DefaultServiceDependency", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1833,10 +1833,10 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DefaultNetworkScope == nil { - m.DefaultNetworkScope = &MeshConfig_DefaultNetworkScope{} + if m.DefaultServiceDependency == nil { + m.DefaultServiceDependency = &MeshConfig_DefaultServiceDependency{} } - if err := m.DefaultNetworkScope.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.DefaultServiceDependency.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1930,7 +1930,7 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { } return nil } -func (m *MeshConfig_DefaultNetworkScope) Unmarshal(dAtA []byte) error { +func (m *MeshConfig_DefaultServiceDependency) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1953,10 +1953,10 @@ func (m *MeshConfig_DefaultNetworkScope) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DefaultNetworkScope: wiretype end group for non-group") + return fmt.Errorf("proto: DefaultServiceDependency: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DefaultNetworkScope: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: DefaultServiceDependency: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1973,7 +1973,7 @@ func (m *MeshConfig_DefaultNetworkScope) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ImportMode |= (MeshConfig_DefaultNetworkScope_Mode(b) & 0x7F) << shift + m.ImportMode |= (MeshConfig_DefaultServiceDependency_Mode(b) & 0x7F) << shift if b < 0x80 { break } @@ -2248,82 +2248,83 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 1226 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0xdb, 0xb6, - 0x17, 0x8f, 0x92, 0xb4, 0x49, 0x8f, 0x3f, 0x22, 0xd3, 0x75, 0xab, 0xba, 0xfd, 0xe7, 0xef, 0x66, - 0x58, 0x6b, 0x74, 0x83, 0x8c, 0x26, 0x18, 0xb0, 0xed, 0xce, 0x75, 0x9c, 0xd6, 0x99, 0x63, 0x1b, - 0x92, 0xd2, 0x2d, 0xbb, 0x21, 0x14, 0x89, 0xb6, 0x89, 0xc8, 0xa2, 0x26, 0x52, 0x5d, 0xfb, 0x6c, - 0x7b, 0x81, 0xdd, 0x0c, 0xd8, 0x03, 0xec, 0x62, 0xe8, 0x93, 0x0c, 0x24, 0xa5, 0xd8, 0x6d, 0x8d, - 0x65, 0xe8, 0x9d, 0xf8, 0x3b, 0x5f, 0x3c, 0xbf, 0xf3, 0x41, 0x41, 0x73, 0x41, 0xf8, 0xbc, 0xf3, - 0xe6, 0xb9, 0x1f, 0x25, 0x73, 0xff, 0x79, 0x27, 0x60, 0xf1, 0x94, 0xce, 0xec, 0x24, 0x65, 0x82, - 0xa1, 0x3a, 0xe5, 0x82, 0x32, 0x5b, 0x6a, 0xd8, 0x85, 0x46, 0x73, 0x7f, 0xc6, 0xd8, 0x2c, 0x22, - 0x1d, 0xa5, 0x72, 0x99, 0x4d, 0x3b, 0x61, 0x96, 0xfa, 0x82, 0xb2, 0x58, 0x1b, 0x35, 0x1f, 0x7c, - 0xe8, 0x30, 0x49, 0xd9, 0xdb, 0x77, 0xb9, 0xe8, 0x59, 0x4c, 0xc4, 0xaf, 0x2c, 0xbd, 0xa2, 0xf1, - 0xac, 0x50, 0x38, 0xea, 0x84, 0x84, 0x0b, 0x1a, 0x2b, 0x0f, 0x38, 0xcd, 0x22, 0xa2, 0x75, 0x0f, - 0xfe, 0xaa, 0x01, 0x9c, 0x11, 0x3e, 0xef, 0xa9, 0x0b, 0xa1, 0xaf, 0x01, 0x2d, 0xe8, 0x5b, 0x92, - 0xe2, 0x60, 0x4e, 0x82, 0x2b, 0xcc, 0x49, 0xfa, 0x86, 0xa4, 0x96, 0xd1, 0x32, 0xda, 0x77, 0x1c, - 0x53, 0x49, 0x7a, 0x52, 0xe0, 0x2a, 0x1c, 0xd9, 0x50, 0xd7, 0xda, 0x29, 0x49, 0x58, 0x2a, 0x0a, - 0xf5, 0x4d, 0xa5, 0x5e, 0x53, 0x22, 0x47, 0x49, 0x72, 0xfd, 0x43, 0x68, 0x84, 0x94, 0xfb, 0x97, - 0x11, 0xc1, 0x09, 0x8b, 0x68, 0xf0, 0x4e, 0x87, 0xe1, 0xd6, 0x56, 0xcb, 0x68, 0xef, 0x3a, 0xf5, - 0x5c, 0x38, 0x51, 0x32, 0x15, 0x88, 0xa3, 0x67, 0x50, 0x53, 0xb9, 0xe1, 0x88, 0x72, 0x41, 0x62, - 0x2c, 0xdd, 0x59, 0xdb, 0x2d, 0xa3, 0x7d, 0xcb, 0xd9, 0x53, 0x82, 0xa1, 0xc2, 0x27, 0x2c, 0x15, - 0xe8, 0x09, 0x68, 0x08, 0xcf, 0x85, 0x48, 0xb4, 0xe6, 0x2d, 0xa5, 0x59, 0x51, 0xf0, 0x2b, 0x21, - 0x12, 0xa5, 0xf7, 0x02, 0xf6, 0x02, 0x16, 0xc7, 0x24, 0x10, 0x58, 0xd0, 0x05, 0x61, 0x99, 0xb0, - 0x6e, 0xb7, 0x8c, 0x76, 0xe9, 0xf0, 0x81, 0xad, 0x59, 0xb7, 0x0b, 0xd6, 0xed, 0xe3, 0x9c, 0x75, - 0xa7, 0x9a, 0x5b, 0x78, 0xda, 0x00, 0x7d, 0x01, 0x15, 0x1a, 0xcf, 0x52, 0xc2, 0x39, 0x0e, 0x22, - 0x9f, 0x73, 0x6b, 0x47, 0x65, 0x5d, 0xce, 0xc1, 0x9e, 0xc4, 0xd0, 0x53, 0xd8, 0x2b, 0x94, 0x24, - 0x37, 0x34, 0x20, 0xd6, 0xae, 0x52, 0xab, 0xe6, 0xb0, 0xab, 0x51, 0xb4, 0x80, 0xfb, 0xd7, 0xde, - 0x58, 0x2c, 0x52, 0x16, 0x45, 0x24, 0xc5, 0x0b, 0x16, 0x12, 0xeb, 0x4e, 0xcb, 0x68, 0x57, 0x0f, - 0xbf, 0xb1, 0xd7, 0x34, 0x89, 0xbd, 0xac, 0x9c, 0x3d, 0xc8, 0xe3, 0x5e, 0x5b, 0x9f, 0xb1, 0x90, - 0x38, 0x0d, 0xba, 0x0e, 0x46, 0x63, 0x28, 0xf9, 0x99, 0x98, 0xe7, 0x55, 0xb0, 0x40, 0x85, 0x78, - 0x76, 0x53, 0x88, 0x6e, 0x26, 0xe6, 0xba, 0x36, 0x2f, 0x36, 0x2d, 0xc3, 0x01, 0xff, 0xfa, 0x8c, - 0x06, 0x50, 0x4b, 0x43, 0x8e, 0x53, 0x32, 0x4d, 0x09, 0x9f, 0xe3, 0x90, 0x44, 0xfe, 0x3b, 0xab, - 0x74, 0x03, 0xa7, 0xca, 0xcb, 0x5e, 0x1a, 0x72, 0x47, 0x9b, 0x1d, 0x4b, 0x2b, 0xf4, 0x25, 0x54, - 0x49, 0xac, 0x7a, 0x44, 0xa4, 0x7e, 0x40, 0xe3, 0x99, 0x55, 0x56, 0xdd, 0x51, 0xd1, 0xa8, 0xa7, - 0x41, 0x59, 0x6b, 0x3f, 0x08, 0x24, 0x61, 0x11, 0x9b, 0xe1, 0x29, 0x8d, 0x88, 0x55, 0x51, 0xd4, - 0x56, 0x34, 0x3c, 0x64, 0xb3, 0x13, 0x1a, 0x11, 0xf4, 0x12, 0xaa, 0x21, 0x99, 0xfa, 0x59, 0x24, - 0xb0, 0x1e, 0x3a, 0xab, 0xaa, 0xae, 0xd5, 0x5a, 0x9b, 0xed, 0x44, 0xf6, 0x89, 0x4e, 0xd7, 0xa9, - 0xe4, 0x76, 0xf9, 0x68, 0x3c, 0x85, 0x8a, 0x6e, 0x76, 0x3f, 0x0c, 0x25, 0xa5, 0x96, 0x29, 0xc3, - 0xa9, 0x1c, 0xca, 0x4a, 0xd0, 0xd5, 0x38, 0xfa, 0x05, 0xee, 0xb3, 0x4c, 0x5c, 0xb2, 0x2c, 0x0e, - 0x65, 0x0a, 0xd3, 0x29, 0x0d, 0x0a, 0xa2, 0x6b, 0x2a, 0xf4, 0x8d, 0xb5, 0x1c, 0xe7, 0xe6, 0x9e, - 0xb6, 0x5e, 0xe1, 0xbc, 0xc1, 0xd6, 0x89, 0xd0, 0x31, 0xfc, 0x3f, 0xe7, 0x2c, 0x88, 0x28, 0x89, - 0x05, 0xe6, 0x34, 0xfc, 0x70, 0xc6, 0xac, 0xba, 0x22, 0xf1, 0xa1, 0x56, 0xeb, 0x29, 0x2d, 0x97, - 0x86, 0xab, 0xb3, 0x86, 0x5a, 0x50, 0xe6, 0x21, 0xc7, 0x59, 0xc8, 0x71, 0xe2, 0x8b, 0xb9, 0x75, - 0x57, 0xf1, 0x09, 0x3c, 0xe4, 0xe7, 0x21, 0x9f, 0xf8, 0x62, 0x2e, 0xcb, 0xcc, 0x3f, 0x29, 0x73, - 0xe3, 0x3f, 0x95, 0x99, 0x7f, 0x54, 0xe6, 0x57, 0x50, 0xd5, 0xf5, 0xc0, 0x9c, 0x65, 0x69, 0x40, - 0xb8, 0x75, 0xaf, 0xb5, 0xd5, 0x2e, 0x1d, 0x3e, 0x5e, 0x4b, 0x8e, 0x26, 0xc6, 0x55, 0x9a, 0x4e, - 0x25, 0x58, 0x39, 0x71, 0x74, 0x04, 0xf7, 0xf2, 0xe4, 0xe5, 0xdd, 0x04, 0xbb, 0x22, 0x31, 0x5e, - 0xb0, 0x2c, 0x16, 0xd6, 0x7d, 0xbd, 0x56, 0xb4, 0xd4, 0x0d, 0xb9, 0x27, 0x65, 0x67, 0x52, 0x24, - 0xd7, 0xca, 0x6a, 0xfb, 0xb0, 0x74, 0xe1, 0x0b, 0xcb, 0x52, 0x09, 0xef, 0x2d, 0x1b, 0x48, 0xc1, - 0x32, 0xc0, 0x2a, 0x95, 0x78, 0xea, 0xd3, 0x08, 0xb3, 0x84, 0xc4, 0xd6, 0x03, 0x1d, 0x20, 0x59, - 0x92, 0x78, 0xe2, 0xd3, 0x68, 0x9c, 0x90, 0x18, 0x3d, 0x86, 0xb2, 0x48, 0x33, 0x2e, 0x70, 0xc8, - 0x16, 0x3e, 0x8d, 0xad, 0xa6, 0xf2, 0x5d, 0x52, 0xd8, 0xb1, 0x82, 0x90, 0x0f, 0xf5, 0x95, 0x3b, - 0x90, 0x38, 0x60, 0xa1, 0x6c, 0xf7, 0x87, 0x6a, 0x1a, 0x9f, 0xdf, 0x38, 0x8d, 0xc5, 0x2d, 0xfb, - 0xb9, 0xa1, 0x53, 0xf3, 0x3f, 0x86, 0x10, 0x83, 0x8a, 0x08, 0x12, 0x7c, 0x45, 0x48, 0xe2, 0x47, - 0xf4, 0x0d, 0xb1, 0x1e, 0xa9, 0x62, 0x9d, 0xe6, 0xce, 0x97, 0x0f, 0x45, 0x11, 0xe2, 0x48, 0x52, - 0x2d, 0xf7, 0x1c, 0x65, 0xf1, 0x84, 0xb1, 0xc8, 0x25, 0x42, 0xd0, 0x78, 0xc6, 0x6d, 0xaf, 0x37, - 0x59, 0x7e, 0x07, 0xc9, 0x0f, 0x85, 0x47, 0xa7, 0x2c, 0x56, 0x4e, 0x68, 0x06, 0x8d, 0x62, 0xdc, - 0x72, 0xe7, 0x98, 0x07, 0x2c, 0x21, 0xd6, 0xff, 0x54, 0xe0, 0xa3, 0x9b, 0xb2, 0x3a, 0xd6, 0xc6, - 0x23, 0x6d, 0xeb, 0x4a, 0x53, 0xa7, 0x1e, 0x7e, 0x0a, 0x36, 0x7f, 0x33, 0xa0, 0xb1, 0x76, 0x4e, - 0x90, 0x03, 0xdb, 0x6a, 0x71, 0x1a, 0x8a, 0xc7, 0xef, 0x3f, 0x6b, 0xd8, 0x6c, 0xb9, 0x26, 0x55, - 0xe3, 0x2a, 0x5f, 0x07, 0x23, 0xd8, 0x56, 0x8b, 0xb3, 0x01, 0x15, 0xa7, 0xff, 0x72, 0xe0, 0x7a, - 0xce, 0x05, 0x1e, 0x8f, 0x86, 0x17, 0xe6, 0x46, 0x73, 0x73, 0xd7, 0x40, 0x35, 0xb8, 0xd3, 0x1d, - 0x0e, 0xc7, 0x3f, 0xe2, 0xee, 0xe8, 0xc2, 0x34, 0x14, 0xf4, 0x08, 0xee, 0xbe, 0x1e, 0x38, 0xde, - 0x79, 0x77, 0x88, 0xdd, 0xbe, 0xf3, 0x7a, 0xd0, 0xeb, 0x6b, 0x83, 0x4d, 0x29, 0x6d, 0xfe, 0x61, - 0x40, 0x7d, 0x4d, 0xaa, 0xe8, 0x02, 0x4a, 0x74, 0xa1, 0xde, 0xd2, 0x95, 0x14, 0xbe, 0xfd, 0x0c, - 0xd2, 0x54, 0x02, 0x0e, 0x68, 0x67, 0xea, 0xea, 0x5f, 0x41, 0x2d, 0x77, 0x1d, 0xfb, 0x0b, 0xc2, - 0x13, 0x5f, 0xce, 0xdc, 0x66, 0x6b, 0x4b, 0xbe, 0xec, 0x5a, 0x30, 0xba, 0xc6, 0x0f, 0xec, 0x3c, - 0x5f, 0x04, 0xd5, 0xee, 0x70, 0x88, 0x47, 0xdd, 0xb3, 0xbe, 0x3b, 0xe9, 0xf6, 0xfa, 0xae, 0xb9, - 0x21, 0x31, 0xb7, 0x7b, 0xd6, 0x5f, 0x82, 0xa6, 0x71, 0xf0, 0x1d, 0x34, 0xd6, 0x3e, 0x40, 0x68, - 0x07, 0xb6, 0xc6, 0x27, 0x27, 0xe6, 0x06, 0x2a, 0xc1, 0xce, 0x71, 0xff, 0xa4, 0x7b, 0x3e, 0xf4, - 0x4c, 0x03, 0x01, 0xdc, 0x76, 0x3d, 0x67, 0xd0, 0xf3, 0xcc, 0xcd, 0x83, 0x27, 0x00, 0xcb, 0x87, - 0x05, 0xed, 0xc2, 0xf6, 0x68, 0x3c, 0xea, 0x9b, 0x1b, 0xa8, 0x0a, 0x70, 0x76, 0xae, 0xf8, 0xf3, - 0x86, 0xae, 0x69, 0x1c, 0x3c, 0x85, 0xda, 0x27, 0x2d, 0x2f, 0xd5, 0xbd, 0xfe, 0x4f, 0x9e, 0xb9, - 0x21, 0xbf, 0x4e, 0xdd, 0xf1, 0xc8, 0x34, 0x4e, 0xb7, 0x77, 0xf7, 0x4c, 0xf3, 0x74, 0x7b, 0x17, - 0x99, 0xf5, 0x03, 0x0e, 0xe5, 0xd5, 0xd5, 0x81, 0x2c, 0xd8, 0x29, 0xd6, 0xb7, 0xfe, 0xa9, 0x29, - 0x8e, 0x68, 0x00, 0x65, 0x11, 0xc9, 0x67, 0x5a, 0xf7, 0xb8, 0xfa, 0x89, 0x29, 0x1d, 0x3e, 0xf9, - 0x97, 0x41, 0xf1, 0x86, 0x6e, 0x31, 0x11, 0x4e, 0x49, 0x44, 0xbc, 0x38, 0xbc, 0x68, 0xff, 0xfe, - 0x7e, 0xdf, 0xf8, 0xf3, 0xfd, 0xbe, 0xf1, 0xf7, 0xfb, 0x7d, 0xe3, 0xe7, 0xa6, 0xf6, 0x40, 0x59, - 0xc7, 0x4f, 0x68, 0xe7, 0x83, 0xbf, 0xb6, 0xcb, 0xdb, 0x6a, 0x59, 0x1e, 0xfd, 0x13, 0x00, 0x00, - 0xff, 0xff, 0xa3, 0x39, 0x16, 0x35, 0x1e, 0x0a, 0x00, 0x00, + // 1235 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x5d, 0x6f, 0xdb, 0xb6, + 0x1a, 0x8e, 0x92, 0xb4, 0x49, 0x5f, 0x7f, 0x44, 0x66, 0x9a, 0x96, 0x75, 0x7b, 0x72, 0xdc, 0x1c, + 0x9c, 0xd6, 0xe8, 0x39, 0xb0, 0xd1, 0x04, 0x03, 0xb6, 0x01, 0xbb, 0x70, 0x6d, 0xa7, 0x75, 0xe6, + 0xd8, 0x86, 0xa4, 0x74, 0xeb, 0x2e, 0x46, 0x28, 0x12, 0x6d, 0x13, 0x91, 0x45, 0x4d, 0xa4, 0xb3, + 0xe6, 0xb7, 0xed, 0x0f, 0xec, 0x72, 0x77, 0xbb, 0x1d, 0xfa, 0x1f, 0x76, 0x3f, 0x90, 0x94, 0x62, + 0xb7, 0x75, 0x97, 0xa1, 0x77, 0xe2, 0xf3, 0x7e, 0xf1, 0x7d, 0xde, 0x0f, 0x0a, 0xaa, 0x33, 0x2a, + 0xa6, 0xcd, 0xcb, 0xe7, 0x7e, 0x94, 0x4c, 0xfd, 0xe7, 0xcd, 0x80, 0xc7, 0x63, 0x36, 0x69, 0x24, + 0x29, 0x97, 0x1c, 0xed, 0x32, 0x21, 0x19, 0x6f, 0x28, 0x8d, 0x46, 0xae, 0x51, 0xdd, 0x9f, 0x70, + 0x3e, 0x89, 0x68, 0x53, 0xab, 0x9c, 0xcf, 0xc7, 0xcd, 0x70, 0x9e, 0xfa, 0x92, 0xf1, 0xd8, 0x18, + 0x55, 0x1f, 0xbc, 0xef, 0x30, 0x49, 0xf9, 0xdb, 0xab, 0x4c, 0xf4, 0x2c, 0xa6, 0xf2, 0x67, 0x9e, + 0x5e, 0xb0, 0x78, 0x92, 0x2b, 0x1c, 0x35, 0x43, 0x2a, 0x24, 0x8b, 0xb5, 0x07, 0x92, 0xce, 0x23, + 0x6a, 0x74, 0x0f, 0xfe, 0xac, 0x00, 0x9c, 0x52, 0x31, 0x6d, 0xeb, 0x0b, 0xa1, 0xff, 0x03, 0x9a, + 0xb1, 0xb7, 0x34, 0x25, 0xc1, 0x94, 0x06, 0x17, 0x44, 0xd0, 0xf4, 0x92, 0xa6, 0xd8, 0xaa, 0x59, + 0xf5, 0x3b, 0x8e, 0xad, 0x25, 0x6d, 0x25, 0x70, 0x35, 0x8e, 0x1a, 0xb0, 0x6b, 0xb4, 0x53, 0x9a, + 0xf0, 0x54, 0xe6, 0xea, 0xeb, 0x5a, 0xbd, 0xa2, 0x45, 0x8e, 0x96, 0x64, 0xfa, 0x87, 0xb0, 0x17, + 0x32, 0xe1, 0x9f, 0x47, 0x94, 0x24, 0x3c, 0x62, 0xc1, 0x95, 0x09, 0x23, 0xf0, 0x46, 0xcd, 0xaa, + 0x6f, 0x3b, 0xbb, 0x99, 0x70, 0xa4, 0x65, 0x3a, 0x90, 0x40, 0xcf, 0xa0, 0xa2, 0x73, 0x23, 0x11, + 0x13, 0x92, 0xc6, 0x44, 0xb9, 0xc3, 0x9b, 0x35, 0xab, 0x7e, 0xcb, 0xd9, 0xd1, 0x82, 0xbe, 0xc6, + 0x47, 0x3c, 0x95, 0xe8, 0x09, 0x18, 0x88, 0x4c, 0xa5, 0x4c, 0x8c, 0xe6, 0x2d, 0xad, 0x59, 0xd2, + 0xf0, 0x2b, 0x29, 0x13, 0xad, 0xf7, 0x02, 0x76, 0x02, 0x1e, 0xc7, 0x34, 0x90, 0x44, 0xb2, 0x19, + 0xe5, 0x73, 0x89, 0x6f, 0xd7, 0xac, 0x7a, 0xe1, 0xf0, 0x41, 0xc3, 0xb0, 0xde, 0xc8, 0x59, 0x6f, + 0x74, 0x32, 0xd6, 0x9d, 0x72, 0x66, 0xe1, 0x19, 0x03, 0xf4, 0x1f, 0x28, 0xb1, 0x78, 0x92, 0x52, + 0x21, 0x48, 0x10, 0xf9, 0x42, 0xe0, 0x2d, 0x9d, 0x75, 0x31, 0x03, 0xdb, 0x0a, 0x43, 0x4f, 0x61, + 0x27, 0x57, 0x52, 0xdc, 0xb0, 0x80, 0xe2, 0x6d, 0xad, 0x56, 0xce, 0x60, 0xd7, 0xa0, 0x68, 0x06, + 0xf7, 0xaf, 0xbd, 0xf1, 0x58, 0xa6, 0x3c, 0x8a, 0x68, 0x4a, 0x66, 0x3c, 0xa4, 0xf8, 0x4e, 0xcd, + 0xaa, 0x97, 0x0f, 0xbf, 0x68, 0xac, 0x68, 0x92, 0xc6, 0xa2, 0x72, 0x8d, 0x5e, 0x16, 0xf7, 0xda, + 0xfa, 0x94, 0x87, 0xd4, 0xd9, 0x63, 0xab, 0x60, 0x34, 0x84, 0x82, 0x3f, 0x97, 0xd3, 0xac, 0x0a, + 0x18, 0x74, 0x88, 0x67, 0x37, 0x85, 0x68, 0xcd, 0xe5, 0xd4, 0xd4, 0xe6, 0xc5, 0x3a, 0xb6, 0x1c, + 0xf0, 0xaf, 0xcf, 0xa8, 0x07, 0x95, 0x34, 0x14, 0x24, 0xa5, 0xe3, 0x94, 0x8a, 0x29, 0x09, 0x69, + 0xe4, 0x5f, 0xe1, 0xc2, 0x0d, 0x9c, 0x6a, 0x2f, 0x3b, 0x69, 0x28, 0x1c, 0x63, 0xd6, 0x51, 0x56, + 0xe8, 0xbf, 0x50, 0xa6, 0xb1, 0xee, 0x11, 0x99, 0xfa, 0x01, 0x8b, 0x27, 0xb8, 0xa8, 0xbb, 0xa3, + 0x64, 0x50, 0xcf, 0x80, 0xaa, 0xd6, 0x7e, 0x10, 0x28, 0xc2, 0x22, 0x3e, 0x21, 0x63, 0x16, 0x51, + 0x5c, 0xd2, 0xd4, 0x96, 0x0c, 0xdc, 0xe7, 0x93, 0x63, 0x16, 0x51, 0xf4, 0x12, 0xca, 0x21, 0x1d, + 0xfb, 0xf3, 0x48, 0x12, 0x33, 0x74, 0xb8, 0xac, 0xaf, 0x55, 0x5b, 0x99, 0xed, 0x48, 0xf5, 0x89, + 0x49, 0xd7, 0x29, 0x65, 0x76, 0xd9, 0x68, 0x3c, 0x85, 0x92, 0x69, 0x76, 0x3f, 0x0c, 0x15, 0xa5, + 0xd8, 0x56, 0xe1, 0x74, 0x0e, 0x45, 0x2d, 0x68, 0x19, 0x1c, 0xfd, 0x04, 0xf7, 0xf9, 0x5c, 0x9e, + 0xf3, 0x79, 0x1c, 0xaa, 0x14, 0xc6, 0x63, 0x16, 0xe4, 0x44, 0x57, 0x74, 0xe8, 0x1b, 0x6b, 0x39, + 0xcc, 0xcc, 0x3d, 0x63, 0xbd, 0xc4, 0xf9, 0x1e, 0x5f, 0x25, 0x42, 0x1d, 0xf8, 0x77, 0xc6, 0x59, + 0x10, 0x31, 0x1a, 0x4b, 0x22, 0x58, 0xf8, 0xfe, 0x8c, 0xe1, 0x5d, 0x4d, 0xe2, 0x43, 0xa3, 0xd6, + 0xd6, 0x5a, 0x2e, 0x0b, 0x97, 0x67, 0x0d, 0xd5, 0xa0, 0x28, 0x42, 0x41, 0xe6, 0xa1, 0x20, 0x89, + 0x2f, 0xa7, 0xf8, 0xae, 0xe6, 0x13, 0x44, 0x28, 0xce, 0x42, 0x31, 0xf2, 0xe5, 0x54, 0x95, 0x59, + 0x7c, 0x54, 0xe6, 0xbd, 0x7f, 0x54, 0x66, 0xf1, 0x41, 0x99, 0x5f, 0x41, 0xd9, 0xd4, 0x83, 0x08, + 0x3e, 0x4f, 0x03, 0x2a, 0xf0, 0xbd, 0xda, 0x46, 0xbd, 0x70, 0xf8, 0x78, 0x25, 0x39, 0x86, 0x18, + 0x57, 0x6b, 0x3a, 0xa5, 0x60, 0xe9, 0x24, 0xd0, 0x11, 0xdc, 0xcb, 0x92, 0x57, 0x77, 0x93, 0xfc, + 0x82, 0xc6, 0x64, 0xc6, 0xe7, 0xb1, 0xc4, 0xf7, 0xcd, 0x5a, 0x31, 0x52, 0x37, 0x14, 0x9e, 0x92, + 0x9d, 0x2a, 0x91, 0x5a, 0x2b, 0xcb, 0xed, 0xc3, 0xd3, 0x99, 0x2f, 0x31, 0xd6, 0x09, 0xef, 0x2c, + 0x1a, 0x48, 0xc3, 0x2a, 0xc0, 0x32, 0x95, 0x64, 0xec, 0xb3, 0x88, 0xf0, 0x84, 0xc6, 0xf8, 0x81, + 0x09, 0x90, 0x2c, 0x48, 0x3c, 0xf6, 0x59, 0x34, 0x4c, 0x68, 0x8c, 0x1e, 0x43, 0x51, 0xa6, 0x73, + 0x21, 0x49, 0xc8, 0x67, 0x3e, 0x8b, 0x71, 0x55, 0xfb, 0x2e, 0x68, 0xac, 0xa3, 0x21, 0xe4, 0xc3, + 0xee, 0xd2, 0x1d, 0x68, 0x1c, 0xf0, 0x50, 0xb5, 0xfb, 0x43, 0x3d, 0x8d, 0xcf, 0x6f, 0x9c, 0xc6, + 0xfc, 0x96, 0xdd, 0xcc, 0xd0, 0xa9, 0xf8, 0x1f, 0x42, 0x88, 0x43, 0x49, 0x06, 0x09, 0xb9, 0xa0, + 0x34, 0xf1, 0x23, 0x76, 0x49, 0xf1, 0x23, 0x5d, 0xac, 0x93, 0xcc, 0xf9, 0xe2, 0xa1, 0xc8, 0x43, + 0x1c, 0x29, 0xaa, 0xd5, 0x9e, 0x63, 0x3c, 0x1e, 0x71, 0x1e, 0xb9, 0x54, 0x4a, 0x16, 0x4f, 0x44, + 0xc3, 0x6b, 0x8f, 0x16, 0xdf, 0x41, 0xf2, 0x6d, 0xee, 0xd1, 0x29, 0xca, 0xa5, 0x13, 0xba, 0x84, + 0x6a, 0x3e, 0x6e, 0xd9, 0xc6, 0x23, 0x21, 0x4d, 0x68, 0x1c, 0xd2, 0x38, 0xb8, 0xc2, 0xff, 0xd2, + 0xd1, 0xbf, 0xbc, 0x29, 0xb5, 0x8e, 0xf1, 0x90, 0x2d, 0xc7, 0xce, 0xb5, 0xbd, 0x83, 0xc3, 0x4f, + 0x48, 0xaa, 0xbf, 0x58, 0xb0, 0xb7, 0x72, 0x6c, 0x90, 0x03, 0x9b, 0x7a, 0x8f, 0x5a, 0x9a, 0xd6, + 0xaf, 0x3f, 0x6b, 0xf6, 0x1a, 0x6a, 0x6b, 0xea, 0x3e, 0xd6, 0xbe, 0x0e, 0x06, 0xb0, 0xa9, 0xf7, + 0xe8, 0x1e, 0x94, 0x9c, 0xee, 0xcb, 0x9e, 0xeb, 0x39, 0x6f, 0xc8, 0x70, 0xd0, 0x7f, 0x63, 0xaf, + 0x55, 0xd7, 0xb7, 0x2d, 0x54, 0x81, 0x3b, 0xad, 0x7e, 0x7f, 0xf8, 0x1d, 0x69, 0x0d, 0xde, 0xd8, + 0x96, 0x86, 0x1e, 0xc1, 0xdd, 0xd7, 0x3d, 0xc7, 0x3b, 0x6b, 0xf5, 0x89, 0xdb, 0x75, 0x5e, 0xf7, + 0xda, 0x5d, 0x63, 0xb0, 0xae, 0xa4, 0xd5, 0xdf, 0x2d, 0xc0, 0x9f, 0x4a, 0x1a, 0xfd, 0x08, 0x05, + 0x36, 0xd3, 0xef, 0xeb, 0x52, 0x1e, 0xdf, 0x7c, 0x2e, 0x87, 0x3a, 0x15, 0x07, 0x8c, 0x47, 0x9d, + 0xc4, 0xff, 0xa0, 0x92, 0xf9, 0x8f, 0xfd, 0x19, 0x15, 0x89, 0xaf, 0x86, 0x71, 0xbd, 0xb6, 0xa1, + 0x9e, 0x7c, 0x23, 0x18, 0x5c, 0xe3, 0x07, 0x8d, 0x2c, 0x73, 0x04, 0xe5, 0x56, 0xbf, 0x4f, 0x06, + 0xad, 0xd3, 0xae, 0x3b, 0x6a, 0xb5, 0xbb, 0xae, 0xbd, 0xa6, 0x30, 0xb7, 0x75, 0xda, 0x5d, 0x80, + 0xb6, 0x75, 0xf0, 0x15, 0xec, 0xad, 0x7c, 0x99, 0xd0, 0x16, 0x6c, 0x0c, 0x8f, 0x8f, 0xed, 0x35, + 0x54, 0x80, 0xad, 0x4e, 0xf7, 0xb8, 0x75, 0xd6, 0xf7, 0x6c, 0x0b, 0x01, 0xdc, 0x76, 0x3d, 0xa7, + 0xd7, 0xf6, 0xec, 0xf5, 0x83, 0x27, 0x00, 0x8b, 0x17, 0x07, 0x6d, 0xc3, 0xe6, 0x60, 0x38, 0xe8, + 0xda, 0x6b, 0xa8, 0x0c, 0x70, 0x7a, 0xa6, 0x99, 0xf4, 0xfa, 0xae, 0x6d, 0x1d, 0x3c, 0x85, 0xca, + 0x47, 0xb3, 0xa0, 0xd4, 0xbd, 0xee, 0xf7, 0x9e, 0xbd, 0xa6, 0xbe, 0x4e, 0xdc, 0xe1, 0xc0, 0xb6, + 0x4e, 0x36, 0xb7, 0x77, 0x6c, 0xfb, 0x64, 0x73, 0x1b, 0xd9, 0xbb, 0x07, 0x02, 0x8a, 0xcb, 0x3b, + 0x05, 0x61, 0xd8, 0xca, 0xf7, 0xba, 0xf9, 0xdb, 0xc9, 0x8f, 0xa8, 0x07, 0x45, 0x19, 0xa9, 0xf7, + 0xdb, 0x34, 0xbf, 0xfe, 0xbb, 0x29, 0x1c, 0x3e, 0xf9, 0x9b, 0x09, 0xf2, 0xfa, 0x6e, 0x3e, 0x2a, + 0x4e, 0x41, 0x46, 0x22, 0x3f, 0xbc, 0xa8, 0xff, 0xfa, 0x6e, 0xdf, 0xfa, 0xed, 0xdd, 0xbe, 0xf5, + 0xc7, 0xbb, 0x7d, 0xeb, 0x87, 0xaa, 0xf1, 0xc0, 0x78, 0xd3, 0x4f, 0x58, 0xf3, 0xbd, 0xdf, 0xb9, + 0xf3, 0xdb, 0x7a, 0x8b, 0x1e, 0xfd, 0x15, 0x00, 0x00, 0xff, 0xff, 0xa2, 0xcc, 0xca, 0xe8, 0x37, + 0x0a, 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index 975d8c5a01..b2bd4b9956 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -199,10 +199,10 @@ message MeshConfig { // Fallback to old identity format(without trust domain) if not set. string trust_domain = 26; - // Default network scope settings for each workload in the mesh. Network - // scope controls the reachability of workloads to other services in the - // mesh. - message DefaultNetworkScope { + // Default service dependency settings for each workload in the + // mesh. ServiceDependencycontrols the reachability of workloads to other + // services in the mesh. + message DefaultServiceDependency { enum Mode { // Configure routes to services in all namespaces, i.e. import // services from all namespaces. @@ -218,19 +218,19 @@ message MeshConfig { Mode import_mode = 1; // Specifies one or more namespaces that should be imported by default - // in all user defined NetworkScope resources in addition to the + // in all user defined ServiceDependency resources in addition to the // namespaces explicitly specified by the end user. Use this setting to // automatically import services/resources from namespaces such as // istio-system that all workloads in the mesh depend upon. repeated string import_namespaces = 2; } - // The default network scope associated with every workload in the mesh. - // Pilot will program the routes in the sidecars and gateways - // accordingly. If omitted, sidecars will be configured to reach every - // service in the mesh. The default scope can be overriden by supplying a - // NetworkScope resource per namespace. - DefaultNetworkScope default_network_scope = 29; + // The default service dependency setting associated with every workload + // in the mesh. Pilot will program the routes in the sidecars and + // gateways accordingly. If omitted, sidecars will be configured to reach + // every service in the mesh. The default scope can be overriden by + // supplying a ServiceDependency resource per namespace. + DefaultServiceDependency default_service_dependency = 29; // $hide_from_docs // Next available field number: 30 diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 6296b26b6a..c01ecef561 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -305,15 +305,15 @@

MeshConfig

-
- - + + + @@ -343,11 +343,11 @@

MeshConfig.AccessLogEncoding

FieldTypeDescription
namespacestring +

The configuration namespace whose services need to be imported. +Specify * to import all namespaces. The import can be scoped further +by specifying individual hosts.

+ +
hoststring +

A FQDN or wildcard prefixed DNS name of the host to import from the +specified namespace. The hostnames include names of services from the +service registry as well as those specified in a VirtualService.

+

One or more endpoints associated with the service.

+
configScopeConfigScope +

The visibility setting associated with this service entry. Set to +PRIVATE if this service should not be visible outside the namespace +where the service entry was added. The default scope is public, +i.e. the service added by the service entry will be visible to +workloads in the entire mesh.

+
configScopeConfigScope +

The visibility setting associated with this VirtualService. Set to +PRIVATE if this virtual service should not be exported, i.e. restrict +the applicability of this virtual service to only workloads in the same +namespace as the virtual service.

+
defaultNetworkScopeMeshConfig.DefaultNetworkScope
defaultServiceDependencyMeshConfig.DefaultServiceDependency -

The default network scope associated with every workload in the mesh. -Pilot will program the routes in the sidecars and gateways -accordingly. If omitted, sidecars will be configured to reach every -service in the mesh. The default scope can be overriden by supplying a -NetworkScope resource per namespace.

+

The default service dependency setting associated with every workload +in the mesh. Pilot will program the routes in the sidecars and +gateways accordingly. If omitted, sidecars will be configured to reach +every service in the mesh. The default scope can be overriden by +supplying a ServiceDependency resource per namespace.

-

MeshConfig.DefaultNetworkScope

+

MeshConfig.DefaultServiceDependency

-

Default network scope settings for each workload in the mesh. Network -scope controls the reachability of workloads to other services in the -mesh.

+

Default service dependency settings for each workload in the +mesh. ServiceDependencycontrols the reachability of workloads to other +services in the mesh.

@@ -358,20 +358,20 @@

MeshConfig.DefaultNetworkScope

- + - + - +
importModeMeshConfig.DefaultNetworkScope.ModeMeshConfig.DefaultServiceDependency.Mode

REQUIRED: The default import setting for every workload in the mesh.

importNamespaces string[]

Specifies one or more namespaces that should be imported by default -in all user defined NetworkScope resources in addition to the +in all user defined ServiceDependency resources in addition to the namespaces explicitly specified by the end user. Use this setting to automatically import services/resources from namespaces such as istio-system that all workloads in the mesh depend upon.

@@ -381,7 +381,7 @@

MeshConfig.DefaultNetworkScope

-

MeshConfig.DefaultNetworkScope.Mode

+

MeshConfig.DefaultServiceDependency.Mode

@@ -391,7 +391,7 @@

MeshConfig.DefaultNetworkScope.Mode

- + - +
ALL_NAMESPACES

Configure routes to services in all namespaces, i.e. import @@ -399,7 +399,7 @@

MeshConfig.DefaultNetworkScope.Mode

SAME_NAMESPACE

Only configure routes to services that are in the same namespace diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 44df1d8164..434926b92d 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -8,7 +8,7 @@ networking/v1alpha3/destination_rule.proto networking/v1alpha3/envoy_filter.proto networking/v1alpha3/gateway.proto - networking/v1alpha3/network_scope.proto + networking/v1alpha3/service_dependency.proto networking/v1alpha3/service_entry.proto networking/v1alpha3/virtual_service.proto @@ -24,7 +24,7 @@ Gateway Server Port - NetworkScope + ServiceDependency ServiceEntry VirtualService Destination @@ -4500,94 +4500,94 @@ func init() { } var fileDescriptorDestinationRule = []byte{ - // 1416 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x4f, 0x6f, 0x1b, 0xb7, - 0x12, 0xb7, 0xfe, 0xc6, 0x1e, 0xd9, 0xb2, 0xcc, 0x67, 0xe4, 0x29, 0x7a, 0x80, 0xe3, 0x27, 0x14, - 0x8d, 0x9b, 0x36, 0xab, 0xda, 0x41, 0x81, 0x34, 0x41, 0x8a, 0x58, 0xb6, 0x11, 0xb9, 0x91, 0x2d, - 0x81, 0x2b, 0x03, 0x45, 0x2e, 0x0b, 0x6a, 0x45, 0x4b, 0x8c, 0x57, 0xcb, 0xed, 0x92, 0xab, 0xda, - 0xf9, 0x0c, 0x3d, 0x07, 0xbd, 0xf6, 0xd2, 0xcf, 0x52, 0xf4, 0xd4, 0x6b, 0x7b, 0x69, 0x91, 0x2f, - 0xd0, 0x53, 0x2f, 0x3d, 0x14, 0x05, 0xb9, 0x5c, 0x49, 0x4e, 0x1c, 0x39, 0x46, 0x9a, 0x1b, 0xc9, - 0xf9, 0xfd, 0x86, 0xe4, 0xcc, 0x6f, 0x67, 0xb8, 0x70, 0xdb, 0xa7, 0xf2, 0x1b, 0x1e, 0x9e, 0x30, - 0xbf, 0x5f, 0x1b, 0x6d, 0x12, 0x2f, 0x18, 0x90, 0xbb, 0xb5, 0x1e, 0x15, 0x92, 0xf9, 0x44, 0x32, - 0xee, 0x3b, 0x61, 0xe4, 0x51, 0x2b, 0x08, 0xb9, 0xe4, 0xe8, 0x06, 0x13, 0x92, 0x71, 0x6b, 0xc2, - 0xb0, 0x12, 0x46, 0x65, 0xad, 0xcf, 0x79, 0xdf, 0xa3, 0x35, 0x0d, 0xec, 0x46, 0xc7, 0xb5, 0x5e, - 0x14, 0x6a, 0x7e, 0x4c, 0xad, 0x7c, 0x74, 0xd1, 0x36, 0x23, 0x16, 0xca, 0x88, 0x78, 0x8e, 0xa0, - 0xe1, 0x88, 0xb9, 0x66, 0x97, 0xca, 0xad, 0x8b, 0xa0, 0x66, 0xcd, 0x11, 0x2e, 0x0f, 0x12, 0xe0, - 0x6a, 0x9f, 0xf7, 0xb9, 0x1e, 0xd6, 0xd4, 0x28, 0x5e, 0xad, 0xfe, 0x9d, 0x82, 0xe5, 0xdd, 0xc9, - 0xf9, 0x71, 0xe4, 0x51, 0x84, 0x20, 0x3b, 0xe0, 0x42, 0x96, 0x53, 0xeb, 0xa9, 0x8d, 0x05, 0xac, - 0xc7, 0xa8, 0x05, 0x45, 0x19, 0x92, 0xe3, 0x63, 0xe6, 0x3a, 0x01, 0xf7, 0x98, 0x7b, 0x56, 0x4e, - 0xaf, 0xa7, 0x36, 0x0a, 0x5b, 0x1b, 0xd6, 0x1b, 0x6f, 0x69, 0x75, 0x62, 0x42, 0x5b, 0xe3, 0xf1, - 0x92, 0x9c, 0x9e, 0xa2, 0x07, 0x70, 0x4d, 0x44, 0x5d, 0x41, 0xa5, 0x28, 0x67, 0xd6, 0x33, 0x1b, - 0x85, 0xad, 0xff, 0xcf, 0xf0, 0x64, 0x6b, 0x24, 0x4e, 0x18, 0x68, 0x1f, 0x16, 0x5d, 0xee, 0x1f, - 0xb3, 0x7e, 0x7c, 0xc3, 0x72, 0x76, 0x3d, 0xb5, 0x51, 0xdc, 0xfa, 0x70, 0x86, 0x87, 0x1d, 0x0d, - 0xb7, 0x15, 0x1a, 0x17, 0xdc, 0xc9, 0xa4, 0xfa, 0x6b, 0x1e, 0x96, 0xce, 0x1d, 0x14, 0x75, 0x60, - 0xc9, 0xe3, 0xa4, 0xe7, 0x74, 0x89, 0x47, 0x7c, 0x97, 0x86, 0x3a, 0x0e, 0x85, 0xad, 0xda, 0x0c, - 0xef, 0x4d, 0x4e, 0x7a, 0x75, 0x03, 0xb7, 0xa9, 0x94, 0xcc, 0xef, 0x0b, 0xbc, 0xe8, 0x4d, 0xad, - 0xa2, 0xa7, 0xb0, 0xec, 0x72, 0xdf, 0xa7, 0xae, 0x96, 0x49, 0xc0, 0xb9, 0x67, 0x22, 0xb8, 0x39, - 0xfb, 0xd4, 0x86, 0xd1, 0xe6, 0xdc, 0x1b, 0x7b, 0x2e, 0xba, 0xe7, 0xd6, 0xd1, 0x57, 0xb0, 0xc2, - 0x23, 0xe9, 0x31, 0x1a, 0x3a, 0x3d, 0x2a, 0x63, 0x43, 0x39, 0xa3, 0xbd, 0x7f, 0x3c, 0xc3, 0x7b, - 0x2b, 0xe6, 0xec, 0x26, 0x14, 0x5c, 0xe2, 0xaf, 0xac, 0xa0, 0x7b, 0x90, 0x91, 0x9e, 0xd0, 0xf1, - 0x2d, 0xcc, 0x8c, 0x6f, 0xa7, 0x69, 0x8f, 0x8f, 0xa7, 0x28, 0xe8, 0x19, 0xfc, 0x27, 0xe0, 0xa1, - 0x74, 0x3c, 0x3a, 0xa2, 0x4a, 0xb3, 0xb1, 0xad, 0x9c, 0xd3, 0xb9, 0xbe, 0xff, 0xb6, 0xaa, 0xb1, - 0xda, 0x3c, 0x94, 0xe7, 0x75, 0xb4, 0xa2, 0xdc, 0x36, 0x95, 0xd7, 0x64, 0xc3, 0xca, 0x8b, 0x0c, - 0xac, 0xbc, 0x06, 0x44, 0x0f, 0x20, 0xab, 0xa0, 0x26, 0x7d, 0xb7, 0x66, 0x6c, 0xa9, 0xb8, 0x36, - 0xf5, 0xa8, 0x2b, 0x79, 0x88, 0x35, 0xe9, 0x75, 0x11, 0xa4, 0xdf, 0x93, 0x08, 0x32, 0xef, 0x55, - 0x04, 0xd9, 0x7f, 0x51, 0x04, 0xb9, 0x2b, 0x8b, 0xa0, 0xfa, 0x47, 0x0a, 0xf2, 0xf1, 0xb7, 0xab, - 0x8a, 0x8a, 0x4f, 0x86, 0x34, 0x29, 0x2a, 0x6a, 0x8c, 0xf6, 0x20, 0xef, 0x91, 0x2e, 0xf5, 0x44, - 0x39, 0xad, 0x65, 0x71, 0xe7, 0xd2, 0x12, 0x60, 0x35, 0x35, 0x7e, 0xcf, 0x97, 0xe1, 0x19, 0x36, - 0xe4, 0x0b, 0x6a, 0x53, 0xe6, 0x9d, 0x6a, 0x53, 0xe5, 0x73, 0x28, 0x4c, 0xed, 0x83, 0x4a, 0x90, - 0x39, 0xa1, 0x67, 0xe6, 0xe4, 0x6a, 0x88, 0x56, 0x21, 0x37, 0x22, 0x5e, 0x44, 0xb5, 0x2a, 0x16, - 0x70, 0x3c, 0xb9, 0x9f, 0xbe, 0x97, 0xaa, 0xfe, 0x90, 0x83, 0xd5, 0x8b, 0x84, 0x80, 0x30, 0xe4, - 0x05, 0x1b, 0x06, 0x5e, 0x1c, 0x81, 0xe2, 0xd6, 0xbd, 0x2b, 0x2a, 0xc9, 0xb2, 0x35, 0xbb, 0x59, - 0x6f, 0xcc, 0x61, 0xe3, 0x09, 0x9d, 0x68, 0x39, 0x09, 0x26, 0x24, 0xf5, 0xa5, 0x33, 0x20, 0x62, - 0x60, 0x64, 0xfa, 0xe8, 0xaa, 0xce, 0x77, 0xc6, 0x6e, 0x1a, 0x44, 0x0c, 0xf4, 0x26, 0x45, 0xf7, - 0xdc, 0x5a, 0xe5, 0xcf, 0x34, 0x94, 0x5e, 0x85, 0xa1, 0xdb, 0x50, 0x1a, 0x48, 0x19, 0x38, 0x03, - 0x4a, 0x7a, 0x34, 0x74, 0x26, 0x19, 0x56, 0x0e, 0x94, 0xa5, 0xa1, 0x0d, 0x87, 0x2a, 0xdb, 0x3e, - 0x14, 0x34, 0xd6, 0xe5, 0xfc, 0x84, 0x51, 0x73, 0xd2, 0x27, 0xef, 0x7a, 0x52, 0xab, 0xd1, 0xe9, - 0xb4, 0x77, 0xb4, 0xcb, 0xc6, 0x1c, 0x06, 0xb5, 0x43, 0x3c, 0x43, 0x1f, 0xc0, 0x52, 0x24, 0xa8, - 0x23, 0x78, 0x14, 0xba, 0xd4, 0x61, 0x81, 0x56, 0xc5, 0x7c, 0x63, 0x0e, 0x17, 0x22, 0x41, 0x6d, - 0xbd, 0xba, 0x1f, 0xa0, 0xdb, 0xb0, 0x32, 0x64, 0x3e, 0x1b, 0x46, 0x43, 0x27, 0x64, 0x7e, 0xdf, - 0x11, 0xec, 0x79, 0xdc, 0x4f, 0xb2, 0x78, 0xd9, 0x18, 0x30, 0xf3, 0xfb, 0x36, 0x7b, 0x4e, 0x2b, - 0x7d, 0x80, 0xc9, 0x6e, 0x17, 0x2a, 0x1a, 0x41, 0x36, 0x20, 0x72, 0x60, 0x74, 0xa1, 0xc7, 0x68, - 0x13, 0x32, 0x52, 0x26, 0x1f, 0xfa, 0x0d, 0x2b, 0x6e, 0xfd, 0x56, 0xd2, 0xfa, 0xad, 0x5d, 0xd3, - 0xfa, 0xeb, 0xd9, 0xef, 0x7e, 0xbb, 0x99, 0xc2, 0x0a, 0x5b, 0x07, 0x98, 0x57, 0xd9, 0x74, 0x4e, - 0xe8, 0x59, 0xb5, 0x01, 0xf3, 0x49, 0xea, 0xd1, 0x32, 0x14, 0x70, 0xeb, 0xe8, 0x70, 0xd7, 0xc1, - 0xad, 0xfa, 0xfe, 0x61, 0x69, 0x0e, 0x15, 0x01, 0x9a, 0x7b, 0xdb, 0x76, 0xc7, 0xd9, 0x69, 0x1d, - 0x1e, 0x96, 0x52, 0x08, 0x20, 0x8f, 0xb7, 0x0f, 0x77, 0x5b, 0x07, 0xa5, 0xb4, 0x02, 0xb7, 0xb7, - 0x6d, 0xbb, 0xd3, 0xc0, 0xad, 0xa3, 0xc7, 0x8d, 0x52, 0xa6, 0x5e, 0x80, 0x05, 0xaf, 0x6b, 0x3e, - 0x91, 0xea, 0x8b, 0x3c, 0x5c, 0xbf, 0xb8, 0xb2, 0xa0, 0x16, 0x64, 0xa4, 0x1b, 0x98, 0xba, 0xf9, - 0xf0, 0xca, 0x95, 0xc9, 0xea, 0xec, 0xb4, 0xa7, 0xca, 0x80, 0x1b, 0x20, 0x0c, 0x59, 0x95, 0x17, - 0x93, 0xf2, 0x2f, 0xae, 0xee, 0x51, 0x45, 0x7d, 0xec, 0x52, 0xfb, 0xaa, 0xfc, 0x95, 0x86, 0xc2, - 0xd4, 0x46, 0xe8, 0x16, 0x2c, 0x0f, 0xc9, 0xa9, 0x33, 0x29, 0x8a, 0x42, 0x5f, 0x20, 0x87, 0x8b, - 0x43, 0x72, 0x3a, 0x71, 0x2b, 0x50, 0x7d, 0x5c, 0x83, 0x1d, 0xc9, 0x86, 0x94, 0x47, 0xd2, 0x9c, - 0xeb, 0xcd, 0xa9, 0x19, 0xd7, 0xda, 0x4e, 0x4c, 0x40, 0x1c, 0x96, 0xa4, 0x1b, 0x38, 0x27, 0x94, - 0x06, 0xc4, 0x63, 0x23, 0x6a, 0x92, 0xfb, 0xe5, 0x3b, 0xc5, 0xca, 0xea, 0xb8, 0xc1, 0x93, 0xc4, - 0x23, 0x5e, 0x94, 0x53, 0xb3, 0xca, 0xb7, 0x29, 0x58, 0x9c, 0x36, 0xa3, 0xeb, 0x90, 0x0f, 0x42, - 0xde, 0xa5, 0xf1, 0x2d, 0x97, 0xb0, 0x99, 0xa1, 0x3b, 0x90, 0x55, 0xb7, 0xba, 0xfc, 0x4a, 0x1a, - 0x86, 0x3e, 0x83, 0x79, 0xe6, 0x4b, 0x1a, 0x8e, 0xc8, 0xe5, 0x02, 0xc5, 0x63, 0x68, 0xe5, 0x97, - 0x14, 0x2c, 0x4e, 0xe7, 0x04, 0x3d, 0x80, 0x8a, 0xca, 0xca, 0xa6, 0xa3, 0x72, 0x10, 0x50, 0xbf, - 0xa7, 0x3e, 0xa5, 0x90, 0x7e, 0x1d, 0x51, 0x21, 0x93, 0x44, 0xfc, 0x57, 0x23, 0x0e, 0xc8, 0x69, - 0x3b, 0xb6, 0x63, 0x63, 0x46, 0x9f, 0x00, 0x52, 0xa6, 0x2d, 0x4d, 0x1e, 0x93, 0xd2, 0x9a, 0xa4, - 0xcb, 0xcb, 0xd6, 0x01, 0x39, 0x1d, 0xa3, 0x1f, 0xc2, 0xff, 0xa6, 0x71, 0x4e, 0x40, 0xc3, 0xa9, - 0xac, 0xeb, 0x5b, 0xe4, 0x70, 0x79, 0x38, 0x61, 0xb4, 0x69, 0x38, 0x09, 0x3e, 0xba, 0x09, 0x85, - 0x98, 0x2e, 0x43, 0x46, 0xe3, 0x97, 0x4d, 0x0e, 0x83, 0x86, 0xeb, 0x95, 0xea, 0xf7, 0x69, 0x28, - 0xbd, 0xda, 0x14, 0xd1, 0x1d, 0x40, 0xaa, 0x1c, 0x52, 0x37, 0x92, 0x6c, 0x44, 0x1d, 0x1a, 0x86, - 0x3c, 0x4c, 0xee, 0xb5, 0x32, 0x65, 0xd9, 0xd3, 0x86, 0x73, 0x61, 0x4d, 0xbf, 0x75, 0x58, 0xd1, - 0x63, 0x40, 0x5d, 0x22, 0xa8, 0x43, 0x9f, 0x99, 0x17, 0x82, 0x4e, 0xe5, 0xa5, 0x79, 0x29, 0x29, - 0xd2, 0x9e, 0xe1, 0x28, 0x89, 0xa2, 0x4f, 0x61, 0x55, 0x5d, 0x72, 0xec, 0x27, 0xa0, 0xa1, 0x4b, - 0x7d, 0x69, 0x6e, 0x8b, 0x86, 0xe4, 0x34, 0x81, 0xb7, 0x63, 0x8b, 0xca, 0xc1, 0x90, 0xf9, 0xaa, - 0x8e, 0x7b, 0x72, 0x30, 0xc6, 0xe7, 0xe2, 0x1c, 0x0c, 0x99, 0xdf, 0xd0, 0x06, 0x83, 0xae, 0xfe, - 0xa4, 0x3e, 0xbe, 0x49, 0xb3, 0x47, 0x75, 0xc8, 0x0e, 0x79, 0x2f, 0x69, 0x6d, 0xd6, 0xdb, 0x3d, - 0x11, 0xd4, 0x58, 0xb1, 0xb0, 0xe6, 0xea, 0x10, 0x7b, 0x4c, 0x35, 0x32, 0x97, 0x86, 0x92, 0x1d, - 0x33, 0x97, 0xc8, 0xa4, 0xc1, 0xae, 0xc4, 0x96, 0x9d, 0x89, 0x41, 0xe5, 0x31, 0x08, 0xd9, 0x88, - 0x48, 0xaa, 0xaa, 0xa4, 0x0e, 0xd2, 0x02, 0x06, 0xb3, 0xf4, 0x84, 0x9e, 0xa9, 0x82, 0xe0, 0x92, - 0x69, 0x5f, 0x71, 0xb2, 0x17, 0x70, 0xd1, 0x25, 0x53, 0x8e, 0x84, 0xea, 0x00, 0x22, 0xea, 0xaa, - 0x78, 0x38, 0xc4, 0x93, 0xba, 0x87, 0xc5, 0xef, 0xd4, 0x05, 0xbc, 0x6c, 0x0c, 0xdb, 0x9e, 0x54, - 0x2d, 0x4c, 0xa8, 0xa7, 0x80, 0xf0, 0x59, 0x39, 0x1f, 0x3f, 0x05, 0x84, 0xcf, 0xaa, 0x8f, 0xe0, - 0x9a, 0xb9, 0x07, 0x2a, 0xc0, 0xb5, 0xdd, 0x7d, 0x7b, 0xbb, 0xde, 0xdc, 0x2b, 0xcd, 0xa9, 0x4a, - 0x6c, 0xef, 0x1f, 0xb4, 0x9b, 0x7b, 0x71, 0x55, 0x3e, 0x38, 0xea, 0x1c, 0x6d, 0x37, 0x4b, 0x69, - 0x54, 0x82, 0xc5, 0x7d, 0xbb, 0xb3, 0xdf, 0x72, 0xcc, 0x4a, 0xa6, 0x6e, 0xfd, 0xf8, 0x72, 0x2d, - 0xf5, 0xf3, 0xcb, 0xb5, 0xd4, 0xef, 0x2f, 0xd7, 0x52, 0x4f, 0xd7, 0xe3, 0xd8, 0x31, 0x5e, 0x23, - 0x01, 0xab, 0x5d, 0xf0, 0x73, 0xd7, 0xcd, 0x6b, 0x05, 0xdc, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, - 0xa1, 0xaa, 0x97, 0xcc, 0x8c, 0x0e, 0x00, 0x00, + // 1423 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0x6e, 0x1b, 0xb7, + 0x16, 0xb6, 0x7e, 0x63, 0x1f, 0xd9, 0xb2, 0xcc, 0x6b, 0xe4, 0x2a, 0xba, 0x80, 0xe3, 0x2b, 0x5c, + 0xdc, 0xb8, 0x69, 0x32, 0xaa, 0x1d, 0x14, 0x48, 0x13, 0xa4, 0x88, 0x65, 0x1b, 0x91, 0x1b, 0xd9, + 0x12, 0x28, 0x19, 0x28, 0xb2, 0x19, 0x50, 0x23, 0x5a, 0x62, 0x3c, 0x1a, 0x4e, 0x49, 0x8e, 0x6a, + 0xe7, 0x19, 0xba, 0x0e, 0xba, 0xed, 0xa6, 0xcf, 0x52, 0x74, 0xd5, 0x6d, 0xbb, 0x69, 0x91, 0x17, + 0xe8, 0xaa, 0x9b, 0x2e, 0x8a, 0x82, 0x1c, 0xea, 0xc7, 0x89, 0x23, 0xc7, 0x48, 0xb3, 0x23, 0x79, + 0xbe, 0xef, 0x90, 0x3c, 0xe7, 0x9b, 0x73, 0x38, 0x70, 0x3b, 0xa0, 0xea, 0x6b, 0x2e, 0x4e, 0x58, + 0xd0, 0xab, 0x0c, 0x37, 0x89, 0x1f, 0xf6, 0xc9, 0xbd, 0x4a, 0x97, 0x4a, 0xc5, 0x02, 0xa2, 0x18, + 0x0f, 0x5c, 0x11, 0xf9, 0xd4, 0x09, 0x05, 0x57, 0x1c, 0xdd, 0x60, 0x52, 0x31, 0xee, 0x4c, 0x18, + 0xce, 0x88, 0x51, 0x5a, 0xeb, 0x71, 0xde, 0xf3, 0x69, 0xc5, 0x00, 0x3b, 0xd1, 0x71, 0xa5, 0x1b, + 0x09, 0xc3, 0x8f, 0xa9, 0xa5, 0x8f, 0x2e, 0xda, 0x66, 0xc8, 0x84, 0x8a, 0x88, 0xef, 0x4a, 0x2a, + 0x86, 0xcc, 0xb3, 0xbb, 0x94, 0xee, 0x5c, 0x04, 0xb5, 0x10, 0xb7, 0x4b, 0x43, 0x1a, 0x74, 0x69, + 0xe0, 0x9d, 0x59, 0xf4, 0x6a, 0x8f, 0xf7, 0xb8, 0x19, 0x56, 0xf4, 0x28, 0x5e, 0x2d, 0xff, 0x95, + 0x80, 0xe5, 0xdd, 0xc9, 0x25, 0x70, 0xe4, 0x53, 0x84, 0x20, 0xdd, 0xe7, 0x52, 0x15, 0x13, 0xeb, + 0x89, 0x8d, 0x05, 0x6c, 0xc6, 0xa8, 0x01, 0x79, 0x25, 0xc8, 0xf1, 0x31, 0xf3, 0xdc, 0x90, 0xfb, + 0xcc, 0x3b, 0x2b, 0x26, 0xd7, 0x13, 0x1b, 0xb9, 0xad, 0x0d, 0xe7, 0xad, 0x57, 0x75, 0xda, 0x31, + 0xa1, 0x69, 0xf0, 0x78, 0x49, 0x4d, 0x4f, 0xd1, 0x43, 0xb8, 0x26, 0xa3, 0x8e, 0xa4, 0x4a, 0x16, + 0x53, 0xeb, 0xa9, 0x8d, 0xdc, 0xd6, 0x7f, 0x67, 0x78, 0x6a, 0x19, 0x24, 0x1e, 0x31, 0xd0, 0x3e, + 0x2c, 0x7a, 0x3c, 0x38, 0x66, 0x3d, 0x57, 0x7a, 0x3c, 0xa4, 0xc5, 0xf4, 0x7a, 0x62, 0x23, 0xbf, + 0xf5, 0xff, 0x19, 0x1e, 0x76, 0x0c, 0xbc, 0xa5, 0xd1, 0x38, 0xe7, 0x4d, 0x26, 0xe5, 0x5f, 0xb2, + 0xb0, 0x74, 0xee, 0xa0, 0xa8, 0x0d, 0x4b, 0x3e, 0x27, 0x5d, 0xb7, 0x43, 0x7c, 0x12, 0x78, 0x54, + 0x98, 0x38, 0xe4, 0xb6, 0x2a, 0x33, 0xbc, 0xd7, 0x39, 0xe9, 0x56, 0x2d, 0xbc, 0x45, 0x95, 0x62, + 0x41, 0x4f, 0xe2, 0x45, 0x7f, 0x6a, 0x15, 0x3d, 0x83, 0x65, 0x8f, 0x07, 0x01, 0xf5, 0x8c, 0x56, + 0x42, 0xce, 0x7d, 0x1b, 0xc1, 0xcd, 0xd9, 0xa7, 0xb6, 0x8c, 0x26, 0xe7, 0xfe, 0xd8, 0x73, 0xde, + 0x3b, 0xb7, 0x8e, 0xbe, 0x84, 0x15, 0x1e, 0x29, 0x9f, 0x51, 0xe1, 0x76, 0xa9, 0x8a, 0x0d, 0xc5, + 0x94, 0xf1, 0xfe, 0xf1, 0x0c, 0xef, 0x8d, 0x98, 0xb3, 0x3b, 0xa2, 0xe0, 0x02, 0x7f, 0x6d, 0x05, + 0xdd, 0x87, 0x94, 0xf2, 0xa5, 0x89, 0x6f, 0x6e, 0x66, 0x7c, 0xdb, 0xf5, 0xd6, 0xf8, 0x78, 0x9a, + 0x82, 0x9e, 0xc3, 0xbf, 0x42, 0x2e, 0x94, 0xeb, 0xd3, 0x21, 0xd5, 0xc2, 0x8d, 0x6d, 0xc5, 0x8c, + 0xc9, 0xf5, 0x83, 0x77, 0x55, 0x8d, 0xd3, 0xe4, 0x42, 0x9d, 0xd7, 0xd1, 0x8a, 0x76, 0x5b, 0xd7, + 0x5e, 0x47, 0x1b, 0x96, 0x5e, 0xa6, 0x60, 0xe5, 0x0d, 0x20, 0x7a, 0x08, 0x69, 0x0d, 0xb5, 0xe9, + 0xbb, 0x35, 0x63, 0x4b, 0xcd, 0x6d, 0x51, 0x9f, 0x7a, 0x8a, 0x0b, 0x6c, 0x48, 0x6f, 0x8a, 0x20, + 0xf9, 0x81, 0x44, 0x90, 0xfa, 0xa0, 0x22, 0x48, 0xff, 0x83, 0x22, 0xc8, 0x5c, 0x59, 0x04, 0xe5, + 0xdf, 0x13, 0x90, 0x8d, 0xbf, 0x5d, 0x5d, 0x54, 0x02, 0x32, 0xa0, 0xa3, 0xa2, 0xa2, 0xc7, 0x68, + 0x0f, 0xb2, 0x3e, 0xe9, 0x50, 0x5f, 0x16, 0x93, 0x46, 0x16, 0x77, 0x2f, 0x2d, 0x01, 0x4e, 0xdd, + 0xe0, 0xf7, 0x02, 0x25, 0xce, 0xb0, 0x25, 0x5f, 0x50, 0x9b, 0x52, 0xef, 0x55, 0x9b, 0x4a, 0x9f, + 0x41, 0x6e, 0x6a, 0x1f, 0x54, 0x80, 0xd4, 0x09, 0x3d, 0xb3, 0x27, 0xd7, 0x43, 0xb4, 0x0a, 0x99, + 0x21, 0xf1, 0x23, 0x6a, 0x54, 0xb1, 0x80, 0xe3, 0xc9, 0x83, 0xe4, 0xfd, 0x44, 0xf9, 0xfb, 0x0c, + 0xac, 0x5e, 0x24, 0x04, 0x84, 0x21, 0x2b, 0xd9, 0x20, 0xf4, 0xe3, 0x08, 0xe4, 0xb7, 0xee, 0x5f, + 0x51, 0x49, 0x4e, 0xcb, 0xb0, 0xeb, 0xd5, 0xda, 0x1c, 0xb6, 0x9e, 0xd0, 0x89, 0x91, 0x93, 0x64, + 0x52, 0xd1, 0x40, 0xb9, 0x7d, 0x22, 0xfb, 0x56, 0xa6, 0x8f, 0xaf, 0xea, 0x7c, 0x67, 0xec, 0xa6, + 0x46, 0x64, 0xdf, 0x6c, 0x92, 0xf7, 0xce, 0xad, 0x95, 0xfe, 0x48, 0x42, 0xe1, 0x75, 0x18, 0xba, + 0x0d, 0x85, 0xbe, 0x52, 0xa1, 0xdb, 0xa7, 0xa4, 0x4b, 0x85, 0x3b, 0xc9, 0xb0, 0x76, 0xa0, 0x2d, + 0x35, 0x63, 0x38, 0xd4, 0xd9, 0x0e, 0x20, 0x67, 0xb0, 0x1e, 0xe7, 0x27, 0x8c, 0xda, 0x93, 0x3e, + 0x7d, 0xdf, 0x93, 0x3a, 0xb5, 0x76, 0xbb, 0xb9, 0x63, 0x5c, 0xd6, 0xe6, 0x30, 0xe8, 0x1d, 0xe2, + 0x19, 0xfa, 0x1f, 0x2c, 0x45, 0x92, 0xba, 0x92, 0x47, 0xc2, 0xa3, 0x2e, 0x0b, 0x8d, 0x2a, 0xe6, + 0x6b, 0x73, 0x38, 0x17, 0x49, 0xda, 0x32, 0xab, 0xfb, 0x21, 0xba, 0x0d, 0x2b, 0x03, 0x16, 0xb0, + 0x41, 0x34, 0x70, 0x05, 0x0b, 0x7a, 0xae, 0x64, 0x2f, 0xe2, 0x7e, 0x92, 0xc6, 0xcb, 0xd6, 0x80, + 0x59, 0xd0, 0x6b, 0xb1, 0x17, 0xb4, 0xd4, 0x03, 0x98, 0xec, 0x76, 0xa1, 0xa2, 0x11, 0xa4, 0x43, + 0xa2, 0xfa, 0x56, 0x17, 0x66, 0x8c, 0x36, 0x21, 0xa5, 0xd4, 0xe8, 0x43, 0xbf, 0xe1, 0xc4, 0xfd, + 0xdf, 0x19, 0xf5, 0x7f, 0x67, 0xd7, 0xf6, 0xff, 0x6a, 0xfa, 0xdb, 0x5f, 0x6f, 0x26, 0xb0, 0xc6, + 0x56, 0x01, 0xe6, 0x75, 0x36, 0xdd, 0x13, 0x7a, 0x56, 0xae, 0xc1, 0xfc, 0x28, 0xf5, 0x68, 0x19, + 0x72, 0xb8, 0x71, 0x74, 0xb8, 0xeb, 0xe2, 0x46, 0x75, 0xff, 0xb0, 0x30, 0x87, 0xf2, 0x00, 0xf5, + 0xbd, 0xed, 0x56, 0xdb, 0xdd, 0x69, 0x1c, 0x1e, 0x16, 0x12, 0x08, 0x20, 0x8b, 0xb7, 0x0f, 0x77, + 0x1b, 0x07, 0x85, 0xa4, 0x06, 0x37, 0xb7, 0x5b, 0xad, 0x76, 0x0d, 0x37, 0x8e, 0x9e, 0xd4, 0x0a, + 0xa9, 0x6a, 0x0e, 0x16, 0xfc, 0x8e, 0xfd, 0x44, 0xca, 0x2f, 0xb3, 0x70, 0xfd, 0xe2, 0xca, 0x82, + 0x1a, 0x90, 0x52, 0x5e, 0x68, 0xeb, 0xe6, 0xa3, 0x2b, 0x57, 0x26, 0xa7, 0xbd, 0xd3, 0x9c, 0x2a, + 0x03, 0x5e, 0x88, 0x30, 0xa4, 0x75, 0x5e, 0x6c, 0xca, 0x3f, 0xbf, 0xba, 0x47, 0x1d, 0xf5, 0xb1, + 0x4b, 0xe3, 0xab, 0xf4, 0x67, 0x12, 0x72, 0x53, 0x1b, 0xa1, 0x5b, 0xb0, 0x3c, 0x20, 0xa7, 0xee, + 0xa4, 0x28, 0x4a, 0x73, 0x81, 0x0c, 0xce, 0x0f, 0xc8, 0xe9, 0xc4, 0xad, 0x44, 0xd5, 0x71, 0x0d, + 0x76, 0x15, 0x1b, 0x50, 0x1e, 0x29, 0x7b, 0xae, 0xb7, 0xa7, 0x66, 0x5c, 0x6b, 0xdb, 0x31, 0x01, + 0x71, 0x58, 0x52, 0x5e, 0xe8, 0x9e, 0x50, 0x1a, 0x12, 0x9f, 0x0d, 0xa9, 0x4d, 0xee, 0x17, 0xef, + 0x15, 0x2b, 0xa7, 0xed, 0x85, 0x4f, 0x47, 0x1e, 0xf1, 0xa2, 0x9a, 0x9a, 0x95, 0xbe, 0x49, 0xc0, + 0xe2, 0xb4, 0x19, 0x5d, 0x87, 0x6c, 0x28, 0x78, 0x87, 0xc6, 0xb7, 0x5c, 0xc2, 0x76, 0x86, 0xee, + 0x42, 0x5a, 0xdf, 0xea, 0xf2, 0x2b, 0x19, 0x18, 0xfa, 0x14, 0xe6, 0x59, 0xa0, 0xa8, 0x18, 0x92, + 0xcb, 0x05, 0x8a, 0xc7, 0xd0, 0xd2, 0xcf, 0x09, 0x58, 0x9c, 0xce, 0x09, 0x7a, 0x08, 0x25, 0x9d, + 0x95, 0x4d, 0x57, 0xe7, 0x40, 0x3f, 0x3c, 0xf5, 0xa7, 0x24, 0xe8, 0x57, 0x11, 0x95, 0x6a, 0x94, + 0x88, 0x7f, 0x1b, 0xc4, 0x01, 0x39, 0x6d, 0xc6, 0x76, 0x6c, 0xcd, 0xe8, 0x0e, 0x20, 0x6d, 0xda, + 0x32, 0xe4, 0x31, 0x29, 0x69, 0x48, 0xa6, 0xbc, 0x6c, 0x1d, 0x90, 0xd3, 0x31, 0xfa, 0x11, 0xfc, + 0x67, 0x1a, 0xe7, 0x86, 0x54, 0x4c, 0x65, 0xdd, 0xdc, 0x22, 0x83, 0x8b, 0x83, 0x09, 0xa3, 0x49, + 0xc5, 0x24, 0xf8, 0xe8, 0x26, 0xe4, 0x62, 0xba, 0x12, 0x8c, 0xc6, 0x2f, 0x9b, 0x0c, 0x06, 0x03, + 0x37, 0x2b, 0xe5, 0xef, 0x92, 0x50, 0x78, 0xbd, 0x29, 0xa2, 0xbb, 0x80, 0x74, 0x39, 0xa4, 0x5e, + 0xa4, 0xd8, 0x90, 0xba, 0x54, 0x08, 0x2e, 0x46, 0xf7, 0x5a, 0x99, 0xb2, 0xec, 0x19, 0xc3, 0xb9, + 0xb0, 0x26, 0xdf, 0x39, 0xac, 0xe8, 0x09, 0xa0, 0x0e, 0x91, 0xd4, 0xa5, 0xcf, 0xed, 0x0b, 0xc1, + 0xa4, 0xf2, 0xd2, 0xbc, 0x14, 0x34, 0x69, 0xcf, 0x72, 0xb4, 0x44, 0xd1, 0x27, 0xb0, 0xaa, 0x2f, + 0x39, 0xf6, 0x13, 0x52, 0xe1, 0xd1, 0x40, 0xd9, 0xdb, 0xa2, 0x01, 0x39, 0x1d, 0xc1, 0x9b, 0xb1, + 0x45, 0xe7, 0x60, 0xc0, 0x02, 0x5d, 0xc7, 0x7d, 0xd5, 0x1f, 0xe3, 0x33, 0x71, 0x0e, 0x06, 0x2c, + 0xa8, 0x19, 0x83, 0x45, 0x97, 0x7f, 0xd4, 0x1f, 0xdf, 0xa4, 0xd9, 0xa3, 0x2a, 0xa4, 0x07, 0xbc, + 0x3b, 0x6a, 0x6d, 0xce, 0xbb, 0x3d, 0x11, 0xf4, 0x58, 0xb3, 0xb0, 0xe1, 0x9a, 0x10, 0xfb, 0x4c, + 0x37, 0x32, 0x8f, 0x0a, 0xc5, 0x8e, 0x99, 0x47, 0xd4, 0xa8, 0xc1, 0xae, 0xc4, 0x96, 0x9d, 0x89, + 0x41, 0xe7, 0x31, 0x14, 0x6c, 0x48, 0x14, 0xd5, 0x55, 0xd2, 0x04, 0x69, 0x01, 0x83, 0x5d, 0x7a, + 0x4a, 0xcf, 0x74, 0x41, 0xf0, 0xc8, 0xb4, 0xaf, 0x38, 0xd9, 0x0b, 0x38, 0xef, 0x91, 0x29, 0x47, + 0x52, 0x77, 0x00, 0x19, 0x75, 0x74, 0x3c, 0x5c, 0xe2, 0x2b, 0xd3, 0xc3, 0xe2, 0x77, 0xea, 0x02, + 0x5e, 0xb6, 0x86, 0x6d, 0x5f, 0xe9, 0x16, 0x26, 0xf5, 0x53, 0x40, 0x06, 0xac, 0x98, 0x8d, 0x9f, + 0x02, 0x32, 0x60, 0xe5, 0xc7, 0x70, 0xcd, 0xde, 0x03, 0xe5, 0xe0, 0xda, 0xee, 0x7e, 0x6b, 0xbb, + 0x5a, 0xdf, 0x2b, 0xcc, 0xe9, 0x4a, 0xdc, 0xda, 0x3f, 0x68, 0xd6, 0xf7, 0xe2, 0xaa, 0x7c, 0x70, + 0xd4, 0x3e, 0xda, 0xae, 0x17, 0x92, 0xa8, 0x00, 0x8b, 0xfb, 0xad, 0xf6, 0x7e, 0xc3, 0xb5, 0x2b, + 0xa9, 0xaa, 0xf3, 0xc3, 0xab, 0xb5, 0xc4, 0x4f, 0xaf, 0xd6, 0x12, 0xbf, 0xbd, 0x5a, 0x4b, 0x3c, + 0x5b, 0x8f, 0x63, 0xc7, 0x78, 0x85, 0x84, 0xac, 0x72, 0xc1, 0x1f, 0x5e, 0x27, 0x6b, 0x14, 0x70, + 0xef, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x37, 0xf8, 0x6b, 0x20, 0x91, 0x0e, 0x00, 0x00, } diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index ebd4faf38e..e48b93c055 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -15,7 +15,7 @@ syntax = "proto3"; import "google/protobuf/duration.proto"; import "networking/v1alpha3/virtual_service.proto"; -import "networking/v1alpha3/network_scope.proto"; +import "networking/v1alpha3/service_dependency.proto"; import "gogoproto/gogo.proto"; package istio.networking.v1alpha3; diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index 4c91ad0146..1ec29f1a01 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -43,7 +43,7 @@

ConfigScope

a namespace when the namespace is imported. By default all configuration artifacts are public. Configurations with private scope will not be imported when the namespace containing the configuration is -imported in a NetworkScope.

+imported in a ServiceDependency.

@@ -2402,186 +2402,6 @@

LoadBalancerSettings.SimpleLB

advanced use cases. Refer to Original Destination load balancer in Envoy for further details.

- - - -
- -

NetworkScope

-
-

NetworkScope describes the set of services that a workload depends on -for its operation. In other words, it describes the properties of -outgoing traffic from a given workload. By default, the service mesh -established by Istio will have a full mesh connectivity - i.e. every -workload will have proxy configuration required to reach every other -workload in the mesh. However most connectivity graphs are sparse in -practice. The NetworkScope provides a way to declare the service -dependencies associated with each workload such that the amount of -configuration sent to the sidecars can be scoped to the requisite -dependencies.

- -

Services and configuration in a mesh are organized into one or more -namespaces (e.g., a Kubernetes namespace or a CF org/space). Workloads -in a namespace have an implicit dependency on other workloads in the -same namespace. In addition, to declare dependencies on workloads in -other namespaces, a NetworkScope resource has to be specified in the -current namespace. Each namespace MUST have only one NetworkScope -resource named “default”. The behavior of the system is undefined if -more than one NetworkScope resource exists in a given namespace. The set -of dependencies specified in a NetworkScope resource will be used to -compute the sidecar configuration for every workload in the namespace.

- -

NOTE 1: If workloads in the mesh depend only on other workloads in the -same namespace, set defaultNetworkScope.importMode to SAME_NAMESPACE -in the mesh global config map (in values.yaml).

- -

NOTE 2: To facilitate incremental pruning of the the sidecar -configuration, the default import mode for the mesh is set to -ALL_NAMESPACES. In other words, every workload will be able to reach -every other workload. Adding a NetworkScope resource in a namespace will -automatically prune the configuration for the workloads in that -namespace.

- -

The following examples illustrate a few specific use cases of NetworkScope.

- -

The example below delcares a NetworkScope resource in the prod-us1 -namespace that specifies that workloads in the namespace will be able to -reach the services in the prod-apis namespace only.

- -
apiVersion: networking.istio.io/v1alpha3
-kind: NetworkScope
-metadata:
-  name: default
-  namespace: prod-us1
-spec:
-  dependencies:
-  - imports:
-    - namespace: prod-apis
-
- -

In a mesh where the default network scope is set to SAME_NAMESPACE -only, if one or more workloads need to be able to reach every other -service in the mesh (e.g., metrics collection server), the following -NetworkScope resource can be used to specify such a dependency:

- -
apiVersion: networking.istio.io/v1alpha3
-kind: NetworkScope
-metadata:
-  name: default
-  namespace: metrics-collection
-spec:
-  dependencies:
-  - imports:
-    - namespace: '*'
-
- -

The configuration above will allow workloads in the metrics-collection -namespace to access service in any namespace while workloads in other -namespaces will be configured for namespace local access as per the -global default network scope (SAME_NAMESPACE).

- - - - - - - - - - - - - - - - -
FieldTypeDescription
dependenciesNetworkScope.Dependency[] -

REQUIRED. The set of services that workloads in this namespace are -expected to talk to, in addition to other workloads in the same -namespace. Dependencies describe the properties of outbound traffic from -a given workload.

- -
-
-

NetworkScope.Dependency

-
-

Dependency describes a workload and the set of service dependencies -for the workload.

- - - - - - - - - - - - - - - - -
FieldTypeDescription
importsNetworkScope.Import[] -

REQUIRED: Import describes the set of namespaces whose exported -services will be accessed by the workloads selected by the -sourceWorkloadLabels. The sidecars attached to the workloads will be -configured with information required to reach other services in the -same namespace and the imported services. In addition to the -explicitly specified namespaces, namespaces specified in the global -mesh config (through defaultNetworkScope.importNamespaces) will also be -imported.

- -
-
-

NetworkScope.Import

-
-

Import describes the set of namespaces whose exported services -(real/virtual) will be accessed by workloads in a given namespace. The -sidecars attached to the workloads will be configured with information -required to reach the imported services only. The gateways in the -current namespace will only honor imported VirtualServices instead of -every VirtualService that binds itself to the gateway.

- -

Importing a service from a namespace will automatically import the -exported configuration artifacts associated with the service, such as -VirtualService, DestinationRule, etc. The service in a namespace can be -a service in the service registry (e.g., a kubernetes or cloud foundry -service) or a service specified via ServiceEntry configuration.

- -

NOTE: Only exported services and configuration artifacts from a -namespace can be imported. Private services/configuration will not be -imported. See the scope setting associated with VirtualService, -DestinationRule, ServiceEntry, etc.

- - - - - - - - - - - - - - - - - - - @@ -3123,6 +2943,186 @@

Server.TLSOptions.TLSmode

their respective endpoints. Use of this mode assumes that both the source and the destination are using Istio mTLS to secure traffic.

+ + + +
FieldTypeDescription
namespacestring -

The configuration namespace whose services need to be imported. -Specify * to import all namespaces. The import can be scoped further -by specifying individual hosts.

- -
hoststring -

A FQDN or wildcard prefixed DNS name of the host to import from the -specified namespace. The hostnames include names of services from the -service registry as well as those specified in a VirtualService.

-
+
+

ServiceDependency

+
+

ServiceDependency describes the set of services that a workload depends on +for its operation. In other words, it describes the properties of +outgoing traffic from a given workload. By default, the service mesh +established by Istio will have a full mesh connectivity - i.e. every +workload will have proxy configuration required to reach every other +workload in the mesh. However most connectivity graphs are sparse in +practice. The ServiceDependency provides a way to declare the service +dependencies associated with each workload such that the amount of +configuration sent to the sidecars can be scoped to the requisite +dependencies.

+ +

Services and configuration in a mesh are organized into one or more +namespaces (e.g., a Kubernetes namespace or a CF org/space). Workloads +in a namespace have an implicit dependency on other workloads in the +same namespace. In addition, to declare dependencies on workloads in +other namespaces, a ServiceDependency resource has to be specified in the +current namespace. Each namespace MUST have only one ServiceDependency +resource named “default”. The behavior of the system is undefined if +more than one ServiceDependency resource exists in a given namespace. The set +of dependencies specified in a ServiceDependency resource will be used to +compute the sidecar configuration for every workload in the namespace.

+ +

NOTE 1: If workloads in the mesh depend only on other workloads in the +same namespace, set defaultServiceDependency.importMode to SAME_NAMESPACE +in the mesh global config map (in values.yaml).

+ +

NOTE 2: To facilitate incremental pruning of the the sidecar +configuration, the default import mode for the mesh is set to +ALL_NAMESPACES. In other words, every workload will be able to reach +every other workload. Adding a ServiceDependency resource in a namespace will +automatically prune the configuration for the workloads in that +namespace.

+ +

The following examples illustrate a few specific use cases of ServiceDependency.

+ +

The example below delcares a ServiceDependency resource in the prod-us1 +namespace that specifies that workloads in the namespace will be able to +reach the services in the prod-apis namespace only.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceDependency
+metadata:
+  name: default
+  namespace: prod-us1
+spec:
+  dependencies:
+  - imports:
+    - namespace: prod-apis
+
+ +

In a mesh where the default service dependency is set to SAME_NAMESPACE +only, if one or more workloads need to be able to reach every other +service in the mesh (e.g., metrics collection server), the following +ServiceDependency resource can be used to specify such a dependency:

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: ServiceDependency
+metadata:
+  name: default
+  namespace: metrics-collection
+spec:
+  dependencies:
+  - imports:
+    - namespace: '*'
+
+ +

The configuration above will allow workloads in the metrics-collection +namespace to access service in any namespace while workloads in other +namespaces will be configured for namespace local access as per the +global default service dependency (SAME_NAMESPACE).

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
dependenciesServiceDependency.Dependency[] +

REQUIRED. The set of services that workloads in this namespace are +expected to talk to, in addition to other workloads in the same +namespace. Dependencies describe the properties of outbound traffic from +a given workload.

+ +
+
+

ServiceDependency.Dependency

+
+

Dependency describes a workload and the set of service dependencies +for the workload.

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
importsServiceDependency.Import[] +

REQUIRED: Import describes the set of namespaces whose exported +services will be accessed by the workloads selected by the +sourceWorkloadLabels. The sidecars attached to the workloads will be +configured with information required to reach other services in the +same namespace and the imported services. In addition to the +explicitly specified namespaces, namespaces specified in the global +mesh config (through defaultServiceDependency.importNamespaces) will also be +imported.

+ +
+
+

ServiceDependency.Import

+
+

Import describes the set of namespaces whose exported services +(real/virtual) will be accessed by workloads in a given namespace. The +sidecars attached to the workloads will be configured with information +required to reach the imported services only. The gateways in the +current namespace will only honor imported VirtualServices instead of +every VirtualService that binds itself to the gateway.

+ +

Importing a service from a namespace will automatically import the +exported configuration artifacts associated with the service, such as +VirtualService, DestinationRule, etc. The service in a namespace can be +a service in the service registry (e.g., a kubernetes or cloud foundry +service) or a service specified via ServiceEntry configuration.

+ +

NOTE: Only exported services and configuration artifacts from a +namespace can be imported. Private services/configuration will not be +imported. See the scope setting associated with VirtualService, +DestinationRule, ServiceEntry, etc.

+ + + + + + + + + + + + + + + + + + + diff --git a/networking/v1alpha3/network_scope.pb.go b/networking/v1alpha3/service_dependency.pb.go similarity index 65% rename from networking/v1alpha3/network_scope.pb.go rename to networking/v1alpha3/service_dependency.pb.go index 6f6f79d670..ff233c696c 100644 --- a/networking/v1alpha3/network_scope.pb.go +++ b/networking/v1alpha3/service_dependency.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: networking/v1alpha3/network_scope.proto +// source: networking/v1alpha3/service_dependency.proto package v1alpha3 @@ -18,7 +18,7 @@ var _ = math.Inf // a namespace when the namespace is imported. By default all // configuration artifacts are public. Configurations with private scope // will not be imported when the namespace containing the configuration is -// imported in a NetworkScope. +// imported in a ServiceDependency. type ConfigScope int32 const ( @@ -41,15 +41,15 @@ var ConfigScope_value = map[string]int32{ func (x ConfigScope) String() string { return proto.EnumName(ConfigScope_name, int32(x)) } -func (ConfigScope) EnumDescriptor() ([]byte, []int) { return fileDescriptorNetworkScope, []int{0} } +func (ConfigScope) EnumDescriptor() ([]byte, []int) { return fileDescriptorServiceDependency, []int{0} } -// `NetworkScope` describes the set of services that a workload depends on +// `ServiceDependency` describes the set of services that a workload depends on // for its operation. In other words, it describes the properties of // outgoing traffic from a given workload. By default, the service mesh // established by Istio will have a full mesh connectivity - i.e. every // workload will have proxy configuration required to reach every other // workload in the mesh. However most connectivity graphs are sparse in -// practice. The NetworkScope provides a way to declare the service +// practice. The ServiceDependency provides a way to declare the service // dependencies associated with each workload such that the amount of // configuration sent to the sidecars can be scoped to the requisite // dependencies. @@ -58,33 +58,33 @@ func (ConfigScope) EnumDescriptor() ([]byte, []int) { return fileDescriptorNetwo // namespaces (e.g., a Kubernetes namespace or a CF org/space). Workloads // in a namespace have an implicit dependency on other workloads in the // same namespace. In addition, to declare dependencies on workloads in -// other namespaces, a NetworkScope resource has to be specified in the -// current namespace. *_Each namespace MUST have only one NetworkScope +// other namespaces, a ServiceDependency resource has to be specified in the +// current namespace. *_Each namespace MUST have only one ServiceDependency // resource named "default"_*. The behavior of the system is undefined if -// more than one NetworkScope resource exists in a given namespace. The set -// of dependencies specified in a NetworkScope resource will be used to +// more than one ServiceDependency resource exists in a given namespace. The set +// of dependencies specified in a ServiceDependency resource will be used to // compute the sidecar configuration for every workload in the namespace. // // NOTE 1: If workloads in the mesh depend only on other workloads in the -// same namespace, set defaultNetworkScope.importMode to SAME_NAMESPACE +// same namespace, set defaultServiceDependency.importMode to SAME_NAMESPACE // in the mesh global config map (in values.yaml). // // NOTE 2: To facilitate incremental pruning of the the sidecar // configuration, the default import mode for the mesh is set to // ALL_NAMESPACES. In other words, every workload will be able to reach -// every other workload. Adding a NetworkScope resource in a namespace will +// every other workload. Adding a ServiceDependency resource in a namespace will // automatically prune the configuration for the workloads in that // namespace. // -// The following examples illustrate a few specific use cases of NetworkScope. +// The following examples illustrate a few specific use cases of ServiceDependency. // -// The example below delcares a NetworkScope resource in the prod-us1 +// The example below delcares a ServiceDependency resource in the prod-us1 // namespace that specifies that workloads in the namespace will be able to // reach the services in the prod-apis namespace only. // // ```yaml // apiVersion: networking.istio.io/v1alpha3 -// kind: NetworkScope +// kind: ServiceDependency // metadata: // name: default // namespace: prod-us1 @@ -94,14 +94,14 @@ func (ConfigScope) EnumDescriptor() ([]byte, []int) { return fileDescriptorNetwo // - namespace: prod-apis // ``` // -// In a mesh where the default network scope is set to SAME_NAMESPACE +// In a mesh where the default service dependency is set to SAME_NAMESPACE // only, if one or more workloads need to be able to reach every other // service in the mesh (e.g., metrics collection server), the following -// NetworkScope resource can be used to specify such a dependency: +// ServiceDependency resource can be used to specify such a dependency: // // ```yaml // apiVersion: networking.istio.io/v1alpha3 -// kind: NetworkScope +// kind: ServiceDependency // metadata: // name: default // namespace: metrics-collection @@ -114,22 +114,24 @@ func (ConfigScope) EnumDescriptor() ([]byte, []int) { return fileDescriptorNetwo // The configuration above will allow workloads in the metrics-collection // namespace to access service in any namespace while workloads in other // namespaces will be configured for namespace local access as per the -// global default network scope (SAME_NAMESPACE). +// global default service dependency (SAME_NAMESPACE). // -type NetworkScope struct { +type ServiceDependency struct { // REQUIRED. The set of services that workloads in this namespace are // expected to talk to, in addition to other workloads in the same // namespace. Dependencies describe the properties of outbound traffic from // a given workload. - Dependencies []*NetworkScope_Dependency `protobuf:"bytes,1,rep,name=dependencies" json:"dependencies,omitempty"` + Dependencies []*ServiceDependency_Dependency `protobuf:"bytes,1,rep,name=dependencies" json:"dependencies,omitempty"` } -func (m *NetworkScope) Reset() { *m = NetworkScope{} } -func (m *NetworkScope) String() string { return proto.CompactTextString(m) } -func (*NetworkScope) ProtoMessage() {} -func (*NetworkScope) Descriptor() ([]byte, []int) { return fileDescriptorNetworkScope, []int{0} } +func (m *ServiceDependency) Reset() { *m = ServiceDependency{} } +func (m *ServiceDependency) String() string { return proto.CompactTextString(m) } +func (*ServiceDependency) ProtoMessage() {} +func (*ServiceDependency) Descriptor() ([]byte, []int) { + return fileDescriptorServiceDependency, []int{0} +} -func (m *NetworkScope) GetDependencies() []*NetworkScope_Dependency { +func (m *ServiceDependency) GetDependencies() []*ServiceDependency_Dependency { if m != nil { return m.Dependencies } @@ -153,7 +155,7 @@ func (m *NetworkScope) GetDependencies() []*NetworkScope_Dependency { // namespace can be imported. Private services/configuration will not be // imported. See the scope setting associated with VirtualService, // DestinationRule, ServiceEntry, etc. -type NetworkScope_Import struct { +type ServiceDependency_Import struct { // The configuration namespace whose services need to be imported. // Specify * to import all namespaces. The import can be scoped further // by specifying individual hosts. @@ -164,21 +166,21 @@ type NetworkScope_Import struct { Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` } -func (m *NetworkScope_Import) Reset() { *m = NetworkScope_Import{} } -func (m *NetworkScope_Import) String() string { return proto.CompactTextString(m) } -func (*NetworkScope_Import) ProtoMessage() {} -func (*NetworkScope_Import) Descriptor() ([]byte, []int) { - return fileDescriptorNetworkScope, []int{0, 0} +func (m *ServiceDependency_Import) Reset() { *m = ServiceDependency_Import{} } +func (m *ServiceDependency_Import) String() string { return proto.CompactTextString(m) } +func (*ServiceDependency_Import) ProtoMessage() {} +func (*ServiceDependency_Import) Descriptor() ([]byte, []int) { + return fileDescriptorServiceDependency, []int{0, 0} } -func (m *NetworkScope_Import) GetNamespace() string { +func (m *ServiceDependency_Import) GetNamespace() string { if m != nil { return m.Namespace } return "" } -func (m *NetworkScope_Import) GetHost() string { +func (m *ServiceDependency_Import) GetHost() string { if m != nil { return m.Host } @@ -187,12 +189,12 @@ func (m *NetworkScope_Import) GetHost() string { // Dependency describes a workload and the set of service dependencies // for the workload. -type NetworkScope_Dependency struct { +type ServiceDependency_Dependency struct { // [#not-implemented-hide:] // One or more labels that indicate a specific set of pods/VMs on which // this dependency configuration should be applied. The scope of label // search is platform dependent. On Kubernetes, for example, the scope - // includes pods running in the namespace in which the NetworkScope + // includes pods running in the namespace in which the ServiceDependency // resource is present. If the sourceWorkloadLabels are omitted, the // imports specified will be applicable to all workloads in the current // configuration namespace. @@ -204,26 +206,26 @@ type NetworkScope_Dependency struct { // configured with information required to reach other services in the // same namespace and the imported services. In addition to the // explicitly specified namespaces, namespaces specified in the global - // mesh config (through defaultNetworkScope.importNamespaces) will also be + // mesh config (through defaultServiceDependency.importNamespaces) will also be // imported. - Imports []*NetworkScope_Import `protobuf:"bytes,2,rep,name=imports" json:"imports,omitempty"` + Imports []*ServiceDependency_Import `protobuf:"bytes,2,rep,name=imports" json:"imports,omitempty"` } -func (m *NetworkScope_Dependency) Reset() { *m = NetworkScope_Dependency{} } -func (m *NetworkScope_Dependency) String() string { return proto.CompactTextString(m) } -func (*NetworkScope_Dependency) ProtoMessage() {} -func (*NetworkScope_Dependency) Descriptor() ([]byte, []int) { - return fileDescriptorNetworkScope, []int{0, 1} +func (m *ServiceDependency_Dependency) Reset() { *m = ServiceDependency_Dependency{} } +func (m *ServiceDependency_Dependency) String() string { return proto.CompactTextString(m) } +func (*ServiceDependency_Dependency) ProtoMessage() {} +func (*ServiceDependency_Dependency) Descriptor() ([]byte, []int) { + return fileDescriptorServiceDependency, []int{0, 1} } -func (m *NetworkScope_Dependency) GetSourceWorkloadLabels() map[string]string { +func (m *ServiceDependency_Dependency) GetSourceWorkloadLabels() map[string]string { if m != nil { return m.SourceWorkloadLabels } return nil } -func (m *NetworkScope_Dependency) GetImports() []*NetworkScope_Import { +func (m *ServiceDependency_Dependency) GetImports() []*ServiceDependency_Import { if m != nil { return m.Imports } @@ -231,12 +233,12 @@ func (m *NetworkScope_Dependency) GetImports() []*NetworkScope_Import { } func init() { - proto.RegisterType((*NetworkScope)(nil), "istio.networking.v1alpha3.NetworkScope") - proto.RegisterType((*NetworkScope_Import)(nil), "istio.networking.v1alpha3.NetworkScope.Import") - proto.RegisterType((*NetworkScope_Dependency)(nil), "istio.networking.v1alpha3.NetworkScope.Dependency") + proto.RegisterType((*ServiceDependency)(nil), "istio.networking.v1alpha3.ServiceDependency") + proto.RegisterType((*ServiceDependency_Import)(nil), "istio.networking.v1alpha3.ServiceDependency.Import") + proto.RegisterType((*ServiceDependency_Dependency)(nil), "istio.networking.v1alpha3.ServiceDependency.Dependency") proto.RegisterEnum("istio.networking.v1alpha3.ConfigScope", ConfigScope_name, ConfigScope_value) } -func (m *NetworkScope) Marshal() (dAtA []byte, err error) { +func (m *ServiceDependency) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) @@ -246,7 +248,7 @@ func (m *NetworkScope) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *NetworkScope) MarshalTo(dAtA []byte) (int, error) { +func (m *ServiceDependency) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int @@ -255,7 +257,7 @@ func (m *NetworkScope) MarshalTo(dAtA []byte) (int, error) { for _, msg := range m.Dependencies { dAtA[i] = 0xa i++ - i = encodeVarintNetworkScope(dAtA, i, uint64(msg.Size())) + i = encodeVarintServiceDependency(dAtA, i, uint64(msg.Size())) n, err := msg.MarshalTo(dAtA[i:]) if err != nil { return 0, err @@ -266,7 +268,7 @@ func (m *NetworkScope) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func (m *NetworkScope_Import) Marshal() (dAtA []byte, err error) { +func (m *ServiceDependency_Import) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) @@ -276,7 +278,7 @@ func (m *NetworkScope_Import) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *NetworkScope_Import) MarshalTo(dAtA []byte) (int, error) { +func (m *ServiceDependency_Import) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int @@ -284,19 +286,19 @@ func (m *NetworkScope_Import) MarshalTo(dAtA []byte) (int, error) { if len(m.Namespace) > 0 { dAtA[i] = 0xa i++ - i = encodeVarintNetworkScope(dAtA, i, uint64(len(m.Namespace))) + i = encodeVarintServiceDependency(dAtA, i, uint64(len(m.Namespace))) i += copy(dAtA[i:], m.Namespace) } if len(m.Host) > 0 { dAtA[i] = 0x12 i++ - i = encodeVarintNetworkScope(dAtA, i, uint64(len(m.Host))) + i = encodeVarintServiceDependency(dAtA, i, uint64(len(m.Host))) i += copy(dAtA[i:], m.Host) } return i, nil } -func (m *NetworkScope_Dependency) Marshal() (dAtA []byte, err error) { +func (m *ServiceDependency_Dependency) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) @@ -306,7 +308,7 @@ func (m *NetworkScope_Dependency) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *NetworkScope_Dependency) MarshalTo(dAtA []byte) (int, error) { +func (m *ServiceDependency_Dependency) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int @@ -316,15 +318,15 @@ func (m *NetworkScope_Dependency) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ v := m.SourceWorkloadLabels[k] - mapSize := 1 + len(k) + sovNetworkScope(uint64(len(k))) + 1 + len(v) + sovNetworkScope(uint64(len(v))) - i = encodeVarintNetworkScope(dAtA, i, uint64(mapSize)) + mapSize := 1 + len(k) + sovServiceDependency(uint64(len(k))) + 1 + len(v) + sovServiceDependency(uint64(len(v))) + i = encodeVarintServiceDependency(dAtA, i, uint64(mapSize)) dAtA[i] = 0xa i++ - i = encodeVarintNetworkScope(dAtA, i, uint64(len(k))) + i = encodeVarintServiceDependency(dAtA, i, uint64(len(k))) i += copy(dAtA[i:], k) dAtA[i] = 0x12 i++ - i = encodeVarintNetworkScope(dAtA, i, uint64(len(v))) + i = encodeVarintServiceDependency(dAtA, i, uint64(len(v))) i += copy(dAtA[i:], v) } } @@ -332,7 +334,7 @@ func (m *NetworkScope_Dependency) MarshalTo(dAtA []byte) (int, error) { for _, msg := range m.Imports { dAtA[i] = 0x12 i++ - i = encodeVarintNetworkScope(dAtA, i, uint64(msg.Size())) + i = encodeVarintServiceDependency(dAtA, i, uint64(msg.Size())) n, err := msg.MarshalTo(dAtA[i:]) if err != nil { return 0, err @@ -343,7 +345,7 @@ func (m *NetworkScope_Dependency) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func encodeVarintNetworkScope(dAtA []byte, offset int, v uint64) int { +func encodeVarintServiceDependency(dAtA []byte, offset int, v uint64) int { for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) v >>= 7 @@ -352,53 +354,53 @@ func encodeVarintNetworkScope(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return offset + 1 } -func (m *NetworkScope) Size() (n int) { +func (m *ServiceDependency) Size() (n int) { var l int _ = l if len(m.Dependencies) > 0 { for _, e := range m.Dependencies { l = e.Size() - n += 1 + l + sovNetworkScope(uint64(l)) + n += 1 + l + sovServiceDependency(uint64(l)) } } return n } -func (m *NetworkScope_Import) Size() (n int) { +func (m *ServiceDependency_Import) Size() (n int) { var l int _ = l l = len(m.Namespace) if l > 0 { - n += 1 + l + sovNetworkScope(uint64(l)) + n += 1 + l + sovServiceDependency(uint64(l)) } l = len(m.Host) if l > 0 { - n += 1 + l + sovNetworkScope(uint64(l)) + n += 1 + l + sovServiceDependency(uint64(l)) } return n } -func (m *NetworkScope_Dependency) Size() (n int) { +func (m *ServiceDependency_Dependency) Size() (n int) { var l int _ = l if len(m.SourceWorkloadLabels) > 0 { for k, v := range m.SourceWorkloadLabels { _ = k _ = v - mapEntrySize := 1 + len(k) + sovNetworkScope(uint64(len(k))) + 1 + len(v) + sovNetworkScope(uint64(len(v))) - n += mapEntrySize + 1 + sovNetworkScope(uint64(mapEntrySize)) + mapEntrySize := 1 + len(k) + sovServiceDependency(uint64(len(k))) + 1 + len(v) + sovServiceDependency(uint64(len(v))) + n += mapEntrySize + 1 + sovServiceDependency(uint64(mapEntrySize)) } } if len(m.Imports) > 0 { for _, e := range m.Imports { l = e.Size() - n += 1 + l + sovNetworkScope(uint64(l)) + n += 1 + l + sovServiceDependency(uint64(l)) } } return n } -func sovNetworkScope(x uint64) (n int) { +func sovServiceDependency(x uint64) (n int) { for { n++ x >>= 7 @@ -408,10 +410,10 @@ func sovNetworkScope(x uint64) (n int) { } return n } -func sozNetworkScope(x uint64) (n int) { - return sovNetworkScope(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +func sozServiceDependency(x uint64) (n int) { + return sovServiceDependency(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (m *NetworkScope) Unmarshal(dAtA []byte) error { +func (m *ServiceDependency) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -419,7 +421,7 @@ func (m *NetworkScope) Unmarshal(dAtA []byte) error { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowNetworkScope + return ErrIntOverflowServiceDependency } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -434,10 +436,10 @@ func (m *NetworkScope) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: NetworkScope: wiretype end group for non-group") + return fmt.Errorf("proto: ServiceDependency: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: NetworkScope: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ServiceDependency: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -447,7 +449,7 @@ func (m *NetworkScope) Unmarshal(dAtA []byte) error { var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowNetworkScope + return ErrIntOverflowServiceDependency } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -460,25 +462,25 @@ func (m *NetworkScope) Unmarshal(dAtA []byte) error { } } if msglen < 0 { - return ErrInvalidLengthNetworkScope + return ErrInvalidLengthServiceDependency } postIndex := iNdEx + msglen if postIndex > l { return io.ErrUnexpectedEOF } - m.Dependencies = append(m.Dependencies, &NetworkScope_Dependency{}) + m.Dependencies = append(m.Dependencies, &ServiceDependency_Dependency{}) if err := m.Dependencies[len(m.Dependencies)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex default: iNdEx = preIndex - skippy, err := skipNetworkScope(dAtA[iNdEx:]) + skippy, err := skipServiceDependency(dAtA[iNdEx:]) if err != nil { return err } if skippy < 0 { - return ErrInvalidLengthNetworkScope + return ErrInvalidLengthServiceDependency } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF @@ -492,7 +494,7 @@ func (m *NetworkScope) Unmarshal(dAtA []byte) error { } return nil } -func (m *NetworkScope_Import) Unmarshal(dAtA []byte) error { +func (m *ServiceDependency_Import) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -500,7 +502,7 @@ func (m *NetworkScope_Import) Unmarshal(dAtA []byte) error { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowNetworkScope + return ErrIntOverflowServiceDependency } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -528,7 +530,7 @@ func (m *NetworkScope_Import) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowNetworkScope + return ErrIntOverflowServiceDependency } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -542,7 +544,7 @@ func (m *NetworkScope_Import) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthNetworkScope + return ErrInvalidLengthServiceDependency } postIndex := iNdEx + intStringLen if postIndex > l { @@ -557,7 +559,7 @@ func (m *NetworkScope_Import) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowNetworkScope + return ErrIntOverflowServiceDependency } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -571,7 +573,7 @@ func (m *NetworkScope_Import) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthNetworkScope + return ErrInvalidLengthServiceDependency } postIndex := iNdEx + intStringLen if postIndex > l { @@ -581,12 +583,12 @@ func (m *NetworkScope_Import) Unmarshal(dAtA []byte) error { iNdEx = postIndex default: iNdEx = preIndex - skippy, err := skipNetworkScope(dAtA[iNdEx:]) + skippy, err := skipServiceDependency(dAtA[iNdEx:]) if err != nil { return err } if skippy < 0 { - return ErrInvalidLengthNetworkScope + return ErrInvalidLengthServiceDependency } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF @@ -600,7 +602,7 @@ func (m *NetworkScope_Import) Unmarshal(dAtA []byte) error { } return nil } -func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { +func (m *ServiceDependency_Dependency) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -608,7 +610,7 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowNetworkScope + return ErrIntOverflowServiceDependency } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -636,7 +638,7 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowNetworkScope + return ErrIntOverflowServiceDependency } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -649,7 +651,7 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { } } if msglen < 0 { - return ErrInvalidLengthNetworkScope + return ErrInvalidLengthServiceDependency } postIndex := iNdEx + msglen if postIndex > l { @@ -665,7 +667,7 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowNetworkScope + return ErrIntOverflowServiceDependency } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -682,7 +684,7 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { var stringLenmapkey uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowNetworkScope + return ErrIntOverflowServiceDependency } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -696,7 +698,7 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { } intStringLenmapkey := int(stringLenmapkey) if intStringLenmapkey < 0 { - return ErrInvalidLengthNetworkScope + return ErrInvalidLengthServiceDependency } postStringIndexmapkey := iNdEx + intStringLenmapkey if postStringIndexmapkey > l { @@ -708,7 +710,7 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { var stringLenmapvalue uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowNetworkScope + return ErrIntOverflowServiceDependency } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -722,7 +724,7 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { } intStringLenmapvalue := int(stringLenmapvalue) if intStringLenmapvalue < 0 { - return ErrInvalidLengthNetworkScope + return ErrInvalidLengthServiceDependency } postStringIndexmapvalue := iNdEx + intStringLenmapvalue if postStringIndexmapvalue > l { @@ -732,12 +734,12 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { iNdEx = postStringIndexmapvalue } else { iNdEx = entryPreIndex - skippy, err := skipNetworkScope(dAtA[iNdEx:]) + skippy, err := skipServiceDependency(dAtA[iNdEx:]) if err != nil { return err } if skippy < 0 { - return ErrInvalidLengthNetworkScope + return ErrInvalidLengthServiceDependency } if (iNdEx + skippy) > postIndex { return io.ErrUnexpectedEOF @@ -754,7 +756,7 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowNetworkScope + return ErrIntOverflowServiceDependency } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -767,25 +769,25 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { } } if msglen < 0 { - return ErrInvalidLengthNetworkScope + return ErrInvalidLengthServiceDependency } postIndex := iNdEx + msglen if postIndex > l { return io.ErrUnexpectedEOF } - m.Imports = append(m.Imports, &NetworkScope_Import{}) + m.Imports = append(m.Imports, &ServiceDependency_Import{}) if err := m.Imports[len(m.Imports)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex default: iNdEx = preIndex - skippy, err := skipNetworkScope(dAtA[iNdEx:]) + skippy, err := skipServiceDependency(dAtA[iNdEx:]) if err != nil { return err } if skippy < 0 { - return ErrInvalidLengthNetworkScope + return ErrInvalidLengthServiceDependency } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF @@ -799,14 +801,14 @@ func (m *NetworkScope_Dependency) Unmarshal(dAtA []byte) error { } return nil } -func skipNetworkScope(dAtA []byte) (n int, err error) { +func skipServiceDependency(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, ErrIntOverflowNetworkScope + return 0, ErrIntOverflowServiceDependency } if iNdEx >= l { return 0, io.ErrUnexpectedEOF @@ -823,7 +825,7 @@ func skipNetworkScope(dAtA []byte) (n int, err error) { case 0: for shift := uint(0); ; shift += 7 { if shift >= 64 { - return 0, ErrIntOverflowNetworkScope + return 0, ErrIntOverflowServiceDependency } if iNdEx >= l { return 0, io.ErrUnexpectedEOF @@ -841,7 +843,7 @@ func skipNetworkScope(dAtA []byte) (n int, err error) { var length int for shift := uint(0); ; shift += 7 { if shift >= 64 { - return 0, ErrIntOverflowNetworkScope + return 0, ErrIntOverflowServiceDependency } if iNdEx >= l { return 0, io.ErrUnexpectedEOF @@ -855,7 +857,7 @@ func skipNetworkScope(dAtA []byte) (n int, err error) { } iNdEx += length if length < 0 { - return 0, ErrInvalidLengthNetworkScope + return 0, ErrInvalidLengthServiceDependency } return iNdEx, nil case 3: @@ -864,7 +866,7 @@ func skipNetworkScope(dAtA []byte) (n int, err error) { var start int = iNdEx for shift := uint(0); ; shift += 7 { if shift >= 64 { - return 0, ErrIntOverflowNetworkScope + return 0, ErrIntOverflowServiceDependency } if iNdEx >= l { return 0, io.ErrUnexpectedEOF @@ -880,7 +882,7 @@ func skipNetworkScope(dAtA []byte) (n int, err error) { if innerWireType == 4 { break } - next, err := skipNetworkScope(dAtA[start:]) + next, err := skipServiceDependency(dAtA[start:]) if err != nil { return 0, err } @@ -900,34 +902,37 @@ func skipNetworkScope(dAtA []byte) (n int, err error) { } var ( - ErrInvalidLengthNetworkScope = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowNetworkScope = fmt.Errorf("proto: integer overflow") + ErrInvalidLengthServiceDependency = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowServiceDependency = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("networking/v1alpha3/network_scope.proto", fileDescriptorNetworkScope) } +func init() { + proto.RegisterFile("networking/v1alpha3/service_dependency.proto", fileDescriptorServiceDependency) +} -var fileDescriptorNetworkScope = []byte{ - // 352 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcf, 0x4b, 0x2d, 0x29, +var fileDescriptorServiceDependency = []byte{ + // 357 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xc9, 0x4b, 0x2d, 0x29, 0xcf, 0x2f, 0xca, 0xce, 0xcc, 0x4b, 0xd7, 0x2f, 0x33, 0x4c, 0xcc, 0x29, 0xc8, 0x48, 0x34, 0xd6, - 0x87, 0x8a, 0xc5, 0x17, 0x27, 0xe7, 0x17, 0xa4, 0xea, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0x49, - 0x66, 0x16, 0x97, 0x64, 0xe6, 0xeb, 0x21, 0x94, 0xeb, 0xc1, 0x94, 0x2b, 0x9d, 0x64, 0xe6, 0xe2, - 0xf1, 0x83, 0x88, 0x07, 0x83, 0x74, 0x08, 0x85, 0x71, 0xf1, 0xa4, 0xa4, 0x16, 0xa4, 0xe6, 0xa5, - 0xa4, 0xe6, 0x25, 0x67, 0xa6, 0x16, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x1b, 0x19, 0xe9, 0xe1, - 0x34, 0x42, 0x0f, 0x59, 0xbb, 0x9e, 0x0b, 0x4c, 0x6f, 0x65, 0x10, 0x8a, 0x39, 0x52, 0x56, 0x5c, - 0x6c, 0x9e, 0xb9, 0x05, 0xf9, 0x45, 0x25, 0x42, 0x32, 0x5c, 0x9c, 0x79, 0x89, 0xb9, 0xa9, 0xc5, - 0x05, 0x89, 0xc9, 0xa9, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0x08, 0x01, 0x21, 0x21, 0x2e, - 0x96, 0x8c, 0xfc, 0xe2, 0x12, 0x09, 0x26, 0xb0, 0x04, 0x98, 0x2d, 0xb5, 0x84, 0x89, 0x8b, 0x0b, - 0x61, 0xb0, 0x50, 0x13, 0x23, 0x97, 0x58, 0x71, 0x7e, 0x69, 0x51, 0x72, 0x6a, 0x3c, 0xc8, 0xe2, - 0x9c, 0xfc, 0xc4, 0x94, 0xf8, 0x9c, 0xc4, 0xa4, 0xd4, 0x1c, 0x98, 0x6b, 0x7d, 0x48, 0x77, 0xad, - 0x5e, 0x30, 0xd8, 0xc0, 0x70, 0xa8, 0x79, 0x3e, 0x60, 0xe3, 0x5c, 0xf3, 0x4a, 0x8a, 0x2a, 0x83, - 0x44, 0x8a, 0xb1, 0x48, 0x09, 0x79, 0x70, 0xb1, 0x67, 0x82, 0xfd, 0x53, 0x2c, 0xc1, 0x04, 0xb6, - 0x54, 0x8f, 0x58, 0x4b, 0x21, 0xc1, 0x10, 0x04, 0xd3, 0x2e, 0xe5, 0xce, 0x25, 0x89, 0xd3, 0x72, - 0x21, 0x01, 0x2e, 0xe6, 0xec, 0xd4, 0x4a, 0x68, 0x30, 0x81, 0x98, 0x42, 0x22, 0x5c, 0xac, 0x65, - 0x89, 0x39, 0xa5, 0xa9, 0xd0, 0x10, 0x82, 0x70, 0xac, 0x98, 0x2c, 0x18, 0xb5, 0xd4, 0xb8, 0xb8, - 0x9d, 0xf3, 0xf3, 0xd2, 0x32, 0xd3, 0x21, 0x31, 0xc9, 0xc5, 0xc5, 0x16, 0x10, 0xea, 0xe4, 0xe3, - 0xe9, 0x2c, 0xc0, 0x20, 0xc4, 0xcd, 0xc5, 0x1e, 0x10, 0xe4, 0x19, 0xe6, 0x18, 0xe2, 0x2a, 0xc0, - 0xe8, 0xa4, 0x77, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x46, - 0x29, 0x40, 0x9c, 0x9d, 0x99, 0xaf, 0x9f, 0x58, 0x90, 0xa9, 0x8f, 0x25, 0x49, 0x25, 0xb1, 0x81, - 0x53, 0x91, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x64, 0xd5, 0x9b, 0x1f, 0x70, 0x02, 0x00, 0x00, + 0x2f, 0x4e, 0x2d, 0x2a, 0xcb, 0x4c, 0x4e, 0x8d, 0x4f, 0x49, 0x2d, 0x48, 0xcd, 0x4b, 0x49, 0xcd, + 0x4b, 0xae, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0xcc, 0x2c, 0x2e, 0xc9, 0xcc, 0xd7, + 0x43, 0xe8, 0xd1, 0x83, 0xe9, 0x51, 0xba, 0xcb, 0xcc, 0x25, 0x18, 0x0c, 0xd1, 0xe7, 0x02, 0xd7, + 0x26, 0x14, 0xcd, 0xc5, 0x03, 0x37, 0x24, 0x33, 0xb5, 0x58, 0x82, 0x51, 0x81, 0x59, 0x83, 0xdb, + 0xc8, 0x5c, 0x0f, 0xa7, 0x39, 0x7a, 0x18, 0x66, 0xe8, 0x21, 0x98, 0x41, 0x28, 0x86, 0x49, 0x59, + 0x71, 0xb1, 0x79, 0xe6, 0x16, 0xe4, 0x17, 0x95, 0x08, 0xc9, 0x70, 0x71, 0xe6, 0x25, 0xe6, 0xa6, + 0x16, 0x17, 0x24, 0x26, 0xa7, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x21, 0x04, 0x84, 0x84, + 0xb8, 0x58, 0x32, 0xf2, 0x8b, 0x4b, 0x24, 0x98, 0xc0, 0x12, 0x60, 0xb6, 0xd4, 0x3a, 0x26, 0x2e, + 0x2e, 0x24, 0x77, 0xb6, 0x33, 0x72, 0x89, 0x15, 0xe7, 0x97, 0x16, 0x25, 0xa7, 0xc6, 0x83, 0x5c, + 0x94, 0x93, 0x9f, 0x98, 0x12, 0x9f, 0x93, 0x98, 0x94, 0x9a, 0x03, 0x73, 0x72, 0x20, 0x99, 0x4e, + 0xd6, 0x0b, 0x06, 0x9b, 0x1a, 0x0e, 0x35, 0xd4, 0x07, 0x6c, 0xa6, 0x6b, 0x5e, 0x49, 0x51, 0x65, + 0x90, 0x48, 0x31, 0x16, 0x29, 0x21, 0x5f, 0x2e, 0xf6, 0x4c, 0xb0, 0xa7, 0x8a, 0x25, 0x98, 0xc0, + 0x36, 0x1b, 0x93, 0x64, 0x33, 0x24, 0x40, 0x82, 0x60, 0x66, 0x48, 0xb9, 0x73, 0x49, 0xe2, 0x74, + 0x81, 0x90, 0x00, 0x17, 0x73, 0x76, 0x6a, 0x25, 0x34, 0xc0, 0x40, 0x4c, 0x21, 0x11, 0x2e, 0xd6, + 0xb2, 0xc4, 0x9c, 0xd2, 0x54, 0x68, 0x58, 0x41, 0x38, 0x56, 0x4c, 0x16, 0x8c, 0x5a, 0x6a, 0x5c, + 0xdc, 0xce, 0xf9, 0x79, 0x69, 0x99, 0xe9, 0xc1, 0xc9, 0xf9, 0x05, 0xa9, 0x42, 0x5c, 0x5c, 0x6c, + 0x01, 0xa1, 0x4e, 0x3e, 0x9e, 0xce, 0x02, 0x0c, 0x42, 0xdc, 0x5c, 0xec, 0x01, 0x41, 0x9e, 0x61, + 0x8e, 0x21, 0xae, 0x02, 0x8c, 0x4e, 0x7a, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, + 0xe0, 0x91, 0x1c, 0x63, 0x94, 0x02, 0xc4, 0xed, 0x99, 0xf9, 0xfa, 0x89, 0x05, 0x99, 0xfa, 0x58, + 0xd2, 0x5a, 0x12, 0x1b, 0x38, 0x65, 0x19, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x25, 0xbe, + 0xb4, 0x89, 0x02, 0x00, 0x00, } diff --git a/networking/v1alpha3/network_scope.proto b/networking/v1alpha3/service_dependency.proto similarity index 84% rename from networking/v1alpha3/network_scope.proto rename to networking/v1alpha3/service_dependency.proto index e78dbc0322..f6c54c71a3 100644 --- a/networking/v1alpha3/network_scope.proto +++ b/networking/v1alpha3/service_dependency.proto @@ -18,13 +18,13 @@ package istio.networking.v1alpha3; option go_package = "istio.io/api/networking/v1alpha3"; -// `NetworkScope` describes the set of services that a workload depends on +// `ServiceDependency` describes the set of services that a workload depends on // for its operation. In other words, it describes the properties of // outgoing traffic from a given workload. By default, the service mesh // established by Istio will have a full mesh connectivity - i.e. every // workload will have proxy configuration required to reach every other // workload in the mesh. However most connectivity graphs are sparse in -// practice. The NetworkScope provides a way to declare the service +// practice. The ServiceDependency provides a way to declare the service // dependencies associated with each workload such that the amount of // configuration sent to the sidecars can be scoped to the requisite // dependencies. @@ -33,33 +33,33 @@ option go_package = "istio.io/api/networking/v1alpha3"; // namespaces (e.g., a Kubernetes namespace or a CF org/space). Workloads // in a namespace have an implicit dependency on other workloads in the // same namespace. In addition, to declare dependencies on workloads in -// other namespaces, a NetworkScope resource has to be specified in the -// current namespace. *_Each namespace MUST have only one NetworkScope +// other namespaces, a ServiceDependency resource has to be specified in the +// current namespace. *_Each namespace MUST have only one ServiceDependency // resource named "default"_*. The behavior of the system is undefined if -// more than one NetworkScope resource exists in a given namespace. The set -// of dependencies specified in a NetworkScope resource will be used to +// more than one ServiceDependency resource exists in a given namespace. The set +// of dependencies specified in a ServiceDependency resource will be used to // compute the sidecar configuration for every workload in the namespace. // // NOTE 1: If workloads in the mesh depend only on other workloads in the -// same namespace, set defaultNetworkScope.importMode to SAME_NAMESPACE +// same namespace, set defaultServiceDependency.importMode to SAME_NAMESPACE // in the mesh global config map (in values.yaml). // // NOTE 2: To facilitate incremental pruning of the the sidecar // configuration, the default import mode for the mesh is set to // ALL_NAMESPACES. In other words, every workload will be able to reach -// every other workload. Adding a NetworkScope resource in a namespace will +// every other workload. Adding a ServiceDependency resource in a namespace will // automatically prune the configuration for the workloads in that // namespace. // -// The following examples illustrate a few specific use cases of NetworkScope. +// The following examples illustrate a few specific use cases of ServiceDependency. // -// The example below delcares a NetworkScope resource in the prod-us1 +// The example below delcares a ServiceDependency resource in the prod-us1 // namespace that specifies that workloads in the namespace will be able to // reach the services in the prod-apis namespace only. // // ```yaml // apiVersion: networking.istio.io/v1alpha3 -// kind: NetworkScope +// kind: ServiceDependency // metadata: // name: default // namespace: prod-us1 @@ -69,14 +69,14 @@ option go_package = "istio.io/api/networking/v1alpha3"; // - namespace: prod-apis // ``` // -// In a mesh where the default network scope is set to SAME_NAMESPACE +// In a mesh where the default service dependency is set to SAME_NAMESPACE // only, if one or more workloads need to be able to reach every other // service in the mesh (e.g., metrics collection server), the following -// NetworkScope resource can be used to specify such a dependency: +// ServiceDependency resource can be used to specify such a dependency: // // ```yaml // apiVersion: networking.istio.io/v1alpha3 -// kind: NetworkScope +// kind: ServiceDependency // metadata: // name: default // namespace: metrics-collection @@ -89,9 +89,9 @@ option go_package = "istio.io/api/networking/v1alpha3"; // The configuration above will allow workloads in the metrics-collection // namespace to access service in any namespace while workloads in other // namespaces will be configured for namespace local access as per the -// global default network scope (SAME_NAMESPACE). +// global default service dependency (SAME_NAMESPACE). // -message NetworkScope { +message ServiceDependency { // Import describes the set of namespaces whose exported services // (real/virtual) will be accessed by workloads in a given namespace. The // sidecars attached to the workloads will be configured with information @@ -128,7 +128,7 @@ message NetworkScope { // One or more labels that indicate a specific set of pods/VMs on which // this dependency configuration should be applied. The scope of label // search is platform dependent. On Kubernetes, for example, the scope - // includes pods running in the namespace in which the NetworkScope + // includes pods running in the namespace in which the ServiceDependency // resource is present. If the sourceWorkloadLabels are omitted, the // imports specified will be applicable to all workloads in the current // configuration namespace. @@ -141,7 +141,7 @@ message NetworkScope { // configured with information required to reach other services in the // same namespace and the imported services. In addition to the // explicitly specified namespaces, namespaces specified in the global - // mesh config (through defaultNetworkScope.importNamespaces) will also be + // mesh config (through defaultServiceDependency.importNamespaces) will also be // imported. repeated Import imports = 2; }; @@ -157,7 +157,7 @@ message NetworkScope { // a namespace when the namespace is imported. By default all // configuration artifacts are public. Configurations with private scope // will not be imported when the namespace containing the configuration is -// imported in a NetworkScope. +// imported in a ServiceDependency. enum ConfigScope { // Config with this scope are visible to all workloads in the mesh PUBLIC = 0; diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index 80b70528d2..ba15812abd 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -1538,38 +1538,38 @@ var ( func init() { proto.RegisterFile("networking/v1alpha3/service_entry.proto", fileDescriptorServiceEntry) } var fileDescriptorServiceEntry = []byte{ - // 521 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xcd, 0x6e, 0xd3, 0x4c, - 0x14, 0xed, 0xc4, 0x8d, 0x13, 0xdf, 0xb4, 0x9f, 0xf2, 0x8d, 0x10, 0x1a, 0x2c, 0x14, 0x4c, 0x16, - 0x10, 0x09, 0xc9, 0x29, 0xa9, 0x90, 0xca, 0xcf, 0xa6, 0x14, 0x4b, 0x44, 0x0a, 0x06, 0x26, 0x59, - 0x20, 0x36, 0x91, 0x9b, 0x0c, 0xc9, 0xa8, 0x96, 0xc7, 0xf2, 0x4c, 0x13, 0xe5, 0x2d, 0x78, 0x0c, - 0x1e, 0x85, 0x25, 0x8f, 0x80, 0xf2, 0x24, 0x28, 0xe3, 0x71, 0x9c, 0x45, 0x28, 0xed, 0xce, 0xe7, - 0xfa, 0x9e, 0x73, 0xcf, 0xcc, 0xb9, 0x03, 0x4f, 0x13, 0xa6, 0x96, 0x22, 0xbb, 0xe2, 0xc9, 0xac, - 0xbb, 0x78, 0x1e, 0xc5, 0xe9, 0x3c, 0x3a, 0xed, 0x4a, 0x96, 0x2d, 0xf8, 0x84, 0x8d, 0x59, 0xa2, - 0xb2, 0x95, 0x9f, 0x66, 0x42, 0x09, 0xfc, 0x80, 0x4b, 0xc5, 0x85, 0x5f, 0xb6, 0xfb, 0x45, 0xbb, - 0xfb, 0x78, 0x9f, 0xc6, 0x2c, 0x52, 0x6c, 0x19, 0x19, 0xb6, 0xbb, 0x77, 0x8c, 0xa9, 0x8d, 0xe5, - 0x44, 0xa4, 0x2c, 0x6f, 0x6c, 0xff, 0xa8, 0xc1, 0xd1, 0x30, 0x1f, 0x1f, 0x6c, 0xa6, 0xe3, 0x7b, - 0x50, 0x9d, 0x0b, 0xa9, 0x24, 0x41, 0x9e, 0xd5, 0x71, 0x68, 0x0e, 0xf0, 0x43, 0x70, 0xa2, 0xe9, - 0x34, 0x63, 0x52, 0x32, 0x49, 0x2a, 0xfa, 0x4f, 0x59, 0xc0, 0x2f, 0xa0, 0x9a, 0x8a, 0x4c, 0x49, - 0x62, 0x79, 0x56, 0xa7, 0xd1, 0x7b, 0xe4, 0xff, 0xd5, 0xbb, 0xff, 0x49, 0x64, 0x8a, 0xe6, 0xdd, - 0x78, 0x00, 0xf5, 0x58, 0x4c, 0x22, 0xc5, 0x45, 0x42, 0x0e, 0x3d, 0xd4, 0xf9, 0xaf, 0x77, 0x72, - 0x03, 0x73, 0xd7, 0xa5, 0x3f, 0x30, 0x3c, 0xba, 0x55, 0xc0, 0x14, 0x20, 0x63, 0x52, 0xc4, 0xd7, - 0x5a, 0xaf, 0xaa, 0xf5, 0x7a, 0xb7, 0xd5, 0xa3, 0x5b, 0x26, 0xdd, 0x51, 0xc1, 0x21, 0x38, 0x2c, - 0x99, 0xa6, 0x82, 0x27, 0x4a, 0x12, 0x5b, 0x1f, 0xee, 0xd6, 0x16, 0x03, 0x43, 0xa4, 0xa5, 0x04, - 0xee, 0xc3, 0xd1, 0x44, 0x24, 0xdf, 0xf8, 0x2c, 0xcf, 0x80, 0xd4, 0xb4, 0xcb, 0x27, 0x37, 0x48, - 0x5e, 0xe8, 0xf6, 0xe1, 0xa6, 0x9b, 0x36, 0x26, 0x25, 0x70, 0xbf, 0x5b, 0x50, 0x2f, 0x46, 0x60, - 0x02, 0x35, 0x93, 0x06, 0x41, 0x1e, 0xea, 0x38, 0xb4, 0x80, 0xf8, 0x73, 0x11, 0x4d, 0x45, 0xbb, - 0x7f, 0x7d, 0x57, 0xf7, 0x3a, 0x30, 0xa9, 0x6b, 0x45, 0x6c, 0x23, 0xb0, 0xe3, 0xe8, 0x92, 0xc5, - 0x45, 0xdc, 0x6f, 0xee, 0xac, 0x39, 0xd0, 0xf4, 0x5c, 0xd4, 0x68, 0x6d, 0x8e, 0x60, 0x04, 0xf4, - 0x2e, 0x38, 0xb4, 0x80, 0xd8, 0xcd, 0xd7, 0x24, 0xe6, 0x6a, 0xa5, 0x63, 0x75, 0xe8, 0x16, 0xe3, - 0xfb, 0x60, 0x2f, 0x19, 0x9f, 0xcd, 0x15, 0xb1, 0x3d, 0xd4, 0x39, 0xa6, 0x06, 0xb9, 0x67, 0x00, - 0xa5, 0x71, 0xdc, 0x04, 0xeb, 0x8a, 0xad, 0xcc, 0xd5, 0x6c, 0x3e, 0x37, 0x5b, 0xbe, 0x88, 0xe2, - 0x6b, 0x46, 0x2a, 0x9a, 0x96, 0x83, 0x57, 0x95, 0x33, 0xe4, 0xbe, 0x84, 0xc6, 0x8e, 0xbd, 0x7f, - 0x51, 0x9d, 0x1d, 0x6a, 0xfb, 0x04, 0xea, 0xc5, 0x5e, 0xe2, 0xff, 0xe1, 0xf8, 0x43, 0x30, 0x7c, - 0x3f, 0x0e, 0xbe, 0x8c, 0x02, 0x1a, 0x9e, 0x0f, 0x9a, 0x07, 0xdb, 0x52, 0x3f, 0x34, 0x25, 0xd4, - 0x7e, 0x06, 0x50, 0x6e, 0x1e, 0xae, 0xc3, 0x61, 0xf8, 0x31, 0x0c, 0x9a, 0x07, 0x18, 0xc0, 0x1e, - 0x8e, 0xce, 0x47, 0xfd, 0x8b, 0x26, 0xc2, 0x35, 0xb0, 0xde, 0x85, 0xc3, 0x66, 0xe5, 0xad, 0xff, - 0x73, 0xdd, 0x42, 0xbf, 0xd6, 0x2d, 0xf4, 0x7b, 0xdd, 0x42, 0x5f, 0xbd, 0xfc, 0xd2, 0xb9, 0xe8, - 0x46, 0x29, 0xef, 0xee, 0x79, 0xee, 0x97, 0xb6, 0x7e, 0xe1, 0xa7, 0x7f, 0x02, 0x00, 0x00, 0xff, - 0xff, 0x24, 0xa5, 0x68, 0xd6, 0x73, 0x04, 0x00, 0x00, + // 524 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xdd, 0x6e, 0xd3, 0x30, + 0x14, 0x9e, 0x9b, 0x2d, 0x6d, 0x4e, 0x37, 0x54, 0x2c, 0x84, 0x42, 0x84, 0x4a, 0xe8, 0x05, 0x54, + 0x02, 0xa5, 0xa3, 0x13, 0xd2, 0xf8, 0xb9, 0x19, 0x23, 0x12, 0x95, 0x4a, 0x00, 0xb7, 0x17, 0x88, + 0x9b, 0x2a, 0x4b, 0x4d, 0x6b, 0x2d, 0x8a, 0xa3, 0xd8, 0x6b, 0xd5, 0xb7, 0xe0, 0x31, 0x78, 0x14, + 0x2e, 0x79, 0x04, 0xd4, 0x27, 0x41, 0x71, 0x9c, 0xa6, 0x17, 0xa3, 0x6c, 0x77, 0xf9, 0x4e, 0xce, + 0xf7, 0xf9, 0x3b, 0xfe, 0x8e, 0xe1, 0x69, 0x42, 0xe5, 0x92, 0x67, 0x97, 0x2c, 0x99, 0xf5, 0x16, + 0x2f, 0xc2, 0x38, 0x9d, 0x87, 0x27, 0x3d, 0x41, 0xb3, 0x05, 0x8b, 0xe8, 0x84, 0x26, 0x32, 0x5b, + 0x79, 0x69, 0xc6, 0x25, 0xc7, 0x0f, 0x98, 0x90, 0x8c, 0x7b, 0x55, 0xbb, 0x57, 0xb6, 0x3b, 0x8f, + 0xaf, 0xd3, 0x98, 0x85, 0x92, 0x2e, 0x43, 0xcd, 0x76, 0x9e, 0xef, 0x3a, 0x66, 0x4a, 0x53, 0x9a, + 0x4c, 0x69, 0x12, 0xe9, 0xee, 0xce, 0xcf, 0x3a, 0x1c, 0x8e, 0x8a, 0x9f, 0x7e, 0x6e, 0x01, 0xdf, + 0x83, 0x83, 0x39, 0x17, 0x52, 0xd8, 0xc8, 0x35, 0xba, 0x16, 0x29, 0x00, 0x7e, 0x08, 0x56, 0x38, + 0x9d, 0x66, 0x54, 0x08, 0x2a, 0xec, 0x9a, 0xfa, 0x53, 0x15, 0xf0, 0x4b, 0x38, 0x48, 0x79, 0x26, + 0x85, 0x6d, 0xb8, 0x46, 0xb7, 0xd9, 0x7f, 0xe4, 0xfd, 0x73, 0x00, 0xef, 0x33, 0xcf, 0x24, 0x29, + 0xba, 0xf1, 0x10, 0x1a, 0x31, 0x8f, 0x42, 0xc9, 0x78, 0x62, 0xef, 0xbb, 0xa8, 0x7b, 0xa7, 0x7f, + 0xbc, 0x83, 0xb9, 0xed, 0xd2, 0x1b, 0x6a, 0x1e, 0xd9, 0x28, 0x60, 0x02, 0x90, 0x51, 0xc1, 0xe3, + 0x2b, 0xa5, 0x77, 0xa0, 0xf4, 0xfa, 0x37, 0xd5, 0x23, 0x1b, 0x26, 0xd9, 0x52, 0xc1, 0x01, 0x58, + 0x34, 0x99, 0xa6, 0x9c, 0x25, 0x52, 0xd8, 0xa6, 0x1a, 0xee, 0xc6, 0x16, 0x7d, 0x4d, 0x24, 0x95, + 0x04, 0x1e, 0xc0, 0x61, 0xc4, 0x93, 0xef, 0x6c, 0x36, 0x11, 0x11, 0x4f, 0xa9, 0x5d, 0x57, 0x2e, + 0x9f, 0xec, 0x90, 0x3c, 0x57, 0xed, 0xa3, 0xbc, 0x9b, 0x34, 0xa3, 0x0a, 0x38, 0x3f, 0x0c, 0x68, + 0x94, 0x47, 0x60, 0x1b, 0xea, 0x3a, 0x0d, 0x1b, 0xb9, 0xa8, 0x6b, 0x91, 0x12, 0xe2, 0x2f, 0x65, + 0x34, 0x35, 0xe5, 0xfe, 0xcd, 0x6d, 0xdd, 0xab, 0xc0, 0x84, 0xaa, 0x95, 0xb1, 0x8d, 0xc1, 0x8c, + 0xc3, 0x0b, 0x1a, 0x97, 0x71, 0xbf, 0xbd, 0xb5, 0xe6, 0x50, 0xd1, 0x0b, 0x51, 0xad, 0x95, 0x8f, + 0xa0, 0x05, 0xd4, 0x2e, 0x58, 0xa4, 0x84, 0xd8, 0x29, 0xd6, 0x24, 0x66, 0x72, 0xa5, 0x62, 0xb5, + 0xc8, 0x06, 0xe3, 0xfb, 0x60, 0x2e, 0x29, 0x9b, 0xcd, 0xa5, 0x6d, 0xba, 0xa8, 0x7b, 0x44, 0x34, + 0x72, 0x4e, 0x01, 0x2a, 0xe3, 0xb8, 0x05, 0xc6, 0x25, 0x5d, 0xe9, 0xab, 0xc9, 0x3f, 0xf3, 0x2d, + 0x5f, 0x84, 0xf1, 0x15, 0xb5, 0x6b, 0x8a, 0x56, 0x80, 0xd7, 0xb5, 0x53, 0xe4, 0xbc, 0x82, 0xe6, + 0x96, 0xbd, 0xff, 0x51, 0xad, 0x2d, 0x6a, 0xe7, 0x18, 0x1a, 0xe5, 0x5e, 0xe2, 0xbb, 0x70, 0xf4, + 0xd1, 0x1f, 0x7d, 0x98, 0xf8, 0x5f, 0xc7, 0x3e, 0x09, 0xce, 0x86, 0xad, 0xbd, 0x4d, 0x69, 0x10, + 0xe8, 0x12, 0xea, 0x3c, 0x03, 0xa8, 0x36, 0x0f, 0x37, 0x60, 0x3f, 0xf8, 0x14, 0xf8, 0xad, 0x3d, + 0x0c, 0x60, 0x8e, 0xc6, 0x67, 0xe3, 0xc1, 0x79, 0x0b, 0xe1, 0x3a, 0x18, 0xef, 0x83, 0x51, 0xab, + 0xf6, 0xce, 0xfb, 0xb5, 0x6e, 0xa3, 0xdf, 0xeb, 0x36, 0xfa, 0xb3, 0x6e, 0xa3, 0x6f, 0x6e, 0x71, + 0xe9, 0x8c, 0xf7, 0xc2, 0x94, 0xf5, 0xae, 0x79, 0xf3, 0x17, 0xa6, 0x7a, 0xe1, 0x27, 0x7f, 0x03, + 0x00, 0x00, 0xff, 0xff, 0xe4, 0x0f, 0x29, 0x22, 0x78, 0x04, 0x00, 0x00, } diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index de25067bae..c1f233f260 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -15,7 +15,7 @@ syntax = "proto3"; import "networking/v1alpha3/gateway.proto"; -import "networking/v1alpha3/network_scope.proto"; +import "networking/v1alpha3/service_dependency.proto"; package istio.networking.v1alpha3; diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 17c4d44ad4..6d51ac6049 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -9131,119 +9131,119 @@ func init() { } var fileDescriptorVirtualService = []byte{ - // 1811 bytes of a gzipped FileDescriptorProto + // 1818 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0xe3, 0x48, - 0x15, 0x1f, 0xd9, 0x96, 0xff, 0x3c, 0x39, 0x19, 0xa7, 0xc9, 0xce, 0x6a, 0xcc, 0xd6, 0x90, 0xf5, - 0xb2, 0xbb, 0xa1, 0x96, 0xb5, 0x0b, 0x0f, 0x2c, 0xa9, 0x65, 0x76, 0x76, 0xed, 0xcc, 0xcc, 0x3a, - 0xd4, 0x0c, 0x49, 0xc9, 0x61, 0x0f, 0x5c, 0x54, 0xb2, 0xd4, 0xb1, 0xc5, 0xc8, 0x92, 0x68, 0xb5, - 0x12, 0xbb, 0x38, 0xf2, 0xe7, 0x0e, 0xc5, 0x95, 0xe2, 0x53, 0x70, 0xe1, 0xc2, 0x95, 0x13, 0xc5, - 0x27, 0xa0, 0xa6, 0xe6, 0xc0, 0x95, 0xaf, 0x40, 0xf5, 0x1f, 0xc9, 0x4a, 0x9c, 0x58, 0x76, 0x18, - 0xa8, 0x3d, 0xc5, 0xdd, 0xfd, 0x7e, 0xaf, 0x5f, 0xbf, 0xee, 0xf7, 0xde, 0x4f, 0x2f, 0xf0, 0x1d, - 0x1f, 0xd3, 0x8b, 0x80, 0xbc, 0x74, 0xfd, 0x71, 0xe7, 0xfc, 0x7b, 0x96, 0x17, 0x4e, 0xac, 0x87, - 0x9d, 0x73, 0x97, 0xd0, 0xd8, 0xf2, 0xcc, 0x08, 0x93, 0x73, 0xd7, 0xc6, 0xed, 0x90, 0x04, 0x34, - 0x40, 0xf7, 0xdd, 0x88, 0xba, 0x41, 0x7b, 0x01, 0x68, 0x27, 0x80, 0xe6, 0x83, 0x71, 0x10, 0x8c, - 0x3d, 0xdc, 0xe1, 0x82, 0xa3, 0xf8, 0xac, 0xe3, 0xc4, 0xc4, 0xa2, 0x6e, 0xe0, 0x0b, 0xe8, 0xf2, - 0xfa, 0x05, 0xb1, 0xc2, 0x10, 0x93, 0x48, 0xae, 0x7f, 0x78, 0x9d, 0x15, 0x72, 0xce, 0x8c, 0xec, - 0x20, 0x94, 0x36, 0xb4, 0xfe, 0x5c, 0x80, 0xed, 0xaf, 0x84, 0x75, 0x43, 0x61, 0x1c, 0xda, 0x05, - 0x75, 0x12, 0x44, 0x34, 0xd2, 0x95, 0xbd, 0xe2, 0x7e, 0xcd, 0x10, 0x03, 0xd4, 0x84, 0xea, 0xd8, - 0xa2, 0xf8, 0xc2, 0x9a, 0x47, 0x7a, 0x81, 0x2f, 0xa4, 0x63, 0x74, 0x00, 0xa5, 0x09, 0xa5, 0xa1, - 0x5e, 0xdc, 0x2b, 0xee, 0x6b, 0xdd, 0x6f, 0xb7, 0x6f, 0x3c, 0x57, 0x7b, 0x70, 0x7a, 0x7a, 0x62, - 0x04, 0x31, 0xc5, 0x06, 0x47, 0xa0, 0x1f, 0x40, 0x91, 0xda, 0xa1, 0x5e, 0xe2, 0xc0, 0xf7, 0x56, - 0x00, 0x4f, 0x0f, 0x25, 0x8e, 0xc9, 0x73, 0x98, 0x17, 0xe9, 0x6a, 0x3e, 0xec, 0xf9, 0x30, 0x81, - 0x79, 0x11, 0x3a, 0x82, 0xba, 0x1d, 0xf8, 0x67, 0xee, 0x58, 0xb8, 0x40, 0x2f, 0xef, 0x29, 0xfb, - 0xdb, 0xdd, 0x0f, 0x56, 0xe0, 0x0f, 0xb9, 0xf8, 0x90, 0x49, 0x1b, 0x9a, 0xbd, 0x18, 0xb4, 0xce, - 0x41, 0x7b, 0x82, 0x23, 0xea, 0xfa, 0xfc, 0x56, 0x10, 0x82, 0x12, 0x73, 0x93, 0xae, 0xec, 0x29, - 0xfb, 0x35, 0x83, 0xff, 0x46, 0xf7, 0xa0, 0x1c, 0xc5, 0xa3, 0x08, 0x53, 0xbd, 0xc0, 0x67, 0xe5, - 0x08, 0xfd, 0x08, 0x4a, 0x61, 0x40, 0xa8, 0x5e, 0xdc, 0x53, 0xf6, 0xb5, 0xee, 0x87, 0x2b, 0x76, - 0x3f, 0x09, 0x08, 0x1d, 0x62, 0x0f, 0xdb, 0x34, 0x20, 0x06, 0x07, 0xb5, 0xfe, 0x0d, 0x50, 0x4b, - 0x9d, 0x88, 0x7a, 0xa0, 0x4e, 0x2d, 0x6a, 0x4f, 0xf8, 0x55, 0x69, 0xdd, 0x8f, 0x72, 0x3c, 0xff, - 0x82, 0xc9, 0x1a, 0xf8, 0x17, 0x31, 0x8e, 0xa8, 0x21, 0x90, 0xe8, 0x29, 0xa8, 0x84, 0xe9, 0xe2, - 0x97, 0xaa, 0x75, 0x3b, 0xeb, 0x5c, 0x5e, 0xe6, 0xe4, 0x86, 0x40, 0xa3, 0x43, 0xa8, 0x12, 0xec, - 0xb8, 0x04, 0xdb, 0xeb, 0x1c, 0x8c, 0x6b, 0x92, 0xe2, 0x46, 0x0a, 0x44, 0x5f, 0x40, 0x85, 0xe0, - 0x0b, 0xe2, 0x52, 0xac, 0x97, 0xb8, 0x8e, 0x0f, 0x72, 0x75, 0x70, 0x69, 0x23, 0x81, 0xa1, 0x8f, - 0x60, 0xe7, 0x02, 0x8f, 0xa2, 0xc0, 0x7e, 0x89, 0xa9, 0x19, 0x87, 0x63, 0x62, 0x39, 0x58, 0x57, - 0xf7, 0x94, 0xfd, 0xaa, 0xd1, 0x48, 0x17, 0x7e, 0x2a, 0xe6, 0xd1, 0x43, 0xa8, 0x50, 0x77, 0x8a, - 0x83, 0x98, 0xf2, 0x97, 0xa0, 0x75, 0xef, 0xb7, 0x45, 0x58, 0xb5, 0x93, 0xb0, 0x6a, 0x3f, 0x91, - 0x61, 0x67, 0x24, 0x92, 0xe8, 0x31, 0xb3, 0x91, 0x12, 0x17, 0x47, 0x7a, 0x85, 0x83, 0x72, 0x9f, - 0x3b, 0xa6, 0x64, 0x6e, 0x24, 0x20, 0x74, 0x08, 0xea, 0x99, 0x15, 0x7b, 0x54, 0xaf, 0x72, 0xf4, - 0xc7, 0x39, 0xe8, 0x67, 0x4c, 0xf6, 0xc8, 0xff, 0x39, 0xb6, 0x85, 0xb7, 0x39, 0x16, 0x3d, 0x86, - 0xf2, 0xd4, 0x25, 0x24, 0x20, 0x7a, 0x2d, 0xd7, 0x4f, 0xd9, 0xcb, 0x92, 0x28, 0xf4, 0x0c, 0x34, - 0x3b, 0x20, 0x91, 0x19, 0x06, 0x9e, 0x6b, 0xcf, 0x75, 0xe0, 0x4a, 0xde, 0x5f, 0x19, 0x07, 0x24, - 0x3a, 0xe1, 0xc2, 0x06, 0xd8, 0xe9, 0x6f, 0x34, 0x82, 0x6d, 0x96, 0x76, 0x7c, 0xc7, 0x9c, 0x60, - 0xcb, 0xc1, 0x24, 0xd2, 0x35, 0xfe, 0x8a, 0x7e, 0xb8, 0xce, 0x2b, 0x6a, 0xf7, 0x38, 0x74, 0x20, - 0x90, 0x4f, 0x7d, 0x4a, 0xe6, 0xfd, 0x82, 0xae, 0x18, 0x5b, 0x56, 0x76, 0x1e, 0x7d, 0x0a, 0x6f, - 0x13, 0x3c, 0x0d, 0xce, 0xb1, 0x49, 0x70, 0x14, 0x06, 0x7e, 0x84, 0xd3, 0xcd, 0xea, 0x2c, 0x0f, - 0x71, 0xcc, 0x5b, 0x42, 0xc4, 0x90, 0x12, 0x09, 0xf6, 0x97, 0xf0, 0xb6, 0xb4, 0x6f, 0x09, 0xbb, - 0xc5, 0x0d, 0xfd, 0x7c, 0x03, 0x43, 0xaf, 0x28, 0x5f, 0x18, 0xfc, 0x96, 0x75, 0xdd, 0x3a, 0x3a, - 0x80, 0x7b, 0xa9, 0xe1, 0x3c, 0xe4, 0xd2, 0xbd, 0xb7, 0x53, 0xbb, 0x77, 0x13, 0xbb, 0xb9, 0x40, - 0x82, 0x9c, 0xc1, 0xbd, 0xd4, 0xec, 0xcb, 0xc8, 0xbb, 0xdc, 0xea, 0xc7, 0x1b, 0x59, 0x9d, 0x55, - 0xbd, 0x30, 0x7a, 0xd7, 0xba, 0x66, 0x19, 0x3d, 0x82, 0x4a, 0xb2, 0x55, 0x83, 0x3f, 0x8a, 0xd6, - 0xaa, 0xad, 0x84, 0xa4, 0x91, 0x40, 0x9a, 0x5f, 0x00, 0x5a, 0xbe, 0x53, 0xd4, 0x80, 0xe2, 0x4b, - 0x3c, 0x97, 0xa9, 0x91, 0xfd, 0x64, 0x15, 0xe6, 0xdc, 0xf2, 0x62, 0x2c, 0x13, 0xa3, 0x18, 0x7c, - 0x5a, 0x38, 0x50, 0x9a, 0x03, 0x68, 0xde, 0xec, 0xec, 0x8d, 0x34, 0x7d, 0x09, 0xf7, 0x6f, 0x74, - 0xc0, 0x26, 0x8a, 0x5a, 0xff, 0x2a, 0x42, 0x25, 0x71, 0xcf, 0x0b, 0x16, 0xfc, 0x5c, 0x1d, 0xc7, - 0x6a, 0xdd, 0x87, 0xf9, 0xee, 0x91, 0x7f, 0x8f, 0x43, 0x2c, 0x52, 0x49, 0x64, 0x24, 0x3a, 0xd0, - 0x31, 0x4b, 0x9a, 0xe2, 0x9c, 0x7c, 0xdf, 0x5b, 0xea, 0x4b, 0x95, 0x34, 0xff, 0x52, 0x80, 0xc6, - 0xd5, 0x65, 0xf4, 0x13, 0x28, 0xb2, 0x22, 0x24, 0x4a, 0xc4, 0xa3, 0x5b, 0x6c, 0xd0, 0x1e, 0x62, - 0xca, 0xfd, 0x66, 0x30, 0x45, 0x4c, 0x9f, 0xe5, 0x38, 0xb2, 0x5e, 0xdc, 0x4a, 0x5f, 0xcf, 0x71, - 0xa4, 0x3e, 0xcb, 0x71, 0x58, 0x9d, 0x14, 0x51, 0xc0, 0xf9, 0x43, 0xcd, 0x90, 0xa3, 0xe6, 0x27, - 0x50, 0x4d, 0x36, 0xde, 0xe8, 0xe6, 0x3f, 0x81, 0x6a, 0xb2, 0xc1, 0x46, 0x17, 0xfd, 0x7b, 0x05, - 0xaa, 0x09, 0x5f, 0x60, 0x69, 0x3a, 0x5b, 0x59, 0x3f, 0x5e, 0xcd, 0x31, 0x78, 0x61, 0xed, 0x51, - 0x4a, 0xdc, 0x51, 0x4c, 0x71, 0x94, 0xd4, 0xd6, 0xde, 0xe5, 0xda, 0xba, 0xaa, 0x3c, 0xdf, 0x50, - 0x57, 0x5b, 0xbf, 0x63, 0x46, 0x49, 0xee, 0x83, 0xfa, 0x97, 0x8d, 0xfa, 0xee, 0x0a, 0x7d, 0xcf, - 0xbf, 0xff, 0xbf, 0xb3, 0xe9, 0x4f, 0x2a, 0x34, 0xae, 0xd2, 0x09, 0x74, 0x00, 0xc5, 0x98, 0xb8, - 0x32, 0x2c, 0x56, 0xd5, 0xa3, 0x21, 0x25, 0xae, 0x3f, 0x16, 0x58, 0x06, 0x61, 0xc5, 0x2c, 0xb2, - 0x27, 0x78, 0x9a, 0xc4, 0xc0, 0xba, 0x60, 0x89, 0xe2, 0xc5, 0x10, 0xd3, 0x49, 0xe0, 0x48, 0xe2, - 0xb1, 0x36, 0x5e, 0xa0, 0xd0, 0x13, 0xa8, 0x59, 0x31, 0x9d, 0x04, 0xc4, 0xa5, 0xf3, 0x35, 0x78, - 0x47, 0x56, 0xc5, 0x02, 0x88, 0x8c, 0x45, 0xe6, 0x14, 0xb4, 0xf4, 0x60, 0x03, 0x32, 0xd6, 0xce, - 0x66, 0xa7, 0x34, 0x9f, 0x32, 0x56, 0xc9, 0x99, 0x22, 0x63, 0x27, 0x5b, 0x82, 0x00, 0xa2, 0x11, - 0x6c, 0x45, 0x41, 0x4c, 0x6c, 0x6c, 0x7a, 0xd6, 0x08, 0x7b, 0x8c, 0x85, 0xb0, 0xdd, 0x3e, 0xdb, - 0x64, 0xb7, 0x21, 0x57, 0xf0, 0x9c, 0xe3, 0xc5, 0x96, 0xf5, 0x28, 0x33, 0x75, 0x89, 0xeb, 0x57, - 0x2f, 0x73, 0xfd, 0xe6, 0x08, 0xea, 0x39, 0xa9, 0xf4, 0x51, 0x36, 0xc2, 0xd6, 0xf7, 0x65, 0x26, - 0x82, 0x3f, 0x87, 0x9d, 0x25, 0x13, 0x37, 0x0a, 0xe5, 0xbf, 0xab, 0xb0, 0x7b, 0x1d, 0x5b, 0x45, - 0x03, 0xd0, 0x9c, 0xc5, 0x70, 0x8d, 0xd7, 0x9a, 0x7d, 0xfe, 0x59, 0x28, 0xcb, 0x5a, 0x17, 0xd8, - 0x1d, 0x4f, 0x04, 0xbb, 0x57, 0x0d, 0x39, 0x5a, 0x45, 0x57, 0x8a, 0x79, 0x74, 0xe5, 0xb7, 0xca, - 0xcd, 0x7c, 0x45, 0x7c, 0x22, 0xfd, 0x78, 0x43, 0x7a, 0xfe, 0xc6, 0xa9, 0x8b, 0x9a, 0x43, 0x5d, - 0x7e, 0xa5, 0xdc, 0xc8, 0x5d, 0xca, 0xfc, 0x04, 0x47, 0xb7, 0x3d, 0xc1, 0x2d, 0x69, 0x4c, 0x65, - 0x73, 0x1a, 0xf3, 0x35, 0x24, 0x21, 0x14, 0x1a, 0xff, 0xff, 0xb7, 0xdc, 0xfa, 0x6b, 0x01, 0x76, - 0x96, 0x0a, 0x09, 0xea, 0xc0, 0x37, 0x32, 0x60, 0x33, 0x8a, 0x47, 0x3e, 0x4e, 0xbb, 0x05, 0x28, - 0xb3, 0x34, 0x14, 0x2b, 0x69, 0x1a, 0x2b, 0x64, 0xd2, 0xd8, 0x7b, 0x69, 0x1a, 0x13, 0x78, 0x9e, - 0xbb, 0x6b, 0x49, 0x1e, 0x12, 0x48, 0x64, 0x5f, 0xcd, 0x75, 0xa5, 0x5c, 0xfa, 0xbb, 0x64, 0xee, - 0x46, 0xc9, 0x4e, 0xbd, 0x92, 0xec, 0xfe, 0xeb, 0x44, 0xf4, 0xcf, 0x02, 0xa0, 0x65, 0x7e, 0x80, - 0xbe, 0x09, 0xb5, 0xc8, 0x77, 0xcd, 0x6c, 0x9b, 0xa5, 0x1a, 0xf9, 0xee, 0x80, 0x77, 0x5a, 0x6e, - 0xf0, 0x6f, 0x21, 0xd7, 0xbf, 0xc5, 0x55, 0xfe, 0x2d, 0x5d, 0xe3, 0x5f, 0xe7, 0xaa, 0x7f, 0xd5, - 0xdc, 0x8f, 0xa2, 0xe5, 0xc3, 0x6c, 0xe4, 0xe0, 0xf2, 0x9b, 0x76, 0xf0, 0x63, 0xa8, 0x67, 0x9b, - 0x09, 0x0c, 0x9b, 0xd0, 0x90, 0x9a, 0xa0, 0x17, 0xef, 0x64, 0xcb, 0xbb, 0xc0, 0x2f, 0x26, 0x5a, - 0x9f, 0x81, 0x96, 0x69, 0x24, 0x6c, 0x0c, 0xc7, 0xa0, 0x65, 0x6a, 0x18, 0xba, 0x07, 0x2a, 0x9e, - 0x59, 0xb6, 0xec, 0x03, 0x0d, 0xee, 0x18, 0x62, 0x88, 0x74, 0x28, 0x87, 0x04, 0x9f, 0xb9, 0x33, - 0xa1, 0x61, 0x70, 0xc7, 0x90, 0x63, 0x86, 0x20, 0x78, 0x8c, 0x67, 0xe2, 0xfd, 0x33, 0x04, 0x1f, - 0xf6, 0xeb, 0x00, 0x9c, 0xaf, 0x99, 0x74, 0x1e, 0xe2, 0xd6, 0x6f, 0x14, 0xd9, 0xf5, 0xc1, 0xcc, - 0x3f, 0x4d, 0xa8, 0x5a, 0x94, 0xe2, 0x69, 0xc8, 0x1f, 0x0f, 0x0b, 0xd8, 0x74, 0x8c, 0x7a, 0x70, - 0x37, 0xc4, 0xc4, 0xa4, 0x64, 0x6e, 0x26, 0xbd, 0x8d, 0x42, 0x5e, 0x6f, 0x63, 0x2b, 0xc4, 0xe4, - 0x94, 0xcc, 0x4f, 0x65, 0x87, 0xe3, 0x3e, 0xfb, 0x2a, 0x61, 0x0a, 0x02, 0x5f, 0x46, 0x25, 0x6f, - 0x5e, 0xcc, 0x8f, 0xfd, 0xd6, 0x1f, 0x0b, 0x00, 0x8b, 0x56, 0x00, 0x7a, 0x17, 0xea, 0x96, 0xe7, - 0x05, 0x17, 0x66, 0x40, 0xdc, 0xb1, 0xeb, 0xcb, 0x97, 0xac, 0xf1, 0xb9, 0x63, 0x3e, 0xc5, 0xde, - 0xa1, 0x10, 0x11, 0x64, 0x2b, 0x79, 0xc6, 0x02, 0xf7, 0x42, 0xcc, 0x2d, 0x84, 0x2e, 0x55, 0x4a, - 0x29, 0x94, 0xe4, 0xf4, 0xf7, 0x61, 0x1b, 0xcf, 0xc2, 0xe0, 0x4a, 0x49, 0xac, 0x19, 0x5b, 0x62, - 0x36, 0x11, 0xeb, 0x42, 0x65, 0x6a, 0xcd, 0x4c, 0x6b, 0x2c, 0xfa, 0x3e, 0x2b, 0x0f, 0x5e, 0x9e, - 0x5a, 0xb3, 0xde, 0x18, 0xa3, 0x2f, 0x61, 0x47, 0xec, 0x6f, 0x13, 0xec, 0x60, 0x9f, 0xba, 0x96, - 0x17, 0xc9, 0x96, 0x50, 0x73, 0x09, 0xdd, 0x0f, 0x02, 0xef, 0x2b, 0xf6, 0xfe, 0x8c, 0x06, 0x07, - 0x1d, 0x2e, 0x30, 0xad, 0x3f, 0xa8, 0x80, 0x96, 0xbb, 0x36, 0xe8, 0x08, 0x54, 0x07, 0x7b, 0xd6, - 0x7c, 0x9d, 0x8f, 0xc6, 0x25, 0x74, 0xfb, 0x09, 0x83, 0x1a, 0x42, 0x03, 0x53, 0x65, 0x8d, 0x92, - 0x64, 0xba, 0xb1, 0xaa, 0x1e, 0x83, 0x1a, 0x42, 0x43, 0xf3, 0xd7, 0x05, 0x50, 0xb9, 0x6e, 0xf4, - 0x0e, 0x54, 0x42, 0x4c, 0x6c, 0xec, 0x8b, 0x87, 0xab, 0xf2, 0xca, 0x9a, 0x4c, 0xa1, 0x47, 0xa0, - 0x9d, 0xb9, 0x33, 0xec, 0x98, 0xe2, 0x0c, 0x79, 0xcf, 0x69, 0x70, 0xc7, 0x00, 0x2e, 0x2f, 0x74, - 0x0f, 0x60, 0x87, 0x5d, 0x90, 0x2f, 0x5c, 0x24, 0x75, 0x14, 0xf3, 0x75, 0x34, 0x32, 0x28, 0xa1, - 0xa9, 0x0f, 0x20, 0x4d, 0x5a, 0x5c, 0xee, 0xaa, 0xba, 0x7e, 0x22, 0x84, 0x8d, 0x0c, 0xaa, 0xbf, - 0x03, 0x77, 0x27, 0x94, 0x86, 0xc2, 0x0c, 0x1e, 0x5b, 0xcd, 0x57, 0x0a, 0xa8, 0xdc, 0x2f, 0x39, - 0x6e, 0x78, 0x17, 0x34, 0x0e, 0x8d, 0xa8, 0x45, 0xe3, 0x48, 0x54, 0x4a, 0x76, 0x56, 0x36, 0x39, - 0xe4, 0x73, 0x4c, 0x64, 0x4c, 0x42, 0x3b, 0x11, 0x49, 0x42, 0x1a, 0xd8, 0xe4, 0x42, 0x84, 0x01, - 0xba, 0x26, 0xe6, 0xed, 0xbb, 0x52, 0x22, 0xc2, 0x27, 0x9f, 0xf2, 0xe6, 0xdc, 0x9b, 0x38, 0x67, - 0x1d, 0x80, 0x6f, 0x20, 0xd2, 0xc7, 0x33, 0xa8, 0x67, 0x5b, 0xc9, 0x2c, 0x1d, 0xf9, 0xf1, 0x74, - 0x84, 0x09, 0x3f, 0xe7, 0x16, 0x4b, 0x47, 0x62, 0x8c, 0x76, 0xa1, 0xe4, 0x5b, 0xf2, 0x4b, 0x8c, - 0xd9, 0xc5, 0x47, 0xfd, 0xb2, 0x28, 0x30, 0xad, 0x6f, 0x41, 0x45, 0x6e, 0xb6, 0xc8, 0xc8, 0x4c, - 0x83, 0x22, 0x33, 0x72, 0xbf, 0xfd, 0xb7, 0xd7, 0x0f, 0x94, 0x7f, 0xbc, 0x7e, 0xa0, 0xbc, 0x7a, - 0xfd, 0x40, 0xf9, 0xd9, 0x9e, 0xb0, 0xd9, 0x0d, 0x3a, 0x56, 0xe8, 0x76, 0xae, 0xf9, 0x8f, 0xc4, - 0xa8, 0xcc, 0x6f, 0xfe, 0xe1, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xcb, 0x93, 0xb9, 0x9e, 0x35, - 0x19, 0x00, 0x00, + 0x15, 0x1f, 0xd9, 0x96, 0xff, 0x3c, 0x3b, 0x99, 0xa4, 0xc9, 0xce, 0x6a, 0xcc, 0xd6, 0x90, 0xf5, + 0xb2, 0x4b, 0xa8, 0xdd, 0x75, 0x0a, 0x0f, 0x2c, 0xa9, 0x65, 0x76, 0x76, 0x93, 0xcc, 0xcc, 0x7a, + 0xa8, 0x19, 0x26, 0x25, 0x87, 0x3d, 0x70, 0x51, 0xc9, 0xd2, 0x8b, 0x2d, 0x46, 0x96, 0x44, 0xab, + 0x95, 0xc4, 0xc5, 0x91, 0x3f, 0x77, 0x28, 0xae, 0x14, 0x9f, 0x82, 0x0b, 0x17, 0xae, 0x9c, 0x28, + 0x3e, 0x01, 0x35, 0x35, 0x07, 0xae, 0x7c, 0x05, 0xaa, 0xff, 0x48, 0x56, 0xe2, 0xc4, 0xb2, 0xc3, + 0x40, 0xed, 0x29, 0xee, 0xee, 0xf7, 0x7b, 0xfd, 0xfa, 0x75, 0xbf, 0xf7, 0x7e, 0x7a, 0x81, 0xef, + 0x06, 0xc8, 0xce, 0x42, 0xfa, 0xd2, 0x0b, 0x46, 0xbb, 0xa7, 0xdf, 0xb3, 0xfd, 0x68, 0x6c, 0xdf, + 0xdf, 0x3d, 0xf5, 0x28, 0x4b, 0x6c, 0xdf, 0x8a, 0x91, 0x9e, 0x7a, 0x0e, 0x76, 0x23, 0x1a, 0xb2, + 0x90, 0xdc, 0xf5, 0x62, 0xe6, 0x85, 0xdd, 0x19, 0xa0, 0x9b, 0x02, 0xda, 0xf7, 0x46, 0x61, 0x38, + 0xf2, 0x71, 0x57, 0x08, 0x0e, 0x93, 0x93, 0x5d, 0x37, 0xa1, 0x36, 0xf3, 0xc2, 0x40, 0x42, 0xe7, + 0xd7, 0xcf, 0xa8, 0x1d, 0x45, 0x48, 0x63, 0xb5, 0xfe, 0xd1, 0x55, 0x56, 0xa8, 0xdd, 0x2d, 0x17, + 0x23, 0x0c, 0x5c, 0x0c, 0x9c, 0xa9, 0x94, 0xee, 0xfc, 0xb9, 0x04, 0xeb, 0x5f, 0x49, 0x13, 0x07, + 0x52, 0x86, 0x6c, 0x81, 0x3e, 0x0e, 0x63, 0x16, 0x1b, 0xda, 0x76, 0x79, 0xa7, 0x61, 0xca, 0x01, + 0x69, 0x43, 0x7d, 0x64, 0x33, 0x3c, 0xb3, 0xa7, 0xb1, 0x51, 0x12, 0x0b, 0xd9, 0x98, 0xec, 0x41, + 0x65, 0xcc, 0x58, 0x64, 0x94, 0xb7, 0xcb, 0x3b, 0xcd, 0xde, 0xb7, 0xbb, 0xd7, 0x1e, 0xae, 0xdb, + 0x3f, 0x3e, 0x3e, 0x32, 0xc3, 0x84, 0xa1, 0x29, 0x10, 0xe4, 0x07, 0x50, 0x66, 0x4e, 0x64, 0x54, + 0x04, 0xf0, 0xbd, 0x05, 0xc0, 0xe3, 0x43, 0x85, 0xe3, 0xf2, 0x02, 0xe6, 0xc7, 0x86, 0x5e, 0x0c, + 0x7b, 0x36, 0x48, 0x61, 0x7e, 0x4c, 0x9e, 0x42, 0xcb, 0x09, 0x83, 0x13, 0x6f, 0x64, 0xc5, 0x4e, + 0x18, 0xa1, 0x51, 0xdd, 0xd6, 0x76, 0xd6, 0x7b, 0x1f, 0x2c, 0xc0, 0x1f, 0x0a, 0xf1, 0x01, 0x97, + 0x36, 0x9b, 0xce, 0x6c, 0xd0, 0x39, 0x85, 0xe6, 0x23, 0x8c, 0x99, 0x17, 0x88, 0xab, 0x21, 0x04, + 0x2a, 0xdc, 0x4d, 0x86, 0xb6, 0xad, 0xed, 0x34, 0x4c, 0xf1, 0x9b, 0xdc, 0x81, 0x6a, 0x9c, 0x0c, + 0x63, 0x64, 0x46, 0x49, 0xcc, 0xaa, 0x11, 0xf9, 0x11, 0x54, 0xa2, 0x90, 0x32, 0xa3, 0xbc, 0xad, + 0xed, 0x34, 0x7b, 0xdf, 0x59, 0xb0, 0xfb, 0x51, 0x48, 0xd9, 0x00, 0x7d, 0x74, 0x58, 0x48, 0x4d, + 0x01, 0xea, 0xfc, 0x1b, 0xa0, 0x91, 0x39, 0x91, 0xec, 0x83, 0x3e, 0xb1, 0x99, 0x33, 0x16, 0x57, + 0xd5, 0xec, 0x7d, 0x58, 0xe0, 0xf9, 0xe7, 0x5c, 0xd6, 0xc4, 0x5f, 0x24, 0x18, 0x33, 0x53, 0x22, + 0xc9, 0x63, 0xd0, 0x29, 0xd7, 0x25, 0x2e, 0xb5, 0xd9, 0xdb, 0x5d, 0xe6, 0xf2, 0x72, 0x27, 0x37, + 0x25, 0x9a, 0x1c, 0x42, 0x9d, 0xa2, 0xeb, 0x51, 0x74, 0x96, 0x39, 0x98, 0xd0, 0xa4, 0xc4, 0xcd, + 0x0c, 0x48, 0xbe, 0x80, 0x1a, 0xc5, 0x33, 0xea, 0x31, 0x34, 0x2a, 0x42, 0xc7, 0x07, 0x85, 0x3a, + 0x84, 0xb4, 0x99, 0xc2, 0xc8, 0x87, 0xb0, 0x79, 0x86, 0xc3, 0x38, 0x74, 0x5e, 0x22, 0xb3, 0x92, + 0x68, 0x44, 0x6d, 0x17, 0x0d, 0x7d, 0x5b, 0xdb, 0xa9, 0x9b, 0x1b, 0xd9, 0xc2, 0x4f, 0xe5, 0x3c, + 0xb9, 0x0f, 0x35, 0xe6, 0x4d, 0x30, 0x4c, 0x98, 0x78, 0x09, 0xcd, 0xde, 0xdd, 0xae, 0x8c, 0xad, + 0x6e, 0x1a, 0x5b, 0xdd, 0x47, 0x2a, 0xf6, 0xcc, 0x54, 0x92, 0x3c, 0xe4, 0x36, 0x32, 0xea, 0x61, + 0x6c, 0xd4, 0x04, 0xa8, 0xf0, 0xb9, 0x23, 0xa3, 0x53, 0x33, 0x05, 0x91, 0x43, 0xd0, 0x4f, 0xec, + 0xc4, 0x67, 0x46, 0x5d, 0xa0, 0x3f, 0x2e, 0x40, 0x3f, 0xe1, 0xb2, 0x4f, 0x83, 0x9f, 0xa3, 0x23, + 0xbd, 0x2d, 0xb0, 0xe4, 0x21, 0x54, 0x27, 0x1e, 0xa5, 0x21, 0x35, 0x1a, 0x85, 0x7e, 0xca, 0x5f, + 0x96, 0x42, 0x91, 0x27, 0xd0, 0x74, 0x42, 0x1a, 0x5b, 0x51, 0xe8, 0x7b, 0xce, 0xd4, 0x00, 0xa1, + 0xe4, 0xfd, 0x85, 0x71, 0x40, 0xe3, 0x23, 0x21, 0x6c, 0x82, 0x93, 0xfd, 0x26, 0x43, 0x58, 0xe7, + 0xb9, 0x27, 0x70, 0xad, 0x31, 0xda, 0x2e, 0xd2, 0xd8, 0x68, 0x8a, 0x57, 0xf4, 0xc3, 0x65, 0x5e, + 0x51, 0x77, 0x5f, 0x40, 0xfb, 0x12, 0xf9, 0x38, 0x60, 0x74, 0x7a, 0x50, 0x32, 0x34, 0x73, 0xcd, + 0xce, 0xcf, 0x93, 0x4f, 0xe1, 0x6d, 0x8a, 0x93, 0xf0, 0x14, 0x2d, 0x8a, 0x71, 0x14, 0x06, 0x31, + 0x66, 0x9b, 0xb5, 0x78, 0x1e, 0x12, 0x98, 0xb7, 0xa4, 0x88, 0xa9, 0x24, 0x52, 0xec, 0x2f, 0xe1, + 0x6d, 0x65, 0xdf, 0x1c, 0x76, 0x4d, 0x18, 0xfa, 0xf9, 0x0a, 0x86, 0x5e, 0x52, 0x3e, 0x33, 0xf8, + 0x2d, 0xfb, 0xaa, 0x75, 0xb2, 0x07, 0x77, 0x32, 0xc3, 0x45, 0xc8, 0x65, 0x7b, 0xaf, 0x67, 0x76, + 0x6f, 0xa5, 0x76, 0x0b, 0x81, 0x14, 0x79, 0x0e, 0x77, 0x32, 0xb3, 0x2f, 0x22, 0x6f, 0x0b, 0xab, + 0x1f, 0xae, 0x64, 0x75, 0x5e, 0xf5, 0xcc, 0xe8, 0x2d, 0xfb, 0x8a, 0x65, 0xf2, 0x00, 0x6a, 0xe9, + 0x56, 0x1b, 0xe2, 0x51, 0x74, 0x16, 0x6d, 0x25, 0x25, 0xcd, 0x14, 0xd2, 0xfe, 0x02, 0xc8, 0xfc, + 0x9d, 0x92, 0x0d, 0x28, 0xbf, 0xc4, 0xa9, 0x4a, 0x8d, 0xfc, 0x27, 0xaf, 0x30, 0xa7, 0xb6, 0x9f, + 0xa0, 0x4a, 0x8c, 0x72, 0xf0, 0x69, 0x69, 0x4f, 0x6b, 0xf7, 0xa1, 0x7d, 0xbd, 0xb3, 0x57, 0xd2, + 0xf4, 0x25, 0xdc, 0xbd, 0xd6, 0x01, 0xab, 0x28, 0xea, 0xfc, 0xab, 0x0c, 0xb5, 0xd4, 0x3d, 0xcf, + 0x79, 0xf0, 0x0b, 0x75, 0x02, 0xdb, 0xec, 0xdd, 0x2f, 0x76, 0x8f, 0xfa, 0xfb, 0x22, 0x42, 0x99, + 0x4a, 0x62, 0x33, 0xd5, 0x41, 0x5e, 0xf0, 0xa4, 0x29, 0xcf, 0x29, 0xf6, 0xbd, 0xa1, 0xbe, 0x4c, + 0x49, 0xfb, 0x2f, 0x25, 0xd8, 0xb8, 0xbc, 0x4c, 0x7e, 0x02, 0x65, 0x5e, 0x84, 0x64, 0x89, 0x78, + 0x70, 0x83, 0x0d, 0xba, 0x03, 0x64, 0xc2, 0x6f, 0x26, 0x57, 0xc4, 0xf5, 0xd9, 0xae, 0xab, 0xea, + 0xc5, 0x8d, 0xf4, 0xed, 0xbb, 0xae, 0xd2, 0x67, 0xbb, 0x2e, 0xaf, 0x93, 0x32, 0x0a, 0x04, 0x7f, + 0x68, 0x98, 0x6a, 0xd4, 0xfe, 0x04, 0xea, 0xe9, 0xc6, 0x2b, 0xdd, 0xfc, 0x27, 0x50, 0x4f, 0x37, + 0x58, 0xe9, 0xa2, 0x7f, 0xaf, 0x41, 0x3d, 0xe5, 0x0b, 0x3c, 0x4d, 0xe7, 0x2b, 0xeb, 0xc7, 0x8b, + 0x39, 0x86, 0x28, 0xac, 0xfb, 0x8c, 0x51, 0x6f, 0x98, 0x30, 0x8c, 0xd3, 0xda, 0xba, 0x7f, 0xb1, + 0xb6, 0x2e, 0x2a, 0xcf, 0xd7, 0xd4, 0xd5, 0xce, 0xef, 0xb8, 0x51, 0x8a, 0xfb, 0x90, 0x83, 0x8b, + 0x46, 0x7d, 0xb4, 0x40, 0xdf, 0xb3, 0xef, 0xff, 0xef, 0x6c, 0xfa, 0x93, 0x0e, 0x1b, 0x97, 0xe9, + 0x04, 0xd9, 0x83, 0x72, 0x42, 0x3d, 0x15, 0x16, 0x8b, 0xea, 0xd1, 0x80, 0x51, 0x2f, 0x18, 0x49, + 0x2c, 0x87, 0xf0, 0x62, 0x16, 0x3b, 0x63, 0x9c, 0xa4, 0x31, 0xb0, 0x2c, 0x58, 0xa1, 0x44, 0x31, + 0x44, 0x36, 0x0e, 0x5d, 0x45, 0x3c, 0x96, 0xc6, 0x4b, 0x14, 0x79, 0x04, 0x0d, 0x3b, 0x61, 0xe3, + 0x90, 0x7a, 0x6c, 0xba, 0x04, 0xef, 0xc8, 0xab, 0x98, 0x01, 0x89, 0x39, 0xcb, 0x9c, 0x92, 0x96, + 0xee, 0xad, 0x40, 0xc6, 0xba, 0xf9, 0xec, 0x94, 0xe5, 0x53, 0xce, 0x2a, 0x05, 0x53, 0xe4, 0xec, + 0x64, 0x4d, 0x12, 0x40, 0x32, 0x84, 0xb5, 0x38, 0x4c, 0xa8, 0x83, 0x96, 0x6f, 0x0f, 0xd1, 0xe7, + 0x2c, 0x84, 0xef, 0xf6, 0xd9, 0x2a, 0xbb, 0x0d, 0x84, 0x82, 0x67, 0x02, 0x2f, 0xb7, 0x6c, 0xc5, + 0xb9, 0xa9, 0x0b, 0x5c, 0xbf, 0x7e, 0x91, 0xeb, 0xb7, 0x87, 0xd0, 0x2a, 0x48, 0xa5, 0x0f, 0xf2, + 0x11, 0xb6, 0xbc, 0x2f, 0x73, 0x11, 0xfc, 0x39, 0x6c, 0xce, 0x99, 0xb8, 0x52, 0x28, 0xff, 0x5d, + 0x87, 0xad, 0xab, 0xd8, 0x2a, 0xe9, 0x43, 0xd3, 0x9d, 0x0d, 0x97, 0x78, 0xad, 0xf9, 0xe7, 0x9f, + 0x87, 0xf2, 0xac, 0x75, 0x86, 0xde, 0x68, 0x2c, 0xd9, 0xbd, 0x6e, 0xaa, 0xd1, 0x22, 0xba, 0x52, + 0x2e, 0xa2, 0x2b, 0xbf, 0xd5, 0xae, 0xe7, 0x2b, 0xf2, 0x13, 0xe9, 0xc7, 0x2b, 0xd2, 0xf3, 0x37, + 0x4e, 0x5d, 0xf4, 0x02, 0xea, 0xf2, 0x2b, 0xed, 0x5a, 0xee, 0x52, 0x15, 0x27, 0x78, 0x7a, 0xd3, + 0x13, 0xdc, 0x90, 0xc6, 0xd4, 0x56, 0xa7, 0x31, 0x5f, 0x43, 0x12, 0xc2, 0x60, 0xe3, 0xff, 0xff, + 0x96, 0x3b, 0x7f, 0x2d, 0xc1, 0xe6, 0x5c, 0x21, 0x21, 0xbb, 0xf0, 0x8d, 0x1c, 0xd8, 0x8a, 0x93, + 0x61, 0x80, 0x59, 0xb7, 0x80, 0xe4, 0x96, 0x06, 0x72, 0x25, 0x4b, 0x63, 0xa5, 0x5c, 0x1a, 0x7b, + 0x2f, 0x4b, 0x63, 0x12, 0x2f, 0x72, 0x77, 0x23, 0xcd, 0x43, 0x12, 0x49, 0x9c, 0xcb, 0xb9, 0xae, + 0x52, 0x48, 0x7f, 0xe7, 0xcc, 0x5d, 0x29, 0xd9, 0xe9, 0x97, 0x92, 0xdd, 0x7f, 0x9d, 0x88, 0xfe, + 0x59, 0x02, 0x32, 0xcf, 0x0f, 0xc8, 0x37, 0xa1, 0x11, 0x07, 0x9e, 0x95, 0x6f, 0xb3, 0xd4, 0xe3, + 0xc0, 0xeb, 0x8b, 0x4e, 0xcb, 0x35, 0xfe, 0x2d, 0x15, 0xfa, 0xb7, 0xbc, 0xc8, 0xbf, 0x95, 0x2b, + 0xfc, 0xeb, 0x5e, 0xf6, 0xaf, 0x5e, 0xf8, 0x51, 0x34, 0x7f, 0x98, 0x95, 0x1c, 0x5c, 0x7d, 0xd3, + 0x0e, 0x7e, 0x08, 0xad, 0x7c, 0x33, 0x81, 0x63, 0x53, 0x1a, 0xd2, 0x90, 0xf4, 0xe2, 0x9d, 0x7c, + 0x79, 0x97, 0xf8, 0xd9, 0x44, 0xe7, 0x33, 0x68, 0xe6, 0x1a, 0x09, 0x2b, 0xc3, 0x11, 0x9a, 0xb9, + 0x1a, 0x46, 0xee, 0x80, 0x8e, 0xe7, 0xb6, 0xa3, 0xfa, 0x40, 0xfd, 0x5b, 0xa6, 0x1c, 0x12, 0x03, + 0xaa, 0x11, 0xc5, 0x13, 0xef, 0x5c, 0x6a, 0xe8, 0xdf, 0x32, 0xd5, 0x98, 0x23, 0x28, 0x8e, 0xf0, + 0x5c, 0xbe, 0x7f, 0x8e, 0x10, 0xc3, 0x83, 0x16, 0x80, 0xe0, 0x6b, 0x16, 0x9b, 0x46, 0xd8, 0xf9, + 0x8d, 0xa6, 0xba, 0x3e, 0xc8, 0xfd, 0xd3, 0x86, 0xba, 0xcd, 0x18, 0x4e, 0x22, 0xf1, 0x78, 0x78, + 0xc0, 0x66, 0x63, 0xb2, 0x0f, 0xb7, 0x23, 0xa4, 0x16, 0xa3, 0x53, 0x2b, 0xed, 0x6d, 0x94, 0x8a, + 0x7a, 0x1b, 0x6b, 0x11, 0xd2, 0x63, 0x3a, 0x3d, 0x56, 0x1d, 0x8e, 0xbb, 0xfc, 0xab, 0x84, 0x2b, + 0x08, 0x03, 0x15, 0x95, 0xa2, 0x79, 0x31, 0x7d, 0x11, 0x74, 0xfe, 0x58, 0x02, 0x98, 0xb5, 0x02, + 0xc8, 0xbb, 0xd0, 0xb2, 0x7d, 0x3f, 0x3c, 0xb3, 0x42, 0xea, 0x8d, 0xbc, 0x40, 0xbd, 0xe4, 0xa6, + 0x98, 0x7b, 0x21, 0xa6, 0xf8, 0x3b, 0x94, 0x22, 0x92, 0x6c, 0xa5, 0xcf, 0x58, 0xe2, 0x9e, 0xcb, + 0xb9, 0x99, 0xd0, 0x85, 0x4a, 0xa9, 0x84, 0xd2, 0x9c, 0xfe, 0x3e, 0xac, 0xe3, 0x79, 0x14, 0x5e, + 0x2a, 0x89, 0x0d, 0x73, 0x4d, 0xce, 0xa6, 0x62, 0x3d, 0xa8, 0x4d, 0xec, 0x73, 0xcb, 0x1e, 0xc9, + 0xbe, 0xcf, 0xc2, 0x83, 0x57, 0x27, 0xf6, 0xf9, 0xfe, 0x08, 0xc9, 0x97, 0xb0, 0x29, 0xf7, 0x77, + 0x28, 0xba, 0x18, 0x30, 0xcf, 0xf6, 0x63, 0xd5, 0x12, 0x6a, 0xcf, 0xa1, 0x0f, 0xc2, 0xd0, 0xff, + 0x8a, 0xbf, 0x3f, 0x73, 0x43, 0x80, 0x0e, 0x67, 0x98, 0xce, 0x1f, 0x74, 0x20, 0xf3, 0x5d, 0x1b, + 0xf2, 0x14, 0x74, 0x17, 0x7d, 0x7b, 0xba, 0xcc, 0x47, 0xe3, 0x1c, 0xba, 0xfb, 0x88, 0x43, 0x4d, + 0xa9, 0x81, 0xab, 0xb2, 0x87, 0x69, 0x32, 0x5d, 0x59, 0xd5, 0x3e, 0x87, 0x9a, 0x52, 0x43, 0xfb, + 0xd7, 0x25, 0xd0, 0x85, 0x6e, 0xf2, 0x0e, 0xd4, 0x22, 0xa4, 0x0e, 0x06, 0xf2, 0xe1, 0xea, 0xa2, + 0xb2, 0xa6, 0x53, 0xe4, 0x01, 0x34, 0x4f, 0xbc, 0x73, 0x74, 0x2d, 0x79, 0x86, 0xa2, 0xe7, 0xd4, + 0xbf, 0x65, 0x82, 0x90, 0x97, 0xba, 0xfb, 0xb0, 0xc9, 0x2f, 0x28, 0x90, 0x2e, 0x52, 0x3a, 0xca, + 0xc5, 0x3a, 0x36, 0x72, 0x28, 0xa9, 0xe9, 0x00, 0x40, 0x99, 0x34, 0xbb, 0xdc, 0x45, 0x75, 0xfd, + 0x48, 0x0a, 0x9b, 0x39, 0xd4, 0xc1, 0x26, 0xdc, 0x1e, 0x33, 0x16, 0x49, 0x33, 0x44, 0x6c, 0xb5, + 0x5f, 0x69, 0xa0, 0x0b, 0xbf, 0x14, 0xb8, 0xe1, 0x5d, 0x68, 0x0a, 0x68, 0xcc, 0x6c, 0x96, 0xc4, + 0xb2, 0x52, 0xf2, 0xb3, 0xf2, 0xc9, 0x81, 0x98, 0xe3, 0x22, 0x23, 0x1a, 0x39, 0xa9, 0x48, 0x1a, + 0xd2, 0xc0, 0x27, 0x67, 0x22, 0x1c, 0xd0, 0xb3, 0x50, 0xb4, 0xef, 0x2a, 0xa9, 0x88, 0x98, 0x7c, + 0x2c, 0x9a, 0x73, 0x6f, 0xe2, 0x9c, 0x2d, 0x00, 0xb1, 0x81, 0x4c, 0x1f, 0x4f, 0xa0, 0x95, 0x6f, + 0x25, 0xf3, 0x74, 0x14, 0x24, 0x93, 0x21, 0x52, 0x71, 0xce, 0x35, 0x9e, 0x8e, 0xe4, 0x98, 0x6c, + 0x41, 0x25, 0xb0, 0xd5, 0x97, 0x18, 0xb7, 0x4b, 0x8c, 0x0e, 0xaa, 0xb2, 0xc0, 0x74, 0xbe, 0x05, + 0x35, 0xb5, 0xd9, 0x2c, 0x23, 0x73, 0x0d, 0x9a, 0xca, 0xc8, 0x07, 0xdd, 0xbf, 0xbd, 0xbe, 0xa7, + 0xfd, 0xe3, 0xf5, 0x3d, 0xed, 0xd5, 0xeb, 0x7b, 0xda, 0xcf, 0xb6, 0xa5, 0xcd, 0x5e, 0xb8, 0x6b, + 0x47, 0xde, 0xee, 0x15, 0xff, 0x96, 0x18, 0x56, 0xc5, 0xcd, 0xdf, 0xff, 0x4f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x0d, 0x63, 0x49, 0x86, 0x3a, 0x19, 0x00, 0x00, } diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index 3f0e74e5b5..c97b67b3e8 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -16,8 +16,7 @@ syntax = "proto3"; import "google/protobuf/duration.proto"; import "google/protobuf/wrappers.proto"; - -import "networking/v1alpha3/network_scope.proto"; +import "networking/v1alpha3/service_dependency.proto"; // $title: Traffic Routing // $description: Configuration affecting traffic routing. diff --git a/proto.lock b/proto.lock index 633c8f8014..c1288ae658 100644 --- a/proto.lock +++ b/proto.lock @@ -692,7 +692,7 @@ ] }, { - "name": "DefaultNetworkScope.Mode", + "name": "DefaultServiceDependency.Mode", "enum_fields": [ { "name": "ALL_NAMESPACES", @@ -842,8 +842,8 @@ }, { "id": 29, - "name": "default_network_scope", - "type": "DefaultNetworkScope" + "name": "default_service_dependency", + "type": "DefaultServiceDependency" } ], "reserved_ids": [ @@ -862,7 +862,7 @@ ] }, { - "name": "DefaultNetworkScope", + "name": "DefaultServiceDependency", "fields": [ { "id": 1, @@ -3150,7 +3150,7 @@ } }, { - "protopath": "networking:/:v1alpha3:/:network_scope.proto", + "protopath": "networking:/:v1alpha3:/:service_dependency.proto", "def": { "enums": [ { @@ -3169,7 +3169,7 @@ ], "messages": [ { - "name": "NetworkScope", + "name": "ServiceDependency", "fields": [ { "id": 1, diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index f5462a765d..5c7f884e8f 100644 --- a/python/istio_api/mesh/v1alpha1/config_pb2.py +++ b/python/istio_api/mesh/v1alpha1/config_pb2.py @@ -22,7 +22,7 @@ name='mesh/v1alpha1/config.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xe3\r\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x1c \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x12R\n\x15\x64\x65\x66\x61ult_network_scope\x18\x1d \x01(\x0b\x32\x33.istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\x1a\xaf\x01\n\x13\x44\x65\x66\x61ultNetworkScope\x12M\n\x0bimport_mode\x18\x01 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope.Mode\x12\x19\n\x11import_namespaces\x18\x02 \x03(\t\".\n\x04Mode\x12\x12\n\x0e\x41LL_NAMESPACES\x10\x00\x12\x12\n\x0eSAME_NAMESPACE\x10\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xf7\r\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x1c \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x12\\\n\x1a\x64\x65\x66\x61ult_service_dependency\x18\x1d \x01(\x0b\x32\x38.istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\x1a\xb9\x01\n\x18\x44\x65\x66\x61ultServiceDependency\x12R\n\x0bimport_mode\x18\x01 \x01(\x0e\x32=.istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency.Mode\x12\x19\n\x11import_namespaces\x18\x02 \x03(\t\".\n\x04Mode\x12\x12\n\x0e\x41LL_NAMESPACES\x10\x00\x12\x12\n\x0eSAME_NAMESPACE\x10\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mesh_dot_v1alpha1_dot_proxy__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_destination__rule__pb2.DESCRIPTOR,]) @@ -49,14 +49,14 @@ ], containing_type=None, options=None, - serialized_start=1510, - serialized_end=1588, + serialized_start=1520, + serialized_end=1598, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) -_MESHCONFIG_DEFAULTNETWORKSCOPE_MODE = _descriptor.EnumDescriptor( +_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE = _descriptor.EnumDescriptor( name='Mode', - full_name='istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope.Mode', + full_name='istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency.Mode', filename=None, file=DESCRIPTOR, values=[ @@ -71,10 +71,10 @@ ], containing_type=None, options=None, - serialized_start=1720, - serialized_end=1766, + serialized_start=1740, + serialized_end=1786, ) -_sym_db.RegisterEnumDescriptor(_MESHCONFIG_DEFAULTNETWORKSCOPE_MODE) +_sym_db.RegisterEnumDescriptor(_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE) _MESHCONFIG_INGRESSCONTROLLERMODE = _descriptor.EnumDescriptor( name='IngressControllerMode', @@ -97,8 +97,8 @@ ], containing_type=None, options=None, - serialized_start=1768, - serialized_end=1825, + serialized_start=1788, + serialized_end=1845, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -119,8 +119,8 @@ ], containing_type=None, options=None, - serialized_start=1827, - serialized_end=1865, + serialized_start=1847, + serialized_end=1885, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -141,8 +141,8 @@ ], containing_type=None, options=None, - serialized_start=1867, - serialized_end=1906, + serialized_start=1887, + serialized_end=1926, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING) @@ -174,26 +174,26 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1407, - serialized_end=1588, + serialized_start=1417, + serialized_end=1598, ) -_MESHCONFIG_DEFAULTNETWORKSCOPE = _descriptor.Descriptor( - name='DefaultNetworkScope', - full_name='istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope', +_MESHCONFIG_DEFAULTSERVICEDEPENDENCY = _descriptor.Descriptor( + name='DefaultServiceDependency', + full_name='istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='import_mode', full_name='istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope.import_mode', index=0, + name='import_mode', full_name='istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency.import_mode', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='import_namespaces', full_name='istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope.import_namespaces', index=1, + name='import_namespaces', full_name='istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency.import_namespaces', index=1, number=2, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, @@ -204,7 +204,7 @@ ], nested_types=[], enum_types=[ - _MESHCONFIG_DEFAULTNETWORKSCOPE_MODE, + _MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE, ], options=None, is_extendable=False, @@ -212,8 +212,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1591, - serialized_end=1766, + serialized_start=1601, + serialized_end=1786, ) _MESHCONFIG = _descriptor.Descriptor( @@ -406,7 +406,7 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='default_network_scope', full_name='istio.mesh.v1alpha1.MeshConfig.default_network_scope', index=26, + name='default_service_dependency', full_name='istio.mesh.v1alpha1.MeshConfig.default_service_dependency', index=26, number=29, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -415,7 +415,7 @@ ], extensions=[ ], - nested_types=[_MESHCONFIG_OUTBOUNDTRAFFICPOLICY, _MESHCONFIG_DEFAULTNETWORKSCOPE, ], + nested_types=[_MESHCONFIG_OUTBOUNDTRAFFICPOLICY, _MESHCONFIG_DEFAULTSERVICEDEPENDENCY, ], enum_types=[ _MESHCONFIG_INGRESSCONTROLLERMODE, _MESHCONFIG_AUTHPOLICY, @@ -428,7 +428,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1918, + serialized_end=1938, ) @@ -465,16 +465,16 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1920, - serialized_end=2013, + serialized_start=1940, + serialized_end=2033, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.containing_type = _MESHCONFIG _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.containing_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY -_MESHCONFIG_DEFAULTNETWORKSCOPE.fields_by_name['import_mode'].enum_type = _MESHCONFIG_DEFAULTNETWORKSCOPE_MODE -_MESHCONFIG_DEFAULTNETWORKSCOPE.containing_type = _MESHCONFIG -_MESHCONFIG_DEFAULTNETWORKSCOPE_MODE.containing_type = _MESHCONFIG_DEFAULTNETWORKSCOPE +_MESHCONFIG_DEFAULTSERVICEDEPENDENCY.fields_by_name['import_mode'].enum_type = _MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE +_MESHCONFIG_DEFAULTSERVICEDEPENDENCY.containing_type = _MESHCONFIG +_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE.containing_type = _MESHCONFIG_DEFAULTSERVICEDEPENDENCY _MESHCONFIG.fields_by_name['connect_timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _MESHCONFIG.fields_by_name['tcp_keepalive'].message_type = networking_dot_v1alpha3_dot_destination__rule__pb2._CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE _MESHCONFIG.fields_by_name['ingress_controller_mode'].enum_type = _MESHCONFIG_INGRESSCONTROLLERMODE @@ -485,7 +485,7 @@ _MESHCONFIG.fields_by_name['outbound_traffic_policy'].message_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY _MESHCONFIG.fields_by_name['sds_refresh_delay'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _MESHCONFIG.fields_by_name['config_sources'].message_type = _CONFIGSOURCE -_MESHCONFIG.fields_by_name['default_network_scope'].message_type = _MESHCONFIG_DEFAULTNETWORKSCOPE +_MESHCONFIG.fields_by_name['default_service_dependency'].message_type = _MESHCONFIG_DEFAULTSERVICEDEPENDENCY _MESHCONFIG_INGRESSCONTROLLERMODE.containing_type = _MESHCONFIG _MESHCONFIG_AUTHPOLICY.containing_type = _MESHCONFIG _MESHCONFIG_ACCESSLOGENCODING.containing_type = _MESHCONFIG @@ -503,10 +503,10 @@ )) , - DefaultNetworkScope = _reflection.GeneratedProtocolMessageType('DefaultNetworkScope', (_message.Message,), dict( - DESCRIPTOR = _MESHCONFIG_DEFAULTNETWORKSCOPE, + DefaultServiceDependency = _reflection.GeneratedProtocolMessageType('DefaultServiceDependency', (_message.Message,), dict( + DESCRIPTOR = _MESHCONFIG_DEFAULTSERVICEDEPENDENCY, __module__ = 'mesh.v1alpha1.config_pb2' - # @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.MeshConfig.DefaultNetworkScope) + # @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency) )) , DESCRIPTOR = _MESHCONFIG, @@ -515,7 +515,7 @@ )) _sym_db.RegisterMessage(MeshConfig) _sym_db.RegisterMessage(MeshConfig.OutboundTrafficPolicy) -_sym_db.RegisterMessage(MeshConfig.DefaultNetworkScope) +_sym_db.RegisterMessage(MeshConfig.DefaultServiceDependency) ConfigSource = _reflection.GeneratedProtocolMessageType('ConfigSource', (_message.Message,), dict( DESCRIPTOR = _CONFIGSOURCE, diff --git a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py index 23e08904dc..a3bc60696a 100644 --- a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py +++ b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py @@ -15,7 +15,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from networking.v1alpha3 import virtual_service_pb2 as networking_dot_v1alpha3_dot_virtual__service__pb2 -from networking.v1alpha3 import network_scope_pb2 as networking_dot_v1alpha3_dot_network__scope__pb2 +from networking.v1alpha3 import service_dependency_pb2 as networking_dot_v1alpha3_dot_service__dependency__pb2 from gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 @@ -23,9 +23,9 @@ name='networking/v1alpha3/destination_rule.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\'networking/v1alpha3/network_scope.proto\x1a\x14gogoproto/gogo.proto\"\xd3\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\x12<\n\x0c\x63onfig_scope\x18\x04 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x04\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\xf3\x04\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1a\xb3\x02\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x03 \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x1at\n\x0cTcpKeepalive\x12\x0e\n\x06probes\x18\x01 \x01(\r\x12\'\n\x04time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xcc\x01\n\x10OutlierDetection\x12\x1a\n\x12\x63onsecutive_errors\x18\x01 \x01(\x05\x12+\n\x08interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12\x62\x61se_ejection_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14max_ejection_percent\x18\x04 \x01(\x05\x12\x1a\n\x12min_health_percent\x18\x05 \x01(\x05\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a,networking/v1alpha3/service_dependency.proto\x1a\x14gogoproto/gogo.proto\"\xd3\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\x12<\n\x0c\x63onfig_scope\x18\x04 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x04\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\xf3\x04\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1a\xb3\x02\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x03 \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x1at\n\x0cTcpKeepalive\x12\x0e\n\x06probes\x18\x01 \x01(\r\x12\'\n\x04time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xcc\x01\n\x10OutlierDetection\x12\x1a\n\x12\x63onsecutive_errors\x18\x01 \x01(\x05\x12+\n\x08interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12\x62\x61se_ejection_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14max_ejection_percent\x18\x04 \x01(\x05\x12\x1a\n\x12min_health_percent\x18\x05 \x01(\x05\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , - dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_virtual__service__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_network__scope__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,]) + dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_virtual__service__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_service__dependency__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,]) @@ -54,8 +54,8 @@ ], containing_type=None, options=None, - serialized_start=1851, - serialized_end=1923, + serialized_start=1856, + serialized_end=1928, ) _sym_db.RegisterEnumDescriptor(_LOADBALANCERSETTINGS_SIMPLELB) @@ -84,8 +84,8 @@ ], containing_type=None, options=None, - serialized_start=2967, - serialized_end=3031, + serialized_start=2972, + serialized_end=3036, ) _sym_db.RegisterEnumDescriptor(_TLSSETTINGS_TLSMODE) @@ -137,8 +137,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=212, - serialized_end=423, + serialized_start=217, + serialized_end=428, ) @@ -196,8 +196,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=806, - serialized_end=1153, + serialized_start=811, + serialized_end=1158, ) _TRAFFICPOLICY = _descriptor.Descriptor( @@ -254,8 +254,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=426, - serialized_end=1153, + serialized_start=431, + serialized_end=1158, ) @@ -292,8 +292,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1309, - serialized_end=1354, + serialized_start=1314, + serialized_end=1359, ) _SUBSET = _descriptor.Descriptor( @@ -336,8 +336,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1156, - serialized_end=1354, + serialized_start=1161, + serialized_end=1359, ) @@ -381,8 +381,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1751, - serialized_end=1837, + serialized_start=1756, + serialized_end=1842, ) _LOADBALANCERSETTINGS_CONSISTENTHASHLB = _descriptor.Descriptor( @@ -435,8 +435,8 @@ name='hash_key', full_name='istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.hash_key', index=0, containing_type=None, fields=[]), ], - serialized_start=1551, - serialized_end=1849, + serialized_start=1556, + serialized_end=1854, ) _LOADBALANCERSETTINGS = _descriptor.Descriptor( @@ -476,8 +476,8 @@ name='lb_policy', full_name='istio.networking.v1alpha3.LoadBalancerSettings.lb_policy', index=0, containing_type=None, fields=[]), ], - serialized_start=1357, - serialized_end=1936, + serialized_start=1362, + serialized_end=1941, ) @@ -521,8 +521,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2311, - serialized_end=2427, + serialized_start=2316, + serialized_end=2432, ) _CONNECTIONPOOLSETTINGS_TCPSETTINGS = _descriptor.Descriptor( @@ -565,8 +565,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2120, - serialized_end=2427, + serialized_start=2125, + serialized_end=2432, ) _CONNECTIONPOOLSETTINGS_HTTPSETTINGS = _descriptor.Descriptor( @@ -616,8 +616,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2430, - serialized_end=2566, + serialized_start=2435, + serialized_end=2571, ) _CONNECTIONPOOLSETTINGS = _descriptor.Descriptor( @@ -653,8 +653,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1939, - serialized_end=2566, + serialized_start=1944, + serialized_end=2571, ) @@ -712,8 +712,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2569, - serialized_end=2773, + serialized_start=2574, + serialized_end=2778, ) @@ -779,13 +779,13 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2776, - serialized_end=3031, + serialized_start=2781, + serialized_end=3036, ) _DESTINATIONRULE.fields_by_name['traffic_policy'].message_type = _TRAFFICPOLICY _DESTINATIONRULE.fields_by_name['subsets'].message_type = _SUBSET -_DESTINATIONRULE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_network__scope__pb2._CONFIGSCOPE +_DESTINATIONRULE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_service__dependency__pb2._CONFIGSCOPE _TRAFFICPOLICY_PORTTRAFFICPOLICY.fields_by_name['port'].message_type = networking_dot_v1alpha3_dot_virtual__service__pb2._PORTSELECTOR _TRAFFICPOLICY_PORTTRAFFICPOLICY.fields_by_name['load_balancer'].message_type = _LOADBALANCERSETTINGS _TRAFFICPOLICY_PORTTRAFFICPOLICY.fields_by_name['connection_pool'].message_type = _CONNECTIONPOOLSETTINGS diff --git a/python/istio_api/networking/v1alpha3/network_scope_pb2.py b/python/istio_api/networking/v1alpha3/service_dependency_pb2.py similarity index 54% rename from python/istio_api/networking/v1alpha3/network_scope_pb2.py rename to python/istio_api/networking/v1alpha3/service_dependency_pb2.py index 2fd1a36238..995a079b31 100644 --- a/python/istio_api/networking/v1alpha3/network_scope_pb2.py +++ b/python/istio_api/networking/v1alpha3/service_dependency_pb2.py @@ -1,5 +1,5 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: networking/v1alpha3/network_scope.proto +# source: networking/v1alpha3/service_dependency.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) @@ -17,10 +17,10 @@ DESCRIPTOR = _descriptor.FileDescriptor( - name='networking/v1alpha3/network_scope.proto', + name='networking/v1alpha3/service_dependency.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n\'networking/v1alpha3/network_scope.proto\x12\x19istio.networking.v1alpha3\"\xfe\x02\n\x0cNetworkScope\x12H\n\x0c\x64\x65pendencies\x18\x01 \x03(\x0b\x32\x32.istio.networking.v1alpha3.NetworkScope.Dependency\x1a)\n\x06Import\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x1a\xf8\x01\n\nDependency\x12l\n\x16source_workload_labels\x18\x01 \x03(\x0b\x32L.istio.networking.v1alpha3.NetworkScope.Dependency.SourceWorkloadLabelsEntry\x12?\n\x07imports\x18\x02 \x03(\x0b\x32..istio.networking.v1alpha3.NetworkScope.Import\x1a;\n\x19SourceWorkloadLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*&\n\x0b\x43onfigScope\x12\n\n\x06PUBLIC\x10\x00\x12\x0b\n\x07PRIVATE\x10\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n,networking/v1alpha3/service_dependency.proto\x12\x19istio.networking.v1alpha3\"\x92\x03\n\x11ServiceDependency\x12M\n\x0c\x64\x65pendencies\x18\x01 \x03(\x0b\x32\x37.istio.networking.v1alpha3.ServiceDependency.Dependency\x1a)\n\x06Import\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x1a\x82\x02\n\nDependency\x12q\n\x16source_workload_labels\x18\x01 \x03(\x0b\x32Q.istio.networking.v1alpha3.ServiceDependency.Dependency.SourceWorkloadLabelsEntry\x12\x44\n\x07imports\x18\x02 \x03(\x0b\x32\x33.istio.networking.v1alpha3.ServiceDependency.Import\x1a;\n\x19SourceWorkloadLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*&\n\x0b\x43onfigScope\x12\n\n\x06PUBLIC\x10\x00\x12\x0b\n\x07PRIVATE\x10\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') ) _CONFIGSCOPE = _descriptor.EnumDescriptor( @@ -40,8 +40,8 @@ ], containing_type=None, options=None, - serialized_start=455, - serialized_end=493, + serialized_start=480, + serialized_end=518, ) _sym_db.RegisterEnumDescriptor(_CONFIGSCOPE) @@ -51,22 +51,22 @@ -_NETWORKSCOPE_IMPORT = _descriptor.Descriptor( +_SERVICEDEPENDENCY_IMPORT = _descriptor.Descriptor( name='Import', - full_name='istio.networking.v1alpha3.NetworkScope.Import', + full_name='istio.networking.v1alpha3.ServiceDependency.Import', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='namespace', full_name='istio.networking.v1alpha3.NetworkScope.Import.namespace', index=0, + name='namespace', full_name='istio.networking.v1alpha3.ServiceDependency.Import.namespace', 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='host', full_name='istio.networking.v1alpha3.NetworkScope.Import.host', index=1, + name='host', full_name='istio.networking.v1alpha3.ServiceDependency.Import.host', 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, @@ -84,26 +84,26 @@ extension_ranges=[], oneofs=[ ], - serialized_start=161, - serialized_end=202, + serialized_start=176, + serialized_end=217, ) -_NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY = _descriptor.Descriptor( +_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY = _descriptor.Descriptor( name='SourceWorkloadLabelsEntry', - full_name='istio.networking.v1alpha3.NetworkScope.Dependency.SourceWorkloadLabelsEntry', + full_name='istio.networking.v1alpha3.ServiceDependency.Dependency.SourceWorkloadLabelsEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='istio.networking.v1alpha3.NetworkScope.Dependency.SourceWorkloadLabelsEntry.key', index=0, + name='key', full_name='istio.networking.v1alpha3.ServiceDependency.Dependency.SourceWorkloadLabelsEntry.key', 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='value', full_name='istio.networking.v1alpha3.NetworkScope.Dependency.SourceWorkloadLabelsEntry.value', index=1, + name='value', full_name='istio.networking.v1alpha3.ServiceDependency.Dependency.SourceWorkloadLabelsEntry.value', 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, @@ -121,26 +121,26 @@ extension_ranges=[], oneofs=[ ], - serialized_start=394, - serialized_end=453, + serialized_start=419, + serialized_end=478, ) -_NETWORKSCOPE_DEPENDENCY = _descriptor.Descriptor( +_SERVICEDEPENDENCY_DEPENDENCY = _descriptor.Descriptor( name='Dependency', - full_name='istio.networking.v1alpha3.NetworkScope.Dependency', + full_name='istio.networking.v1alpha3.ServiceDependency.Dependency', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='source_workload_labels', full_name='istio.networking.v1alpha3.NetworkScope.Dependency.source_workload_labels', index=0, + name='source_workload_labels', full_name='istio.networking.v1alpha3.ServiceDependency.Dependency.source_workload_labels', index=0, number=1, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='imports', full_name='istio.networking.v1alpha3.NetworkScope.Dependency.imports', index=1, + name='imports', full_name='istio.networking.v1alpha3.ServiceDependency.Dependency.imports', 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, @@ -149,7 +149,7 @@ ], extensions=[ ], - nested_types=[_NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY, ], + nested_types=[_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY, ], enum_types=[ ], options=None, @@ -158,19 +158,19 @@ extension_ranges=[], oneofs=[ ], - serialized_start=205, - serialized_end=453, + serialized_start=220, + serialized_end=478, ) -_NETWORKSCOPE = _descriptor.Descriptor( - name='NetworkScope', - full_name='istio.networking.v1alpha3.NetworkScope', +_SERVICEDEPENDENCY = _descriptor.Descriptor( + name='ServiceDependency', + full_name='istio.networking.v1alpha3.ServiceDependency', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='dependencies', full_name='istio.networking.v1alpha3.NetworkScope.dependencies', index=0, + name='dependencies', full_name='istio.networking.v1alpha3.ServiceDependency.dependencies', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, @@ -179,7 +179,7 @@ ], extensions=[ ], - nested_types=[_NETWORKSCOPE_IMPORT, _NETWORKSCOPE_DEPENDENCY, ], + nested_types=[_SERVICEDEPENDENCY_IMPORT, _SERVICEDEPENDENCY_DEPENDENCY, ], enum_types=[ ], options=None, @@ -188,54 +188,54 @@ extension_ranges=[], oneofs=[ ], - serialized_start=71, - serialized_end=453, + serialized_start=76, + serialized_end=478, ) -_NETWORKSCOPE_IMPORT.containing_type = _NETWORKSCOPE -_NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY.containing_type = _NETWORKSCOPE_DEPENDENCY -_NETWORKSCOPE_DEPENDENCY.fields_by_name['source_workload_labels'].message_type = _NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY -_NETWORKSCOPE_DEPENDENCY.fields_by_name['imports'].message_type = _NETWORKSCOPE_IMPORT -_NETWORKSCOPE_DEPENDENCY.containing_type = _NETWORKSCOPE -_NETWORKSCOPE.fields_by_name['dependencies'].message_type = _NETWORKSCOPE_DEPENDENCY -DESCRIPTOR.message_types_by_name['NetworkScope'] = _NETWORKSCOPE +_SERVICEDEPENDENCY_IMPORT.containing_type = _SERVICEDEPENDENCY +_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY.containing_type = _SERVICEDEPENDENCY_DEPENDENCY +_SERVICEDEPENDENCY_DEPENDENCY.fields_by_name['source_workload_labels'].message_type = _SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY +_SERVICEDEPENDENCY_DEPENDENCY.fields_by_name['imports'].message_type = _SERVICEDEPENDENCY_IMPORT +_SERVICEDEPENDENCY_DEPENDENCY.containing_type = _SERVICEDEPENDENCY +_SERVICEDEPENDENCY.fields_by_name['dependencies'].message_type = _SERVICEDEPENDENCY_DEPENDENCY +DESCRIPTOR.message_types_by_name['ServiceDependency'] = _SERVICEDEPENDENCY DESCRIPTOR.enum_types_by_name['ConfigScope'] = _CONFIGSCOPE _sym_db.RegisterFileDescriptor(DESCRIPTOR) -NetworkScope = _reflection.GeneratedProtocolMessageType('NetworkScope', (_message.Message,), dict( +ServiceDependency = _reflection.GeneratedProtocolMessageType('ServiceDependency', (_message.Message,), dict( Import = _reflection.GeneratedProtocolMessageType('Import', (_message.Message,), dict( - DESCRIPTOR = _NETWORKSCOPE_IMPORT, - __module__ = 'networking.v1alpha3.network_scope_pb2' - # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.NetworkScope.Import) + DESCRIPTOR = _SERVICEDEPENDENCY_IMPORT, + __module__ = 'networking.v1alpha3.service_dependency_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ServiceDependency.Import) )) , Dependency = _reflection.GeneratedProtocolMessageType('Dependency', (_message.Message,), dict( SourceWorkloadLabelsEntry = _reflection.GeneratedProtocolMessageType('SourceWorkloadLabelsEntry', (_message.Message,), dict( - DESCRIPTOR = _NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY, - __module__ = 'networking.v1alpha3.network_scope_pb2' - # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.NetworkScope.Dependency.SourceWorkloadLabelsEntry) + DESCRIPTOR = _SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY, + __module__ = 'networking.v1alpha3.service_dependency_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ServiceDependency.Dependency.SourceWorkloadLabelsEntry) )) , - DESCRIPTOR = _NETWORKSCOPE_DEPENDENCY, - __module__ = 'networking.v1alpha3.network_scope_pb2' - # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.NetworkScope.Dependency) + DESCRIPTOR = _SERVICEDEPENDENCY_DEPENDENCY, + __module__ = 'networking.v1alpha3.service_dependency_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ServiceDependency.Dependency) )) , - DESCRIPTOR = _NETWORKSCOPE, - __module__ = 'networking.v1alpha3.network_scope_pb2' - # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.NetworkScope) + DESCRIPTOR = _SERVICEDEPENDENCY, + __module__ = 'networking.v1alpha3.service_dependency_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ServiceDependency) )) -_sym_db.RegisterMessage(NetworkScope) -_sym_db.RegisterMessage(NetworkScope.Import) -_sym_db.RegisterMessage(NetworkScope.Dependency) -_sym_db.RegisterMessage(NetworkScope.Dependency.SourceWorkloadLabelsEntry) +_sym_db.RegisterMessage(ServiceDependency) +_sym_db.RegisterMessage(ServiceDependency.Import) +_sym_db.RegisterMessage(ServiceDependency.Dependency) +_sym_db.RegisterMessage(ServiceDependency.Dependency.SourceWorkloadLabelsEntry) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z istio.io/api/networking/v1alpha3')) -_NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY.has_options = True -_NETWORKSCOPE_DEPENDENCY_SOURCEWORKLOADLABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) +_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY.has_options = True +_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) # @@protoc_insertion_point(module_scope) diff --git a/python/istio_api/networking/v1alpha3/service_entry_pb2.py b/python/istio_api/networking/v1alpha3/service_entry_pb2.py index b9d58bd667..c3c269209f 100644 --- a/python/istio_api/networking/v1alpha3/service_entry_pb2.py +++ b/python/istio_api/networking/v1alpha3/service_entry_pb2.py @@ -14,16 +14,16 @@ from networking.v1alpha3 import gateway_pb2 as networking_dot_v1alpha3_dot_gateway__pb2 -from networking.v1alpha3 import network_scope_pb2 as networking_dot_v1alpha3_dot_network__scope__pb2 +from networking.v1alpha3 import service_dependency_pb2 as networking_dot_v1alpha3_dot_service__dependency__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='networking/v1alpha3/service_entry.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n\'networking/v1alpha3/service_entry.proto\x12\x19istio.networking.v1alpha3\x1a!networking/v1alpha3/gateway.proto\x1a\'networking/v1alpha3/network_scope.proto\"\x96\x06\n\x0cServiceEntry\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x11\n\taddresses\x18\x02 \x03(\t\x12.\n\x05ports\x18\x03 \x03(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x42\n\x08location\x18\x04 \x01(\x0e\x32\x30.istio.networking.v1alpha3.ServiceEntry.Location\x12\x46\n\nresolution\x18\x05 \x01(\x0e\x32\x32.istio.networking.v1alpha3.ServiceEntry.Resolution\x12\x43\n\tendpoints\x18\x06 \x03(\x0b\x32\x30.istio.networking.v1alpha3.ServiceEntry.Endpoint\x12<\n\x0c\x63onfig_scope\x18\x07 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\x1a\xc5\x02\n\x08\x45ndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12J\n\x05ports\x18\x02 \x03(\x0b\x32;.istio.networking.v1alpha3.ServiceEntry.Endpoint.PortsEntry\x12L\n\x06labels\x18\x03 \x03(\x0b\x32<.istio.networking.v1alpha3.ServiceEntry.Endpoint.LabelsEntry\x12\x0f\n\x07network\x18\x04 \x01(\t\x12\x10\n\x08locality\x18\x05 \x01(\t\x12\x0e\n\x06weight\x18\x06 \x01(\r\x1a,\n\nPortsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"0\n\x08Location\x12\x11\n\rMESH_EXTERNAL\x10\x00\x12\x11\n\rMESH_INTERNAL\x10\x01\"+\n\nResolution\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06STATIC\x10\x01\x12\x07\n\x03\x44NS\x10\x02\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n\'networking/v1alpha3/service_entry.proto\x12\x19istio.networking.v1alpha3\x1a!networking/v1alpha3/gateway.proto\x1a,networking/v1alpha3/service_dependency.proto\"\x96\x06\n\x0cServiceEntry\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x11\n\taddresses\x18\x02 \x03(\t\x12.\n\x05ports\x18\x03 \x03(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x42\n\x08location\x18\x04 \x01(\x0e\x32\x30.istio.networking.v1alpha3.ServiceEntry.Location\x12\x46\n\nresolution\x18\x05 \x01(\x0e\x32\x32.istio.networking.v1alpha3.ServiceEntry.Resolution\x12\x43\n\tendpoints\x18\x06 \x03(\x0b\x32\x30.istio.networking.v1alpha3.ServiceEntry.Endpoint\x12<\n\x0c\x63onfig_scope\x18\x07 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\x1a\xc5\x02\n\x08\x45ndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12J\n\x05ports\x18\x02 \x03(\x0b\x32;.istio.networking.v1alpha3.ServiceEntry.Endpoint.PortsEntry\x12L\n\x06labels\x18\x03 \x03(\x0b\x32<.istio.networking.v1alpha3.ServiceEntry.Endpoint.LabelsEntry\x12\x0f\n\x07network\x18\x04 \x01(\t\x12\x10\n\x08locality\x18\x05 \x01(\t\x12\x0e\n\x06weight\x18\x06 \x01(\r\x1a,\n\nPortsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"0\n\x08Location\x12\x11\n\rMESH_EXTERNAL\x10\x00\x12\x11\n\rMESH_INTERNAL\x10\x01\"+\n\nResolution\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06STATIC\x10\x01\x12\x07\n\x03\x44NS\x10\x02\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , - dependencies=[networking_dot_v1alpha3_dot_gateway__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_network__scope__pb2.DESCRIPTOR,]) + dependencies=[networking_dot_v1alpha3_dot_gateway__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_service__dependency__pb2.DESCRIPTOR,]) @@ -44,8 +44,8 @@ ], containing_type=None, options=None, - serialized_start=844, - serialized_end=892, + serialized_start=849, + serialized_end=897, ) _sym_db.RegisterEnumDescriptor(_SERVICEENTRY_LOCATION) @@ -70,8 +70,8 @@ ], containing_type=None, options=None, - serialized_start=894, - serialized_end=937, + serialized_start=899, + serialized_end=942, ) _sym_db.RegisterEnumDescriptor(_SERVICEENTRY_RESOLUTION) @@ -109,8 +109,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=751, - serialized_end=795, + serialized_start=756, + serialized_end=800, ) _SERVICEENTRY_ENDPOINT_LABELSENTRY = _descriptor.Descriptor( @@ -146,8 +146,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=797, - serialized_end=842, + serialized_start=802, + serialized_end=847, ) _SERVICEENTRY_ENDPOINT = _descriptor.Descriptor( @@ -211,8 +211,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=517, - serialized_end=842, + serialized_start=522, + serialized_end=847, ) _SERVICEENTRY = _descriptor.Descriptor( @@ -285,8 +285,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=147, - serialized_end=937, + serialized_start=152, + serialized_end=942, ) _SERVICEENTRY_ENDPOINT_PORTSENTRY.containing_type = _SERVICEENTRY_ENDPOINT @@ -298,7 +298,7 @@ _SERVICEENTRY.fields_by_name['location'].enum_type = _SERVICEENTRY_LOCATION _SERVICEENTRY.fields_by_name['resolution'].enum_type = _SERVICEENTRY_RESOLUTION _SERVICEENTRY.fields_by_name['endpoints'].message_type = _SERVICEENTRY_ENDPOINT -_SERVICEENTRY.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_network__scope__pb2._CONFIGSCOPE +_SERVICEENTRY.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_service__dependency__pb2._CONFIGSCOPE _SERVICEENTRY_LOCATION.containing_type = _SERVICEENTRY _SERVICEENTRY_RESOLUTION.containing_type = _SERVICEENTRY DESCRIPTOR.message_types_by_name['ServiceEntry'] = _SERVICEENTRY diff --git a/python/istio_api/networking/v1alpha3/virtual_service_pb2.py b/python/istio_api/networking/v1alpha3/virtual_service_pb2.py index 9a6433a753..7df90ca370 100644 --- a/python/istio_api/networking/v1alpha3/virtual_service_pb2.py +++ b/python/istio_api/networking/v1alpha3/virtual_service_pb2.py @@ -15,16 +15,16 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -from networking.v1alpha3 import network_scope_pb2 as networking_dot_v1alpha3_dot_network__scope__pb2 +from networking.v1alpha3 import service_dependency_pb2 as networking_dot_v1alpha3_dot_service__dependency__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='networking/v1alpha3/virtual_service.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n)networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\'networking/v1alpha3/network_scope.proto\"\x87\x02\n\x0eVirtualService\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x10\n\x08gateways\x18\x02 \x03(\t\x12\x32\n\x04http\x18\x03 \x03(\x0b\x32$.istio.networking.v1alpha3.HTTPRoute\x12\x30\n\x03tls\x18\x05 \x03(\x0b\x32#.istio.networking.v1alpha3.TLSRoute\x12\x30\n\x03tcp\x18\x04 \x03(\x0b\x32#.istio.networking.v1alpha3.TCPRoute\x12<\n\x0c\x63onfig_scope\x18\x06 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\"b\n\x0b\x44\x65stination\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0e\n\x06subset\x18\x02 \x01(\t\x12\x35\n\x04port\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\"\xf9\x08\n\tHTTPRoute\x12:\n\x05match\x18\x01 \x03(\x0b\x32+.istio.networking.v1alpha3.HTTPMatchRequest\x12>\n\x05route\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.HTTPRouteDestination\x12\x39\n\x08redirect\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.HTTPRedirect\x12\x37\n\x07rewrite\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.HTTPRewrite\x12\x19\n\x11websocket_upgrade\x18\x05 \x01(\x08\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x07retries\x18\x07 \x01(\x0b\x32$.istio.networking.v1alpha3.HTTPRetry\x12<\n\x05\x66\x61ult\x18\x08 \x01(\x0b\x32-.istio.networking.v1alpha3.HTTPFaultInjection\x12\x36\n\x06mirror\x18\t \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12:\n\x0b\x63ors_policy\x18\n \x01(\x0b\x32%.istio.networking.v1alpha3.CorsPolicy\x12S\n\x0e\x61ppend_headers\x18\x0b \x03(\x0b\x32\x37.istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntryB\x02\x18\x01\x12#\n\x17remove_response_headers\x18\x0c \x03(\tB\x02\x18\x01\x12\x64\n\x17\x61ppend_response_headers\x18\r \x03(\x0b\x32?.istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x0e \x03(\tB\x02\x18\x01\x12\x62\n\x16\x61ppend_request_headers\x18\x0f \x03(\x0b\x32>.istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x10 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a\x34\n\x12\x41ppendHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x03\n\x07Headers\x12\x44\n\x07request\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x12\x45\n\x08response\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x1a\x90\x02\n\x10HeaderOperations\x12I\n\x03set\x18\x01 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry\x12I\n\x03\x61\x64\x64\x18\x02 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry\x12\x0e\n\x06remove\x18\x03 \x03(\t\x1a*\n\x08SetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a*\n\x08\x41\x64\x64\x45ntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x84\x01\n\x08TLSRoute\x12<\n\x05match\x18\x01 \x03(\x0b\x32-.istio.networking.v1alpha3.TLSMatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\x83\x01\n\x08TCPRoute\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.networking.v1alpha3.L4MatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\xc0\x04\n\x10HTTPMatchRequest\x12\x33\n\x03uri\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06scheme\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06method\x18\x03 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x39\n\tauthority\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry\x12\x0c\n\x04port\x18\x06 \x01(\r\x12T\n\rsource_labels\x18\x07 \x03(\x0b\x32=.istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x08 \x03(\t\x1aV\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch:\x02\x38\x01\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbc\x04\n\x14HTTPRouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12#\n\x17remove_response_headers\x18\x03 \x03(\tB\x02\x18\x01\x12o\n\x17\x61ppend_response_headers\x18\x04 \x03(\x0b\x32J.istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x05 \x03(\tB\x02\x18\x01\x12m\n\x16\x61ppend_request_headers\x18\x06 \x03(\x0b\x32I.istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x07 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\x10RouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"\xf3\x01\n\x11L4MatchAttributes\x12\x1b\n\x13\x64\x65stination_subnets\x18\x01 \x03(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x15\n\rsource_subnet\x18\x03 \x01(\t\x12U\n\rsource_labels\x18\x04 \x03(\x0b\x32>.istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x05 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x88\x02\n\x12TLSMatchAttributes\x12\x11\n\tsni_hosts\x18\x01 \x03(\t\x12\x1b\n\x13\x64\x65stination_subnets\x18\x02 \x03(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x15\n\rsource_subnet\x18\x04 \x01(\t\x12V\n\rsource_labels\x18\x05 \x03(\x0b\x32?.istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x06 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\".\n\x0cHTTPRedirect\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"-\n\x0bHTTPRewrite\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"c\n\tHTTPRetry\x12\x10\n\x08\x61ttempts\x18\x01 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08retry_on\x18\x03 \x01(\t\"\xcb\x01\n\nCorsPolicy\x12\x14\n\x0c\x61llow_origin\x18\x01 \x03(\t\x12\x15\n\rallow_methods\x18\x02 \x03(\t\x12\x15\n\rallow_headers\x18\x03 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x04 \x03(\t\x12*\n\x07max_age\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x11\x61llow_credentials\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"\x9a\x04\n\x12HTTPFaultInjection\x12\x42\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Delay\x12\x42\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Abort\x1a\xd1\x01\n\x05\x44\x65lay\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x30\n\x0b\x66ixed_delay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\x11\x65xponential_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x11\n\x0fhttp_delay_type\x1a\xa7\x01\n\x05\x41\x62ort\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x15\n\x0bhttp_status\x18\x02 \x01(\x05H\x00\x12\x15\n\x0bgrpc_status\x18\x03 \x01(\tH\x00\x12\x15\n\x0bhttp2_error\x18\x04 \x01(\tH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x0c\n\nerror_type\"8\n\x0cPortSelector\x12\x10\n\x06number\x18\x01 \x01(\rH\x00\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x42\x06\n\x04port\"\x18\n\x07Percent\x12\r\n\x05value\x18\x01 \x01(\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n)networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a,networking/v1alpha3/service_dependency.proto\"\x87\x02\n\x0eVirtualService\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x10\n\x08gateways\x18\x02 \x03(\t\x12\x32\n\x04http\x18\x03 \x03(\x0b\x32$.istio.networking.v1alpha3.HTTPRoute\x12\x30\n\x03tls\x18\x05 \x03(\x0b\x32#.istio.networking.v1alpha3.TLSRoute\x12\x30\n\x03tcp\x18\x04 \x03(\x0b\x32#.istio.networking.v1alpha3.TCPRoute\x12<\n\x0c\x63onfig_scope\x18\x06 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\"b\n\x0b\x44\x65stination\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0e\n\x06subset\x18\x02 \x01(\t\x12\x35\n\x04port\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\"\xf9\x08\n\tHTTPRoute\x12:\n\x05match\x18\x01 \x03(\x0b\x32+.istio.networking.v1alpha3.HTTPMatchRequest\x12>\n\x05route\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.HTTPRouteDestination\x12\x39\n\x08redirect\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.HTTPRedirect\x12\x37\n\x07rewrite\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.HTTPRewrite\x12\x19\n\x11websocket_upgrade\x18\x05 \x01(\x08\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x07retries\x18\x07 \x01(\x0b\x32$.istio.networking.v1alpha3.HTTPRetry\x12<\n\x05\x66\x61ult\x18\x08 \x01(\x0b\x32-.istio.networking.v1alpha3.HTTPFaultInjection\x12\x36\n\x06mirror\x18\t \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12:\n\x0b\x63ors_policy\x18\n \x01(\x0b\x32%.istio.networking.v1alpha3.CorsPolicy\x12S\n\x0e\x61ppend_headers\x18\x0b \x03(\x0b\x32\x37.istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntryB\x02\x18\x01\x12#\n\x17remove_response_headers\x18\x0c \x03(\tB\x02\x18\x01\x12\x64\n\x17\x61ppend_response_headers\x18\r \x03(\x0b\x32?.istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x0e \x03(\tB\x02\x18\x01\x12\x62\n\x16\x61ppend_request_headers\x18\x0f \x03(\x0b\x32>.istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x10 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a\x34\n\x12\x41ppendHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x03\n\x07Headers\x12\x44\n\x07request\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x12\x45\n\x08response\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x1a\x90\x02\n\x10HeaderOperations\x12I\n\x03set\x18\x01 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry\x12I\n\x03\x61\x64\x64\x18\x02 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry\x12\x0e\n\x06remove\x18\x03 \x03(\t\x1a*\n\x08SetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a*\n\x08\x41\x64\x64\x45ntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x84\x01\n\x08TLSRoute\x12<\n\x05match\x18\x01 \x03(\x0b\x32-.istio.networking.v1alpha3.TLSMatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\x83\x01\n\x08TCPRoute\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.networking.v1alpha3.L4MatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\xc0\x04\n\x10HTTPMatchRequest\x12\x33\n\x03uri\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06scheme\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06method\x18\x03 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x39\n\tauthority\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry\x12\x0c\n\x04port\x18\x06 \x01(\r\x12T\n\rsource_labels\x18\x07 \x03(\x0b\x32=.istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x08 \x03(\t\x1aV\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch:\x02\x38\x01\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbc\x04\n\x14HTTPRouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12#\n\x17remove_response_headers\x18\x03 \x03(\tB\x02\x18\x01\x12o\n\x17\x61ppend_response_headers\x18\x04 \x03(\x0b\x32J.istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x05 \x03(\tB\x02\x18\x01\x12m\n\x16\x61ppend_request_headers\x18\x06 \x03(\x0b\x32I.istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x07 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\x10RouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"\xf3\x01\n\x11L4MatchAttributes\x12\x1b\n\x13\x64\x65stination_subnets\x18\x01 \x03(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x15\n\rsource_subnet\x18\x03 \x01(\t\x12U\n\rsource_labels\x18\x04 \x03(\x0b\x32>.istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x05 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x88\x02\n\x12TLSMatchAttributes\x12\x11\n\tsni_hosts\x18\x01 \x03(\t\x12\x1b\n\x13\x64\x65stination_subnets\x18\x02 \x03(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x15\n\rsource_subnet\x18\x04 \x01(\t\x12V\n\rsource_labels\x18\x05 \x03(\x0b\x32?.istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x06 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\".\n\x0cHTTPRedirect\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"-\n\x0bHTTPRewrite\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"c\n\tHTTPRetry\x12\x10\n\x08\x61ttempts\x18\x01 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08retry_on\x18\x03 \x01(\t\"\xcb\x01\n\nCorsPolicy\x12\x14\n\x0c\x61llow_origin\x18\x01 \x03(\t\x12\x15\n\rallow_methods\x18\x02 \x03(\t\x12\x15\n\rallow_headers\x18\x03 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x04 \x03(\t\x12*\n\x07max_age\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x11\x61llow_credentials\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"\x9a\x04\n\x12HTTPFaultInjection\x12\x42\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Delay\x12\x42\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Abort\x1a\xd1\x01\n\x05\x44\x65lay\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x30\n\x0b\x66ixed_delay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\x11\x65xponential_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x11\n\x0fhttp_delay_type\x1a\xa7\x01\n\x05\x41\x62ort\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x15\n\x0bhttp_status\x18\x02 \x01(\x05H\x00\x12\x15\n\x0bgrpc_status\x18\x03 \x01(\tH\x00\x12\x15\n\x0bhttp2_error\x18\x04 \x01(\tH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x0c\n\nerror_type\"8\n\x0cPortSelector\x12\x10\n\x06number\x18\x01 \x01(\rH\x00\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x42\x06\n\x04port\"\x18\n\x07Percent\x12\r\n\x05value\x18\x01 \x01(\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , - dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_network__scope__pb2.DESCRIPTOR,]) + dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_service__dependency__pb2.DESCRIPTOR,]) @@ -90,8 +90,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=178, - serialized_end=441, + serialized_start=183, + serialized_end=446, ) @@ -135,8 +135,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=443, - serialized_end=541, + serialized_start=448, + serialized_end=546, ) @@ -173,8 +173,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1514, - serialized_end=1566, + serialized_start=1519, + serialized_end=1571, ) _HTTPROUTE_APPENDRESPONSEHEADERSENTRY = _descriptor.Descriptor( @@ -210,8 +210,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1568, - serialized_end=1628, + serialized_start=1573, + serialized_end=1633, ) _HTTPROUTE_APPENDREQUESTHEADERSENTRY = _descriptor.Descriptor( @@ -247,8 +247,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1630, - serialized_end=1689, + serialized_start=1635, + serialized_end=1694, ) _HTTPROUTE = _descriptor.Descriptor( @@ -382,8 +382,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=544, - serialized_end=1689, + serialized_start=549, + serialized_end=1694, ) @@ -420,8 +420,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2031, - serialized_end=2073, + serialized_start=2036, + serialized_end=2078, ) _HEADERS_HEADEROPERATIONS_ADDENTRY = _descriptor.Descriptor( @@ -457,8 +457,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2075, - serialized_end=2117, + serialized_start=2080, + serialized_end=2122, ) _HEADERS_HEADEROPERATIONS = _descriptor.Descriptor( @@ -501,8 +501,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1845, - serialized_end=2117, + serialized_start=1850, + serialized_end=2122, ) _HEADERS = _descriptor.Descriptor( @@ -538,8 +538,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1692, - serialized_end=2117, + serialized_start=1697, + serialized_end=2122, ) @@ -576,8 +576,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2120, - serialized_end=2252, + serialized_start=2125, + serialized_end=2257, ) @@ -614,8 +614,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2255, - serialized_end=2386, + serialized_start=2260, + serialized_end=2391, ) @@ -652,8 +652,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2826, - serialized_end=2912, + serialized_start=2831, + serialized_end=2917, ) _HTTPMATCHREQUEST_SOURCELABELSENTRY = _descriptor.Descriptor( @@ -689,8 +689,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2914, - serialized_end=2965, + serialized_start=2919, + serialized_end=2970, ) _HTTPMATCHREQUEST = _descriptor.Descriptor( @@ -768,8 +768,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2389, - serialized_end=2965, + serialized_start=2394, + serialized_end=2970, ) @@ -806,8 +806,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1568, - serialized_end=1628, + serialized_start=1573, + serialized_end=1633, ) _HTTPROUTEDESTINATION_APPENDREQUESTHEADERSENTRY = _descriptor.Descriptor( @@ -843,8 +843,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1630, - serialized_end=1689, + serialized_start=1635, + serialized_end=1694, ) _HTTPROUTEDESTINATION = _descriptor.Descriptor( @@ -915,8 +915,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2968, - serialized_end=3540, + serialized_start=2973, + serialized_end=3545, ) @@ -953,8 +953,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3542, - serialized_end=3637, + serialized_start=3547, + serialized_end=3642, ) @@ -991,8 +991,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2914, - serialized_end=2965, + serialized_start=2919, + serialized_end=2970, ) _L4MATCHATTRIBUTES = _descriptor.Descriptor( @@ -1049,8 +1049,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3640, - serialized_end=3883, + serialized_start=3645, + serialized_end=3888, ) @@ -1087,8 +1087,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2914, - serialized_end=2965, + serialized_start=2919, + serialized_end=2970, ) _TLSMATCHATTRIBUTES = _descriptor.Descriptor( @@ -1152,8 +1152,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3886, - serialized_end=4150, + serialized_start=3891, + serialized_end=4155, ) @@ -1190,8 +1190,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4152, - serialized_end=4198, + serialized_start=4157, + serialized_end=4203, ) @@ -1228,8 +1228,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4200, - serialized_end=4245, + serialized_start=4205, + serialized_end=4250, ) @@ -1276,8 +1276,8 @@ name='match_type', full_name='istio.networking.v1alpha3.StringMatch.match_type', index=0, containing_type=None, fields=[]), ], - serialized_start=4247, - serialized_end=4326, + serialized_start=4252, + serialized_end=4331, ) @@ -1321,8 +1321,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4328, - serialized_end=4427, + serialized_start=4333, + serialized_end=4432, ) @@ -1387,8 +1387,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4430, - serialized_end=4633, + serialized_start=4435, + serialized_end=4638, ) @@ -1442,8 +1442,8 @@ name='http_delay_type', full_name='istio.networking.v1alpha3.HTTPFaultInjection.Delay.http_delay_type', index=0, containing_type=None, fields=[]), ], - serialized_start=4795, - serialized_end=5004, + serialized_start=4800, + serialized_end=5009, ) _HTTPFAULTINJECTION_ABORT = _descriptor.Descriptor( @@ -1503,8 +1503,8 @@ name='error_type', full_name='istio.networking.v1alpha3.HTTPFaultInjection.Abort.error_type', index=0, containing_type=None, fields=[]), ], - serialized_start=5007, - serialized_end=5174, + serialized_start=5012, + serialized_end=5179, ) _HTTPFAULTINJECTION = _descriptor.Descriptor( @@ -1540,8 +1540,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4636, - serialized_end=5174, + serialized_start=4641, + serialized_end=5179, ) @@ -1581,8 +1581,8 @@ name='port', full_name='istio.networking.v1alpha3.PortSelector.port', index=0, containing_type=None, fields=[]), ], - serialized_start=5176, - serialized_end=5232, + serialized_start=5181, + serialized_end=5237, ) @@ -1612,14 +1612,14 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5234, - serialized_end=5258, + serialized_start=5239, + serialized_end=5263, ) _VIRTUALSERVICE.fields_by_name['http'].message_type = _HTTPROUTE _VIRTUALSERVICE.fields_by_name['tls'].message_type = _TLSROUTE _VIRTUALSERVICE.fields_by_name['tcp'].message_type = _TCPROUTE -_VIRTUALSERVICE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_network__scope__pb2._CONFIGSCOPE +_VIRTUALSERVICE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_service__dependency__pb2._CONFIGSCOPE _DESTINATION.fields_by_name['port'].message_type = _PORTSELECTOR _HTTPROUTE_APPENDHEADERSENTRY.containing_type = _HTTPROUTE _HTTPROUTE_APPENDRESPONSEHEADERSENTRY.containing_type = _HTTPROUTE
FieldTypeDescription
namespacestring +

The configuration namespace whose services need to be imported. +Specify * to import all namespaces. The import can be scoped further +by specifying individual hosts.

+ +
hoststring +

A FQDN or wildcard prefixed DNS name of the host to import from the +specified namespace. The hostnames include names of services from the +service registry as well as those specified in a VirtualService.

+