From b1978437bd1f98da05c1c172efe1c250223513ef Mon Sep 17 00:00:00 2001 From: Quanjie Lin <32855694+quanjielin@users.noreply.github.com> Date: Tue, 11 Dec 2018 14:05:28 -0800 Subject: [PATCH 01/11] add enable_sds_k8s_sa_jwt flag to meshconfig (#729) * add enable_sds_k8s_sa_jwt flag to meshconfig * fix build * update comment and rename --- mesh/v1alpha1/config.pb.go | 215 ++++++++++++------- mesh/v1alpha1/config.proto | 16 +- proto.lock | 5 + python/istio_api/mesh/v1alpha1/config_pb2.py | 47 ++-- 4 files changed, 179 insertions(+), 104 deletions(-) diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 4552e43de2..32a1caa43b 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -271,9 +271,18 @@ type MeshConfig struct { // $hide_from_docs // This flag is used by secret discovery service(SDS). // If set to true(prerequisite: https://kubernetes.io/docs/concepts/storage/volumes/#projected), Istio will inject volumes mount - // for k8s service account JWT, so that K8s API server mounts k8s service account JWT to envoy container, which - // will be used to generate key/cert eventually. This isn't supported for non-k8s case. + // for k8s service account trustworthy JWT(which is avaialbe for k8s 1.12 or higher), so that K8s API server + // mounts k8s service account trustworthy JWT to envoy container, which will be used to request key/cert eventually. + // This isn't supported for non-k8s case. EnableSdsTokenMount bool `protobuf:"varint,23,opt,name=enable_sds_token_mount,json=enableSdsTokenMount,proto3" json:"enable_sds_token_mount,omitempty"` + // $hide_from_docs + // This flag is used by secret discovery service(SDS). + // If set to true, envoy will fetch normal k8s service account JWT from '/var/run/secrets/kubernetes.io/serviceaccount/token' + // (https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#accessing-the-api-from-a-pod) + // and pass to sds server, which will be used to request key/cert eventually. + // If both enable_sds_token_mount and sds_use_k8s_sa_jwt are set to true, enable_sds_token_mount(trustworthy jwt) takes precedence. + // This isn't supported for non-k8s case. + SdsUseK8SSaJwt bool `protobuf:"varint,30,opt,name=sds_use_k8s_sa_jwt,json=sdsUseK8sSaJwt,proto3" json:"sds_use_k8s_sa_jwt,omitempty"` // The trust domain corresponds to the trust root of a system. // 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. @@ -466,6 +475,13 @@ func (m *MeshConfig) GetEnableSdsTokenMount() bool { return false } +func (m *MeshConfig) GetSdsUseK8SSaJwt() bool { + if m != nil { + return m.SdsUseK8SSaJwt + } + return false +} + func (m *MeshConfig) GetTrustDomain() string { if m != nil { return m.TrustDomain @@ -829,6 +845,18 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { } i += n7 } + if m.SdsUseK8SSaJwt { + dAtA[i] = 0xf0 + i++ + dAtA[i] = 0x1 + i++ + if m.SdsUseK8SSaJwt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } return i, nil } @@ -1039,6 +1067,9 @@ func (m *MeshConfig) Size() (n int) { l = m.DefaultServiceDependency.Size() n += 2 + l + sovConfig(uint64(l)) } + if m.SdsUseK8SSaJwt { + n += 3 + } return n } @@ -1840,6 +1871,26 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 30: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SdsUseK8SSaJwt", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowConfig + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.SdsUseK8SSaJwt = bool(v != 0) default: iNdEx = preIndex skippy, err := skipConfig(dAtA[iNdEx:]) @@ -2248,83 +2299,85 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 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, + // 1266 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x72, 0xd3, 0xc6, + 0x17, 0x8f, 0x92, 0x40, 0xc2, 0xf1, 0x47, 0xe4, 0x0d, 0x81, 0xc5, 0xf0, 0xcf, 0xdf, 0xa4, 0x53, + 0xc8, 0xa4, 0x1d, 0x67, 0x48, 0xa6, 0x33, 0xb4, 0x33, 0xbd, 0x30, 0xb6, 0x03, 0x0e, 0x8e, 0xed, + 0x91, 0x14, 0x5a, 0x7a, 0xd1, 0x1d, 0x45, 0x5a, 0xdb, 0xdb, 0xc8, 0x5a, 0x55, 0xbb, 0x0e, 0xe4, + 0x71, 0xfa, 0x1c, 0x7d, 0x81, 0x5e, 0xf6, 0xae, 0xb7, 0x1d, 0x9e, 0xa4, 0xb3, 0xbb, 0x52, 0x6c, + 0xc0, 0x34, 0x1d, 0xee, 0xb4, 0xbf, 0xf3, 0xb5, 0xe7, 0x77, 0x3e, 0x56, 0x50, 0x9d, 0x50, 0x31, + 0xde, 0xbf, 0x78, 0xe2, 0x47, 0xc9, 0xd8, 0x7f, 0xb2, 0x1f, 0xf0, 0x78, 0xc8, 0x46, 0xf5, 0x24, + 0xe5, 0x92, 0xa3, 0x4d, 0x26, 0x24, 0xe3, 0x75, 0xa5, 0x51, 0xcf, 0x35, 0xaa, 0xdb, 0x23, 0xce, + 0x47, 0x11, 0xdd, 0xd7, 0x2a, 0x67, 0xd3, 0xe1, 0x7e, 0x38, 0x4d, 0x7d, 0xc9, 0x78, 0x6c, 0x8c, + 0xaa, 0xf7, 0xde, 0x77, 0x98, 0xa4, 0xfc, 0xed, 0x65, 0x26, 0xda, 0x8b, 0xa9, 0x7c, 0xc3, 0xd3, + 0x73, 0x16, 0x8f, 0x72, 0x85, 0xc3, 0xfd, 0x90, 0x0a, 0xc9, 0x62, 0xed, 0x81, 0xa4, 0xd3, 0x88, + 0x1a, 0xdd, 0x9d, 0xdf, 0x10, 0xc0, 0x09, 0x15, 0xe3, 0xa6, 0xbe, 0x10, 0xfa, 0x1a, 0xd0, 0x84, + 0xbd, 0xa5, 0x29, 0x09, 0xc6, 0x34, 0x38, 0x27, 0x82, 0xa6, 0x17, 0x34, 0xc5, 0x56, 0xcd, 0xda, + 0xbd, 0xe5, 0xd8, 0x5a, 0xd2, 0x54, 0x02, 0x57, 0xe3, 0xa8, 0x0e, 0x9b, 0x46, 0x3b, 0xa5, 0x09, + 0x4f, 0x65, 0xae, 0xbe, 0xac, 0xd5, 0x2b, 0x5a, 0xe4, 0x68, 0x49, 0xa6, 0x7f, 0x00, 0x5b, 0x21, + 0x13, 0xfe, 0x59, 0x44, 0x49, 0xc2, 0x23, 0x16, 0x5c, 0x9a, 0x30, 0x02, 0xaf, 0xd4, 0xac, 0xdd, + 0x75, 0x67, 0x33, 0x13, 0x0e, 0xb4, 0x4c, 0x07, 0x12, 0x68, 0x0f, 0x2a, 0x3a, 0x37, 0x12, 0x31, + 0x21, 0x69, 0x4c, 0x94, 0x3b, 0xbc, 0x5a, 0xb3, 0x76, 0x6f, 0x38, 0x1b, 0x5a, 0xd0, 0xd5, 0xf8, + 0x80, 0xa7, 0x12, 0x3d, 0x02, 0x03, 0x91, 0xb1, 0x94, 0x89, 0xd1, 0xbc, 0xa1, 0x35, 0x4b, 0x1a, + 0x7e, 0x21, 0x65, 0xa2, 0xf5, 0x9e, 0xc1, 0x46, 0xc0, 0xe3, 0x98, 0x06, 0x92, 0x48, 0x36, 0xa1, + 0x7c, 0x2a, 0xf1, 0xcd, 0x9a, 0xb5, 0x5b, 0x38, 0xb8, 0x57, 0x37, 0xac, 0xd7, 0x73, 0xd6, 0xeb, + 0xad, 0x8c, 0x75, 0xa7, 0x9c, 0x59, 0x78, 0xc6, 0x00, 0x7d, 0x01, 0x25, 0x16, 0x8f, 0x52, 0x2a, + 0x04, 0x09, 0x22, 0x5f, 0x08, 0xbc, 0xa6, 0xb3, 0x2e, 0x66, 0x60, 0x53, 0x61, 0xe8, 0x31, 0x6c, + 0xe4, 0x4a, 0x8a, 0x1b, 0x16, 0x50, 0xbc, 0xae, 0xd5, 0xca, 0x19, 0xec, 0x1a, 0x14, 0x4d, 0xe0, + 0xee, 0x95, 0x37, 0x1e, 0xcb, 0x94, 0x47, 0x11, 0x4d, 0xc9, 0x84, 0x87, 0x14, 0xdf, 0xaa, 0x59, + 0xbb, 0xe5, 0x83, 0x6f, 0xea, 0x0b, 0x9a, 0xa4, 0x3e, 0xab, 0x5c, 0xbd, 0x93, 0xc5, 0xbd, 0xb2, + 0x3e, 0xe1, 0x21, 0x75, 0xb6, 0xd8, 0x22, 0x18, 0xf5, 0xa1, 0xe0, 0x4f, 0xe5, 0x38, 0xab, 0x02, + 0x06, 0x1d, 0x62, 0xef, 0xba, 0x10, 0x8d, 0xa9, 0x1c, 0x9b, 0xda, 0x3c, 0x5b, 0xc6, 0x96, 0x03, + 0xfe, 0xd5, 0x19, 0x75, 0xa0, 0x92, 0x86, 0x82, 0xa4, 0x74, 0x98, 0x52, 0x31, 0x26, 0x21, 0x8d, + 0xfc, 0x4b, 0x5c, 0xb8, 0x86, 0x53, 0xed, 0x65, 0x23, 0x0d, 0x85, 0x63, 0xcc, 0x5a, 0xca, 0x0a, + 0x7d, 0x09, 0x65, 0x1a, 0xeb, 0x1e, 0x91, 0xa9, 0x1f, 0xb0, 0x78, 0x84, 0x8b, 0xba, 0x3b, 0x4a, + 0x06, 0xf5, 0x0c, 0xa8, 0x6a, 0xed, 0x07, 0x81, 0x22, 0x2c, 0xe2, 0x23, 0x32, 0x64, 0x11, 0xc5, + 0x25, 0x4d, 0x6d, 0xc9, 0xc0, 0x5d, 0x3e, 0x3a, 0x62, 0x11, 0x45, 0xcf, 0xa1, 0x1c, 0xd2, 0xa1, + 0x3f, 0x8d, 0x24, 0x31, 0x43, 0x87, 0xcb, 0xfa, 0x5a, 0xb5, 0x85, 0xd9, 0x0e, 0x54, 0x9f, 0x98, + 0x74, 0x9d, 0x52, 0x66, 0x97, 0x8d, 0xc6, 0x63, 0x28, 0x99, 0x66, 0xf7, 0xc3, 0x50, 0x51, 0x8a, + 0x6d, 0x15, 0x4e, 0xe7, 0x50, 0xd4, 0x82, 0x86, 0xc1, 0xd1, 0xaf, 0x70, 0x97, 0x4f, 0xe5, 0x19, + 0x9f, 0xc6, 0xa1, 0x4a, 0x61, 0x38, 0x64, 0x41, 0x4e, 0x74, 0x45, 0x87, 0xbe, 0xb6, 0x96, 0xfd, + 0xcc, 0xdc, 0x33, 0xd6, 0x73, 0x9c, 0x6f, 0xf1, 0x45, 0x22, 0xd4, 0x82, 0xff, 0x67, 0x9c, 0x05, + 0x11, 0xa3, 0xb1, 0x24, 0x82, 0x85, 0xef, 0xcf, 0x18, 0xde, 0xd4, 0x24, 0xde, 0x37, 0x6a, 0x4d, + 0xad, 0xe5, 0xb2, 0x70, 0x7e, 0xd6, 0x50, 0x0d, 0x8a, 0x22, 0x14, 0x64, 0x1a, 0x0a, 0x92, 0xf8, + 0x72, 0x8c, 0x6f, 0x6b, 0x3e, 0x41, 0x84, 0xe2, 0x34, 0x14, 0x03, 0x5f, 0x8e, 0x55, 0x99, 0xc5, + 0x47, 0x65, 0xde, 0xfa, 0x4f, 0x65, 0x16, 0x1f, 0x94, 0xf9, 0x05, 0x94, 0x4d, 0x3d, 0x88, 0xe0, + 0xd3, 0x34, 0xa0, 0x02, 0xdf, 0xa9, 0xad, 0xec, 0x16, 0x0e, 0x1e, 0x2e, 0x24, 0xc7, 0x10, 0xe3, + 0x6a, 0x4d, 0xa7, 0x14, 0xcc, 0x9d, 0x04, 0x3a, 0x84, 0x3b, 0x59, 0xf2, 0xea, 0x6e, 0x92, 0x9f, + 0xd3, 0x98, 0x4c, 0xf8, 0x34, 0x96, 0xf8, 0xae, 0x59, 0x2b, 0x46, 0xea, 0x86, 0xc2, 0x53, 0xb2, + 0x13, 0x25, 0x52, 0x6b, 0x65, 0xbe, 0x7d, 0x78, 0x3a, 0xf1, 0x25, 0xc6, 0x3a, 0xe1, 0x8d, 0x59, + 0x03, 0x69, 0x58, 0x05, 0x98, 0xa7, 0x92, 0x0c, 0x7d, 0x16, 0x11, 0x9e, 0xd0, 0x18, 0xdf, 0x33, + 0x01, 0x92, 0x19, 0x89, 0x47, 0x3e, 0x8b, 0xfa, 0x09, 0x8d, 0xd1, 0x43, 0x28, 0xca, 0x74, 0x2a, + 0x24, 0x09, 0xf9, 0xc4, 0x67, 0x31, 0xae, 0x6a, 0xdf, 0x05, 0x8d, 0xb5, 0x34, 0x84, 0x7c, 0xd8, + 0x9c, 0xbb, 0x03, 0x8d, 0x03, 0x1e, 0xaa, 0x76, 0xbf, 0xaf, 0xa7, 0xf1, 0xc9, 0xb5, 0xd3, 0x98, + 0xdf, 0xb2, 0x9d, 0x19, 0x3a, 0x15, 0xff, 0x43, 0x08, 0x71, 0x28, 0xc9, 0x20, 0x21, 0xe7, 0x94, + 0x26, 0x7e, 0xc4, 0x2e, 0x28, 0x7e, 0xa0, 0x8b, 0x75, 0x9c, 0x39, 0x9f, 0x3d, 0x14, 0x79, 0x88, + 0x43, 0x45, 0xb5, 0xda, 0x73, 0x8c, 0xc7, 0x03, 0xce, 0x23, 0x97, 0x4a, 0xc9, 0xe2, 0x91, 0xa8, + 0x7b, 0xcd, 0xc1, 0xec, 0x3b, 0x48, 0x5e, 0xe6, 0x1e, 0x9d, 0xa2, 0x9c, 0x3b, 0xa1, 0x0b, 0xa8, + 0xe6, 0xe3, 0x96, 0x6d, 0x3c, 0x12, 0xd2, 0x84, 0xc6, 0x21, 0x8d, 0x83, 0x4b, 0xfc, 0x3f, 0x1d, + 0xfd, 0xe9, 0x75, 0xa9, 0xb5, 0x8c, 0x87, 0x6c, 0x39, 0xb6, 0xae, 0xec, 0x1d, 0x1c, 0x7e, 0x42, + 0x82, 0xf6, 0x00, 0xe9, 0xde, 0x15, 0x94, 0x9c, 0x3f, 0x15, 0x44, 0xf8, 0xe4, 0x97, 0x37, 0x12, + 0x6f, 0xeb, 0xfa, 0x94, 0x55, 0x07, 0x0b, 0xfa, 0xf2, 0xa9, 0x70, 0xfd, 0xe3, 0x37, 0xb2, 0xfa, + 0xbb, 0x05, 0x5b, 0x0b, 0x47, 0x0c, 0x39, 0xb0, 0xaa, 0x77, 0xae, 0xa5, 0x4b, 0xf0, 0xdd, 0x67, + 0xcd, 0x69, 0x5d, 0x6d, 0x58, 0xdd, 0xf3, 0xda, 0xd7, 0x4e, 0x0f, 0x56, 0xf5, 0xce, 0xdd, 0x82, + 0x92, 0xd3, 0x7e, 0xde, 0x71, 0x3d, 0xe7, 0x35, 0xe9, 0xf7, 0xba, 0xaf, 0xed, 0xa5, 0xea, 0xf2, + 0xba, 0x85, 0x2a, 0x70, 0xab, 0xd1, 0xed, 0xf6, 0x7f, 0x20, 0x8d, 0xde, 0x6b, 0xdb, 0xd2, 0xd0, + 0x03, 0xb8, 0xfd, 0xaa, 0xe3, 0x78, 0xa7, 0x8d, 0x2e, 0x71, 0xdb, 0xce, 0xab, 0x4e, 0xb3, 0x6d, + 0x0c, 0x96, 0x95, 0xb4, 0xfa, 0x97, 0x05, 0xf8, 0x53, 0x04, 0xa1, 0x9f, 0xa1, 0xc0, 0x26, 0xfa, + 0x2d, 0x9e, 0xcb, 0xe3, 0xfb, 0xcf, 0xe5, 0x5b, 0xa7, 0xe2, 0x80, 0xf1, 0xa8, 0x93, 0xf8, 0x0a, + 0x2a, 0x99, 0xff, 0xd8, 0x9f, 0x50, 0x91, 0xf8, 0x6a, 0x70, 0x97, 0x6b, 0x2b, 0xea, 0xf7, 0xc0, + 0x08, 0x7a, 0x57, 0xf8, 0x4e, 0x3d, 0xcb, 0x1c, 0x41, 0xb9, 0xd1, 0xed, 0x92, 0x5e, 0xe3, 0xa4, + 0xed, 0x0e, 0x1a, 0xcd, 0xb6, 0x6b, 0x2f, 0x29, 0xcc, 0x6d, 0x9c, 0xb4, 0x67, 0xa0, 0x6d, 0xed, + 0x7c, 0x0b, 0x5b, 0x0b, 0x5f, 0x31, 0xb4, 0x06, 0x2b, 0xfd, 0xa3, 0x23, 0x7b, 0x09, 0x15, 0x60, + 0xad, 0xd5, 0x3e, 0x6a, 0x9c, 0x76, 0x3d, 0xdb, 0x42, 0x00, 0x37, 0x5d, 0xcf, 0xe9, 0x34, 0x3d, + 0x7b, 0x79, 0xe7, 0x11, 0xc0, 0xec, 0x75, 0x42, 0xeb, 0xb0, 0xda, 0xeb, 0xf7, 0xda, 0xf6, 0x12, + 0x2a, 0x03, 0x9c, 0x9c, 0x6a, 0x26, 0xbd, 0xae, 0x6b, 0x5b, 0x3b, 0x8f, 0xa1, 0xf2, 0xd1, 0xdc, + 0x28, 0x75, 0xaf, 0xfd, 0xa3, 0x67, 0x2f, 0xa9, 0xaf, 0x63, 0xb7, 0xdf, 0xb3, 0xad, 0xe3, 0xd5, + 0xf5, 0x0d, 0xdb, 0x3e, 0x5e, 0x5d, 0x47, 0xf6, 0xe6, 0x8e, 0x80, 0xe2, 0xfc, 0xfe, 0x41, 0x18, + 0xd6, 0xf2, 0x37, 0xc0, 0xfc, 0x19, 0xe5, 0x47, 0xd4, 0x81, 0xa2, 0x8c, 0xd4, 0x5b, 0x6f, 0x06, + 0x45, 0xff, 0x09, 0x15, 0x0e, 0x1e, 0xfd, 0xcb, 0xb4, 0x79, 0x5d, 0x37, 0x1f, 0x2b, 0xa7, 0x20, + 0x23, 0x91, 0x1f, 0x9e, 0xed, 0xfe, 0xf1, 0x6e, 0xdb, 0xfa, 0xf3, 0xdd, 0xb6, 0xf5, 0xf7, 0xbb, + 0x6d, 0xeb, 0xa7, 0xaa, 0xf1, 0xc0, 0xf8, 0xbe, 0x9f, 0xb0, 0xfd, 0xf7, 0x7e, 0xfd, 0xce, 0x6e, + 0xea, 0x8d, 0x7b, 0xf8, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x5b, 0xd8, 0x2c, 0x63, 0x0a, + 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index b2bd4b9956..789141debd 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -190,10 +190,20 @@ message MeshConfig { // $hide_from_docs // This flag is used by secret discovery service(SDS). // If set to true(prerequisite: https://kubernetes.io/docs/concepts/storage/volumes/#projected), Istio will inject volumes mount - // for k8s service account JWT, so that K8s API server mounts k8s service account JWT to envoy container, which - // will be used to generate key/cert eventually. This isn't supported for non-k8s case. + // for k8s service account trustworthy JWT(which is avaialbe for k8s 1.12 or higher), so that K8s API server + // mounts k8s service account trustworthy JWT to envoy container, which will be used to request key/cert eventually. + // This isn't supported for non-k8s case. bool enable_sds_token_mount = 23; + // $hide_from_docs + // This flag is used by secret discovery service(SDS). + // If set to true, envoy will fetch normal k8s service account JWT from '/var/run/secrets/kubernetes.io/serviceaccount/token' + // (https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#accessing-the-api-from-a-pod) + // and pass to sds server, which will be used to request key/cert eventually. + // If both enable_sds_token_mount and sds_use_k8s_sa_jwt are set to true, enable_sds_token_mount(trustworthy jwt) takes precedence. + // This isn't supported for non-k8s case. + bool sds_use_k8s_sa_jwt = 30; + // The trust domain corresponds to the trust root of a system. // 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. @@ -233,7 +243,7 @@ message MeshConfig { DefaultServiceDependency default_service_dependency = 29; // $hide_from_docs - // Next available field number: 30 + // Next available field number: 31 } // ConfigSource describes information about a configuration store inside a diff --git a/proto.lock b/proto.lock index c1288ae658..b9415c777f 100644 --- a/proto.lock +++ b/proto.lock @@ -835,6 +835,11 @@ "name": "enable_sds_token_mount", "type": "bool" }, + { + "id": 30, + "name": "sds_use_k8s_sa_jwt", + "type": "bool" + }, { "id": 26, "name": "trust_domain", diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index 5c7f884e8f..45d2e7a478 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\"\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') + 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\"\x93\x0e\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\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1e \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,8 +49,8 @@ ], containing_type=None, options=None, - serialized_start=1520, - serialized_end=1598, + serialized_start=1548, + serialized_end=1626, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) @@ -71,8 +71,8 @@ ], containing_type=None, options=None, - serialized_start=1740, - serialized_end=1786, + serialized_start=1768, + serialized_end=1814, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE) @@ -97,8 +97,8 @@ ], containing_type=None, options=None, - serialized_start=1788, - serialized_end=1845, + serialized_start=1816, + serialized_end=1873, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -119,8 +119,8 @@ ], containing_type=None, options=None, - serialized_start=1847, - serialized_end=1885, + serialized_start=1875, + serialized_end=1913, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -141,8 +141,8 @@ ], containing_type=None, options=None, - serialized_start=1887, - serialized_end=1926, + serialized_start=1915, + serialized_end=1954, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING) @@ -174,8 +174,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1417, - serialized_end=1598, + serialized_start=1445, + serialized_end=1626, ) _MESHCONFIG_DEFAULTSERVICEDEPENDENCY = _descriptor.Descriptor( @@ -212,8 +212,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1601, - serialized_end=1786, + serialized_start=1629, + serialized_end=1814, ) _MESHCONFIG = _descriptor.Descriptor( @@ -399,14 +399,21 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=25, + name='sds_use_k8s_sa_jwt', full_name='istio.mesh.v1alpha1.MeshConfig.sds_use_k8s_sa_jwt', index=25, + number=30, 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=26, 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, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='default_service_dependency', full_name='istio.mesh.v1alpha1.MeshConfig.default_service_dependency', index=26, + name='default_service_dependency', full_name='istio.mesh.v1alpha1.MeshConfig.default_service_dependency', index=27, 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, @@ -428,7 +435,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1938, + serialized_end=1966, ) @@ -465,8 +472,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1940, - serialized_end=2033, + serialized_start=1968, + serialized_end=2061, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE From 0a85c2c2cbe2f1b78387b0ce0fbecd216a7d0776 Mon Sep 17 00:00:00 2001 From: Frank Budinsky Date: Fri, 14 Dec 2018 17:29:27 -0500 Subject: [PATCH 02/11] Fix broken CORS link (#728) --- 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 1ec29f1a01..96792fe1a9 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -1859,7 +1859,7 @@

HTTPRoute

CorsPolicy

Cross-Origin Resource Sharing policy (CORS). Refer to -https://developer.mozilla.org/en-US/docs/Web/HTTP/AccesscontrolCORS +https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS for further details about cross origin resource sharing.

diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 6d51ac6049..9394e691ce 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -407,7 +407,7 @@ type HTTPRoute struct { // destination. Mirror *Destination `protobuf:"bytes,9,opt,name=mirror" json:"mirror,omitempty"` // Cross-Origin Resource Sharing policy (CORS). Refer to - // https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + // https://developer.mozilla.org/en-US/docs/Web/HTTP/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 `headers` diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index c97b67b3e8..985c29f168 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -388,7 +388,7 @@ message HTTPRoute { Destination mirror = 9; // Cross-Origin Resource Sharing policy (CORS). Refer to - // https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + // https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS // for further details about cross origin resource sharing. CorsPolicy cors_policy = 10; From 80aff01d400e1b9d8007dcfe08cb7ba74b2d5eda Mon Sep 17 00:00:00 2001 From: Pengyuan Bian Date: Fri, 14 Dec 2018 14:34:47 -0800 Subject: [PATCH 03/11] oop adapter connection auth config (#606) * grpc adapter connection auth. * proto.lock. --- policy/v1beta1/cfg.pb.go | 3532 +++++++++++++++---- policy/v1beta1/cfg.proto | 93 +- policy/v1beta1/istio.policy.v1beta1.pb.html | 239 +- proto.lock | 119 + python/istio_api/policy/v1beta1/cfg_pb2.py | 371 +- 5 files changed, 3654 insertions(+), 700 deletions(-) diff --git a/policy/v1beta1/cfg.pb.go b/policy/v1beta1/cfg.pb.go index b7c9766a33..bc942cc41f 100644 --- a/policy/v1beta1/cfg.pb.go +++ b/policy/v1beta1/cfg.pb.go @@ -20,6 +20,10 @@ RandomSampling RateLimitSampling FractionalPercent + Authentication + Tls + OAuth + Mutual Value IPAddress Duration @@ -115,6 +119,29 @@ func (FractionalPercent_DenominatorType) EnumDescriptor() ([]byte, []int) { return fileDescriptorCfg, []int{9, 0} } +// AuthHeader specifies how to pass access token with authorization header. +type Tls_AuthHeader int32 + +const ( + // Access token is passed in authorization header as what it is + // (authorization: some-token). + PLAIN Tls_AuthHeader = 0 + // Access token is passed to adapter as bearer token (i.e. authorization: + // bearer some-token). + BEARER Tls_AuthHeader = 1 +) + +var Tls_AuthHeader_name = map[int32]string{ + 0: "PLAIN", + 1: "BEARER", +} +var Tls_AuthHeader_value = map[string]int32{ + "PLAIN": 0, + "BEARER": 1, +} + +func (Tls_AuthHeader) EnumDescriptor() ([]byte, []int) { return fileDescriptorCfg, []int{11, 0} } + // AttributeManifest describes a set of Attributes produced by some component // of an Istio deployment. type AttributeManifest struct { @@ -622,6 +649,9 @@ type Connection struct { Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // Timeout for remote calls to the backend. Timeout *time.Duration `protobuf:"bytes,3,opt,name=timeout,stdduration" json:"timeout,omitempty"` + // Auth config for the connection to the backend. If omitted, plain text will + // be used. + Authentication *Authentication `protobuf:"bytes,4,opt,name=authentication" json:"authentication,omitempty"` } func (m *Connection) Reset() { *m = Connection{} } @@ -642,6 +672,13 @@ func (m *Connection) GetTimeout() *time.Duration { return nil } +func (m *Connection) GetAuthentication() *Authentication { + if m != nil { + return m.Authentication + } + return nil +} + // $hide_from_docs // Sampling provides configuration of sampling strategies for Rule actions. // Multiple sampling strategies are supported. When multiple strategies are configured, @@ -795,6 +832,439 @@ func (m *FractionalPercent) GetDenominator() FractionalPercent_DenominatorType { return HUNDRED } +// Authentication allows the operator to specify the authentication of +// connections to out-of-process infrastructure backend. +type Authentication struct { + // Types that are valid to be assigned to AuthType: + // *Authentication_Tls + // *Authentication_Mutual + AuthType isAuthentication_AuthType `protobuf_oneof:"auth_type"` +} + +func (m *Authentication) Reset() { *m = Authentication{} } +func (*Authentication) ProtoMessage() {} +func (*Authentication) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{10} } + +type isAuthentication_AuthType interface { + isAuthentication_AuthType() + Equal(interface{}) bool + MarshalTo([]byte) (int, error) + Size() int +} + +type Authentication_Tls struct { + Tls *Tls `protobuf:"bytes,1,opt,name=tls,oneof"` +} +type Authentication_Mutual struct { + Mutual *Mutual `protobuf:"bytes,2,opt,name=mutual,oneof"` +} + +func (*Authentication_Tls) isAuthentication_AuthType() {} +func (*Authentication_Mutual) isAuthentication_AuthType() {} + +func (m *Authentication) GetAuthType() isAuthentication_AuthType { + if m != nil { + return m.AuthType + } + return nil +} + +func (m *Authentication) GetTls() *Tls { + if x, ok := m.GetAuthType().(*Authentication_Tls); ok { + return x.Tls + } + return nil +} + +func (m *Authentication) GetMutual() *Mutual { + if x, ok := m.GetAuthType().(*Authentication_Mutual); ok { + return x.Mutual + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*Authentication) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _Authentication_OneofMarshaler, _Authentication_OneofUnmarshaler, _Authentication_OneofSizer, []interface{}{ + (*Authentication_Tls)(nil), + (*Authentication_Mutual)(nil), + } +} + +func _Authentication_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*Authentication) + // auth_type + switch x := m.AuthType.(type) { + case *Authentication_Tls: + _ = b.EncodeVarint(1<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Tls); err != nil { + return err + } + case *Authentication_Mutual: + _ = b.EncodeVarint(2<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Mutual); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("Authentication.AuthType has unexpected type %T", x) + } + return nil +} + +func _Authentication_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*Authentication) + switch tag { + case 1: // auth_type.tls + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(Tls) + err := b.DecodeMessage(msg) + m.AuthType = &Authentication_Tls{msg} + return true, err + case 2: // auth_type.mutual + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(Mutual) + err := b.DecodeMessage(msg) + m.AuthType = &Authentication_Mutual{msg} + return true, err + default: + return false, nil + } +} + +func _Authentication_OneofSizer(msg proto.Message) (n int) { + m := msg.(*Authentication) + // auth_type + switch x := m.AuthType.(type) { + case *Authentication_Tls: + s := proto.Size(x.Tls) + n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += proto.SizeVarint(uint64(s)) + n += s + case *Authentication_Mutual: + s := proto.Size(x.Mutual) + n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +// Tls let operator specify client authentication setting when TLS is used for +// connection to the backend. +type Tls struct { + // The path to the file holding additional CA certificates to well known + // public certs. + CaCertificates string `protobuf:"bytes,1,opt,name=ca_certificates,json=caCertificates,proto3" json:"ca_certificates,omitempty"` + // Specifies how to get access token for client authn and authz. + // + // Types that are valid to be assigned to TokenSource: + // *Tls_TokenPath + // *Tls_Oauth + TokenSource isTls_TokenSource `protobuf_oneof:"token_source"` + // Specifies how to pass access token to the adapter backend. + // + // Types that are valid to be assigned to TokenType: + // *Tls_AuthHeader_ + // *Tls_CustomHeader + TokenType isTls_TokenType `protobuf_oneof:"token_type"` +} + +func (m *Tls) Reset() { *m = Tls{} } +func (*Tls) ProtoMessage() {} +func (*Tls) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{11} } + +type isTls_TokenSource interface { + isTls_TokenSource() + Equal(interface{}) bool + MarshalTo([]byte) (int, error) + Size() int +} +type isTls_TokenType interface { + isTls_TokenType() + Equal(interface{}) bool + MarshalTo([]byte) (int, error) + Size() int +} + +type Tls_TokenPath struct { + TokenPath string `protobuf:"bytes,2,opt,name=token_path,json=tokenPath,proto3,oneof"` +} +type Tls_Oauth struct { + Oauth *OAuth `protobuf:"bytes,3,opt,name=oauth,oneof"` +} +type Tls_AuthHeader_ struct { + AuthHeader Tls_AuthHeader `protobuf:"varint,4,opt,name=auth_header,json=authHeader,proto3,enum=istio.policy.v1beta1.Tls_AuthHeader,oneof"` +} +type Tls_CustomHeader struct { + CustomHeader string `protobuf:"bytes,5,opt,name=custom_header,json=customHeader,proto3,oneof"` +} + +func (*Tls_TokenPath) isTls_TokenSource() {} +func (*Tls_Oauth) isTls_TokenSource() {} +func (*Tls_AuthHeader_) isTls_TokenType() {} +func (*Tls_CustomHeader) isTls_TokenType() {} + +func (m *Tls) GetTokenSource() isTls_TokenSource { + if m != nil { + return m.TokenSource + } + return nil +} +func (m *Tls) GetTokenType() isTls_TokenType { + if m != nil { + return m.TokenType + } + return nil +} + +func (m *Tls) GetCaCertificates() string { + if m != nil { + return m.CaCertificates + } + return "" +} + +func (m *Tls) GetTokenPath() string { + if x, ok := m.GetTokenSource().(*Tls_TokenPath); ok { + return x.TokenPath + } + return "" +} + +func (m *Tls) GetOauth() *OAuth { + if x, ok := m.GetTokenSource().(*Tls_Oauth); ok { + return x.Oauth + } + return nil +} + +func (m *Tls) GetAuthHeader() Tls_AuthHeader { + if x, ok := m.GetTokenType().(*Tls_AuthHeader_); ok { + return x.AuthHeader + } + return PLAIN +} + +func (m *Tls) GetCustomHeader() string { + if x, ok := m.GetTokenType().(*Tls_CustomHeader); ok { + return x.CustomHeader + } + return "" +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*Tls) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _Tls_OneofMarshaler, _Tls_OneofUnmarshaler, _Tls_OneofSizer, []interface{}{ + (*Tls_TokenPath)(nil), + (*Tls_Oauth)(nil), + (*Tls_AuthHeader_)(nil), + (*Tls_CustomHeader)(nil), + } +} + +func _Tls_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*Tls) + // token_source + switch x := m.TokenSource.(type) { + case *Tls_TokenPath: + _ = b.EncodeVarint(2<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.TokenPath) + case *Tls_Oauth: + _ = b.EncodeVarint(3<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Oauth); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("Tls.TokenSource has unexpected type %T", x) + } + // token_type + switch x := m.TokenType.(type) { + case *Tls_AuthHeader_: + _ = b.EncodeVarint(4<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.AuthHeader)) + case *Tls_CustomHeader: + _ = b.EncodeVarint(5<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.CustomHeader) + case nil: + default: + return fmt.Errorf("Tls.TokenType has unexpected type %T", x) + } + return nil +} + +func _Tls_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*Tls) + switch tag { + case 2: // token_source.token_path + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.TokenSource = &Tls_TokenPath{x} + return true, err + case 3: // token_source.oauth + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(OAuth) + err := b.DecodeMessage(msg) + m.TokenSource = &Tls_Oauth{msg} + return true, err + case 4: // token_type.auth_header + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.TokenType = &Tls_AuthHeader_{Tls_AuthHeader(x)} + return true, err + case 5: // token_type.custom_header + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.TokenType = &Tls_CustomHeader{x} + return true, err + default: + return false, nil + } +} + +func _Tls_OneofSizer(msg proto.Message) (n int) { + m := msg.(*Tls) + // token_source + switch x := m.TokenSource.(type) { + case *Tls_TokenPath: + n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += proto.SizeVarint(uint64(len(x.TokenPath))) + n += len(x.TokenPath) + case *Tls_Oauth: + s := proto.Size(x.Oauth) + n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + // token_type + switch x := m.TokenType.(type) { + case *Tls_AuthHeader_: + n += proto.SizeVarint(4<<3 | proto.WireVarint) + n += proto.SizeVarint(uint64(x.AuthHeader)) + case *Tls_CustomHeader: + n += proto.SizeVarint(5<<3 | proto.WireBytes) + n += proto.SizeVarint(uint64(len(x.CustomHeader))) + n += len(x.CustomHeader) + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +// OAuth let operator specify config to fetch access token via oauth when using +// TLS for connection to the backend. +type OAuth struct { + // REQUIRED. OAuth client id for mixer. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // REQUIRED. The path to the file holding the client secret for oauth. + ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + // REQUIRED. The Resource server's token endpoint URL. + TokenUrl string `protobuf:"bytes,3,opt,name=token_url,json=tokenUrl,proto3" json:"token_url,omitempty"` + // List of requested permissions. + Scopes []string `protobuf:"bytes,4,rep,name=scopes" json:"scopes,omitempty"` + // Additional parameters for requests to the token endpoint. + EndpointParams map[string]string `protobuf:"bytes,5,rep,name=endpoint_params,json=endpointParams" json:"endpoint_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (m *OAuth) Reset() { *m = OAuth{} } +func (*OAuth) ProtoMessage() {} +func (*OAuth) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{12} } + +func (m *OAuth) GetClientId() string { + if m != nil { + return m.ClientId + } + return "" +} + +func (m *OAuth) GetClientSecret() string { + if m != nil { + return m.ClientSecret + } + return "" +} + +func (m *OAuth) GetTokenUrl() string { + if m != nil { + return m.TokenUrl + } + return "" +} + +func (m *OAuth) GetScopes() []string { + if m != nil { + return m.Scopes + } + return nil +} + +func (m *OAuth) GetEndpointParams() map[string]string { + if m != nil { + return m.EndpointParams + } + return nil +} + +// Mutual let operator specify tls config for mixer as client if mtls is used to +// secure connection to adapter backend. +type Mutual struct { + // The path to the file holding the private key for mtls. If omitted, the + // default mixer private key will be used. + PrivateKey string `protobuf:"bytes,1,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` + // The path to the file holding client certificate for mtls. If omitted, the + // default mixer certificates will be used. + ClientCertificate string `protobuf:"bytes,2,opt,name=client_certificate,json=clientCertificate,proto3" json:"client_certificate,omitempty"` + // The path to the file holding additional CA certificates that are needed to + // verify the presented adapter certificates. By default mixer should already + // include Istio CA certificates and system certificates in cert pool. + CaCertificates string `protobuf:"bytes,3,opt,name=ca_certificates,json=caCertificates,proto3" json:"ca_certificates,omitempty"` +} + +func (m *Mutual) Reset() { *m = Mutual{} } +func (*Mutual) ProtoMessage() {} +func (*Mutual) Descriptor() ([]byte, []int) { return fileDescriptorCfg, []int{13} } + +func (m *Mutual) GetPrivateKey() string { + if m != nil { + return m.PrivateKey + } + return "" +} + +func (m *Mutual) GetClientCertificate() string { + if m != nil { + return m.ClientCertificate + } + return "" +} + +func (m *Mutual) GetCaCertificates() string { + if m != nil { + return m.CaCertificates + } + return "" +} + func init() { proto.RegisterType((*AttributeManifest)(nil), "istio.policy.v1beta1.AttributeManifest") proto.RegisterType((*AttributeManifest_AttributeInfo)(nil), "istio.policy.v1beta1.AttributeManifest.AttributeInfo") @@ -808,8 +1278,13 @@ func init() { proto.RegisterType((*RandomSampling)(nil), "istio.policy.v1beta1.RandomSampling") proto.RegisterType((*RateLimitSampling)(nil), "istio.policy.v1beta1.RateLimitSampling") proto.RegisterType((*FractionalPercent)(nil), "istio.policy.v1beta1.FractionalPercent") + proto.RegisterType((*Authentication)(nil), "istio.policy.v1beta1.Authentication") + proto.RegisterType((*Tls)(nil), "istio.policy.v1beta1.Tls") + proto.RegisterType((*OAuth)(nil), "istio.policy.v1beta1.OAuth") + proto.RegisterType((*Mutual)(nil), "istio.policy.v1beta1.Mutual") proto.RegisterEnum("istio.policy.v1beta1.Rule_HeaderOperationTemplate_Operation", Rule_HeaderOperationTemplate_Operation_name, Rule_HeaderOperationTemplate_Operation_value) proto.RegisterEnum("istio.policy.v1beta1.FractionalPercent_DenominatorType", FractionalPercent_DenominatorType_name, FractionalPercent_DenominatorType_value) + proto.RegisterEnum("istio.policy.v1beta1.Tls_AuthHeader", Tls_AuthHeader_name, Tls_AuthHeader_value) } func (x Rule_HeaderOperationTemplate_Operation) String() string { s, ok := Rule_HeaderOperationTemplate_Operation_name[int32(x)] @@ -825,6 +1300,13 @@ func (x FractionalPercent_DenominatorType) String() string { } return strconv.Itoa(int(x)) } +func (x Tls_AuthHeader) String() string { + s, ok := Tls_AuthHeader_name[int32(x)] + if ok { + return s + } + return strconv.Itoa(int(x)) +} func (this *AttributeManifest) Equal(that interface{}) bool { if that == nil { return this == nil @@ -1116,6 +1598,9 @@ func (this *Connection) Equal(that interface{}) bool { } else if that1.Timeout != nil { return false } + if !this.Authentication.Equal(that1.Authentication) { + return false + } return true } func (this *Sampling) Equal(that interface{}) bool { @@ -1232,76 +1717,368 @@ func (this *FractionalPercent) Equal(that interface{}) bool { } return true } -func (this *AttributeManifest) GoString() string { - if this == nil { - return "nil" - } - s := make([]string, 0, 7) - s = append(s, "&v1beta1.AttributeManifest{") - s = append(s, "Revision: "+fmt.Sprintf("%#v", this.Revision)+",\n") - s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") - keysForAttributes := make([]string, 0, len(this.Attributes)) - for k, _ := range this.Attributes { - keysForAttributes = append(keysForAttributes, k) +func (this *Authentication) Equal(that interface{}) bool { + if that == nil { + return this == nil } - sortkeys.Strings(keysForAttributes) - mapStringForAttributes := "map[string]*AttributeManifest_AttributeInfo{" - for _, k := range keysForAttributes { - mapStringForAttributes += fmt.Sprintf("%#v: %#v,", k, this.Attributes[k]) + + that1, ok := that.(*Authentication) + if !ok { + that2, ok := that.(Authentication) + if ok { + that1 = &that2 + } else { + return false + } } - mapStringForAttributes += "}" - if this.Attributes != nil { - s = append(s, "Attributes: "+mapStringForAttributes+",\n") + if that1 == nil { + return this == nil + } else if this == nil { + return false } - s = append(s, "}") - return strings.Join(s, "") -} -func (this *AttributeManifest_AttributeInfo) GoString() string { - if this == nil { - return "nil" + if that1.AuthType == nil { + if this.AuthType != nil { + return false + } + } else if this.AuthType == nil { + return false + } else if !this.AuthType.Equal(that1.AuthType) { + return false } - s := make([]string, 0, 6) - s = append(s, "&v1beta1.AttributeManifest_AttributeInfo{") - s = append(s, "Description: "+fmt.Sprintf("%#v", this.Description)+",\n") - s = append(s, "ValueType: "+fmt.Sprintf("%#v", this.ValueType)+",\n") - s = append(s, "}") - return strings.Join(s, "") + return true } -func (this *Rule) GoString() string { - if this == nil { - return "nil" - } - s := make([]string, 0, 9) - s = append(s, "&v1beta1.Rule{") - s = append(s, "Match: "+fmt.Sprintf("%#v", this.Match)+",\n") - if this.Actions != nil { - s = append(s, "Actions: "+fmt.Sprintf("%#v", this.Actions)+",\n") +func (this *Authentication_Tls) Equal(that interface{}) bool { + if that == nil { + return this == nil } - if this.RequestHeaderOperations != nil { - s = append(s, "RequestHeaderOperations: "+fmt.Sprintf("%#v", this.RequestHeaderOperations)+",\n") + + that1, ok := that.(*Authentication_Tls) + if !ok { + that2, ok := that.(Authentication_Tls) + if ok { + that1 = &that2 + } else { + return false + } } - if this.ResponseHeaderOperations != nil { - s = append(s, "ResponseHeaderOperations: "+fmt.Sprintf("%#v", this.ResponseHeaderOperations)+",\n") + if that1 == nil { + return this == nil + } else if this == nil { + return false } - if this.Sampling != nil { - s = append(s, "Sampling: "+fmt.Sprintf("%#v", this.Sampling)+",\n") + if !this.Tls.Equal(that1.Tls) { + return false } - s = append(s, "}") - return strings.Join(s, "") + return true } -func (this *Rule_HeaderOperationTemplate) GoString() string { - if this == nil { - return "nil" +func (this *Authentication_Mutual) Equal(that interface{}) bool { + if that == nil { + return this == nil } - s := make([]string, 0, 7) - s = append(s, "&v1beta1.Rule_HeaderOperationTemplate{") - s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") - s = append(s, "Values: "+fmt.Sprintf("%#v", this.Values)+",\n") - s = append(s, "Operation: "+fmt.Sprintf("%#v", this.Operation)+",\n") - s = append(s, "}") - return strings.Join(s, "") -} -func (this *Action) GoString() string { + + that1, ok := that.(*Authentication_Mutual) + if !ok { + that2, ok := that.(Authentication_Mutual) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if !this.Mutual.Equal(that1.Mutual) { + return false + } + return true +} +func (this *Tls) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Tls) + if !ok { + that2, ok := that.(Tls) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.CaCertificates != that1.CaCertificates { + return false + } + if that1.TokenSource == nil { + if this.TokenSource != nil { + return false + } + } else if this.TokenSource == nil { + return false + } else if !this.TokenSource.Equal(that1.TokenSource) { + return false + } + if that1.TokenType == nil { + if this.TokenType != nil { + return false + } + } else if this.TokenType == nil { + return false + } else if !this.TokenType.Equal(that1.TokenType) { + return false + } + return true +} +func (this *Tls_TokenPath) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Tls_TokenPath) + if !ok { + that2, ok := that.(Tls_TokenPath) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.TokenPath != that1.TokenPath { + return false + } + return true +} +func (this *Tls_Oauth) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Tls_Oauth) + if !ok { + that2, ok := that.(Tls_Oauth) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if !this.Oauth.Equal(that1.Oauth) { + return false + } + return true +} +func (this *Tls_AuthHeader_) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Tls_AuthHeader_) + if !ok { + that2, ok := that.(Tls_AuthHeader_) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.AuthHeader != that1.AuthHeader { + return false + } + return true +} +func (this *Tls_CustomHeader) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Tls_CustomHeader) + if !ok { + that2, ok := that.(Tls_CustomHeader) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.CustomHeader != that1.CustomHeader { + return false + } + return true +} +func (this *OAuth) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*OAuth) + if !ok { + that2, ok := that.(OAuth) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.ClientId != that1.ClientId { + return false + } + if this.ClientSecret != that1.ClientSecret { + return false + } + if this.TokenUrl != that1.TokenUrl { + return false + } + if len(this.Scopes) != len(that1.Scopes) { + return false + } + for i := range this.Scopes { + if this.Scopes[i] != that1.Scopes[i] { + return false + } + } + if len(this.EndpointParams) != len(that1.EndpointParams) { + return false + } + for i := range this.EndpointParams { + if this.EndpointParams[i] != that1.EndpointParams[i] { + return false + } + } + return true +} +func (this *Mutual) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Mutual) + if !ok { + that2, ok := that.(Mutual) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.PrivateKey != that1.PrivateKey { + return false + } + if this.ClientCertificate != that1.ClientCertificate { + return false + } + if this.CaCertificates != that1.CaCertificates { + return false + } + return true +} +func (this *AttributeManifest) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 7) + s = append(s, "&v1beta1.AttributeManifest{") + s = append(s, "Revision: "+fmt.Sprintf("%#v", this.Revision)+",\n") + s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") + keysForAttributes := make([]string, 0, len(this.Attributes)) + for k, _ := range this.Attributes { + keysForAttributes = append(keysForAttributes, k) + } + sortkeys.Strings(keysForAttributes) + mapStringForAttributes := "map[string]*AttributeManifest_AttributeInfo{" + for _, k := range keysForAttributes { + mapStringForAttributes += fmt.Sprintf("%#v: %#v,", k, this.Attributes[k]) + } + mapStringForAttributes += "}" + if this.Attributes != nil { + s = append(s, "Attributes: "+mapStringForAttributes+",\n") + } + s = append(s, "}") + return strings.Join(s, "") +} +func (this *AttributeManifest_AttributeInfo) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 6) + s = append(s, "&v1beta1.AttributeManifest_AttributeInfo{") + s = append(s, "Description: "+fmt.Sprintf("%#v", this.Description)+",\n") + s = append(s, "ValueType: "+fmt.Sprintf("%#v", this.ValueType)+",\n") + s = append(s, "}") + return strings.Join(s, "") +} +func (this *Rule) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 9) + s = append(s, "&v1beta1.Rule{") + s = append(s, "Match: "+fmt.Sprintf("%#v", this.Match)+",\n") + if this.Actions != nil { + s = append(s, "Actions: "+fmt.Sprintf("%#v", this.Actions)+",\n") + } + if this.RequestHeaderOperations != nil { + s = append(s, "RequestHeaderOperations: "+fmt.Sprintf("%#v", this.RequestHeaderOperations)+",\n") + } + if this.ResponseHeaderOperations != nil { + s = append(s, "ResponseHeaderOperations: "+fmt.Sprintf("%#v", this.ResponseHeaderOperations)+",\n") + } + if this.Sampling != nil { + s = append(s, "Sampling: "+fmt.Sprintf("%#v", this.Sampling)+",\n") + } + s = append(s, "}") + return strings.Join(s, "") +} +func (this *Rule_HeaderOperationTemplate) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 7) + s = append(s, "&v1beta1.Rule_HeaderOperationTemplate{") + s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") + s = append(s, "Values: "+fmt.Sprintf("%#v", this.Values)+",\n") + s = append(s, "Operation: "+fmt.Sprintf("%#v", this.Operation)+",\n") + s = append(s, "}") + return strings.Join(s, "") +} +func (this *Action) GoString() string { if this == nil { return "nil" } @@ -1363,10 +2140,13 @@ func (this *Connection) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 6) + s := make([]string, 0, 7) s = append(s, "&v1beta1.Connection{") s = append(s, "Address: "+fmt.Sprintf("%#v", this.Address)+",\n") s = append(s, "Timeout: "+fmt.Sprintf("%#v", this.Timeout)+",\n") + if this.Authentication != nil { + s = append(s, "Authentication: "+fmt.Sprintf("%#v", this.Authentication)+",\n") + } s = append(s, "}") return strings.Join(s, "") } @@ -1422,6 +2202,120 @@ func (this *FractionalPercent) GoString() string { s = append(s, "}") return strings.Join(s, "") } +func (this *Authentication) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 6) + s = append(s, "&v1beta1.Authentication{") + if this.AuthType != nil { + s = append(s, "AuthType: "+fmt.Sprintf("%#v", this.AuthType)+",\n") + } + s = append(s, "}") + return strings.Join(s, "") +} +func (this *Authentication_Tls) GoString() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&v1beta1.Authentication_Tls{` + + `Tls:` + fmt.Sprintf("%#v", this.Tls) + `}`}, ", ") + return s +} +func (this *Authentication_Mutual) GoString() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&v1beta1.Authentication_Mutual{` + + `Mutual:` + fmt.Sprintf("%#v", this.Mutual) + `}`}, ", ") + return s +} +func (this *Tls) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 9) + s = append(s, "&v1beta1.Tls{") + s = append(s, "CaCertificates: "+fmt.Sprintf("%#v", this.CaCertificates)+",\n") + if this.TokenSource != nil { + s = append(s, "TokenSource: "+fmt.Sprintf("%#v", this.TokenSource)+",\n") + } + if this.TokenType != nil { + s = append(s, "TokenType: "+fmt.Sprintf("%#v", this.TokenType)+",\n") + } + s = append(s, "}") + return strings.Join(s, "") +} +func (this *Tls_TokenPath) GoString() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&v1beta1.Tls_TokenPath{` + + `TokenPath:` + fmt.Sprintf("%#v", this.TokenPath) + `}`}, ", ") + return s +} +func (this *Tls_Oauth) GoString() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&v1beta1.Tls_Oauth{` + + `Oauth:` + fmt.Sprintf("%#v", this.Oauth) + `}`}, ", ") + return s +} +func (this *Tls_AuthHeader_) GoString() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&v1beta1.Tls_AuthHeader_{` + + `AuthHeader:` + fmt.Sprintf("%#v", this.AuthHeader) + `}`}, ", ") + return s +} +func (this *Tls_CustomHeader) GoString() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&v1beta1.Tls_CustomHeader{` + + `CustomHeader:` + fmt.Sprintf("%#v", this.CustomHeader) + `}`}, ", ") + return s +} +func (this *OAuth) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 9) + s = append(s, "&v1beta1.OAuth{") + s = append(s, "ClientId: "+fmt.Sprintf("%#v", this.ClientId)+",\n") + s = append(s, "ClientSecret: "+fmt.Sprintf("%#v", this.ClientSecret)+",\n") + s = append(s, "TokenUrl: "+fmt.Sprintf("%#v", this.TokenUrl)+",\n") + s = append(s, "Scopes: "+fmt.Sprintf("%#v", this.Scopes)+",\n") + keysForEndpointParams := make([]string, 0, len(this.EndpointParams)) + for k, _ := range this.EndpointParams { + keysForEndpointParams = append(keysForEndpointParams, k) + } + sortkeys.Strings(keysForEndpointParams) + mapStringForEndpointParams := "map[string]string{" + for _, k := range keysForEndpointParams { + mapStringForEndpointParams += fmt.Sprintf("%#v: %#v,", k, this.EndpointParams[k]) + } + mapStringForEndpointParams += "}" + if this.EndpointParams != nil { + s = append(s, "EndpointParams: "+mapStringForEndpointParams+",\n") + } + s = append(s, "}") + return strings.Join(s, "") +} +func (this *Mutual) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 7) + s = append(s, "&v1beta1.Mutual{") + s = append(s, "PrivateKey: "+fmt.Sprintf("%#v", this.PrivateKey)+",\n") + s = append(s, "ClientCertificate: "+fmt.Sprintf("%#v", this.ClientCertificate)+",\n") + s = append(s, "CaCertificates: "+fmt.Sprintf("%#v", this.CaCertificates)+",\n") + s = append(s, "}") + return strings.Join(s, "") +} func valueToGoStringCfg(v interface{}, typ string) string { rv := reflect.ValueOf(v) if rv.IsNil() { @@ -1842,6 +2736,16 @@ func (m *Connection) MarshalTo(dAtA []byte) (int, error) { } i += n6 } + if m.Authentication != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintCfg(dAtA, i, uint64(m.Authentication.Size())) + n7, err := m.Authentication.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + } return i, nil } @@ -1864,21 +2768,21 @@ func (m *Sampling) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintCfg(dAtA, i, uint64(m.Random.Size())) - n7, err := m.Random.MarshalTo(dAtA[i:]) + n8, err := m.Random.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n7 + i += n8 } if m.RateLimit != nil { dAtA[i] = 0x12 i++ i = encodeVarintCfg(dAtA, i, uint64(m.RateLimit.Size())) - n8, err := m.RateLimit.MarshalTo(dAtA[i:]) + n9, err := m.RateLimit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n8 + i += n9 } return i, nil } @@ -1908,11 +2812,11 @@ func (m *RandomSampling) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintCfg(dAtA, i, uint64(m.PercentSampled.Size())) - n9, err := m.PercentSampled.MarshalTo(dAtA[i:]) + n10, err := m.PercentSampled.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n9 + i += n10 } if m.UseIndependentRandomness { dAtA[i] = 0x18 @@ -1945,11 +2849,11 @@ func (m *RateLimitSampling) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintCfg(dAtA, i, uint64(types.SizeOfStdDuration(m.SamplingDuration))) - n10, err := types.StdDurationMarshalTo(m.SamplingDuration, dAtA[i:]) + n11, err := types.StdDurationMarshalTo(m.SamplingDuration, dAtA[i:]) if err != nil { return 0, err } - i += n10 + i += n11 if m.MaxUnsampledEntries != 0 { dAtA[i] = 0x10 i++ @@ -1991,6 +2895,238 @@ func (m *FractionalPercent) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *Authentication) 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 *Authentication) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.AuthType != nil { + nn12, err := m.AuthType.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += nn12 + } + return i, nil +} + +func (m *Authentication_Tls) MarshalTo(dAtA []byte) (int, error) { + i := 0 + if m.Tls != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintCfg(dAtA, i, uint64(m.Tls.Size())) + n13, err := m.Tls.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n13 + } + return i, nil +} +func (m *Authentication_Mutual) MarshalTo(dAtA []byte) (int, error) { + i := 0 + if m.Mutual != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintCfg(dAtA, i, uint64(m.Mutual.Size())) + n14, err := m.Mutual.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n14 + } + return i, nil +} +func (m *Tls) 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 *Tls) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.CaCertificates) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintCfg(dAtA, i, uint64(len(m.CaCertificates))) + i += copy(dAtA[i:], m.CaCertificates) + } + if m.TokenSource != nil { + nn15, err := m.TokenSource.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += nn15 + } + if m.TokenType != nil { + nn16, err := m.TokenType.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += nn16 + } + return i, nil +} + +func (m *Tls_TokenPath) MarshalTo(dAtA []byte) (int, error) { + i := 0 + dAtA[i] = 0x12 + i++ + i = encodeVarintCfg(dAtA, i, uint64(len(m.TokenPath))) + i += copy(dAtA[i:], m.TokenPath) + return i, nil +} +func (m *Tls_Oauth) MarshalTo(dAtA []byte) (int, error) { + i := 0 + if m.Oauth != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintCfg(dAtA, i, uint64(m.Oauth.Size())) + n17, err := m.Oauth.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n17 + } + return i, nil +} +func (m *Tls_AuthHeader_) MarshalTo(dAtA []byte) (int, error) { + i := 0 + dAtA[i] = 0x20 + i++ + i = encodeVarintCfg(dAtA, i, uint64(m.AuthHeader)) + return i, nil +} +func (m *Tls_CustomHeader) MarshalTo(dAtA []byte) (int, error) { + i := 0 + dAtA[i] = 0x2a + i++ + i = encodeVarintCfg(dAtA, i, uint64(len(m.CustomHeader))) + i += copy(dAtA[i:], m.CustomHeader) + return i, nil +} +func (m *OAuth) 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 *OAuth) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.ClientId) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintCfg(dAtA, i, uint64(len(m.ClientId))) + i += copy(dAtA[i:], m.ClientId) + } + if len(m.ClientSecret) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintCfg(dAtA, i, uint64(len(m.ClientSecret))) + i += copy(dAtA[i:], m.ClientSecret) + } + if len(m.TokenUrl) > 0 { + dAtA[i] = 0x1a + i++ + i = encodeVarintCfg(dAtA, i, uint64(len(m.TokenUrl))) + i += copy(dAtA[i:], m.TokenUrl) + } + if len(m.Scopes) > 0 { + for _, s := range m.Scopes { + dAtA[i] = 0x22 + 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) + } + } + if len(m.EndpointParams) > 0 { + for k, _ := range m.EndpointParams { + dAtA[i] = 0x2a + i++ + v := m.EndpointParams[k] + mapSize := 1 + len(k) + sovCfg(uint64(len(k))) + 1 + len(v) + sovCfg(uint64(len(v))) + i = encodeVarintCfg(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintCfg(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintCfg(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + return i, nil +} + +func (m *Mutual) 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 *Mutual) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.PrivateKey) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintCfg(dAtA, i, uint64(len(m.PrivateKey))) + i += copy(dAtA[i:], m.PrivateKey) + } + if len(m.ClientCertificate) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintCfg(dAtA, i, uint64(len(m.ClientCertificate))) + i += copy(dAtA[i:], m.ClientCertificate) + } + if len(m.CaCertificates) > 0 { + dAtA[i] = 0x1a + i++ + i = encodeVarintCfg(dAtA, i, uint64(len(m.CaCertificates))) + i += copy(dAtA[i:], m.CaCertificates) + } + return i, nil +} + func encodeVarintCfg(dAtA []byte, offset int, v uint64) int { for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) @@ -2178,6 +3314,10 @@ func (m *Connection) Size() (n int) { l = types.SizeOfStdDuration(*m.Timeout) n += 1 + l + sovCfg(uint64(l)) } + if m.Authentication != nil { + l = m.Authentication.Size() + n += 1 + l + sovCfg(uint64(l)) + } return n } @@ -2238,26 +3378,148 @@ func (m *FractionalPercent) Size() (n int) { return n } -func sovCfg(x uint64) (n int) { - for { - n++ - x >>= 7 - if x == 0 { - break - } +func (m *Authentication) Size() (n int) { + var l int + _ = l + if m.AuthType != nil { + n += m.AuthType.Size() } return n } -func sozCfg(x uint64) (n int) { - return sovCfg(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (this *AttributeManifest) String() string { - if this == nil { - return "nil" + +func (m *Authentication_Tls) Size() (n int) { + var l int + _ = l + if m.Tls != nil { + l = m.Tls.Size() + n += 1 + l + sovCfg(uint64(l)) } - keysForAttributes := make([]string, 0, len(this.Attributes)) - for k, _ := range this.Attributes { - keysForAttributes = append(keysForAttributes, k) + return n +} +func (m *Authentication_Mutual) Size() (n int) { + var l int + _ = l + if m.Mutual != nil { + l = m.Mutual.Size() + n += 1 + l + sovCfg(uint64(l)) + } + return n +} +func (m *Tls) Size() (n int) { + var l int + _ = l + l = len(m.CaCertificates) + if l > 0 { + n += 1 + l + sovCfg(uint64(l)) + } + if m.TokenSource != nil { + n += m.TokenSource.Size() + } + if m.TokenType != nil { + n += m.TokenType.Size() + } + return n +} + +func (m *Tls_TokenPath) Size() (n int) { + var l int + _ = l + l = len(m.TokenPath) + n += 1 + l + sovCfg(uint64(l)) + return n +} +func (m *Tls_Oauth) Size() (n int) { + var l int + _ = l + if m.Oauth != nil { + l = m.Oauth.Size() + n += 1 + l + sovCfg(uint64(l)) + } + return n +} +func (m *Tls_AuthHeader_) Size() (n int) { + var l int + _ = l + n += 1 + sovCfg(uint64(m.AuthHeader)) + return n +} +func (m *Tls_CustomHeader) Size() (n int) { + var l int + _ = l + l = len(m.CustomHeader) + n += 1 + l + sovCfg(uint64(l)) + return n +} +func (m *OAuth) Size() (n int) { + var l int + _ = l + l = len(m.ClientId) + if l > 0 { + n += 1 + l + sovCfg(uint64(l)) + } + l = len(m.ClientSecret) + if l > 0 { + n += 1 + l + sovCfg(uint64(l)) + } + l = len(m.TokenUrl) + if l > 0 { + n += 1 + l + sovCfg(uint64(l)) + } + if len(m.Scopes) > 0 { + for _, s := range m.Scopes { + l = len(s) + n += 1 + l + sovCfg(uint64(l)) + } + } + if len(m.EndpointParams) > 0 { + for k, v := range m.EndpointParams { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovCfg(uint64(len(k))) + 1 + len(v) + sovCfg(uint64(len(v))) + n += mapEntrySize + 1 + sovCfg(uint64(mapEntrySize)) + } + } + return n +} + +func (m *Mutual) Size() (n int) { + var l int + _ = l + l = len(m.PrivateKey) + if l > 0 { + n += 1 + l + sovCfg(uint64(l)) + } + l = len(m.ClientCertificate) + if l > 0 { + n += 1 + l + sovCfg(uint64(l)) + } + l = len(m.CaCertificates) + if l > 0 { + n += 1 + l + sovCfg(uint64(l)) + } + return n +} + +func sovCfg(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozCfg(x uint64) (n int) { + return sovCfg(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *AttributeManifest) String() string { + if this == nil { + return "nil" + } + keysForAttributes := make([]string, 0, len(this.Attributes)) + for k, _ := range this.Attributes { + keysForAttributes = append(keysForAttributes, k) } sortkeys.Strings(keysForAttributes) mapStringForAttributes := "map[string]*AttributeManifest_AttributeInfo{" @@ -2367,6 +3629,7 @@ func (this *Connection) String() string { s := strings.Join([]string{`&Connection{`, `Address:` + fmt.Sprintf("%v", this.Address) + `,`, `Timeout:` + strings.Replace(fmt.Sprintf("%v", this.Timeout), "Duration", "google_protobuf2.Duration", 1) + `,`, + `Authentication:` + strings.Replace(fmt.Sprintf("%v", this.Authentication), "Authentication", "Authentication", 1) + `,`, `}`, }, "") return s @@ -2410,22 +3673,674 @@ func (this *FractionalPercent) String() string { if this == nil { return "nil" } - s := strings.Join([]string{`&FractionalPercent{`, - `Numerator:` + fmt.Sprintf("%v", this.Numerator) + `,`, - `Denominator:` + fmt.Sprintf("%v", this.Denominator) + `,`, - `}`, - }, "") - return s -} -func valueToStringCfg(v interface{}) string { - rv := reflect.ValueOf(v) - if rv.IsNil() { - return "nil" + s := strings.Join([]string{`&FractionalPercent{`, + `Numerator:` + fmt.Sprintf("%v", this.Numerator) + `,`, + `Denominator:` + fmt.Sprintf("%v", this.Denominator) + `,`, + `}`, + }, "") + return s +} +func (this *Authentication) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Authentication{`, + `AuthType:` + fmt.Sprintf("%v", this.AuthType) + `,`, + `}`, + }, "") + return s +} +func (this *Authentication_Tls) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Authentication_Tls{`, + `Tls:` + strings.Replace(fmt.Sprintf("%v", this.Tls), "Tls", "Tls", 1) + `,`, + `}`, + }, "") + return s +} +func (this *Authentication_Mutual) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Authentication_Mutual{`, + `Mutual:` + strings.Replace(fmt.Sprintf("%v", this.Mutual), "Mutual", "Mutual", 1) + `,`, + `}`, + }, "") + return s +} +func (this *Tls) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Tls{`, + `CaCertificates:` + fmt.Sprintf("%v", this.CaCertificates) + `,`, + `TokenSource:` + fmt.Sprintf("%v", this.TokenSource) + `,`, + `TokenType:` + fmt.Sprintf("%v", this.TokenType) + `,`, + `}`, + }, "") + return s +} +func (this *Tls_TokenPath) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Tls_TokenPath{`, + `TokenPath:` + fmt.Sprintf("%v", this.TokenPath) + `,`, + `}`, + }, "") + return s +} +func (this *Tls_Oauth) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Tls_Oauth{`, + `Oauth:` + strings.Replace(fmt.Sprintf("%v", this.Oauth), "OAuth", "OAuth", 1) + `,`, + `}`, + }, "") + return s +} +func (this *Tls_AuthHeader_) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Tls_AuthHeader_{`, + `AuthHeader:` + fmt.Sprintf("%v", this.AuthHeader) + `,`, + `}`, + }, "") + return s +} +func (this *Tls_CustomHeader) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Tls_CustomHeader{`, + `CustomHeader:` + fmt.Sprintf("%v", this.CustomHeader) + `,`, + `}`, + }, "") + return s +} +func (this *OAuth) String() string { + if this == nil { + return "nil" + } + keysForEndpointParams := make([]string, 0, len(this.EndpointParams)) + for k, _ := range this.EndpointParams { + keysForEndpointParams = append(keysForEndpointParams, k) + } + sortkeys.Strings(keysForEndpointParams) + mapStringForEndpointParams := "map[string]string{" + for _, k := range keysForEndpointParams { + mapStringForEndpointParams += fmt.Sprintf("%v: %v,", k, this.EndpointParams[k]) + } + mapStringForEndpointParams += "}" + s := strings.Join([]string{`&OAuth{`, + `ClientId:` + fmt.Sprintf("%v", this.ClientId) + `,`, + `ClientSecret:` + fmt.Sprintf("%v", this.ClientSecret) + `,`, + `TokenUrl:` + fmt.Sprintf("%v", this.TokenUrl) + `,`, + `Scopes:` + fmt.Sprintf("%v", this.Scopes) + `,`, + `EndpointParams:` + mapStringForEndpointParams + `,`, + `}`, + }, "") + return s +} +func (this *Mutual) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Mutual{`, + `PrivateKey:` + fmt.Sprintf("%v", this.PrivateKey) + `,`, + `ClientCertificate:` + fmt.Sprintf("%v", this.ClientCertificate) + `,`, + `CaCertificates:` + fmt.Sprintf("%v", this.CaCertificates) + `,`, + `}`, + }, "") + return s +} +func valueToStringCfg(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *AttributeManifest) 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 ErrIntOverflowCfg + } + 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: AttributeManifest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AttributeManifest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Revision = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Attributes == nil { + m.Attributes = make(map[string]*AttributeManifest_AttributeInfo) + } + var mapkey string + var mapvalue *AttributeManifest_AttributeInfo + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + 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 ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthCfg + } + postmsgIndex := iNdEx + mapmsglen + if mapmsglen < 0 { + return ErrInvalidLengthCfg + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue = &AttributeManifest_AttributeInfo{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + } else { + iNdEx = entryPreIndex + skippy, err := skipCfg(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthCfg + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Attributes[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCfg(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthCfg + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AttributeManifest_AttributeInfo) 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 ErrIntOverflowCfg + } + 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: AttributeInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AttributeInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ValueType", wireType) + } + m.ValueType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ValueType |= (ValueType(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipCfg(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthCfg + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Rule) 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 ErrIntOverflowCfg + } + 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: Rule: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Rule: 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 stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Match = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Actions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Actions = append(m.Actions, &Action{}) + if err := m.Actions[len(m.Actions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestHeaderOperations", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RequestHeaderOperations = append(m.RequestHeaderOperations, &Rule_HeaderOperationTemplate{}) + if err := m.RequestHeaderOperations[len(m.RequestHeaderOperations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResponseHeaderOperations", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ResponseHeaderOperations = append(m.ResponseHeaderOperations, &Rule_HeaderOperationTemplate{}) + if err := m.ResponseHeaderOperations[len(m.ResponseHeaderOperations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Sampling", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Sampling == nil { + m.Sampling = &Sampling{} + } + if err := m.Sampling.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCfg(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthCfg + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF } - pv := reflect.Indirect(rv).Interface() - return fmt.Sprintf("*%v", pv) + return nil } -func (m *AttributeManifest) Unmarshal(dAtA []byte) error { +func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2448,15 +4363,15 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AttributeManifest: wiretype end group for non-group") + return fmt.Errorf("proto: HeaderOperationTemplate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AttributeManifest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: HeaderOperationTemplate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -2481,11 +4396,11 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Revision = string(dAtA[iNdEx:postIndex]) + m.Name = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Values", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -2510,13 +4425,13 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Name = string(dAtA[iNdEx:postIndex]) + m.Values = append(m.Values, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Operation", wireType) } - var msglen int + m.Operation = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -2526,115 +4441,11 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + m.Operation |= (Rule_HeaderOperationTemplate_Operation(b) & 0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthCfg - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Attributes == nil { - m.Attributes = make(map[string]*AttributeManifest_AttributeInfo) - } - var mapkey string - var mapvalue *AttributeManifest_AttributeInfo - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCfg - } - 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 ErrIntOverflowCfg - } - 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 ErrInvalidLengthCfg - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey > l { - return io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var mapmsglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCfg - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - mapmsglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if mapmsglen < 0 { - return ErrInvalidLengthCfg - } - postmsgIndex := iNdEx + mapmsglen - if mapmsglen < 0 { - return ErrInvalidLengthCfg - } - if postmsgIndex > l { - return io.ErrUnexpectedEOF - } - mapvalue = &AttributeManifest_AttributeInfo{} - if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { - return err - } - iNdEx = postmsgIndex - } else { - iNdEx = entryPreIndex - skippy, err := skipCfg(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthCfg - } - if (iNdEx + skippy) > postIndex { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - m.Attributes[mapkey] = mapvalue - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCfg(dAtA[iNdEx:]) @@ -2656,7 +4467,7 @@ func (m *AttributeManifest) Unmarshal(dAtA []byte) error { } return nil } -func (m *AttributeManifest_AttributeInfo) Unmarshal(dAtA []byte) error { +func (m *Action) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2679,15 +4490,15 @@ func (m *AttributeManifest_AttributeInfo) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AttributeInfo: wiretype end group for non-group") + return fmt.Errorf("proto: Action: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AttributeInfo: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Action: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Handler", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -2712,13 +4523,13 @@ func (m *AttributeManifest_AttributeInfo) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Description = string(dAtA[iNdEx:postIndex]) + m.Handler = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ValueType", wireType) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Instances", wireType) } - m.ValueType = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -2728,11 +4539,50 @@ func (m *AttributeManifest_AttributeInfo) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ValueType |= (ValueType(b) & 0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Instances = append(m.Instances, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCfg(dAtA[iNdEx:]) @@ -2754,7 +4604,7 @@ func (m *AttributeManifest_AttributeInfo) Unmarshal(dAtA []byte) error { } return nil } -func (m *Rule) Unmarshal(dAtA []byte) error { +func (m *Instance) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2777,15 +4627,15 @@ func (m *Rule) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Rule: wiretype end group for non-group") + return fmt.Errorf("proto: Instance: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Rule: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Instance: 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 Name", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -2810,13 +4660,13 @@ func (m *Rule) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Match = string(dAtA[iNdEx:postIndex]) + m.Name = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Actions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -2826,26 +4676,24 @@ func (m *Rule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthCfg } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex > l { return io.ErrUnexpectedEOF } - m.Actions = append(m.Actions, &Action{}) - if err := m.Actions[len(m.Actions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Template = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestHeaderOperations", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2869,14 +4717,16 @@ func (m *Rule) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.RequestHeaderOperations = append(m.RequestHeaderOperations, &Rule_HeaderOperationTemplate{}) - if err := m.RequestHeaderOperations[len(m.RequestHeaderOperations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Params == nil { + m.Params = &google_protobuf1.Struct{} + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResponseHeaderOperations", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AttributeBindings", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2900,16 +4750,103 @@ func (m *Rule) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ResponseHeaderOperations = append(m.ResponseHeaderOperations, &Rule_HeaderOperationTemplate{}) - if err := m.ResponseHeaderOperations[len(m.ResponseHeaderOperations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + if m.AttributeBindings == nil { + m.AttributeBindings = 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 ErrIntOverflowCfg + } + 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 ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + 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 ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipCfg(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthCfg + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } } + m.AttributeBindings[mapkey] = mapvalue iNdEx = postIndex - case 5: + case 67794676: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sampling", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CompiledTemplate", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -2919,24 +4856,20 @@ func (m *Rule) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthCfg } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex > l { return io.ErrUnexpectedEOF } - if m.Sampling == nil { - m.Sampling = &Sampling{} - } - if err := m.Sampling.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.CompiledTemplate = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -2959,7 +4892,7 @@ func (m *Rule) Unmarshal(dAtA []byte) error { } return nil } -func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { +func (m *Handler) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2982,10 +4915,10 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: HeaderOperationTemplate: wiretype end group for non-group") + return fmt.Errorf("proto: Handler: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: HeaderOperationTemplate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Handler: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -3019,7 +4952,7 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Values", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Adapter", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3044,13 +4977,13 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Values = append(m.Values, string(dAtA[iNdEx:postIndex])) + m.Adapter = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Operation", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) } - m.Operation = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -3060,11 +4993,87 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Operation |= (Rule_HeaderOperationTemplate_Operation(b) & 0x7F) << shift + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Params == nil { + m.Params = &google_protobuf1.Struct{} + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Connection", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Connection == nil { + m.Connection = &Connection{} + } + if err := m.Connection.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 67794676: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CompiledAdapter", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CompiledAdapter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCfg(dAtA[iNdEx:]) @@ -3086,7 +5095,7 @@ func (m *Rule_HeaderOperationTemplate) Unmarshal(dAtA []byte) error { } return nil } -func (m *Action) Unmarshal(dAtA []byte) error { +func (m *Connection) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3109,15 +5118,15 @@ func (m *Action) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Action: wiretype end group for non-group") + return fmt.Errorf("proto: Connection: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Action: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Connection: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Handler", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3142,13 +5151,13 @@ func (m *Action) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Handler = string(dAtA[iNdEx:postIndex]) + m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Instances", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Timeout", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -3158,26 +5167,30 @@ func (m *Action) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthCfg } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex > l { return io.ErrUnexpectedEOF } - m.Instances = append(m.Instances, string(dAtA[iNdEx:postIndex])) + if m.Timeout == nil { + m.Timeout = new(time.Duration) + } + if err := types.StdDurationUnmarshal(m.Timeout, dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Authentication", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -3187,20 +5200,24 @@ func (m *Action) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthCfg } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex > l { return io.ErrUnexpectedEOF } - m.Name = string(dAtA[iNdEx:postIndex]) + if m.Authentication == nil { + m.Authentication = &Authentication{} + } + if err := m.Authentication.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -3223,7 +5240,7 @@ func (m *Action) Unmarshal(dAtA []byte) error { } return nil } -func (m *Instance) Unmarshal(dAtA []byte) error { +func (m *Sampling) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3246,17 +5263,17 @@ func (m *Instance) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Instance: wiretype end group for non-group") + return fmt.Errorf("proto: Sampling: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Instance: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Sampling: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Random", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -3266,26 +5283,30 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthCfg } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex > l { return io.ErrUnexpectedEOF } - m.Name = string(dAtA[iNdEx:postIndex]) + if m.Random == nil { + m.Random = &RandomSampling{} + } + if err := m.Random.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RateLimit", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -3295,26 +5316,80 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthCfg } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex > l { return io.ErrUnexpectedEOF } - m.Template = string(dAtA[iNdEx:postIndex]) + if m.RateLimit == nil { + m.RateLimit = &RateLimitSampling{} + } + if err := m.RateLimit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 3: + default: + iNdEx = preIndex + skippy, err := skipCfg(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthCfg + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RandomSampling) 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 ErrIntOverflowCfg + } + 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: RandomSampling: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RandomSampling: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AttributeExpression", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -3324,28 +5399,24 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthCfg } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex > l { return io.ErrUnexpectedEOF } - if m.Params == nil { - m.Params = &google_protobuf1.Struct{} - } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.AttributeExpression = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AttributeBindings", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PercentSampled", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -3369,103 +5440,18 @@ func (m *Instance) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.AttributeBindings == nil { - m.AttributeBindings = make(map[string]string) + if m.PercentSampled == nil { + m.PercentSampled = &FractionalPercent{} } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCfg - } - 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 ErrIntOverflowCfg - } - 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 ErrInvalidLengthCfg - } - 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 ErrIntOverflowCfg - } - 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 ErrInvalidLengthCfg - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue > l { - return io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := skipCfg(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthCfg - } - if (iNdEx + skippy) > postIndex { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } + if err := m.PercentSampled.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.AttributeBindings[mapkey] = mapvalue iNdEx = postIndex - case 67794676: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CompiledTemplate", wireType) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UseIndependentRandomness", wireType) } - var stringLen uint64 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -3475,21 +5461,12 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthCfg - } - postIndex := iNdEx + intStringLen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CompiledTemplate = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex + m.UseIndependentRandomness = bool(v != 0) default: iNdEx = preIndex skippy, err := skipCfg(dAtA[iNdEx:]) @@ -3511,7 +5488,7 @@ func (m *Instance) Unmarshal(dAtA []byte) error { } return nil } -func (m *Handler) Unmarshal(dAtA []byte) error { +func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3534,73 +5511,15 @@ func (m *Handler) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Handler: wiretype end group for non-group") + return fmt.Errorf("proto: RateLimitSampling: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Handler: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RateLimitSampling: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCfg - } - 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 ErrInvalidLengthCfg - } - postIndex := iNdEx + intStringLen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Adapter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCfg - } - 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 ErrInvalidLengthCfg - } - postIndex := iNdEx + intStringLen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Adapter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SamplingDuration", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -3624,18 +5543,15 @@ func (m *Handler) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Params == nil { - m.Params = &google_protobuf1.Struct{} - } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := types.StdDurationUnmarshal(&m.SamplingDuration, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Connection", wireType) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxUnsampledEntries", wireType) } - var msglen int + m.MaxUnsampledEntries = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -3645,30 +5561,16 @@ func (m *Handler) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + m.MaxUnsampledEntries |= (int64(b) & 0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthCfg - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Connection == nil { - m.Connection = &Connection{} - } - if err := m.Connection.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 67794676: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CompiledAdapter", wireType) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SamplingRate", wireType) } - var stringLen uint64 + m.SamplingRate = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -3678,21 +5580,11 @@ func (m *Handler) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + m.SamplingRate |= (int64(b) & 0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthCfg - } - postIndex := iNdEx + intStringLen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CompiledAdapter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCfg(dAtA[iNdEx:]) @@ -3714,7 +5606,7 @@ func (m *Handler) Unmarshal(dAtA []byte) error { } return nil } -func (m *Connection) Unmarshal(dAtA []byte) error { +func (m *FractionalPercent) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3737,17 +5629,17 @@ func (m *Connection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Connection: wiretype end group for non-group") + return fmt.Errorf("proto: FractionalPercent: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Connection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: FractionalPercent: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Numerator", wireType) } - var stringLen uint64 + m.Numerator = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -3757,26 +5649,16 @@ func (m *Connection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + m.Numerator |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthCfg - } - postIndex := iNdEx + intStringLen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Timeout", wireType) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Denominator", wireType) } - var msglen int + m.Denominator = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -3786,25 +5668,11 @@ func (m *Connection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + m.Denominator |= (FractionalPercent_DenominatorType(b) & 0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthCfg - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Timeout == nil { - m.Timeout = new(time.Duration) - } - if err := types.StdDurationUnmarshal(m.Timeout, dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCfg(dAtA[iNdEx:]) @@ -3826,7 +5694,7 @@ func (m *Connection) Unmarshal(dAtA []byte) error { } return nil } -func (m *Sampling) Unmarshal(dAtA []byte) error { +func (m *Authentication) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3849,15 +5717,15 @@ func (m *Sampling) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Sampling: wiretype end group for non-group") + return fmt.Errorf("proto: Authentication: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Sampling: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Authentication: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Random", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Tls", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -3881,16 +5749,15 @@ func (m *Sampling) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Random == nil { - m.Random = &RandomSampling{} - } - if err := m.Random.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + v := &Tls{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } + m.AuthType = &Authentication_Tls{v} iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RateLimit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Mutual", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -3914,12 +5781,11 @@ func (m *Sampling) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RateLimit == nil { - m.RateLimit = &RateLimitSampling{} - } - if err := m.RateLimit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + v := &Mutual{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } + m.AuthType = &Authentication_Mutual{v} iNdEx = postIndex default: iNdEx = preIndex @@ -3942,7 +5808,7 @@ func (m *Sampling) Unmarshal(dAtA []byte) error { } return nil } -func (m *RandomSampling) Unmarshal(dAtA []byte) error { +func (m *Tls) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3965,15 +5831,15 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RandomSampling: wiretype end group for non-group") + return fmt.Errorf("proto: Tls: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RandomSampling: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Tls: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AttributeExpression", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CaCertificates", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3998,11 +5864,40 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AttributeExpression = string(dAtA[iNdEx:postIndex]) + m.CaCertificates = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PercentSampled", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TokenPath", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TokenSource = &Tls_TokenPath{string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Oauth", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4026,18 +5921,17 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.PercentSampled == nil { - m.PercentSampled = &FractionalPercent{} - } - if err := m.PercentSampled.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + v := &OAuth{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } + m.TokenSource = &Tls_Oauth{v} iNdEx = postIndex - case 3: + case 4: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field UseIndependentRandomness", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AuthHeader", wireType) } - var v int + var v Tls_AuthHeader for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -4047,12 +5941,41 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= (Tls_AuthHeader(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TokenType = &Tls_AuthHeader_{v} + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CustomHeader", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } - m.UseIndependentRandomness = bool(v != 0) + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TokenType = &Tls_CustomHeader{string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCfg(dAtA[iNdEx:]) @@ -4074,7 +5997,7 @@ func (m *RandomSampling) Unmarshal(dAtA []byte) error { } return nil } -func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { +func (m *OAuth) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4097,17 +6020,17 @@ func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RateLimitSampling: wiretype end group for non-group") + return fmt.Errorf("proto: OAuth: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RateLimitSampling: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: OAuth: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SamplingDuration", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClientId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -4117,27 +6040,26 @@ func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthCfg } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdDurationUnmarshal(&m.SamplingDuration, dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.ClientId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MaxUnsampledEntries", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClientSecret", wireType) } - m.MaxUnsampledEntries = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -4147,16 +6069,26 @@ func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxUnsampledEntries |= (int64(b) & 0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClientSecret = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SamplingRate", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TokenUrl", wireType) } - m.SamplingRate = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -4166,11 +6098,168 @@ func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SamplingRate |= (int64(b) & 0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TokenUrl = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Scopes = append(m.Scopes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EndpointParams", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.EndpointParams == nil { + m.EndpointParams = 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 ErrIntOverflowCfg + } + 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 ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + 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 ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipCfg(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthCfg + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.EndpointParams[mapkey] = mapvalue + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCfg(dAtA[iNdEx:]) @@ -4192,7 +6281,7 @@ func (m *RateLimitSampling) Unmarshal(dAtA []byte) error { } return nil } -func (m *FractionalPercent) Unmarshal(dAtA []byte) error { +func (m *Mutual) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4215,17 +6304,17 @@ func (m *FractionalPercent) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: FractionalPercent: wiretype end group for non-group") + return fmt.Errorf("proto: Mutual: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: FractionalPercent: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Mutual: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Numerator", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PrivateKey", wireType) } - m.Numerator = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -4235,16 +6324,26 @@ func (m *FractionalPercent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Numerator |= (uint32(b) & 0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PrivateKey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Denominator", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClientCertificate", wireType) } - m.Denominator = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCfg @@ -4254,11 +6353,50 @@ func (m *FractionalPercent) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Denominator |= (FractionalPercent_DenominatorType(b) & 0x7F) << shift + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClientCertificate = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CaCertificates", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCfg + } + 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 ErrInvalidLengthCfg + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CaCertificates = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCfg(dAtA[iNdEx:]) @@ -4388,75 +6526,99 @@ var ( func init() { proto.RegisterFile("policy/v1beta1/cfg.proto", fileDescriptorCfg) } var fileDescriptorCfg = []byte{ - // 1120 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0xc6, 0xae, 0xff, 0x3c, 0x37, 0x89, 0x33, 0x0d, 0x8d, 0x6b, 0xa2, 0x4d, 0x64, 0x90, - 0xe8, 0x01, 0xad, 0x1b, 0x23, 0x28, 0x54, 0x11, 0x22, 0xa9, 0x5d, 0x25, 0xa2, 0x4d, 0xac, 0x49, - 0x52, 0x44, 0x2f, 0xab, 0x89, 0x77, 0xe2, 0x8c, 0xf0, 0xce, 0x6e, 0x77, 0x67, 0xa3, 0xe4, 0xc6, - 0x85, 0x7b, 0x8f, 0x7c, 0x04, 0xf8, 0x12, 0x5c, 0xc9, 0xb1, 0x52, 0x2f, 0x3d, 0x01, 0x31, 0x17, - 0x2e, 0x48, 0x3d, 0xf0, 0x01, 0xd0, 0xce, 0xce, 0xec, 0xba, 0x8e, 0x53, 0x11, 0x6e, 0x3b, 0xef, - 0xf7, 0xfe, 0xfd, 0xde, 0x7b, 0xf3, 0x76, 0xa0, 0xee, 0x7b, 0x43, 0xd6, 0x3f, 0x6b, 0x9d, 0xac, - 0x1d, 0x52, 0x41, 0xd6, 0x5a, 0xfd, 0xa3, 0x81, 0xe5, 0x07, 0x9e, 0xf0, 0xd0, 0x22, 0x0b, 0x05, - 0xf3, 0xac, 0x04, 0xb7, 0x14, 0xde, 0x58, 0x1c, 0x78, 0x03, 0x4f, 0x2a, 0xb4, 0xe2, 0xaf, 0x44, - 0xb7, 0xb1, 0x3c, 0xf0, 0xbc, 0xc1, 0x90, 0xb6, 0xe4, 0xe9, 0x30, 0x3a, 0x6a, 0x85, 0x22, 0x88, - 0xfa, 0x42, 0xa1, 0xe6, 0x24, 0xea, 0x44, 0x01, 0x11, 0xcc, 0xe3, 0x0a, 0x5f, 0x99, 0xc8, 0xe1, - 0x84, 0x0c, 0x23, 0x6a, 0x8b, 0x33, 0x9f, 0x26, 0x0a, 0xcd, 0x1f, 0xf2, 0xb0, 0xb0, 0x21, 0x44, - 0xc0, 0x0e, 0x23, 0x41, 0x9f, 0x10, 0xce, 0x8e, 0x68, 0x28, 0x50, 0x03, 0xca, 0x01, 0x3d, 0x61, - 0x21, 0xf3, 0x78, 0xdd, 0x58, 0x35, 0xee, 0x56, 0x70, 0x7a, 0x46, 0x08, 0x0a, 0x9c, 0xb8, 0xb4, - 0x3e, 0x23, 0xe5, 0xf2, 0x1b, 0x7d, 0x03, 0x40, 0xb4, 0x93, 0xb0, 0x9e, 0x5f, 0xcd, 0xdf, 0xad, - 0xb6, 0xef, 0x5b, 0xd3, 0x58, 0x5a, 0x97, 0x82, 0x65, 0x92, 0xb0, 0xcb, 0x45, 0x70, 0x86, 0xc7, - 0x5c, 0x35, 0x9e, 0xc3, 0x6c, 0x0a, 0x6f, 0xf3, 0x23, 0x0f, 0xad, 0x42, 0xd5, 0xa1, 0x61, 0x3f, - 0x60, 0xbe, 0xc8, 0x92, 0x1b, 0x17, 0xa1, 0x2f, 0x01, 0x32, 0x96, 0x32, 0xcb, 0xb9, 0xf6, 0xca, - 0xf4, 0x5c, 0x9e, 0xc6, 0x7a, 0xfb, 0x67, 0x3e, 0xc5, 0x95, 0x13, 0xfd, 0xd9, 0x10, 0x30, 0x3f, - 0x91, 0x11, 0xaa, 0x41, 0xfe, 0x3b, 0x7a, 0xa6, 0x82, 0xc5, 0x9f, 0xe8, 0x6b, 0xb8, 0x21, 0x2d, - 0xa4, 0xff, 0x6a, 0xfb, 0xd3, 0x6b, 0x73, 0x8d, 0xc9, 0xe0, 0xc4, 0xc7, 0x83, 0x99, 0xcf, 0x8d, - 0xe6, 0x79, 0x01, 0x0a, 0x38, 0x1a, 0x52, 0xb4, 0x08, 0x37, 0x5c, 0x22, 0xfa, 0xc7, 0x2a, 0x5a, - 0x72, 0x40, 0x9f, 0x41, 0x89, 0xf4, 0x63, 0x7a, 0x61, 0x7d, 0x46, 0x56, 0x77, 0xf9, 0x8a, 0x88, - 0x52, 0x09, 0x6b, 0x65, 0xc4, 0xe1, 0x4e, 0x40, 0x9f, 0x47, 0x34, 0x14, 0xf6, 0x31, 0x25, 0x0e, - 0x0d, 0x6c, 0xcf, 0xa7, 0xc9, 0x84, 0xe8, 0x3e, 0xb5, 0xa7, 0x7b, 0x8a, 0x93, 0xb1, 0xb6, 0xa4, - 0xcd, 0xae, 0x36, 0xd9, 0xa7, 0xae, 0x3f, 0x24, 0x82, 0xe2, 0x25, 0xe5, 0x74, 0x02, 0x0f, 0x91, - 0x0f, 0x8d, 0x80, 0x86, 0xbe, 0xc7, 0x43, 0x3a, 0x25, 0x60, 0xe1, 0x7f, 0x07, 0xac, 0x6b, 0xaf, - 0x97, 0x22, 0x3e, 0x80, 0x72, 0x48, 0x5c, 0x7f, 0xc8, 0xf8, 0xa0, 0x7e, 0x43, 0x36, 0xc3, 0x9c, - 0xee, 0x7f, 0x4f, 0x69, 0xe1, 0x54, 0xbf, 0xf1, 0xca, 0x80, 0xa5, 0x2b, 0x22, 0xa6, 0x63, 0x6e, - 0x8c, 0x8d, 0xf9, 0x6d, 0x28, 0xca, 0x8e, 0x25, 0x4d, 0xa8, 0x60, 0x75, 0x42, 0xcf, 0xa0, 0x92, - 0xb2, 0xac, 0xe7, 0xe5, 0xc4, 0xad, 0x5f, 0x9f, 0xa4, 0x95, 0x4a, 0x70, 0xe6, 0xae, 0x79, 0x0f, - 0x2a, 0xa9, 0x1c, 0x55, 0xa1, 0x84, 0xbb, 0xbd, 0xc7, 0x1b, 0x0f, 0xbb, 0xb5, 0x1c, 0x02, 0x28, - 0xe2, 0xee, 0x93, 0xdd, 0xa7, 0xdd, 0x9a, 0x11, 0x7f, 0x6f, 0xf4, 0x7a, 0xdd, 0x9d, 0x4e, 0x6d, - 0xa6, 0xb9, 0x0f, 0xc5, 0x64, 0x0c, 0x50, 0x1d, 0x4a, 0xc7, 0x84, 0x3b, 0x43, 0x1a, 0xa8, 0xdb, - 0xaa, 0x8f, 0x68, 0x19, 0x2a, 0x8c, 0x87, 0x82, 0xf0, 0xbe, 0xba, 0xaf, 0x15, 0x9c, 0x09, 0x52, - 0xee, 0x85, 0x8c, 0x7b, 0xf3, 0xd7, 0x19, 0x28, 0x6f, 0x2b, 0x8d, 0xa9, 0xc5, 0x69, 0x40, 0x59, - 0x28, 0x26, 0x2a, 0x5a, 0x7a, 0x46, 0x2d, 0x28, 0xfa, 0x24, 0x20, 0x6e, 0x28, 0xab, 0x53, 0x6d, - 0x2f, 0x59, 0xc9, 0xde, 0xb2, 0xf4, 0xde, 0xb2, 0xf6, 0xe4, 0x56, 0xc3, 0x4a, 0x0d, 0x39, 0x80, - 0xd2, 0x2d, 0x60, 0x1f, 0x32, 0xee, 0x30, 0x3e, 0xd0, 0xf3, 0x73, 0xc5, 0x65, 0xd3, 0xc9, 0x65, - 0x77, 0x6c, 0x53, 0xd9, 0x25, 0x6b, 0x65, 0x81, 0x4c, 0xca, 0x91, 0x05, 0x0b, 0x7d, 0xcf, 0xf5, - 0xd9, 0x90, 0x3a, 0x76, 0x9a, 0xfb, 0x3f, 0x7f, 0xff, 0xbc, 0x2a, 0xd3, 0xaf, 0x69, 0x4c, 0x37, - 0xa8, 0xd1, 0x81, 0xdb, 0xd3, 0x9d, 0x4f, 0xd9, 0x10, 0x8b, 0xe3, 0x1b, 0xa2, 0x32, 0x7e, 0xd5, - 0x5f, 0x1b, 0x50, 0xda, 0x52, 0x7d, 0x98, 0x56, 0xc8, 0x3a, 0x94, 0x88, 0x43, 0x7c, 0x91, 0x75, - 0x4d, 0x1d, 0xaf, 0x5f, 0xc6, 0xaf, 0x00, 0xfa, 0x1e, 0xe7, 0x54, 0x8e, 0x83, 0x6c, 0x67, 0xb5, - 0xbd, 0x3a, 0xbd, 0x7c, 0x0f, 0x53, 0x3d, 0x3c, 0x66, 0x83, 0x3e, 0x86, 0xb4, 0x0c, 0xb6, 0xce, - 0x2a, 0xad, 0xd0, 0xbc, 0x86, 0x36, 0x12, 0xa4, 0x49, 0x00, 0x32, 0x3f, 0x09, 0x11, 0x27, 0xa0, - 0x61, 0x98, 0x11, 0x91, 0x47, 0xf4, 0x05, 0x94, 0x04, 0x73, 0xa9, 0x17, 0x09, 0xc5, 0xe4, 0xce, - 0x25, 0x26, 0x1d, 0xf5, 0x23, 0xdb, 0x2c, 0xfc, 0xf8, 0xfb, 0x8a, 0x81, 0xb5, 0x7e, 0xf3, 0x85, - 0x01, 0x65, 0x7d, 0x95, 0xd1, 0x3a, 0x14, 0x03, 0xc2, 0x1d, 0xcf, 0x95, 0x05, 0xac, 0xb6, 0x3f, - 0xbc, 0xe2, 0xd6, 0x49, 0x9d, 0x74, 0x01, 0x28, 0x1b, 0xf4, 0x08, 0x20, 0x20, 0x82, 0xda, 0x43, - 0xe6, 0x32, 0xa1, 0x36, 0xf9, 0x47, 0x57, 0x79, 0x10, 0xf4, 0x71, 0xac, 0x96, 0x3a, 0xa9, 0x04, - 0x5a, 0xd4, 0x7c, 0x65, 0xc0, 0xdc, 0xdb, 0x21, 0xd0, 0x1a, 0x2c, 0x66, 0xf3, 0x4b, 0x4f, 0xfd, - 0x98, 0x75, 0xf6, 0xbf, 0xba, 0x95, 0x62, 0xdd, 0x14, 0x42, 0x3d, 0x98, 0xf7, 0x69, 0xd0, 0xa7, - 0x5c, 0xd8, 0x72, 0x41, 0x51, 0xe7, 0xdd, 0x29, 0x3d, 0x0a, 0x92, 0x25, 0x4f, 0x86, 0xbd, 0xc4, - 0x0c, 0xcf, 0x29, 0xfb, 0xbd, 0xc4, 0x1c, 0xad, 0x43, 0x23, 0x0a, 0xa9, 0xcd, 0xb8, 0x43, 0x7d, - 0xca, 0x9d, 0xd8, 0x73, 0xc2, 0x9c, 0xc7, 0x2d, 0x89, 0x0b, 0x5f, 0xc6, 0xf5, 0x28, 0xa4, 0xdb, - 0x99, 0x02, 0x4e, 0xf1, 0xe6, 0x2f, 0x06, 0x2c, 0x5c, 0xa2, 0x8d, 0x7a, 0xb0, 0xa0, 0xd7, 0xa7, - 0xad, 0xdf, 0x1a, 0xaa, 0xf8, 0xef, 0xe8, 0x61, 0xf9, 0xfc, 0xb7, 0x95, 0x9c, 0xec, 0x63, 0x4d, - 0x5b, 0x6b, 0x0c, 0xb5, 0xe1, 0x3d, 0x97, 0x9c, 0xda, 0x11, 0x57, 0xac, 0x6d, 0xca, 0x45, 0xc0, - 0x68, 0x32, 0x33, 0x79, 0x7c, 0xcb, 0x25, 0xa7, 0x07, 0x1a, 0xeb, 0x26, 0x10, 0xfa, 0x00, 0x66, - 0xd3, 0x2c, 0xe2, 0x3e, 0x48, 0x32, 0x79, 0x7c, 0x53, 0x0b, 0xe3, 0xbc, 0x25, 0x81, 0x4b, 0x45, - 0x8a, 0x37, 0x1f, 0x8f, 0xdc, 0x78, 0xa1, 0x7a, 0x81, 0x4c, 0x7c, 0x16, 0x67, 0x02, 0xf4, 0x6d, - 0xfc, 0xbc, 0xe0, 0x9e, 0xcb, 0xb8, 0xc4, 0x93, 0xd7, 0xc3, 0xfd, 0xff, 0xd8, 0x00, 0xab, 0x93, - 0x99, 0xca, 0x57, 0xc5, 0xb8, 0xaf, 0xe6, 0x3d, 0x98, 0x9f, 0xc0, 0xe3, 0x75, 0xbe, 0x75, 0xb0, - 0xd3, 0xc1, 0xdd, 0x4e, 0x2d, 0x87, 0x6a, 0x70, 0x73, 0xbf, 0xbb, 0x63, 0xef, 0x6f, 0xed, 0x1e, - 0xec, 0x6d, 0xec, 0x74, 0x6a, 0xc6, 0xe6, 0xf6, 0xcb, 0x0b, 0x33, 0xf7, 0xfa, 0xc2, 0xcc, 0xbd, - 0xb9, 0x30, 0x8d, 0xef, 0x47, 0xa6, 0xf1, 0xd3, 0xc8, 0x34, 0xce, 0x47, 0xa6, 0xf1, 0x72, 0x64, - 0x1a, 0x7f, 0x8c, 0x4c, 0xe3, 0xaf, 0x91, 0x99, 0x7b, 0x33, 0x32, 0x8d, 0x17, 0x7f, 0x9a, 0xb9, - 0x67, 0xef, 0x27, 0x49, 0x32, 0xaf, 0x45, 0x7c, 0xd6, 0x7a, 0xfb, 0xdd, 0x77, 0x58, 0x94, 0x3d, - 0xf9, 0xe4, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x28, 0x43, 0xbf, 0xa9, 0x94, 0x0a, 0x00, 0x00, + // 1489 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcd, 0x6f, 0x13, 0x47, + 0x1b, 0xf7, 0xc6, 0xb1, 0x13, 0x3f, 0x4e, 0x1c, 0x67, 0xc8, 0x0b, 0xc6, 0x20, 0x27, 0x32, 0xef, + 0x2b, 0x38, 0xbc, 0xd8, 0x10, 0xf4, 0xc2, 0x5b, 0x84, 0xaa, 0x3a, 0xc4, 0xd4, 0x11, 0x21, 0xb1, + 0x26, 0x0e, 0x6d, 0xb9, 0xac, 0x26, 0xbb, 0x93, 0x64, 0xc5, 0x7a, 0x76, 0xd9, 0x9d, 0x8d, 0xc8, + 0xad, 0x95, 0xda, 0x3b, 0xc7, 0x4a, 0xfd, 0x07, 0xda, 0x53, 0x8f, 0xbd, 0xf5, 0x5a, 0x8e, 0x48, + 0x5c, 0x38, 0xb5, 0x25, 0xbd, 0xf4, 0x52, 0x89, 0x43, 0xff, 0x80, 0x6a, 0x3e, 0x76, 0xd7, 0x49, + 0xd6, 0xa8, 0xe9, 0x6d, 0xe7, 0xf9, 0x9a, 0xe7, 0xf7, 0x7c, 0xce, 0x42, 0xcd, 0xf7, 0x5c, 0xc7, + 0x3a, 0x6c, 0x1f, 0xdc, 0xdc, 0xa1, 0x9c, 0xdc, 0x6c, 0x5b, 0xbb, 0x7b, 0x2d, 0x3f, 0xf0, 0xb8, + 0x87, 0x16, 0x9c, 0x90, 0x3b, 0x5e, 0x4b, 0xf1, 0x5b, 0x9a, 0x5f, 0x5f, 0xd8, 0xf3, 0xf6, 0x3c, + 0x29, 0xd0, 0x16, 0x5f, 0x4a, 0xb6, 0x7e, 0x79, 0xcf, 0xf3, 0xf6, 0x5c, 0xda, 0x96, 0xa7, 0x9d, + 0x68, 0xb7, 0x1d, 0xf2, 0x20, 0xb2, 0xb8, 0xe6, 0x36, 0x4e, 0x72, 0xed, 0x28, 0x20, 0xdc, 0xf1, + 0x98, 0xe6, 0x2f, 0x9e, 0xf0, 0xe1, 0x80, 0xb8, 0x11, 0x35, 0xf9, 0xa1, 0x4f, 0x95, 0x40, 0xf3, + 0xab, 0x3c, 0xcc, 0x77, 0x38, 0x0f, 0x9c, 0x9d, 0x88, 0xd3, 0x47, 0x84, 0x39, 0xbb, 0x34, 0xe4, + 0xa8, 0x0e, 0xd3, 0x01, 0x3d, 0x70, 0x42, 0xc7, 0x63, 0x35, 0x63, 0xc9, 0xb8, 0x56, 0xc2, 0xc9, + 0x19, 0x21, 0x98, 0x64, 0x64, 0x48, 0x6b, 0x13, 0x92, 0x2e, 0xbf, 0xd1, 0x27, 0x00, 0x24, 0x36, + 0x12, 0xd6, 0xf2, 0x4b, 0xf9, 0x6b, 0xe5, 0xe5, 0x3b, 0xad, 0x2c, 0x94, 0xad, 0x53, 0x97, 0xa5, + 0x94, 0xb0, 0xcb, 0x78, 0x70, 0x88, 0x47, 0x4c, 0xd5, 0x9f, 0xc1, 0x6c, 0xc2, 0x5e, 0x63, 0xbb, + 0x1e, 0x5a, 0x82, 0xb2, 0x4d, 0x43, 0x2b, 0x70, 0x7c, 0x9e, 0x3a, 0x37, 0x4a, 0x42, 0x1f, 0x02, + 0xa4, 0x28, 0xa5, 0x97, 0x95, 0xe5, 0xc5, 0x6c, 0x5f, 0x1e, 0x0b, 0xb9, 0xc1, 0xa1, 0x4f, 0x71, + 0xe9, 0x20, 0xfe, 0xac, 0x73, 0x98, 0x3b, 0xe1, 0x11, 0xaa, 0x42, 0xfe, 0x29, 0x3d, 0xd4, 0x97, + 0x89, 0x4f, 0xf4, 0x10, 0x0a, 0x52, 0x43, 0xda, 0x2f, 0x2f, 0xff, 0xef, 0xcc, 0x58, 0x05, 0x18, + 0xac, 0x6c, 0xdc, 0x9d, 0xf8, 0xbf, 0xd1, 0x7c, 0x39, 0x09, 0x93, 0x38, 0x72, 0x29, 0x5a, 0x80, + 0xc2, 0x90, 0x70, 0x6b, 0x5f, 0xdf, 0xa6, 0x0e, 0xe8, 0x36, 0x4c, 0x11, 0x4b, 0xc0, 0x0b, 0x6b, + 0x13, 0x32, 0xba, 0x97, 0xc7, 0xdc, 0x28, 0x85, 0x70, 0x2c, 0x8c, 0x18, 0x5c, 0x0c, 0xe8, 0xb3, + 0x88, 0x86, 0xdc, 0xdc, 0xa7, 0xc4, 0xa6, 0x81, 0xe9, 0xf9, 0x54, 0x55, 0x48, 0x9c, 0xa7, 0xe5, + 0x6c, 0x4b, 0xc2, 0x99, 0x56, 0x4f, 0xea, 0x6c, 0xc6, 0x2a, 0x03, 0x3a, 0xf4, 0x5d, 0xc2, 0x29, + 0xbe, 0xa0, 0x8d, 0x9e, 0xe0, 0x87, 0xc8, 0x87, 0x7a, 0x40, 0x43, 0xdf, 0x63, 0x21, 0xcd, 0xb8, + 0x70, 0xf2, 0x1f, 0x5f, 0x58, 0x8b, 0xad, 0x9e, 0xba, 0xf1, 0x2e, 0x4c, 0x87, 0x64, 0xe8, 0xbb, + 0x0e, 0xdb, 0xab, 0x15, 0x64, 0x32, 0x1a, 0xd9, 0xf6, 0xb7, 0xb4, 0x14, 0x4e, 0xe4, 0xeb, 0xaf, + 0x0d, 0xb8, 0x30, 0xe6, 0xc6, 0xa4, 0xcc, 0x8d, 0x91, 0x32, 0x3f, 0x0f, 0x45, 0x99, 0x31, 0x95, + 0x84, 0x12, 0xd6, 0x27, 0xf4, 0x04, 0x4a, 0x09, 0xca, 0x5a, 0x5e, 0x56, 0xdc, 0xbd, 0xb3, 0x83, + 0x6c, 0x25, 0x14, 0x9c, 0x9a, 0x6b, 0xde, 0x80, 0x52, 0x42, 0x47, 0x65, 0x98, 0xc2, 0xdd, 0xfe, + 0x7a, 0xe7, 0x7e, 0xb7, 0x9a, 0x43, 0x00, 0x45, 0xdc, 0x7d, 0xb4, 0xf9, 0xb8, 0x5b, 0x35, 0xc4, + 0x77, 0xa7, 0xdf, 0xef, 0x6e, 0xac, 0x56, 0x27, 0x9a, 0x03, 0x28, 0xaa, 0x32, 0x40, 0x35, 0x98, + 0xda, 0x27, 0xcc, 0x76, 0x69, 0xa0, 0xbb, 0x35, 0x3e, 0xa2, 0xcb, 0x50, 0x72, 0x58, 0xc8, 0x09, + 0xb3, 0x74, 0xbf, 0x96, 0x70, 0x4a, 0x48, 0xb0, 0x4f, 0xa6, 0xd8, 0x9b, 0x3f, 0x4d, 0xc0, 0xf4, + 0x9a, 0x96, 0xc8, 0x0c, 0x4e, 0x1d, 0xa6, 0xb9, 0x46, 0xa2, 0x6f, 0x4b, 0xce, 0xa8, 0x0d, 0x45, + 0x9f, 0x04, 0x64, 0x18, 0xca, 0xe8, 0x94, 0x97, 0x2f, 0xb4, 0xd4, 0xdc, 0x6a, 0xc5, 0x73, 0xab, + 0xb5, 0x25, 0xa7, 0x1a, 0xd6, 0x62, 0xc8, 0x06, 0x94, 0x4c, 0x01, 0x73, 0xc7, 0x61, 0xb6, 0xc3, + 0xf6, 0xe2, 0xfa, 0x19, 0xd3, 0x6c, 0xb1, 0x73, 0x69, 0x8f, 0xad, 0x68, 0x3d, 0x35, 0x56, 0xe6, + 0xc9, 0x49, 0x3a, 0x6a, 0xc1, 0xbc, 0xe5, 0x0d, 0x7d, 0xc7, 0xa5, 0xb6, 0x99, 0xf8, 0xfe, 0xe7, + 0x1f, 0xdf, 0x2d, 0x49, 0xf7, 0xab, 0x31, 0x2f, 0x4e, 0x50, 0x7d, 0x15, 0xce, 0x67, 0x1b, 0xcf, + 0x98, 0x10, 0x0b, 0xa3, 0x13, 0xa2, 0x34, 0xda, 0xea, 0x6f, 0x0c, 0x98, 0xea, 0xe9, 0x3c, 0x64, + 0x05, 0xb2, 0x06, 0x53, 0xc4, 0x26, 0x3e, 0x4f, 0xb3, 0xa6, 0x8f, 0x67, 0x0f, 0xe3, 0x47, 0x00, + 0x96, 0xc7, 0x18, 0x95, 0xe5, 0x20, 0xd3, 0x59, 0x5e, 0x5e, 0xca, 0x0e, 0xdf, 0xfd, 0x44, 0x0e, + 0x8f, 0xe8, 0xa0, 0xff, 0x42, 0x12, 0x06, 0x33, 0xf6, 0x2a, 0x89, 0xd0, 0x5c, 0xcc, 0xea, 0x28, + 0x4e, 0xf3, 0x7b, 0x03, 0x20, 0x35, 0xa4, 0x90, 0xd8, 0x01, 0x0d, 0xc3, 0x14, 0x89, 0x3c, 0xa2, + 0x0f, 0x60, 0x8a, 0x3b, 0x43, 0xea, 0x45, 0x5c, 0x43, 0xb9, 0x78, 0x0a, 0xca, 0xaa, 0xde, 0x64, + 0x2b, 0x93, 0x5f, 0xff, 0xb2, 0x68, 0xe0, 0x58, 0x1e, 0xad, 0x43, 0x85, 0x44, 0x7c, 0x9f, 0x32, + 0xee, 0x58, 0x64, 0x04, 0xd7, 0xbf, 0xc7, 0x4c, 0xc4, 0x63, 0xb2, 0xf8, 0x84, 0x6e, 0xf3, 0x85, + 0x01, 0xd3, 0xf1, 0x64, 0x40, 0xf7, 0xa0, 0x18, 0x10, 0x66, 0x7b, 0x43, 0x99, 0x8f, 0xb1, 0x26, + 0xb1, 0x94, 0x49, 0xe6, 0x89, 0xd6, 0x41, 0x0f, 0x00, 0x02, 0xc2, 0xa9, 0xe9, 0x3a, 0x43, 0x87, + 0xeb, 0xc5, 0x70, 0x75, 0x9c, 0x05, 0x4e, 0xd7, 0x85, 0x58, 0x62, 0xa4, 0x14, 0xc4, 0xa4, 0xe6, + 0x6b, 0x03, 0x2a, 0xc7, 0xaf, 0x40, 0x37, 0x61, 0x21, 0x6d, 0x07, 0xfa, 0xdc, 0x17, 0x31, 0x4c, + 0xd7, 0xdf, 0xb9, 0x84, 0xd7, 0x4d, 0x58, 0xa8, 0x0f, 0x73, 0x3e, 0x0d, 0x2c, 0xca, 0xb8, 0x29, + 0xe7, 0x1d, 0xb5, 0xdf, 0xef, 0xd2, 0x83, 0x40, 0xed, 0x0c, 0xe2, 0xf6, 0x95, 0x1a, 0xae, 0x68, + 0xfd, 0x2d, 0xa5, 0x8e, 0xee, 0x41, 0x3d, 0x0a, 0xa9, 0xe9, 0x30, 0x9b, 0xfa, 0x94, 0xd9, 0xc2, + 0xb2, 0x42, 0xce, 0x44, 0x82, 0x45, 0x1a, 0xa7, 0x71, 0x2d, 0x0a, 0xe9, 0x5a, 0x2a, 0x80, 0x13, + 0x7e, 0xf3, 0x47, 0x03, 0xe6, 0x4f, 0xc1, 0x46, 0x7d, 0x98, 0x8f, 0xa7, 0xb1, 0x19, 0x3f, 0x5d, + 0x74, 0xf0, 0xdf, 0x53, 0x11, 0xd3, 0x2f, 0x7f, 0x5e, 0xcc, 0xc9, 0xaa, 0xa8, 0xc6, 0xda, 0x31, + 0x0f, 0x2d, 0xc3, 0xbf, 0x86, 0xe4, 0xb9, 0x19, 0x31, 0x8d, 0xda, 0xa4, 0x8c, 0x07, 0x0e, 0x55, + 0x15, 0x98, 0xc7, 0xe7, 0x86, 0xe4, 0xf9, 0x76, 0xcc, 0xeb, 0x2a, 0x16, 0xba, 0x02, 0xb3, 0x89, + 0x17, 0x22, 0x0f, 0x12, 0x4c, 0x1e, 0xcf, 0xc4, 0x44, 0xe1, 0xb7, 0x04, 0x70, 0x2a, 0x48, 0x62, + 0x90, 0xb2, 0x68, 0x28, 0xe6, 0xb3, 0x17, 0x48, 0xc7, 0x67, 0x71, 0x4a, 0x40, 0x9f, 0x89, 0xd7, + 0x0a, 0xf3, 0x86, 0x0e, 0x93, 0x7c, 0xf5, 0x18, 0xb9, 0xf3, 0x37, 0x13, 0xd0, 0x5a, 0x4d, 0x55, + 0xe5, 0x23, 0x65, 0xd4, 0x56, 0xf3, 0x06, 0xcc, 0x9d, 0xe0, 0x8b, 0xed, 0xd0, 0xdb, 0xde, 0x58, + 0xc5, 0xdd, 0xd5, 0x6a, 0x0e, 0x55, 0x61, 0x66, 0xd0, 0xdd, 0x30, 0x07, 0xbd, 0xcd, 0xed, 0xad, + 0xce, 0xc6, 0x6a, 0xd5, 0x68, 0x7e, 0x69, 0x40, 0xe5, 0x78, 0x37, 0xa0, 0xeb, 0x90, 0xe7, 0x6e, + 0x98, 0x04, 0x3c, 0xd3, 0xaf, 0x81, 0x1b, 0xf6, 0x72, 0x58, 0xc8, 0xa1, 0xdb, 0x50, 0x1c, 0x46, + 0x3c, 0x22, 0xae, 0x2e, 0xa5, 0x31, 0x8f, 0x90, 0x47, 0x52, 0xa6, 0x97, 0xc3, 0x5a, 0x7a, 0xa5, + 0x0c, 0x25, 0xd1, 0x76, 0xf2, 0x45, 0xd6, 0xfc, 0x61, 0x02, 0xf2, 0x03, 0x37, 0x44, 0x57, 0x61, + 0xce, 0x22, 0xa6, 0x45, 0x03, 0xee, 0xec, 0x0a, 0x7f, 0x68, 0xa8, 0xcb, 0xb9, 0x62, 0x91, 0xfb, + 0x23, 0x54, 0xb4, 0x08, 0xc0, 0xbd, 0xa7, 0x94, 0x99, 0x3e, 0xe1, 0xfb, 0x6a, 0x90, 0xf4, 0x72, + 0xb8, 0x24, 0x69, 0x7d, 0xc2, 0xf7, 0xd1, 0x2d, 0x28, 0x78, 0xc2, 0xbe, 0x1e, 0x25, 0x97, 0xb2, + 0xbd, 0xda, 0x14, 0xd8, 0x7b, 0x39, 0xac, 0x64, 0xd1, 0xc7, 0x50, 0x96, 0x3e, 0xa9, 0x57, 0x8a, + 0x9c, 0x21, 0x95, 0x71, 0x0d, 0x3f, 0x70, 0x43, 0x39, 0x47, 0xd4, 0xe2, 0xee, 0x19, 0x18, 0x48, + 0x72, 0x42, 0xff, 0x81, 0x59, 0x2b, 0x0a, 0xb9, 0x37, 0x8c, 0x4d, 0x15, 0xa4, 0x87, 0x06, 0x9e, + 0x51, 0x64, 0x25, 0xd6, 0xbc, 0x02, 0x90, 0x9a, 0x40, 0x25, 0x28, 0xf4, 0xd7, 0x3b, 0x6b, 0x1b, + 0x6a, 0x8d, 0xaf, 0x74, 0x3b, 0xb8, 0x8b, 0xab, 0xc6, 0x4a, 0x05, 0x66, 0x14, 0xd4, 0xd0, 0x8b, + 0x02, 0x8b, 0xae, 0xcc, 0xc4, 0xd0, 0x65, 0xe4, 0xbe, 0x99, 0x80, 0x82, 0x44, 0x81, 0x2e, 0x41, + 0xc9, 0x72, 0x1d, 0xd1, 0x81, 0x8e, 0x1d, 0x3f, 0xd0, 0x15, 0x61, 0xcd, 0x16, 0xd5, 0xac, 0x99, + 0x21, 0xb5, 0x02, 0xca, 0xf5, 0xec, 0x9d, 0x51, 0xc4, 0x2d, 0x49, 0x13, 0x16, 0x94, 0xe5, 0x28, + 0x70, 0x65, 0xdc, 0xc4, 0xba, 0x16, 0x84, 0xed, 0xc0, 0x15, 0xef, 0x9c, 0xd0, 0xf2, 0x7c, 0xaa, + 0x36, 0x6e, 0x09, 0xeb, 0x13, 0xfa, 0x14, 0xe6, 0x28, 0xb3, 0x7d, 0xcf, 0x61, 0xdc, 0xd4, 0x8b, + 0xa8, 0x20, 0x57, 0x72, 0xfb, 0x3d, 0x21, 0x6f, 0x75, 0xb5, 0x4a, 0x5f, 0x6a, 0xa8, 0x65, 0x5c, + 0xa1, 0xc7, 0x88, 0xf5, 0x0e, 0x9c, 0xcb, 0x10, 0x3b, 0xd3, 0x5a, 0xfd, 0xc2, 0x80, 0xa2, 0xaa, + 0x3c, 0xb4, 0x08, 0x65, 0x3f, 0x70, 0x0e, 0xc4, 0x30, 0x4e, 0xd5, 0x41, 0x93, 0x1e, 0xd2, 0x43, + 0x74, 0x1d, 0x90, 0x0e, 0xd1, 0x48, 0xfd, 0x69, 0x93, 0xf3, 0x8a, 0x33, 0x52, 0x82, 0x59, 0xa5, + 0x9a, 0xcf, 0x2a, 0xd5, 0x95, 0xb5, 0x57, 0x6f, 0x1b, 0xb9, 0x37, 0x6f, 0x1b, 0xb9, 0x77, 0x6f, + 0x1b, 0xc6, 0xe7, 0x47, 0x0d, 0xe3, 0xdb, 0xa3, 0x86, 0xf1, 0xf2, 0xa8, 0x61, 0xbc, 0x3a, 0x6a, + 0x18, 0xbf, 0x1e, 0x35, 0x8c, 0xdf, 0x8f, 0x1a, 0xb9, 0x77, 0x47, 0x0d, 0xe3, 0xc5, 0x6f, 0x8d, + 0xdc, 0x93, 0x4b, 0x2a, 0x68, 0x8e, 0xd7, 0x26, 0xbe, 0xd3, 0x3e, 0xfe, 0xa7, 0xb6, 0x53, 0x94, + 0x63, 0xef, 0xd6, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf4, 0x86, 0x6e, 0xed, 0x46, 0x0e, 0x00, + 0x00, } diff --git a/policy/v1beta1/cfg.proto b/policy/v1beta1/cfg.proto index 0e829b0ca4..795b3be2a1 100644 --- a/policy/v1beta1/cfg.proto +++ b/policy/v1beta1/cfg.proto @@ -348,7 +348,9 @@ message Connection { // Timeout for remote calls to the backend. google.protobuf.Duration timeout = 3 [(gogoproto.stdduration) = true]; - // TODO: Add auth related fields. + // Auth config for the connection to the backend. If omitted, plain text will + // be used. + Authentication authentication = 4; } // $hide_from_docs @@ -431,3 +433,92 @@ message FractionalPercent { // fractional percentage is capped at 1 (100%). DenominatorType denominator = 2; } + +// Authentication allows the operator to specify the authentication of +// connections to out-of-process infrastructure backend. +message Authentication { + oneof auth_type { + // Originate a TLS connection to the adapter and present an auth token + // in each call for client authentication. + Tls tls = 1; + + // Secure connections to the adapter using mutual TLS by presenting + // client certificates for authentication. + Mutual mutual = 2; + }; +} + +// Tls let operator specify client authentication setting when TLS is used for +// connection to the backend. +message Tls { + // The path to the file holding additional CA certificates to well known + // public certs. + string ca_certificates = 1; + + // Specifies how to get access token for client authn and authz. + oneof token_source { + // The path to the file holding the auth token (password, jwt token, api + // key, etc). + string token_path = 2; + + // Oauth config to fetch access token from auth provider. + OAuth oauth = 3; + } + + // AuthHeader specifies how to pass access token with authorization header. + enum AuthHeader { + // Access token is passed in authorization header as what it is + // (authorization: some-token). + PLAIN = 0; + + // Access token is passed to adapter as bearer token (i.e. authorization: + // bearer some-token). + BEARER = 1; + } + + // Specifies how to pass access token to the adapter backend. + oneof token_type { + // Access token is passed as authorization header. + AuthHeader auth_header = 4; + + // Customized header key to hold access token, e.g. x-api-key. Token will be + // passed as what it is. + string custom_header = 5; + } +} + +// OAuth let operator specify config to fetch access token via oauth when using +// TLS for connection to the backend. +message OAuth { + // REQUIRED. OAuth client id for mixer. + string client_id = 1; + + // REQUIRED. The path to the file holding the client secret for oauth. + string client_secret = 2; + + // REQUIRED. The Resource server's token endpoint URL. + string token_url = 3; + + // List of requested permissions. + repeated string scopes = 4; + + // Additional parameters for requests to the token endpoint. + map endpoint_params = 5; +} + +// Mutual let operator specify tls config for mixer as client if mtls is used to +// secure connection to adapter backend. +message Mutual { + // The path to the file holding the private key for mtls. If omitted, the + // default mixer private key will be used. + string private_key = 1; + + // The path to the file holding client certificate for mtls. If omitted, the + // default mixer certificates will be used. + string client_certificate = 2; + + // The path to the file holding additional CA certificates that are needed to + // verify the presented adapter certificates. By default mixer should already + // include Istio CA certificates and system certificates in cert pool. + string ca_certificates = 3; +} diff --git a/policy/v1beta1/istio.policy.v1beta1.pb.html b/policy/v1beta1/istio.policy.v1beta1.pb.html index 2cd47ce3ee..0ca8ab344c 100644 --- a/policy/v1beta1/istio.policy.v1beta1.pb.html +++ b/policy/v1beta1/istio.policy.v1beta1.pb.html @@ -4,7 +4,7 @@ location: https://istio.io/docs/reference/config/policy-and-telemetry/istio.policy.v1beta1.html layout: protoc-gen-docs generator: protoc-gen-docs -number_of_entries: 18 +number_of_entries: 23 ---

Describes the rules used to configure Mixer’s policy and telemetry features.

@@ -183,6 +183,41 @@

HTTP Mapping

Required. The type of data carried by this attribute.

+ + + + + +

Authentication

+
+

Authentication allows the operator to specify the authentication of +connections to out-of-process infrastructure backend.

+ + + + + + + + + + + + + + + + + + + @@ -216,6 +251,15 @@

Connection

+ + + + + @@ -572,6 +616,108 @@

Instance

source.namespace: output.source_namespace + + + +
FieldTypeDescription
tlsTls (oneof) +

Originate a TLS connection to the adapter and present an auth token +in each call for client authentication.

+ +
mutualMutual (oneof) +

Secure connections to the adapter using mutual TLS by presenting +client certificates for authentication.

+

Timeout for remote calls to the backend.

+
authenticationAuthentication +

Auth config for the connection to the backend. If omitted, plain text will +be used.

+
+
+

Mutual

+
+

Mutual let operator specify tls config for mixer as client if mtls is used to +secure connection to adapter backend.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
privateKeystring +

The path to the file holding the private key for mtls. If omitted, the +default mixer private key will be used.

+ +
clientCertificatestring +

The path to the file holding client certificate for mtls. If omitted, the +default mixer certificates will be used.

+ +
caCertificatesstring +

The path to the file holding additional CA certificates that are needed to +verify the presented adapter certificates. By default mixer should already +include Istio CA certificates and system certificates in cert pool.

+ +
+
+

OAuth

+
+

OAuth let operator specify config to fetch access token via oauth when using +TLS for connection to the backend.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -758,6 +904,97 @@

TimeStamp

+ + +
FieldTypeDescription
clientIdstring +

REQUIRED. OAuth client id for mixer.

+ +
clientSecretstring +

REQUIRED. The path to the file holding the client secret for oauth.

+ +
tokenUrlstring +

REQUIRED. The Resource server’s token endpoint URL.

+ +
scopesstring[] +

List of requested permissions.

+ +
endpointParamsmap<string, string> +

Additional parameters for requests to the token endpoint.

+

TimeStamp encoded as google.protobuf.Timestamp.

+
+
+

Tls

+
+

Tls let operator specify client authentication setting when TLS is used for +connection to the backend.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
caCertificatesstring +

The path to the file holding additional CA certificates to well known +public certs.

+ +
tokenPathstring (oneof) +

The path to the file holding the auth token (password, jwt token, api +key, etc).

+ +
oauthOAuth (oneof) +

Oauth config to fetch access token from auth provider.

+ +
authHeaderTls.AuthHeader (oneof) +

Access token is passed as authorization header.

+ +
customHeaderstring (oneof) +

Customized header key to hold access token, e.g. x-api-key. Token will be +passed as what it is.

+ +
+
+

Tls.AuthHeader

+
+

AuthHeader specifies how to pass access token with authorization header.

+ + + + + + + + + + + + + + + + diff --git a/proto.lock b/proto.lock index b9415c777f..8cac97fc71 100644 --- a/proto.lock +++ b/proto.lock @@ -4038,6 +4038,19 @@ "integer": 1 } ] + }, + { + "name": "Tls.AuthHeader", + "enum_fields": [ + { + "name": "PLAIN", + "integer": 0 + }, + { + "name": "BEARER", + "integer": 1 + } + ] } ], "messages": [ @@ -4237,6 +4250,11 @@ "id": 3, "name": "timeout", "type": "google.protobuf.Duration" + }, + { + "id": 4, + "name": "authentication", + "type": "Authentication" } ] }, @@ -4309,6 +4327,107 @@ "type": "DenominatorType" } ] + }, + { + "name": "Authentication", + "fields": [ + { + "id": 1, + "name": "tls", + "type": "Tls" + }, + { + "id": 2, + "name": "mutual", + "type": "Mutual" + } + ] + }, + { + "name": "Tls", + "fields": [ + { + "id": 1, + "name": "ca_certificates", + "type": "string" + }, + { + "id": 2, + "name": "token_path", + "type": "string" + }, + { + "id": 3, + "name": "oauth", + "type": "OAuth" + }, + { + "id": 4, + "name": "auth_header", + "type": "AuthHeader" + }, + { + "id": 5, + "name": "custom_header", + "type": "string" + } + ] + }, + { + "name": "OAuth", + "fields": [ + { + "id": 1, + "name": "client_id", + "type": "string" + }, + { + "id": 2, + "name": "client_secret", + "type": "string" + }, + { + "id": 3, + "name": "token_url", + "type": "string" + }, + { + "id": 4, + "name": "scopes", + "type": "string", + "is_repeated": true + } + ], + "maps": [ + { + "key_type": "string", + "field": { + "id": 5, + "name": "endpoint_params", + "type": "string" + } + } + ] + }, + { + "name": "Mutual", + "fields": [ + { + "id": 1, + "name": "private_key", + "type": "string" + }, + { + "id": 2, + "name": "client_certificate", + "type": "string" + }, + { + "id": 3, + "name": "ca_certificates", + "type": "string" + } + ] } ] } diff --git a/python/istio_api/policy/v1beta1/cfg_pb2.py b/python/istio_api/policy/v1beta1/cfg_pb2.py index 10627fd188..2fbed5dcd2 100644 --- a/python/istio_api/policy/v1beta1/cfg_pb2.py +++ b/python/istio_api/policy/v1beta1/cfg_pb2.py @@ -23,7 +23,7 @@ name='policy/v1beta1/cfg.proto', package='istio.policy.v1beta1', syntax='proto3', - serialized_pb=_b('\n\x18policy/v1beta1/cfg.proto\x12\x14istio.policy.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fpolicy/v1beta1/value_type.proto\"\xc5\x02\n\x11\x41ttributeManifest\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\nattributes\x18\x03 \x03(\x0b\x32\x37.istio.policy.v1beta1.AttributeManifest.AttributesEntry\x1aY\n\rAttributeInfo\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x33\n\nvalue_type\x18\x02 \x01(\x0e\x32\x1f.istio.policy.v1beta1.ValueType\x1ah\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x44\n\x05value\x18\x02 \x01(\x0b\x32\x35.istio.policy.v1beta1.AttributeManifest.AttributeInfo:\x02\x38\x01\"\xe2\x03\n\x04Rule\x12\r\n\x05match\x18\x01 \x01(\t\x12-\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32\x1c.istio.policy.v1beta1.Action\x12U\n\x19request_header_operations\x18\x03 \x03(\x0b\x32\x32.istio.policy.v1beta1.Rule.HeaderOperationTemplate\x12V\n\x1aresponse_header_operations\x18\x04 \x03(\x0b\x32\x32.istio.policy.v1beta1.Rule.HeaderOperationTemplate\x12\x30\n\x08sampling\x18\x05 \x01(\x0b\x32\x1e.istio.policy.v1beta1.Sampling\x1a\xba\x01\n\x17HeaderOperationTemplate\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06values\x18\x02 \x03(\t\x12O\n\toperation\x18\x03 \x01(\x0e\x32<.istio.policy.v1beta1.Rule.HeaderOperationTemplate.Operation\"0\n\tOperation\x12\x0b\n\x07REPLACE\x10\x00\x12\n\n\x06REMOVE\x10\x01\x12\n\n\x06\x41PPEND\x10\x02\":\n\x06\x41\x63tion\x12\x0f\n\x07handler\x18\x02 \x01(\t\x12\x11\n\tinstances\x18\x03 \x03(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"\xfe\x01\n\x08Instance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1c\n\x11\x63ompiled_template\x18\xf4\xed\xa9 \x01(\t\x12\x10\n\x08template\x18\x02 \x01(\t\x12\'\n\x06params\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12Q\n\x12\x61ttribute_bindings\x18\x04 \x03(\x0b\x32\x35.istio.policy.v1beta1.Instance.AttributeBindingsEntry\x1a\x38\n\x16\x41ttributeBindingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x07Handler\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x10\x63ompiled_adapter\x18\xf4\xed\xa9 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\x12\'\n\x06params\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x34\n\nconnection\x18\x04 \x01(\x0b\x32 .istio.policy.v1beta1.Connection\"O\n\nConnection\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\x12\x30\n\x07timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\"}\n\x08Sampling\x12\x34\n\x06random\x18\x01 \x01(\x0b\x32$.istio.policy.v1beta1.RandomSampling\x12;\n\nrate_limit\x18\x02 \x01(\x0b\x32\'.istio.policy.v1beta1.RateLimitSampling\"\x94\x01\n\x0eRandomSampling\x12\x1c\n\x14\x61ttribute_expression\x18\x01 \x01(\t\x12@\n\x0fpercent_sampled\x18\x02 \x01(\x0b\x32\'.istio.policy.v1beta1.FractionalPercent\x12\"\n\x1ause_independent_randomness\x18\x03 \x01(\x08\"\x89\x01\n\x11RateLimitSampling\x12>\n\x11sampling_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01\x12\x1d\n\x15max_unsampled_entries\x18\x02 \x01(\x03\x12\x15\n\rsampling_rate\x18\x03 \x01(\x03\"\xa6\x01\n\x11\x46ractionalPercent\x12\x11\n\tnumerator\x18\x01 \x01(\r\x12L\n\x0b\x64\x65nominator\x18\x02 \x01(\x0e\x32\x37.istio.policy.v1beta1.FractionalPercent.DenominatorType\"0\n\x0f\x44\x65nominatorType\x12\x0b\n\x07HUNDRED\x10\x00\x12\x10\n\x0cTEN_THOUSAND\x10\x01\x42\x1dZ\x1bistio.io/api/policy/v1beta1b\x06proto3') + serialized_pb=_b('\n\x18policy/v1beta1/cfg.proto\x12\x14istio.policy.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fpolicy/v1beta1/value_type.proto\"\xc5\x02\n\x11\x41ttributeManifest\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\nattributes\x18\x03 \x03(\x0b\x32\x37.istio.policy.v1beta1.AttributeManifest.AttributesEntry\x1aY\n\rAttributeInfo\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x33\n\nvalue_type\x18\x02 \x01(\x0e\x32\x1f.istio.policy.v1beta1.ValueType\x1ah\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x44\n\x05value\x18\x02 \x01(\x0b\x32\x35.istio.policy.v1beta1.AttributeManifest.AttributeInfo:\x02\x38\x01\"\xe2\x03\n\x04Rule\x12\r\n\x05match\x18\x01 \x01(\t\x12-\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32\x1c.istio.policy.v1beta1.Action\x12U\n\x19request_header_operations\x18\x03 \x03(\x0b\x32\x32.istio.policy.v1beta1.Rule.HeaderOperationTemplate\x12V\n\x1aresponse_header_operations\x18\x04 \x03(\x0b\x32\x32.istio.policy.v1beta1.Rule.HeaderOperationTemplate\x12\x30\n\x08sampling\x18\x05 \x01(\x0b\x32\x1e.istio.policy.v1beta1.Sampling\x1a\xba\x01\n\x17HeaderOperationTemplate\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06values\x18\x02 \x03(\t\x12O\n\toperation\x18\x03 \x01(\x0e\x32<.istio.policy.v1beta1.Rule.HeaderOperationTemplate.Operation\"0\n\tOperation\x12\x0b\n\x07REPLACE\x10\x00\x12\n\n\x06REMOVE\x10\x01\x12\n\n\x06\x41PPEND\x10\x02\":\n\x06\x41\x63tion\x12\x0f\n\x07handler\x18\x02 \x01(\t\x12\x11\n\tinstances\x18\x03 \x03(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"\xfe\x01\n\x08Instance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1c\n\x11\x63ompiled_template\x18\xf4\xed\xa9 \x01(\t\x12\x10\n\x08template\x18\x02 \x01(\t\x12\'\n\x06params\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12Q\n\x12\x61ttribute_bindings\x18\x04 \x03(\x0b\x32\x35.istio.policy.v1beta1.Instance.AttributeBindingsEntry\x1a\x38\n\x16\x41ttributeBindingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x07Handler\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x10\x63ompiled_adapter\x18\xf4\xed\xa9 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\x12\'\n\x06params\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x34\n\nconnection\x18\x04 \x01(\x0b\x32 .istio.policy.v1beta1.Connection\"\x8d\x01\n\nConnection\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\x12\x30\n\x07timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x12<\n\x0e\x61uthentication\x18\x04 \x01(\x0b\x32$.istio.policy.v1beta1.Authentication\"}\n\x08Sampling\x12\x34\n\x06random\x18\x01 \x01(\x0b\x32$.istio.policy.v1beta1.RandomSampling\x12;\n\nrate_limit\x18\x02 \x01(\x0b\x32\'.istio.policy.v1beta1.RateLimitSampling\"\x94\x01\n\x0eRandomSampling\x12\x1c\n\x14\x61ttribute_expression\x18\x01 \x01(\t\x12@\n\x0fpercent_sampled\x18\x02 \x01(\x0b\x32\'.istio.policy.v1beta1.FractionalPercent\x12\"\n\x1ause_independent_randomness\x18\x03 \x01(\x08\"\x89\x01\n\x11RateLimitSampling\x12>\n\x11sampling_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01\x12\x1d\n\x15max_unsampled_entries\x18\x02 \x01(\x03\x12\x15\n\rsampling_rate\x18\x03 \x01(\x03\"\xa6\x01\n\x11\x46ractionalPercent\x12\x11\n\tnumerator\x18\x01 \x01(\r\x12L\n\x0b\x64\x65nominator\x18\x02 \x01(\x0e\x32\x37.istio.policy.v1beta1.FractionalPercent.DenominatorType\"0\n\x0f\x44\x65nominatorType\x12\x0b\n\x07HUNDRED\x10\x00\x12\x10\n\x0cTEN_THOUSAND\x10\x01\"w\n\x0e\x41uthentication\x12(\n\x03tls\x18\x01 \x01(\x0b\x32\x19.istio.policy.v1beta1.TlsH\x00\x12.\n\x06mutual\x18\x02 \x01(\x0b\x32\x1c.istio.policy.v1beta1.MutualH\x00\x42\x0b\n\tauth_type\"\xfb\x01\n\x03Tls\x12\x17\n\x0f\x63\x61_certificates\x18\x01 \x01(\t\x12\x14\n\ntoken_path\x18\x02 \x01(\tH\x00\x12,\n\x05oauth\x18\x03 \x01(\x0b\x32\x1b.istio.policy.v1beta1.OAuthH\x00\x12;\n\x0b\x61uth_header\x18\x04 \x01(\x0e\x32$.istio.policy.v1beta1.Tls.AuthHeaderH\x01\x12\x17\n\rcustom_header\x18\x05 \x01(\tH\x01\"#\n\nAuthHeader\x12\t\n\x05PLAIN\x10\x00\x12\n\n\x06\x42\x45\x41RER\x10\x01\x42\x0e\n\x0ctoken_sourceB\x0c\n\ntoken_type\"\xd5\x01\n\x05OAuth\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12\x15\n\rclient_secret\x18\x02 \x01(\t\x12\x11\n\ttoken_url\x18\x03 \x01(\t\x12\x0e\n\x06scopes\x18\x04 \x03(\t\x12H\n\x0f\x65ndpoint_params\x18\x05 \x03(\x0b\x32/.istio.policy.v1beta1.OAuth.EndpointParamsEntry\x1a\x35\n\x13\x45ndpointParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"R\n\x06Mutual\x12\x13\n\x0bprivate_key\x18\x01 \x01(\t\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x03 \x01(\tB\x1dZ\x1bistio.io/api/policy/v1beta1b\x06proto3') , dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,policy_dot_v1beta1_dot_value__type__pb2.DESCRIPTOR,]) @@ -72,11 +72,33 @@ ], containing_type=None, options=None, - serialized_start=2082, - serialized_end=2130, + serialized_start=2145, + serialized_end=2193, ) _sym_db.RegisterEnumDescriptor(_FRACTIONALPERCENT_DENOMINATORTYPE) +_TLS_AUTHHEADER = _descriptor.EnumDescriptor( + name='AuthHeader', + full_name='istio.policy.v1beta1.Tls.AuthHeader', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='PLAIN', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BEARER', index=1, number=1, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=2503, + serialized_end=2538, +) +_sym_db.RegisterEnumDescriptor(_TLS_AUTHHEADER) + _ATTRIBUTEMANIFEST_ATTRIBUTEINFO = _descriptor.Descriptor( name='AttributeInfo', @@ -522,6 +544,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\230\337\037\001')), file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='authentication', full_name='istio.policy.v1beta1.Connection.authentication', index=2, + number=4, 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=[ ], @@ -534,8 +563,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1464, - serialized_end=1543, + serialized_start=1465, + serialized_end=1606, ) @@ -572,8 +601,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1545, - serialized_end=1670, + serialized_start=1608, + serialized_end=1733, ) @@ -617,8 +646,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1673, - serialized_end=1821, + serialized_start=1736, + serialized_end=1884, ) @@ -662,8 +691,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1824, - serialized_end=1961, + serialized_start=1887, + serialized_end=2024, ) @@ -701,8 +730,256 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1964, - serialized_end=2130, + serialized_start=2027, + serialized_end=2193, +) + + +_AUTHENTICATION = _descriptor.Descriptor( + name='Authentication', + full_name='istio.policy.v1beta1.Authentication', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='tls', full_name='istio.policy.v1beta1.Authentication.tls', 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='mutual', full_name='istio.policy.v1beta1.Authentication.mutual', 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=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='auth_type', full_name='istio.policy.v1beta1.Authentication.auth_type', + index=0, containing_type=None, fields=[]), + ], + serialized_start=2195, + serialized_end=2314, +) + + +_TLS = _descriptor.Descriptor( + name='Tls', + full_name='istio.policy.v1beta1.Tls', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='ca_certificates', full_name='istio.policy.v1beta1.Tls.ca_certificates', 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='token_path', full_name='istio.policy.v1beta1.Tls.token_path', 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), + _descriptor.FieldDescriptor( + name='oauth', full_name='istio.policy.v1beta1.Tls.oauth', 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), + _descriptor.FieldDescriptor( + name='auth_header', full_name='istio.policy.v1beta1.Tls.auth_header', 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), + _descriptor.FieldDescriptor( + name='custom_header', full_name='istio.policy.v1beta1.Tls.custom_header', index=4, + number=5, 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=[ + _TLS_AUTHHEADER, + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='token_source', full_name='istio.policy.v1beta1.Tls.token_source', + index=0, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='token_type', full_name='istio.policy.v1beta1.Tls.token_type', + index=1, containing_type=None, fields=[]), + ], + serialized_start=2317, + serialized_end=2568, +) + + +_OAUTH_ENDPOINTPARAMSENTRY = _descriptor.Descriptor( + name='EndpointParamsEntry', + full_name='istio.policy.v1beta1.OAuth.EndpointParamsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='istio.policy.v1beta1.OAuth.EndpointParamsEntry.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.policy.v1beta1.OAuth.EndpointParamsEntry.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=2731, + serialized_end=2784, +) + +_OAUTH = _descriptor.Descriptor( + name='OAuth', + full_name='istio.policy.v1beta1.OAuth', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='client_id', full_name='istio.policy.v1beta1.OAuth.client_id', 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='client_secret', full_name='istio.policy.v1beta1.OAuth.client_secret', 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), + _descriptor.FieldDescriptor( + name='token_url', full_name='istio.policy.v1beta1.OAuth.token_url', index=2, + number=3, 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='scopes', full_name='istio.policy.v1beta1.OAuth.scopes', index=3, + number=4, 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), + _descriptor.FieldDescriptor( + name='endpoint_params', full_name='istio.policy.v1beta1.OAuth.endpoint_params', index=4, + number=5, 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=[_OAUTH_ENDPOINTPARAMSENTRY, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2571, + serialized_end=2784, +) + + +_MUTUAL = _descriptor.Descriptor( + name='Mutual', + full_name='istio.policy.v1beta1.Mutual', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='private_key', full_name='istio.policy.v1beta1.Mutual.private_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='client_certificate', full_name='istio.policy.v1beta1.Mutual.client_certificate', 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), + _descriptor.FieldDescriptor( + name='ca_certificates', full_name='istio.policy.v1beta1.Mutual.ca_certificates', index=2, + number=3, 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=2786, + serialized_end=2868, ) _ATTRIBUTEMANIFEST_ATTRIBUTEINFO.fields_by_name['value_type'].enum_type = policy_dot_v1beta1_dot_value__type__pb2._VALUETYPE @@ -723,12 +1000,38 @@ _HANDLER.fields_by_name['params'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT _HANDLER.fields_by_name['connection'].message_type = _CONNECTION _CONNECTION.fields_by_name['timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_CONNECTION.fields_by_name['authentication'].message_type = _AUTHENTICATION _SAMPLING.fields_by_name['random'].message_type = _RANDOMSAMPLING _SAMPLING.fields_by_name['rate_limit'].message_type = _RATELIMITSAMPLING _RANDOMSAMPLING.fields_by_name['percent_sampled'].message_type = _FRACTIONALPERCENT _RATELIMITSAMPLING.fields_by_name['sampling_duration'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _FRACTIONALPERCENT.fields_by_name['denominator'].enum_type = _FRACTIONALPERCENT_DENOMINATORTYPE _FRACTIONALPERCENT_DENOMINATORTYPE.containing_type = _FRACTIONALPERCENT +_AUTHENTICATION.fields_by_name['tls'].message_type = _TLS +_AUTHENTICATION.fields_by_name['mutual'].message_type = _MUTUAL +_AUTHENTICATION.oneofs_by_name['auth_type'].fields.append( + _AUTHENTICATION.fields_by_name['tls']) +_AUTHENTICATION.fields_by_name['tls'].containing_oneof = _AUTHENTICATION.oneofs_by_name['auth_type'] +_AUTHENTICATION.oneofs_by_name['auth_type'].fields.append( + _AUTHENTICATION.fields_by_name['mutual']) +_AUTHENTICATION.fields_by_name['mutual'].containing_oneof = _AUTHENTICATION.oneofs_by_name['auth_type'] +_TLS.fields_by_name['oauth'].message_type = _OAUTH +_TLS.fields_by_name['auth_header'].enum_type = _TLS_AUTHHEADER +_TLS_AUTHHEADER.containing_type = _TLS +_TLS.oneofs_by_name['token_source'].fields.append( + _TLS.fields_by_name['token_path']) +_TLS.fields_by_name['token_path'].containing_oneof = _TLS.oneofs_by_name['token_source'] +_TLS.oneofs_by_name['token_source'].fields.append( + _TLS.fields_by_name['oauth']) +_TLS.fields_by_name['oauth'].containing_oneof = _TLS.oneofs_by_name['token_source'] +_TLS.oneofs_by_name['token_type'].fields.append( + _TLS.fields_by_name['auth_header']) +_TLS.fields_by_name['auth_header'].containing_oneof = _TLS.oneofs_by_name['token_type'] +_TLS.oneofs_by_name['token_type'].fields.append( + _TLS.fields_by_name['custom_header']) +_TLS.fields_by_name['custom_header'].containing_oneof = _TLS.oneofs_by_name['token_type'] +_OAUTH_ENDPOINTPARAMSENTRY.containing_type = _OAUTH +_OAUTH.fields_by_name['endpoint_params'].message_type = _OAUTH_ENDPOINTPARAMSENTRY DESCRIPTOR.message_types_by_name['AttributeManifest'] = _ATTRIBUTEMANIFEST DESCRIPTOR.message_types_by_name['Rule'] = _RULE DESCRIPTOR.message_types_by_name['Action'] = _ACTION @@ -739,6 +1042,10 @@ DESCRIPTOR.message_types_by_name['RandomSampling'] = _RANDOMSAMPLING DESCRIPTOR.message_types_by_name['RateLimitSampling'] = _RATELIMITSAMPLING DESCRIPTOR.message_types_by_name['FractionalPercent'] = _FRACTIONALPERCENT +DESCRIPTOR.message_types_by_name['Authentication'] = _AUTHENTICATION +DESCRIPTOR.message_types_by_name['Tls'] = _TLS +DESCRIPTOR.message_types_by_name['OAuth'] = _OAUTH +DESCRIPTOR.message_types_by_name['Mutual'] = _MUTUAL _sym_db.RegisterFileDescriptor(DESCRIPTOR) AttributeManifest = _reflection.GeneratedProtocolMessageType('AttributeManifest', (_message.Message,), dict( @@ -843,6 +1150,42 @@ )) _sym_db.RegisterMessage(FractionalPercent) +Authentication = _reflection.GeneratedProtocolMessageType('Authentication', (_message.Message,), dict( + DESCRIPTOR = _AUTHENTICATION, + __module__ = 'policy.v1beta1.cfg_pb2' + # @@protoc_insertion_point(class_scope:istio.policy.v1beta1.Authentication) + )) +_sym_db.RegisterMessage(Authentication) + +Tls = _reflection.GeneratedProtocolMessageType('Tls', (_message.Message,), dict( + DESCRIPTOR = _TLS, + __module__ = 'policy.v1beta1.cfg_pb2' + # @@protoc_insertion_point(class_scope:istio.policy.v1beta1.Tls) + )) +_sym_db.RegisterMessage(Tls) + +OAuth = _reflection.GeneratedProtocolMessageType('OAuth', (_message.Message,), dict( + + EndpointParamsEntry = _reflection.GeneratedProtocolMessageType('EndpointParamsEntry', (_message.Message,), dict( + DESCRIPTOR = _OAUTH_ENDPOINTPARAMSENTRY, + __module__ = 'policy.v1beta1.cfg_pb2' + # @@protoc_insertion_point(class_scope:istio.policy.v1beta1.OAuth.EndpointParamsEntry) + )) + , + DESCRIPTOR = _OAUTH, + __module__ = 'policy.v1beta1.cfg_pb2' + # @@protoc_insertion_point(class_scope:istio.policy.v1beta1.OAuth) + )) +_sym_db.RegisterMessage(OAuth) +_sym_db.RegisterMessage(OAuth.EndpointParamsEntry) + +Mutual = _reflection.GeneratedProtocolMessageType('Mutual', (_message.Message,), dict( + DESCRIPTOR = _MUTUAL, + __module__ = 'policy.v1beta1.cfg_pb2' + # @@protoc_insertion_point(class_scope:istio.policy.v1beta1.Mutual) + )) +_sym_db.RegisterMessage(Mutual) + DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\033istio.io/api/policy/v1beta1')) @@ -854,4 +1197,6 @@ _CONNECTION.fields_by_name['timeout']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\230\337\037\001')) _RATELIMITSAMPLING.fields_by_name['sampling_duration'].has_options = True _RATELIMITSAMPLING.fields_by_name['sampling_duration']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\230\337\037\001')) +_OAUTH_ENDPOINTPARAMSENTRY.has_options = True +_OAUTH_ENDPOINTPARAMSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) # @@protoc_insertion_point(module_scope) From 6c1f2991ef1b3dfbe09a2334db41e4a4a39e862a Mon Sep 17 00:00:00 2001 From: Martin Taillefer Date: Mon, 17 Dec 2018 11:58:30 -0800 Subject: [PATCH 04/11] Fix a comment. (#740) --- networking/v1alpha3/destination_rule.pb.go | 2 +- networking/v1alpha3/destination_rule.proto | 2 +- networking/v1alpha3/istio.networking.v1alpha3.pb.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 434926b92d..db6e5630de 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -486,7 +486,7 @@ func (m *Subset) GetTrafficPolicy() *TrafficPolicy { // Load balancing policies to apply for a specific destination. See Envoy's // load balancing -// [documentation](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing.html) +// [documentation](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing/load_balancing) // for more details. // // For example, the following rule uses a round robin load balancing policy diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index e48b93c055..9e85b5223b 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -227,7 +227,7 @@ message Subset { // Load balancing policies to apply for a specific destination. See Envoy's // load balancing -// [documentation](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing.html) +// [documentation](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing/load_balancing) // for more details. // // For example, the following rule uses a round robin load balancing policy diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index 96792fe1a9..3bda0a1a0f 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -2198,7 +2198,7 @@

LoadBalancerSettings

Load balancing policies to apply for a specific destination. See Envoy’s load balancing -documentation +documentation for more details.

For example, the following rule uses a round robin load balancing policy From ac180ae6f71a81578860c931b36aaad6c924316d Mon Sep 17 00:00:00 2001 From: mtail Date: Thu, 20 Dec 2018 07:15:24 -0800 Subject: [PATCH 05/11] Comment typo fixes. --- networking/v1alpha3/istio.networking.v1alpha3.pb.html | 10 +++++----- networking/v1alpha3/service_dependency.pb.go | 4 ++-- networking/v1alpha3/service_dependency.proto | 6 +++--- networking/v1alpha3/virtual_service.pb.go | 6 +++--- networking/v1alpha3/virtual_service.proto | 8 ++++---- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index 3bda0a1a0f..eb09d99324 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -347,7 +347,7 @@

CorsPolicy

@@ -2121,8 +2121,8 @@

Headers.HeaderOperations

@@ -2976,7 +2976,7 @@

ServiceDependency

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 +

NOTE 2: To facilitate incremental pruning of 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 @@ -2985,7 +2985,7 @@

ServiceDependency

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

-

The example below delcares a ServiceDependency resource in the prod-us1 +

The example below declares 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.

diff --git a/networking/v1alpha3/service_dependency.pb.go b/networking/v1alpha3/service_dependency.pb.go index ff233c696c..9056219e7b 100644 --- a/networking/v1alpha3/service_dependency.pb.go +++ b/networking/v1alpha3/service_dependency.pb.go @@ -69,7 +69,7 @@ func (ConfigScope) EnumDescriptor() ([]byte, []int) { return fileDescriptorServi // 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 +// NOTE 2: To facilitate incremental pruning of 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 @@ -78,7 +78,7 @@ func (ConfigScope) EnumDescriptor() ([]byte, []int) { return fileDescriptorServi // // The following examples illustrate a few specific use cases of ServiceDependency. // -// The example below delcares a ServiceDependency resource in the prod-us1 +// The example below declares 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. // diff --git a/networking/v1alpha3/service_dependency.proto b/networking/v1alpha3/service_dependency.proto index f6c54c71a3..a5c5de84b7 100644 --- a/networking/v1alpha3/service_dependency.proto +++ b/networking/v1alpha3/service_dependency.proto @@ -44,7 +44,7 @@ option go_package = "istio.io/api/networking/v1alpha3"; // 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 +// NOTE 2: To facilitate incremental pruning of 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 @@ -53,7 +53,7 @@ option go_package = "istio.io/api/networking/v1alpha3"; // // The following examples illustrate a few specific use cases of ServiceDependency. // -// The example below delcares a ServiceDependency resource in the prod-us1 +// The example below declares 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. // @@ -143,7 +143,7 @@ message ServiceDependency { // explicitly specified namespaces, namespaces specified in the global // mesh config (through defaultServiceDependency.importNamespaces) will also be // imported. - repeated Import imports = 2; + repeated Import imports = 2; }; // REQUIRED. The set of services that workloads in this namespace are diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 9394e691ce..6affd52148 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -579,8 +579,8 @@ func (m *Headers) GetResponse() *Headers_HeaderOperations { 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) + // Append the given values to the headers specified by keys + // (will create a comma-separated 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"` @@ -1564,7 +1564,7 @@ type CorsPolicy struct { // A white list of HTTP headers that the browsers are allowed to // access. Serialized into Access-Control-Expose-Headers header. ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders" json:"expose_headers,omitempty"` - // Specifies how long the the results of a preflight request can be + // Specifies how long the results of a preflight request can be // cached. Translates to the Access-Control-Max-Age header. MaxAge *google_protobuf.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge" json:"max_age,omitempty"` // Indicates whether the caller is allowed to send the actual request diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index 985c29f168..34e60cb9ce 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -418,7 +418,7 @@ message HTTPRoute { // Header manipulation rules message Headers { - // Header manipulation rules to apply before forwarding a request + // 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 @@ -429,8 +429,8 @@ message Headers { 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) + // Append the given values to the headers specified by keys + // (will create a comma-separated list of values) map add = 2; // Remove a the specified headers repeated string remove = 3; @@ -965,7 +965,7 @@ message CorsPolicy { // access. Serialized into Access-Control-Expose-Headers header. repeated string expose_headers = 4; - // Specifies how long the the results of a preflight request can be + // Specifies how long the results of a preflight request can be // cached. Translates to the Access-Control-Max-Age header. google.protobuf.Duration max_age = 5; From 08a19da534b6af15279d11f20f5c1db4fa526fff Mon Sep 17 00:00:00 2001 From: Zhonghu Xu Date: Sat, 29 Dec 2018 12:41:20 +0800 Subject: [PATCH 06/11] Add per service locality weight setting (#726) * Add locality weight setting * generate * Add locality weight setting * generate * Add locality weight setting * make proto commit --- networking/v1alpha3/destination_rule.pb.go | 555 +++++++++++++++--- networking/v1alpha3/destination_rule.proto | 45 ++ .../istio.networking.v1alpha3.pb.html | 74 ++- proto.lock | 26 + .../v1alpha3/destination_rule_pb2.py | 149 ++++- 5 files changed, 735 insertions(+), 114 deletions(-) diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index db6e5630de..33824eba8f 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -522,6 +522,32 @@ func (m *Subset) GetTrafficPolicy() *TrafficPolicy { // name: user // ttl: 0s // ``` +// +// The following example sets up locality weight for the ratings service +// Assume ratings service resides in "region1/zone1/*" and "region1/zone2/*", +// and originating clusters also reside in "region1/zone1/*" and "region1/zone2/*". +// This example specifies when clusters from "region1/zone1/*" accessing ratings service, 80% of the traffic +// is shipped to "region1/zone1/*" ratings service endpoints, and the rest 20% to "region1/zone2/*". +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: DestinationRule +// metadata: +// name: bookinfo-ratings +// spec: +// host: ratings.prod.svc.cluster.local +// trafficPolicy: +// loadBalancer: +// localityWeightSettings: +// - from: region1/zone1/* +// to: +// "region1/zone1/*": 80 +// "region1/zone2/*": 20 +// - from: region1/zone2/* +// to: +// "region1/zone1/*": 20 +// "region1/zone2/*": 80 +// ``` type LoadBalancerSettings struct { // Upstream load balancing policy. // @@ -529,6 +555,11 @@ type LoadBalancerSettings struct { // *LoadBalancerSettings_Simple // *LoadBalancerSettings_ConsistentHash LbPolicy isLoadBalancerSettings_LbPolicy `protobuf_oneof:"lb_policy"` + // Explicitly assign loadbalancing weight across different zones and geographical locations. + // Refer to [Locality weighted load balancing](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing.html?highlight=load_balancing_weight#locality-weighted-load-balancing) + // If empty, the locality weight is set according to the endpoints number within it. + // If duplicated settings are present, then the first one will take effect. + LocalityWeightSettings []*LoadBalancerSettings_LocalityWeightSetting `protobuf:"bytes,3,rep,name=locality_weight_settings,json=localityWeightSettings" json:"locality_weight_settings,omitempty"` } func (m *LoadBalancerSettings) Reset() { *m = LoadBalancerSettings{} } @@ -575,6 +606,13 @@ func (m *LoadBalancerSettings) GetConsistentHash() *LoadBalancerSettings_Consist return nil } +func (m *LoadBalancerSettings) GetLocalityWeightSettings() []*LoadBalancerSettings_LocalityWeightSetting { + if m != nil { + return m.LocalityWeightSettings + } + return nil +} + // XXX_OneofFuncs is for the internal use of the proto package. func (*LoadBalancerSettings) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { return _LoadBalancerSettings_OneofMarshaler, _LoadBalancerSettings_OneofUnmarshaler, _LoadBalancerSettings_OneofSizer, []interface{}{ @@ -863,6 +901,43 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) GetTtl() *time.Durati return nil } +// Originating -> upstream cluster locality weight set, support wildcard matching '*' +// '*' matches all localities +// 'region1/*' matches all zones in region1 +type LoadBalancerSettings_LocalityWeightSetting struct { + // Originating locality, '/' separated, e.g. 'region/zone/sub_zone'. + From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` + // Upstream locality to loadbalancing weight map. The sum of all weights should be == 100. + // Should assign loadbalancing weight for all localities, otherwise the traffic are not routed + // following the percentage of weight. + To map[string]uint32 `protobuf:"bytes,2,rep,name=to" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (m *LoadBalancerSettings_LocalityWeightSetting) Reset() { + *m = LoadBalancerSettings_LocalityWeightSetting{} +} +func (m *LoadBalancerSettings_LocalityWeightSetting) String() string { + return proto.CompactTextString(m) +} +func (*LoadBalancerSettings_LocalityWeightSetting) ProtoMessage() {} +func (*LoadBalancerSettings_LocalityWeightSetting) Descriptor() ([]byte, []int) { + return fileDescriptorDestinationRule, []int{3, 1} +} + +func (m *LoadBalancerSettings_LocalityWeightSetting) GetFrom() string { + if m != nil { + return m.From + } + return "" +} + +func (m *LoadBalancerSettings_LocalityWeightSetting) GetTo() map[string]uint32 { + if m != nil { + return m.To + } + return nil +} + // Connection pool settings for an upstream host. The settings apply to // each individual host in the upstream service. See Envoy's [circuit // breaker](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/circuit_breaking) @@ -1284,6 +1359,7 @@ func init() { proto.RegisterType((*LoadBalancerSettings)(nil), "istio.networking.v1alpha3.LoadBalancerSettings") proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB") proto.RegisterType((*LoadBalancerSettings_ConsistentHashLB_HTTPCookie)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookie") + proto.RegisterType((*LoadBalancerSettings_LocalityWeightSetting)(nil), "istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting") 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") @@ -1555,6 +1631,18 @@ func (m *LoadBalancerSettings) MarshalTo(dAtA []byte) (int, error) { } i += nn12 } + if len(m.LocalityWeightSettings) > 0 { + for _, msg := range m.LocalityWeightSettings { + dAtA[i] = 0x1a + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } return i, nil } @@ -1683,6 +1771,46 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) MarshalTo(dAtA []byte return i, nil } +func (m *LoadBalancerSettings_LocalityWeightSetting) 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 *LoadBalancerSettings_LocalityWeightSetting) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.From) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(len(m.From))) + i += copy(dAtA[i:], m.From) + } + if len(m.To) > 0 { + for k, _ := range m.To { + dAtA[i] = 0x12 + i++ + v := m.To[k] + mapSize := 1 + len(k) + sovDestinationRule(uint64(len(k))) + 1 + sovDestinationRule(uint64(v)) + i = encodeVarintDestinationRule(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x10 + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(v)) + } + } + return i, nil +} + func (m *ConnectionPoolSettings) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2074,6 +2202,12 @@ func (m *LoadBalancerSettings) Size() (n int) { if m.LbPolicy != nil { n += m.LbPolicy.Size() } + if len(m.LocalityWeightSettings) > 0 { + for _, e := range m.LocalityWeightSettings { + l = e.Size() + n += 1 + l + sovDestinationRule(uint64(l)) + } + } return n } @@ -2144,6 +2278,24 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Size() (n int) { return n } +func (m *LoadBalancerSettings_LocalityWeightSetting) Size() (n int) { + var l int + _ = l + l = len(m.From) + if l > 0 { + n += 1 + l + sovDestinationRule(uint64(l)) + } + if len(m.To) > 0 { + for k, v := range m.To { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovDestinationRule(uint64(len(k))) + 1 + sovDestinationRule(uint64(v)) + n += mapEntrySize + 1 + sovDestinationRule(uint64(mapEntrySize)) + } + } + return n +} + func (m *ConnectionPoolSettings) Size() (n int) { var l int _ = l @@ -3178,6 +3330,37 @@ func (m *LoadBalancerSettings) Unmarshal(dAtA []byte) error { } m.LbPolicy = &LoadBalancerSettings_ConsistentHash{v} iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LocalityWeightSettings", 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 + } + m.LocalityWeightSettings = append(m.LocalityWeightSettings, &LoadBalancerSettings_LocalityWeightSetting{}) + if err := m.LocalityWeightSettings[len(m.LocalityWeightSettings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipDestinationRule(dAtA[iNdEx:]) @@ -3491,6 +3674,192 @@ func (m *LoadBalancerSettings_ConsistentHashLB_HTTPCookie) Unmarshal(dAtA []byte } return nil } +func (m *LoadBalancerSettings_LocalityWeightSetting) 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: LocalityWeightSetting: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LocalityWeightSetting: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + 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 ErrInvalidLengthDestinationRule + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.From = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field To", 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.To == nil { + m.To = make(map[string]uint32) + } + var mapkey string + var mapvalue uint32 + for iNdEx < postIndex { + entryPreIndex := 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) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + 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 ErrInvalidLengthDestinationRule + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapvalue |= (uint32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + } else { + iNdEx = entryPreIndex + skippy, err := skipDestinationRule(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthDestinationRule + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.To[mapkey] = mapvalue + 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) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -4500,94 +4869,100 @@ func init() { } var fileDescriptorDestinationRule = []byte{ - // 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, + // 1511 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6f, 0x1b, 0x37, + 0x16, 0xb6, 0x7e, 0x58, 0xb6, 0x9f, 0x6c, 0x59, 0xe6, 0x7a, 0xb3, 0x8a, 0x16, 0x70, 0xbc, 0xc2, + 0x62, 0xe3, 0xcd, 0x26, 0xa3, 0xb5, 0x83, 0x00, 0x69, 0x82, 0x14, 0xb1, 0x6c, 0x21, 0x72, 0x23, + 0x5b, 0x02, 0x25, 0xa3, 0x45, 0x80, 0x62, 0x40, 0x8d, 0x68, 0x89, 0xf1, 0x68, 0x38, 0x1d, 0x72, + 0x14, 0x3b, 0x97, 0xfe, 0x03, 0x3d, 0x07, 0xbd, 0xf6, 0x4f, 0xe9, 0xad, 0xe8, 0xa9, 0xd7, 0xf6, + 0xd2, 0x22, 0xd7, 0x1e, 0x7a, 0xea, 0xa5, 0x87, 0xa2, 0x20, 0x87, 0x23, 0xc9, 0x89, 0x62, 0xc7, + 0x48, 0x72, 0xe3, 0xf0, 0x7d, 0xdf, 0x23, 0xf9, 0xde, 0xc7, 0xc7, 0x37, 0x70, 0xc3, 0xa3, 0xf2, + 0x19, 0x0f, 0x8e, 0x99, 0xd7, 0x2b, 0x0f, 0x37, 0x89, 0xeb, 0xf7, 0xc9, 0xed, 0x72, 0x97, 0x0a, + 0xc9, 0x3c, 0x22, 0x19, 0xf7, 0xec, 0x20, 0x74, 0xa9, 0xe5, 0x07, 0x5c, 0x72, 0x74, 0x95, 0x09, + 0xc9, 0xb8, 0x35, 0x66, 0x58, 0x31, 0xa3, 0xb8, 0xd6, 0xe3, 0xbc, 0xe7, 0xd2, 0xb2, 0x06, 0x76, + 0xc2, 0xa3, 0x72, 0x37, 0x0c, 0x34, 0x3f, 0xa2, 0x16, 0xff, 0x3b, 0x6d, 0x99, 0x21, 0x0b, 0x64, + 0x48, 0x5c, 0x5b, 0xd0, 0x60, 0xc8, 0x1c, 0xb3, 0x4a, 0xf1, 0xe6, 0x34, 0xa8, 0x81, 0xd8, 0x5d, + 0xea, 0x53, 0xaf, 0x4b, 0x3d, 0xe7, 0xd4, 0xa0, 0x57, 0x7b, 0xbc, 0xc7, 0xf5, 0xb0, 0xac, 0x46, + 0xd1, 0x6c, 0xe9, 0xcf, 0x04, 0x2c, 0xef, 0x8e, 0x0f, 0x81, 0x43, 0x97, 0x22, 0x04, 0xe9, 0x3e, + 0x17, 0xb2, 0x90, 0x58, 0x4f, 0x6c, 0x2c, 0x60, 0x3d, 0x46, 0x0d, 0xc8, 0xc9, 0x80, 0x1c, 0x1d, + 0x31, 0xc7, 0xf6, 0xb9, 0xcb, 0x9c, 0xd3, 0x42, 0x72, 0x3d, 0xb1, 0x91, 0xdd, 0xda, 0xb0, 0xde, + 0x78, 0x54, 0xab, 0x1d, 0x11, 0x9a, 0x1a, 0x8f, 0x97, 0xe4, 0xe4, 0x27, 0xba, 0x0f, 0x73, 0x22, + 0xec, 0x08, 0x2a, 0x45, 0x21, 0xb5, 0x9e, 0xda, 0xc8, 0x6e, 0xfd, 0xeb, 0x1c, 0x4f, 0x2d, 0x8d, + 0xc4, 0x31, 0x03, 0xed, 0xc1, 0xa2, 0xc3, 0xbd, 0x23, 0xd6, 0xb3, 0x85, 0xc3, 0x7d, 0x5a, 0x48, + 0xaf, 0x27, 0x36, 0x72, 0x5b, 0xff, 0x39, 0xc7, 0xc3, 0x8e, 0x86, 0xb7, 0x14, 0x1a, 0x67, 0x9d, + 0xf1, 0x47, 0xe9, 0xa7, 0x0c, 0x2c, 0x9d, 0xd9, 0x28, 0x6a, 0xc3, 0x92, 0xcb, 0x49, 0xd7, 0xee, + 0x10, 0x97, 0x78, 0x0e, 0x0d, 0x74, 0x1c, 0xb2, 0x5b, 0xe5, 0x73, 0xbc, 0xd7, 0x39, 0xe9, 0x56, + 0x0c, 0xbc, 0x45, 0xa5, 0x64, 0x5e, 0x4f, 0xe0, 0x45, 0x77, 0x62, 0x16, 0x3d, 0x81, 0x65, 0x87, + 0x7b, 0x1e, 0x75, 0xb4, 0x56, 0x7c, 0xce, 0x5d, 0x13, 0xc1, 0xcd, 0xf3, 0x77, 0x6d, 0x18, 0x4d, + 0xce, 0xdd, 0x91, 0xe7, 0x9c, 0x73, 0x66, 0x1e, 0x7d, 0x06, 0x2b, 0x3c, 0x94, 0x2e, 0xa3, 0x81, + 0xdd, 0xa5, 0x32, 0x32, 0x14, 0x52, 0xda, 0xfb, 0xff, 0xce, 0xf1, 0xde, 0x88, 0x38, 0xbb, 0x31, + 0x05, 0xe7, 0xf9, 0x2b, 0x33, 0xe8, 0x2e, 0xa4, 0xa4, 0x2b, 0x74, 0x7c, 0xb3, 0xe7, 0xc6, 0xb7, + 0x5d, 0x6f, 0x8d, 0xb6, 0xa7, 0x28, 0xe8, 0x29, 0xfc, 0xcd, 0xe7, 0x81, 0xb4, 0x5d, 0x3a, 0xa4, + 0x4a, 0xb8, 0x91, 0xad, 0x30, 0xab, 0x73, 0x7d, 0xef, 0x6d, 0x55, 0x63, 0x35, 0x79, 0x20, 0xcf, + 0xea, 0x68, 0x45, 0xb9, 0xad, 0x2b, 0xaf, 0xf1, 0x82, 0xc5, 0x17, 0x29, 0x58, 0x79, 0x0d, 0x88, + 0xee, 0x43, 0x5a, 0x41, 0x4d, 0xfa, 0xae, 0x9f, 0xb3, 0xa4, 0xe2, 0xb6, 0xa8, 0x4b, 0x1d, 0xc9, + 0x03, 0xac, 0x49, 0xaf, 0x8b, 0x20, 0xf9, 0x81, 0x44, 0x90, 0xfa, 0xa0, 0x22, 0x48, 0xbf, 0x47, + 0x11, 0xcc, 0x5e, 0x5a, 0x04, 0xa5, 0xdf, 0x12, 0x90, 0x89, 0xee, 0xae, 0x2a, 0x2a, 0x1e, 0x19, + 0xd0, 0xb8, 0xa8, 0xa8, 0x31, 0xaa, 0x42, 0xc6, 0x25, 0x1d, 0xea, 0x8a, 0x42, 0x52, 0xcb, 0xe2, + 0xd6, 0x85, 0x25, 0xc0, 0xaa, 0x6b, 0x7c, 0xd5, 0x93, 0xc1, 0x29, 0x36, 0xe4, 0x29, 0xb5, 0x29, + 0xf5, 0x4e, 0xb5, 0xa9, 0xf8, 0x11, 0x64, 0x27, 0xd6, 0x41, 0x79, 0x48, 0x1d, 0xd3, 0x53, 0xb3, + 0x73, 0x35, 0x44, 0xab, 0x30, 0x3b, 0x24, 0x6e, 0x48, 0xb5, 0x2a, 0x16, 0x70, 0xf4, 0x71, 0x2f, + 0x79, 0x37, 0x51, 0xfa, 0x75, 0x0e, 0x56, 0xa7, 0x09, 0x01, 0x61, 0xc8, 0x08, 0x36, 0xf0, 0xdd, + 0x28, 0x02, 0xb9, 0xad, 0xbb, 0x97, 0x54, 0x92, 0xd5, 0xd2, 0xec, 0x7a, 0xa5, 0x36, 0x83, 0x8d, + 0x27, 0x74, 0xac, 0xe5, 0x24, 0x98, 0x90, 0xd4, 0x93, 0x76, 0x9f, 0x88, 0xbe, 0x91, 0xe9, 0xc3, + 0xcb, 0x3a, 0xdf, 0x19, 0xb9, 0xa9, 0x11, 0xd1, 0xd7, 0x8b, 0xe4, 0x9c, 0x33, 0x73, 0xe8, 0x4b, + 0x28, 0xb8, 0xdc, 0x21, 0x2e, 0x93, 0xa7, 0xf6, 0x33, 0xca, 0x7a, 0x7d, 0x39, 0xbe, 0xd5, 0x51, + 0x05, 0xaf, 0x5e, 0x76, 0xd5, 0xba, 0xf1, 0xf7, 0xa9, 0x76, 0x67, 0xa6, 0xf1, 0x15, 0x77, 0xda, + 0xb4, 0x28, 0xfe, 0x9e, 0x84, 0xfc, 0xab, 0xfb, 0x44, 0x37, 0x20, 0xdf, 0x97, 0xd2, 0xb7, 0xfb, + 0x94, 0x74, 0x69, 0x60, 0x8f, 0x25, 0xa6, 0x4e, 0xa0, 0x2c, 0x35, 0x6d, 0x38, 0x50, 0x72, 0xf3, + 0x20, 0xab, 0xb1, 0x0e, 0xe7, 0xc7, 0x8c, 0x9a, 0x50, 0x3d, 0x7e, 0xd7, 0x50, 0x59, 0xb5, 0x76, + 0xbb, 0xb9, 0xa3, 0x5d, 0xd6, 0x66, 0x30, 0xa8, 0x15, 0xa2, 0x2f, 0xf4, 0x6f, 0x58, 0x0a, 0x05, + 0xb5, 0x05, 0x0f, 0x03, 0x87, 0xda, 0xcc, 0xd7, 0xb2, 0x9c, 0xaf, 0xcd, 0xe0, 0x6c, 0x28, 0x68, + 0x4b, 0xcf, 0xee, 0xf9, 0xe8, 0x06, 0xac, 0x0c, 0x98, 0xc7, 0x06, 0xe1, 0xc0, 0x0e, 0x98, 0xd7, + 0xb3, 0x05, 0x7b, 0x1e, 0x3d, 0x68, 0x69, 0xbc, 0x6c, 0x0c, 0x98, 0x79, 0xbd, 0x16, 0x7b, 0x4e, + 0x8b, 0x3d, 0x80, 0xf1, 0x6a, 0x53, 0xaf, 0x14, 0x82, 0xb4, 0x4f, 0x64, 0xdf, 0x08, 0x53, 0x8f, + 0xd1, 0x26, 0xa4, 0xa4, 0x8c, 0x2b, 0xcd, 0x55, 0x2b, 0x6a, 0x40, 0xac, 0xb8, 0x01, 0xb1, 0x76, + 0x4d, 0x03, 0x52, 0x49, 0x7f, 0xfd, 0xf3, 0xb5, 0x04, 0x56, 0xd8, 0x0a, 0xc0, 0xbc, 0x92, 0x93, + 0x7d, 0x4c, 0x4f, 0x8b, 0xdf, 0x26, 0xe0, 0xef, 0x53, 0x33, 0xa5, 0x16, 0x3b, 0x0a, 0xf8, 0x20, + 0xde, 0x80, 0x1a, 0xa3, 0xcf, 0x21, 0x29, 0xb9, 0xb9, 0xcf, 0xfb, 0xef, 0x45, 0x10, 0x56, 0x9b, + 0x47, 0xf7, 0x3d, 0x29, 0x79, 0xf1, 0x0e, 0xcc, 0x99, 0xcf, 0x8b, 0xae, 0xe5, 0xd2, 0xe4, 0xb5, + 0xac, 0xc1, 0x7c, 0x7c, 0x7f, 0xd0, 0x32, 0x64, 0x71, 0xe3, 0xf0, 0x60, 0xd7, 0xc6, 0x8d, 0xca, + 0xde, 0x41, 0x7e, 0x06, 0xe5, 0x00, 0xea, 0xd5, 0xed, 0x56, 0xdb, 0xde, 0x69, 0x1c, 0x1c, 0xe4, + 0x13, 0x08, 0x20, 0x83, 0xb7, 0x0f, 0x76, 0x1b, 0xfb, 0xf9, 0xa4, 0x02, 0x37, 0xb7, 0x5b, 0xad, + 0x76, 0x0d, 0x37, 0x0e, 0x1f, 0xd5, 0xf2, 0xa9, 0x4a, 0x16, 0x16, 0xdc, 0x8e, 0xa9, 0x33, 0xa5, + 0x17, 0x19, 0xb8, 0x32, 0xbd, 0x3c, 0xa3, 0x06, 0xa4, 0xa4, 0xe3, 0x9b, 0xc7, 0xe7, 0xc1, 0xa5, + 0xcb, 0xbb, 0xd5, 0xde, 0x69, 0x4e, 0xd4, 0x52, 0xc7, 0x47, 0x18, 0xd2, 0x4a, 0x5b, 0x46, 0xb6, + 0x1f, 0x5f, 0xde, 0xa3, 0x52, 0xce, 0xc8, 0xa5, 0xf6, 0x55, 0xfc, 0x23, 0x09, 0xd9, 0x89, 0x85, + 0xd0, 0x75, 0x58, 0x1e, 0x90, 0x13, 0x7b, 0xfc, 0xb2, 0x08, 0x7d, 0x80, 0x59, 0x9c, 0x1b, 0x90, + 0x93, 0xb1, 0x5b, 0x81, 0x2a, 0xa3, 0x87, 0xcc, 0x96, 0x6c, 0x40, 0x79, 0x28, 0xcd, 0xbe, 0xde, + 0x2c, 0xaf, 0xd1, 0x83, 0xd5, 0x8e, 0x08, 0x88, 0xc3, 0x92, 0x74, 0x7c, 0xfb, 0x98, 0x52, 0x9f, + 0xb8, 0x6c, 0x48, 0x8d, 0x40, 0x3f, 0x79, 0xa7, 0x58, 0x59, 0x6d, 0xc7, 0x7f, 0x1c, 0x7b, 0xc4, + 0x8b, 0x72, 0xe2, 0xab, 0xf8, 0x55, 0x02, 0x16, 0x27, 0xcd, 0xe8, 0x0a, 0x64, 0xfc, 0x80, 0x77, + 0x68, 0x74, 0xca, 0x25, 0x6c, 0xbe, 0xd0, 0x2d, 0x48, 0xab, 0x53, 0x5d, 0x7c, 0x24, 0x0d, 0x43, + 0x77, 0x60, 0x9e, 0x79, 0x92, 0x06, 0x43, 0x72, 0xf1, 0x25, 0xc3, 0x23, 0x68, 0xf1, 0xc7, 0x04, + 0x2c, 0x4e, 0xe6, 0x04, 0xdd, 0x87, 0xa2, 0xca, 0xca, 0xa6, 0xad, 0x72, 0xa0, 0xba, 0x77, 0x55, + 0x0e, 0x02, 0xfa, 0x45, 0x48, 0x85, 0x8c, 0x13, 0xf1, 0x0f, 0x8d, 0xd8, 0x27, 0x27, 0xcd, 0xc8, + 0x8e, 0x8d, 0x19, 0xdd, 0x04, 0xa4, 0x4c, 0x5b, 0x9a, 0x3c, 0x22, 0x25, 0x35, 0x49, 0x97, 0xc8, + 0xad, 0x7d, 0x72, 0x32, 0x42, 0x3f, 0x80, 0x7f, 0x4e, 0xe2, 0x6c, 0x9f, 0x06, 0x13, 0x59, 0xd7, + 0xa7, 0x98, 0xc5, 0x85, 0xc1, 0x98, 0xd1, 0xa4, 0xc1, 0x38, 0xf8, 0xe8, 0x1a, 0x64, 0x23, 0xba, + 0x0c, 0x18, 0x8d, 0xda, 0xc3, 0x59, 0x0c, 0x1a, 0xae, 0x67, 0x4a, 0xdf, 0x24, 0x21, 0xff, 0x6a, + 0x67, 0x81, 0x6e, 0x01, 0x52, 0x6f, 0x0a, 0x75, 0x42, 0xc9, 0x86, 0xd4, 0xa6, 0x41, 0xc0, 0x83, + 0xf8, 0x5c, 0x2b, 0x13, 0x96, 0xaa, 0x36, 0x9c, 0x09, 0x6b, 0xf2, 0xad, 0xc3, 0x8a, 0x1e, 0x01, + 0xea, 0x10, 0x41, 0x6d, 0xfa, 0xd4, 0xb4, 0x59, 0x3a, 0x95, 0x17, 0xe6, 0x25, 0xaf, 0x48, 0x55, + 0xc3, 0x51, 0x12, 0x45, 0xff, 0x87, 0x55, 0x75, 0xc8, 0x91, 0x1f, 0x9f, 0x06, 0x0e, 0xf5, 0xa4, + 0x39, 0x2d, 0x1a, 0x90, 0x93, 0x18, 0xde, 0x8c, 0x2c, 0x2a, 0x07, 0x03, 0xe6, 0xa9, 0xb7, 0xc8, + 0x95, 0xfd, 0x11, 0x7e, 0x36, 0xca, 0xc1, 0x80, 0x79, 0x35, 0x6d, 0x30, 0xe8, 0xd2, 0xf7, 0xea, + 0xf2, 0x8d, 0x3b, 0x26, 0x54, 0x81, 0xf4, 0x80, 0x77, 0xe3, 0xfe, 0xc0, 0x7a, 0xbb, 0x3e, 0x4b, + 0x8d, 0x15, 0x0b, 0x6b, 0xae, 0x0e, 0xb1, 0xcb, 0x54, 0x37, 0xe0, 0xd0, 0x40, 0xb2, 0x23, 0xe6, + 0x10, 0x19, 0x77, 0x29, 0x2b, 0x91, 0x65, 0x67, 0x6c, 0x50, 0x79, 0xf4, 0x03, 0x36, 0x24, 0x92, + 0xaa, 0x4a, 0xaf, 0x83, 0xb4, 0x80, 0xc1, 0x4c, 0x3d, 0xa6, 0xa7, 0xaa, 0x20, 0x38, 0x64, 0xd2, + 0x57, 0x94, 0xec, 0x05, 0x9c, 0x73, 0xc8, 0x84, 0x23, 0xa1, 0x5e, 0x31, 0x11, 0x76, 0x54, 0x3c, + 0x6c, 0xe2, 0x4a, 0xfd, 0x0e, 0x47, 0xcd, 0xfe, 0x02, 0x5e, 0x36, 0x86, 0x6d, 0x57, 0xaa, 0x67, + 0x58, 0xa8, 0xc2, 0x2d, 0x3c, 0x56, 0xc8, 0x44, 0x85, 0x5b, 0x78, 0xac, 0xf4, 0x10, 0xe6, 0xcc, + 0x39, 0x50, 0x16, 0xe6, 0x76, 0xf7, 0x5a, 0xdb, 0x95, 0x7a, 0x35, 0x3f, 0xa3, 0x2a, 0x71, 0x6b, + 0x6f, 0xbf, 0x59, 0xaf, 0x46, 0x55, 0x79, 0xff, 0xb0, 0x7d, 0xb8, 0x5d, 0xcf, 0x27, 0x51, 0x1e, + 0x16, 0xf7, 0x5a, 0xed, 0xbd, 0x86, 0x6d, 0x66, 0x52, 0x15, 0xeb, 0xbb, 0x97, 0x6b, 0x89, 0x1f, + 0x5e, 0xae, 0x25, 0x7e, 0x79, 0xb9, 0x96, 0x78, 0xb2, 0x1e, 0xc5, 0x8e, 0xf1, 0x32, 0xf1, 0x59, + 0x79, 0xca, 0x6f, 0x72, 0x27, 0xa3, 0x15, 0x70, 0xfb, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf9, + 0xac, 0x46, 0x5e, 0xd6, 0x0f, 0x00, 0x00, } diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index 9e85b5223b..bef39882ee 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -263,6 +263,32 @@ message Subset { // name: user // ttl: 0s // ``` +// +// The following example sets up locality weight for the ratings service +// Assume ratings service resides in "region1/zone1/*" and "region1/zone2/*", +// and originating clusters also reside in "region1/zone1/*" and "region1/zone2/*". +// This example specifies when clusters from "region1/zone1/*" accessing ratings service, 80% of the traffic +// is shipped to "region1/zone1/*" ratings service endpoints, and the rest 20% to "region1/zone2/*". +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: DestinationRule +// metadata: +// name: bookinfo-ratings +// spec: +// host: ratings.prod.svc.cluster.local +// trafficPolicy: +// loadBalancer: +// localityWeightSettings: +// - from: region1/zone1/* +// to: +// "region1/zone1/*": 80 +// "region1/zone2/*": 20 +// - from: region1/zone2/* +// to: +// "region1/zone1/*": 20 +// "region1/zone2/*": 80 +// ``` message LoadBalancerSettings { // Standard load balancing algorithms that require no tuning. enum SimpleLB { @@ -326,6 +352,19 @@ message LoadBalancerSettings { uint64 minimum_ring_size = 4; }; + // Originating -> upstream cluster locality weight set, support wildcard matching '*' + // '*' matches all localities + // 'region1/*' matches all zones in region1 + message LocalityWeightSetting{ + // Originating locality, '/' separated, e.g. 'region/zone/sub_zone'. + string from = 1; + + // Upstream locality to loadbalancing weight map. The sum of all weights should be == 100. + // Should assign loadbalancing weight for all localities, otherwise the traffic are not routed + // following the percentage of weight. + map to = 2; + }; + // (-- TODO: Enable Subset load balancing after moving to v2 API Also // look into enabling Priotity based load balancing for spilling over // from one priority pool to another. --) @@ -335,6 +374,12 @@ message LoadBalancerSettings { SimpleLB simple = 1; ConsistentHashLB consistent_hash = 2; } + + // Explicitly assign loadbalancing weight across different zones and geographical locations. + // Refer to [Locality weighted load balancing](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing.html?highlight=load_balancing_weight#locality-weighted-load-balancing) + // If empty, the locality weight is set according to the endpoints number within it. + // If duplicated settings are present, then the first one will take effect. + repeated LocalityWeightSetting locality_weight_settings = 3; } // Connection pool settings for an upstream host. The settings apply to diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index eb09d99324..b301c39578 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: 59 +number_of_entries: 60 ---

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

@@ -2233,6 +2233,31 @@

LoadBalancerSettings

ttl: 0s +

The following example sets up locality weight for the ratings service +Assume ratings service resides in “region1/zone1/” and “region1/zone2/”, +and originating clusters also reside in “region1/zone1/” and “region1/zone2/”. +This example specifies when clusters from “region1/zone1/” accessing ratings service, 80% of the traffic +is shipped to “region1/zone1/” ratings service endpoints, and the rest 20% to “region1/zone2/*”.

+ +
 apiVersion: networking.istio.io/v1alpha3
+ kind: DestinationRule
+ metadata:
+   name: bookinfo-ratings
+ spec:
+   host: ratings.prod.svc.cluster.local
+   trafficPolicy:
+     loadBalancer:
+       localityWeightSettings:
+         - from: region1/zone1/*
+           to:
+             "region1/zone1/*": 80
+             "region1/zone2/*": 20
+         - from: region1/zone2/*
+           to:
+             "region1/zone1/*": 20
+             "region1/zone2/*": 80
+
+
NameDescription
PLAIN +

Access token is passed in authorization header as what it is +(authorization: some-token).

+ +
BEARER +

Access token is passed to adapter as bearer token (i.e. authorization: +bearer some-token).

+
maxAge google.protobuf.Duration -

Specifies how long the the results of a preflight request can be +

Specifies how long the results of a preflight request can be cached. Translates to the Access-Control-Max-Age header.

add map<string, string> -

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

+

Append the given values to the headers specified by keys +(will create a comma-separated list of values)

@@ -2252,6 +2277,17 @@

LoadBalancerSettings

+ + + + + @@ -2351,6 +2387,42 @@

LoadBalancerSettings.C

+ + +
consistentHash LoadBalancerSettings.ConsistentHashLB (oneof) +
localityWeightSettingsLoadBalancerSettings.LocalityWeightSetting[] +

Explicitly assign loadbalancing weight across different zones and geographical locations. +Refer to Locality weighted load balancing +If empty, the locality weight is set according to the endpoints number within it. +If duplicated settings are present, then the first one will take effect.

+

REQUIRED. Lifetime of the cookie.

+
+
+

LoadBalancerSettings.LocalityWeightSetting

+
+

Originating -> upstream cluster locality weight set, support wildcard matching ‘’ +‘’ matches all localities +‘region1/*’ matches all zones in region1

+ + + + + + + + + + + + + + + + + + + diff --git a/proto.lock b/proto.lock index 8cac97fc71..5742b07542 100644 --- a/proto.lock +++ b/proto.lock @@ -2594,6 +2594,12 @@ "id": 2, "name": "consistent_hash", "type": "ConsistentHashLB" + }, + { + "id": 3, + "name": "locality_weight_settings", + "type": "LocalityWeightSetting", + "is_repeated": true } ], "messages": [ @@ -2643,6 +2649,26 @@ ] } ] + }, + { + "name": "LocalityWeightSetting", + "fields": [ + { + "id": 1, + "name": "from", + "type": "string" + } + ], + "maps": [ + { + "key_type": "string", + "field": { + "id": 2, + "name": "to", + "type": "uint32" + } + } + ] } ] }, diff --git a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py index a3bc60696a..0d804386c9 100644 --- a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py +++ b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py @@ -23,7 +23,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,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') + 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\"\xda\x06\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\x12g\n\x18locality_weight_settings\x18\x03 \x03(\x0b\x32\x45.istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting\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\x1a\xab\x01\n\x15LocalityWeightSetting\x12\x0c\n\x04\x66rom\x18\x01 \x01(\t\x12Y\n\x02to\x18\x02 \x03(\x0b\x32M.istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting.ToEntry\x1a)\n\x07ToEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"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_service__dependency__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,]) @@ -54,8 +54,8 @@ ], containing_type=None, options=None, - serialized_start=1856, - serialized_end=1928, + serialized_start=2135, + serialized_end=2207, ) _sym_db.RegisterEnumDescriptor(_LOADBALANCERSETTINGS_SIMPLELB) @@ -84,8 +84,8 @@ ], containing_type=None, options=None, - serialized_start=2972, - serialized_end=3036, + serialized_start=3251, + serialized_end=3315, ) _sym_db.RegisterEnumDescriptor(_TLSSETTINGS_TLSMODE) @@ -381,8 +381,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1756, - serialized_end=1842, + serialized_start=1861, + serialized_end=1947, ) _LOADBALANCERSETTINGS_CONSISTENTHASHLB = _descriptor.Descriptor( @@ -435,8 +435,82 @@ name='hash_key', full_name='istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.hash_key', index=0, containing_type=None, fields=[]), ], - serialized_start=1556, - serialized_end=1854, + serialized_start=1661, + serialized_end=1959, +) + +_LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING_TOENTRY = _descriptor.Descriptor( + name='ToEntry', + full_name='istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting.ToEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting.ToEntry.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.LoadBalancerSettings.LocalityWeightSetting.ToEntry.value', index=1, + number=2, 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=[ + ], + nested_types=[], + enum_types=[ + ], + options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2092, + serialized_end=2133, +) + +_LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING = _descriptor.Descriptor( + name='LocalityWeightSetting', + full_name='istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='from', full_name='istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting.from', 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='to', full_name='istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting.to', 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=[_LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING_TOENTRY, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1962, + serialized_end=2133, ) _LOADBALANCERSETTINGS = _descriptor.Descriptor( @@ -460,10 +534,17 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='locality_weight_settings', full_name='istio.networking.v1alpha3.LoadBalancerSettings.locality_weight_settings', index=2, + number=3, 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=[_LOADBALANCERSETTINGS_CONSISTENTHASHLB, ], + nested_types=[_LOADBALANCERSETTINGS_CONSISTENTHASHLB, _LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING, ], enum_types=[ _LOADBALANCERSETTINGS_SIMPLELB, ], @@ -477,7 +558,7 @@ index=0, containing_type=None, fields=[]), ], serialized_start=1362, - serialized_end=1941, + serialized_end=2220, ) @@ -521,8 +602,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2316, - serialized_end=2432, + serialized_start=2595, + serialized_end=2711, ) _CONNECTIONPOOLSETTINGS_TCPSETTINGS = _descriptor.Descriptor( @@ -565,8 +646,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2125, - serialized_end=2432, + serialized_start=2404, + serialized_end=2711, ) _CONNECTIONPOOLSETTINGS_HTTPSETTINGS = _descriptor.Descriptor( @@ -616,8 +697,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2435, - serialized_end=2571, + serialized_start=2714, + serialized_end=2850, ) _CONNECTIONPOOLSETTINGS = _descriptor.Descriptor( @@ -653,8 +734,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1944, - serialized_end=2571, + serialized_start=2223, + serialized_end=2850, ) @@ -712,8 +793,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2574, - serialized_end=2778, + serialized_start=2853, + serialized_end=3057, ) @@ -779,8 +860,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2781, - serialized_end=3036, + serialized_start=3060, + serialized_end=3315, ) _DESTINATIONRULE.fields_by_name['traffic_policy'].message_type = _TRAFFICPOLICY @@ -813,8 +894,12 @@ _LOADBALANCERSETTINGS_CONSISTENTHASHLB.oneofs_by_name['hash_key'].fields.append( _LOADBALANCERSETTINGS_CONSISTENTHASHLB.fields_by_name['use_source_ip']) _LOADBALANCERSETTINGS_CONSISTENTHASHLB.fields_by_name['use_source_ip'].containing_oneof = _LOADBALANCERSETTINGS_CONSISTENTHASHLB.oneofs_by_name['hash_key'] +_LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING_TOENTRY.containing_type = _LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING +_LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING.fields_by_name['to'].message_type = _LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING_TOENTRY +_LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING.containing_type = _LOADBALANCERSETTINGS _LOADBALANCERSETTINGS.fields_by_name['simple'].enum_type = _LOADBALANCERSETTINGS_SIMPLELB _LOADBALANCERSETTINGS.fields_by_name['consistent_hash'].message_type = _LOADBALANCERSETTINGS_CONSISTENTHASHLB +_LOADBALANCERSETTINGS.fields_by_name['locality_weight_settings'].message_type = _LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING _LOADBALANCERSETTINGS_SIMPLELB.containing_type = _LOADBALANCERSETTINGS _LOADBALANCERSETTINGS.oneofs_by_name['lb_policy'].fields.append( _LOADBALANCERSETTINGS.fields_by_name['simple']) @@ -896,6 +981,20 @@ # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB) )) , + + LocalityWeightSetting = _reflection.GeneratedProtocolMessageType('LocalityWeightSetting', (_message.Message,), dict( + + ToEntry = _reflection.GeneratedProtocolMessageType('ToEntry', (_message.Message,), dict( + DESCRIPTOR = _LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING_TOENTRY, + __module__ = 'networking.v1alpha3.destination_rule_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting.ToEntry) + )) + , + DESCRIPTOR = _LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING, + __module__ = 'networking.v1alpha3.destination_rule_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting) + )) + , DESCRIPTOR = _LOADBALANCERSETTINGS, __module__ = 'networking.v1alpha3.destination_rule_pb2' # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.LoadBalancerSettings) @@ -903,6 +1002,8 @@ _sym_db.RegisterMessage(LoadBalancerSettings) _sym_db.RegisterMessage(LoadBalancerSettings.ConsistentHashLB) _sym_db.RegisterMessage(LoadBalancerSettings.ConsistentHashLB.HTTPCookie) +_sym_db.RegisterMessage(LoadBalancerSettings.LocalityWeightSetting) +_sym_db.RegisterMessage(LoadBalancerSettings.LocalityWeightSetting.ToEntry) ConnectionPoolSettings = _reflection.GeneratedProtocolMessageType('ConnectionPoolSettings', (_message.Message,), dict( @@ -956,4 +1057,6 @@ _SUBSET_LABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _LOADBALANCERSETTINGS_CONSISTENTHASHLB_HTTPCOOKIE.fields_by_name['ttl'].has_options = True _LOADBALANCERSETTINGS_CONSISTENTHASHLB_HTTPCOOKIE.fields_by_name['ttl']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\230\337\037\001')) +_LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING_TOENTRY.has_options = True +_LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING_TOENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) # @@protoc_insertion_point(module_scope) From ab6f375bdca60c35cde75c2598832b8aff7270f9 Mon Sep 17 00:00:00 2001 From: Vadim Eisenberg Date: Tue, 1 Jan 2019 17:57:15 +0200 Subject: [PATCH 07/11] remove deprecated from OutboundTrafficPolicy. REGISTRY_ONLY and ALLOW_ALL (#744) * add allow_traffic_to_unknown_ports flag to meshconfig related to https://github.com/istio/istio/issues/10330 * update proto.lock * Revert "update proto.lock" This reverts commit d1d3a0275a29d1a0e6bac076d67d3cc59a7d0a57. * Revert "add allow_traffic_to_unknown_ports flag to meshconfig" This reverts commit e6fd415e2f253e7ee6caca4468454f18be5b8d5a. * remove deprecated from OutboundTrafficPolicy. REGISTRY_ONLY and ALLOW_ALL * remove deprecated from Mode and outbound_traffic_policy --- mesh/v1alpha1/config.pb.go | 163 +++++++++---------- mesh/v1alpha1/config.proto | 40 ++--- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 10 +- python/istio_api/mesh/v1alpha1/config_pb2.py | 52 +++--- 4 files changed, 128 insertions(+), 137 deletions(-) diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 32a1caa43b..e2575f1ee0 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -128,7 +128,7 @@ const ( // outbound traffic will be restricted to services defined in the service registry as well as those defined // through ServiceEntries MeshConfig_OutboundTrafficPolicy_REGISTRY_ONLY MeshConfig_OutboundTrafficPolicy_Mode = 0 - // outbound traffic to unknown destinations will be allowed + // outbound traffic to unknown destinations will be allowed, in case there are no services or ServiceEntries for the destination port MeshConfig_OutboundTrafficPolicy_ALLOW_ANY MeshConfig_OutboundTrafficPolicy_Mode = 1 // not implemented. outbound traffic will be restricted to destinations defined in VirtualServices only MeshConfig_OutboundTrafficPolicy_VIRTUAL_SERVICE_ONLY MeshConfig_OutboundTrafficPolicy_Mode = 2 @@ -2299,85 +2299,84 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 1266 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x72, 0xd3, 0xc6, - 0x17, 0x8f, 0x92, 0x40, 0xc2, 0xf1, 0x47, 0xe4, 0x0d, 0x81, 0xc5, 0xf0, 0xcf, 0xdf, 0xa4, 0x53, - 0xc8, 0xa4, 0x1d, 0x67, 0x48, 0xa6, 0x33, 0xb4, 0x33, 0xbd, 0x30, 0xb6, 0x03, 0x0e, 0x8e, 0xed, - 0x91, 0x14, 0x5a, 0x7a, 0xd1, 0x1d, 0x45, 0x5a, 0xdb, 0xdb, 0xc8, 0x5a, 0x55, 0xbb, 0x0e, 0xe4, - 0x71, 0xfa, 0x1c, 0x7d, 0x81, 0x5e, 0xf6, 0xae, 0xb7, 0x1d, 0x9e, 0xa4, 0xb3, 0xbb, 0x52, 0x6c, - 0xc0, 0x34, 0x1d, 0xee, 0xb4, 0xbf, 0xf3, 0xb5, 0xe7, 0x77, 0x3e, 0x56, 0x50, 0x9d, 0x50, 0x31, - 0xde, 0xbf, 0x78, 0xe2, 0x47, 0xc9, 0xd8, 0x7f, 0xb2, 0x1f, 0xf0, 0x78, 0xc8, 0x46, 0xf5, 0x24, - 0xe5, 0x92, 0xa3, 0x4d, 0x26, 0x24, 0xe3, 0x75, 0xa5, 0x51, 0xcf, 0x35, 0xaa, 0xdb, 0x23, 0xce, - 0x47, 0x11, 0xdd, 0xd7, 0x2a, 0x67, 0xd3, 0xe1, 0x7e, 0x38, 0x4d, 0x7d, 0xc9, 0x78, 0x6c, 0x8c, - 0xaa, 0xf7, 0xde, 0x77, 0x98, 0xa4, 0xfc, 0xed, 0x65, 0x26, 0xda, 0x8b, 0xa9, 0x7c, 0xc3, 0xd3, - 0x73, 0x16, 0x8f, 0x72, 0x85, 0xc3, 0xfd, 0x90, 0x0a, 0xc9, 0x62, 0xed, 0x81, 0xa4, 0xd3, 0x88, - 0x1a, 0xdd, 0x9d, 0xdf, 0x10, 0xc0, 0x09, 0x15, 0xe3, 0xa6, 0xbe, 0x10, 0xfa, 0x1a, 0xd0, 0x84, - 0xbd, 0xa5, 0x29, 0x09, 0xc6, 0x34, 0x38, 0x27, 0x82, 0xa6, 0x17, 0x34, 0xc5, 0x56, 0xcd, 0xda, - 0xbd, 0xe5, 0xd8, 0x5a, 0xd2, 0x54, 0x02, 0x57, 0xe3, 0xa8, 0x0e, 0x9b, 0x46, 0x3b, 0xa5, 0x09, - 0x4f, 0x65, 0xae, 0xbe, 0xac, 0xd5, 0x2b, 0x5a, 0xe4, 0x68, 0x49, 0xa6, 0x7f, 0x00, 0x5b, 0x21, - 0x13, 0xfe, 0x59, 0x44, 0x49, 0xc2, 0x23, 0x16, 0x5c, 0x9a, 0x30, 0x02, 0xaf, 0xd4, 0xac, 0xdd, - 0x75, 0x67, 0x33, 0x13, 0x0e, 0xb4, 0x4c, 0x07, 0x12, 0x68, 0x0f, 0x2a, 0x3a, 0x37, 0x12, 0x31, - 0x21, 0x69, 0x4c, 0x94, 0x3b, 0xbc, 0x5a, 0xb3, 0x76, 0x6f, 0x38, 0x1b, 0x5a, 0xd0, 0xd5, 0xf8, - 0x80, 0xa7, 0x12, 0x3d, 0x02, 0x03, 0x91, 0xb1, 0x94, 0x89, 0xd1, 0xbc, 0xa1, 0x35, 0x4b, 0x1a, - 0x7e, 0x21, 0x65, 0xa2, 0xf5, 0x9e, 0xc1, 0x46, 0xc0, 0xe3, 0x98, 0x06, 0x92, 0x48, 0x36, 0xa1, - 0x7c, 0x2a, 0xf1, 0xcd, 0x9a, 0xb5, 0x5b, 0x38, 0xb8, 0x57, 0x37, 0xac, 0xd7, 0x73, 0xd6, 0xeb, - 0xad, 0x8c, 0x75, 0xa7, 0x9c, 0x59, 0x78, 0xc6, 0x00, 0x7d, 0x01, 0x25, 0x16, 0x8f, 0x52, 0x2a, - 0x04, 0x09, 0x22, 0x5f, 0x08, 0xbc, 0xa6, 0xb3, 0x2e, 0x66, 0x60, 0x53, 0x61, 0xe8, 0x31, 0x6c, - 0xe4, 0x4a, 0x8a, 0x1b, 0x16, 0x50, 0xbc, 0xae, 0xd5, 0xca, 0x19, 0xec, 0x1a, 0x14, 0x4d, 0xe0, - 0xee, 0x95, 0x37, 0x1e, 0xcb, 0x94, 0x47, 0x11, 0x4d, 0xc9, 0x84, 0x87, 0x14, 0xdf, 0xaa, 0x59, - 0xbb, 0xe5, 0x83, 0x6f, 0xea, 0x0b, 0x9a, 0xa4, 0x3e, 0xab, 0x5c, 0xbd, 0x93, 0xc5, 0xbd, 0xb2, - 0x3e, 0xe1, 0x21, 0x75, 0xb6, 0xd8, 0x22, 0x18, 0xf5, 0xa1, 0xe0, 0x4f, 0xe5, 0x38, 0xab, 0x02, - 0x06, 0x1d, 0x62, 0xef, 0xba, 0x10, 0x8d, 0xa9, 0x1c, 0x9b, 0xda, 0x3c, 0x5b, 0xc6, 0x96, 0x03, - 0xfe, 0xd5, 0x19, 0x75, 0xa0, 0x92, 0x86, 0x82, 0xa4, 0x74, 0x98, 0x52, 0x31, 0x26, 0x21, 0x8d, - 0xfc, 0x4b, 0x5c, 0xb8, 0x86, 0x53, 0xed, 0x65, 0x23, 0x0d, 0x85, 0x63, 0xcc, 0x5a, 0xca, 0x0a, - 0x7d, 0x09, 0x65, 0x1a, 0xeb, 0x1e, 0x91, 0xa9, 0x1f, 0xb0, 0x78, 0x84, 0x8b, 0xba, 0x3b, 0x4a, - 0x06, 0xf5, 0x0c, 0xa8, 0x6a, 0xed, 0x07, 0x81, 0x22, 0x2c, 0xe2, 0x23, 0x32, 0x64, 0x11, 0xc5, - 0x25, 0x4d, 0x6d, 0xc9, 0xc0, 0x5d, 0x3e, 0x3a, 0x62, 0x11, 0x45, 0xcf, 0xa1, 0x1c, 0xd2, 0xa1, - 0x3f, 0x8d, 0x24, 0x31, 0x43, 0x87, 0xcb, 0xfa, 0x5a, 0xb5, 0x85, 0xd9, 0x0e, 0x54, 0x9f, 0x98, - 0x74, 0x9d, 0x52, 0x66, 0x97, 0x8d, 0xc6, 0x63, 0x28, 0x99, 0x66, 0xf7, 0xc3, 0x50, 0x51, 0x8a, - 0x6d, 0x15, 0x4e, 0xe7, 0x50, 0xd4, 0x82, 0x86, 0xc1, 0xd1, 0xaf, 0x70, 0x97, 0x4f, 0xe5, 0x19, - 0x9f, 0xc6, 0xa1, 0x4a, 0x61, 0x38, 0x64, 0x41, 0x4e, 0x74, 0x45, 0x87, 0xbe, 0xb6, 0x96, 0xfd, - 0xcc, 0xdc, 0x33, 0xd6, 0x73, 0x9c, 0x6f, 0xf1, 0x45, 0x22, 0xd4, 0x82, 0xff, 0x67, 0x9c, 0x05, - 0x11, 0xa3, 0xb1, 0x24, 0x82, 0x85, 0xef, 0xcf, 0x18, 0xde, 0xd4, 0x24, 0xde, 0x37, 0x6a, 0x4d, - 0xad, 0xe5, 0xb2, 0x70, 0x7e, 0xd6, 0x50, 0x0d, 0x8a, 0x22, 0x14, 0x64, 0x1a, 0x0a, 0x92, 0xf8, - 0x72, 0x8c, 0x6f, 0x6b, 0x3e, 0x41, 0x84, 0xe2, 0x34, 0x14, 0x03, 0x5f, 0x8e, 0x55, 0x99, 0xc5, - 0x47, 0x65, 0xde, 0xfa, 0x4f, 0x65, 0x16, 0x1f, 0x94, 0xf9, 0x05, 0x94, 0x4d, 0x3d, 0x88, 0xe0, - 0xd3, 0x34, 0xa0, 0x02, 0xdf, 0xa9, 0xad, 0xec, 0x16, 0x0e, 0x1e, 0x2e, 0x24, 0xc7, 0x10, 0xe3, - 0x6a, 0x4d, 0xa7, 0x14, 0xcc, 0x9d, 0x04, 0x3a, 0x84, 0x3b, 0x59, 0xf2, 0xea, 0x6e, 0x92, 0x9f, - 0xd3, 0x98, 0x4c, 0xf8, 0x34, 0x96, 0xf8, 0xae, 0x59, 0x2b, 0x46, 0xea, 0x86, 0xc2, 0x53, 0xb2, - 0x13, 0x25, 0x52, 0x6b, 0x65, 0xbe, 0x7d, 0x78, 0x3a, 0xf1, 0x25, 0xc6, 0x3a, 0xe1, 0x8d, 0x59, - 0x03, 0x69, 0x58, 0x05, 0x98, 0xa7, 0x92, 0x0c, 0x7d, 0x16, 0x11, 0x9e, 0xd0, 0x18, 0xdf, 0x33, - 0x01, 0x92, 0x19, 0x89, 0x47, 0x3e, 0x8b, 0xfa, 0x09, 0x8d, 0xd1, 0x43, 0x28, 0xca, 0x74, 0x2a, - 0x24, 0x09, 0xf9, 0xc4, 0x67, 0x31, 0xae, 0x6a, 0xdf, 0x05, 0x8d, 0xb5, 0x34, 0x84, 0x7c, 0xd8, - 0x9c, 0xbb, 0x03, 0x8d, 0x03, 0x1e, 0xaa, 0x76, 0xbf, 0xaf, 0xa7, 0xf1, 0xc9, 0xb5, 0xd3, 0x98, - 0xdf, 0xb2, 0x9d, 0x19, 0x3a, 0x15, 0xff, 0x43, 0x08, 0x71, 0x28, 0xc9, 0x20, 0x21, 0xe7, 0x94, - 0x26, 0x7e, 0xc4, 0x2e, 0x28, 0x7e, 0xa0, 0x8b, 0x75, 0x9c, 0x39, 0x9f, 0x3d, 0x14, 0x79, 0x88, - 0x43, 0x45, 0xb5, 0xda, 0x73, 0x8c, 0xc7, 0x03, 0xce, 0x23, 0x97, 0x4a, 0xc9, 0xe2, 0x91, 0xa8, - 0x7b, 0xcd, 0xc1, 0xec, 0x3b, 0x48, 0x5e, 0xe6, 0x1e, 0x9d, 0xa2, 0x9c, 0x3b, 0xa1, 0x0b, 0xa8, - 0xe6, 0xe3, 0x96, 0x6d, 0x3c, 0x12, 0xd2, 0x84, 0xc6, 0x21, 0x8d, 0x83, 0x4b, 0xfc, 0x3f, 0x1d, - 0xfd, 0xe9, 0x75, 0xa9, 0xb5, 0x8c, 0x87, 0x6c, 0x39, 0xb6, 0xae, 0xec, 0x1d, 0x1c, 0x7e, 0x42, - 0x82, 0xf6, 0x00, 0xe9, 0xde, 0x15, 0x94, 0x9c, 0x3f, 0x15, 0x44, 0xf8, 0xe4, 0x97, 0x37, 0x12, - 0x6f, 0xeb, 0xfa, 0x94, 0x55, 0x07, 0x0b, 0xfa, 0xf2, 0xa9, 0x70, 0xfd, 0xe3, 0x37, 0xb2, 0xfa, - 0xbb, 0x05, 0x5b, 0x0b, 0x47, 0x0c, 0x39, 0xb0, 0xaa, 0x77, 0xae, 0xa5, 0x4b, 0xf0, 0xdd, 0x67, - 0xcd, 0x69, 0x5d, 0x6d, 0x58, 0xdd, 0xf3, 0xda, 0xd7, 0x4e, 0x0f, 0x56, 0xf5, 0xce, 0xdd, 0x82, - 0x92, 0xd3, 0x7e, 0xde, 0x71, 0x3d, 0xe7, 0x35, 0xe9, 0xf7, 0xba, 0xaf, 0xed, 0xa5, 0xea, 0xf2, - 0xba, 0x85, 0x2a, 0x70, 0xab, 0xd1, 0xed, 0xf6, 0x7f, 0x20, 0x8d, 0xde, 0x6b, 0xdb, 0xd2, 0xd0, - 0x03, 0xb8, 0xfd, 0xaa, 0xe3, 0x78, 0xa7, 0x8d, 0x2e, 0x71, 0xdb, 0xce, 0xab, 0x4e, 0xb3, 0x6d, - 0x0c, 0x96, 0x95, 0xb4, 0xfa, 0x97, 0x05, 0xf8, 0x53, 0x04, 0xa1, 0x9f, 0xa1, 0xc0, 0x26, 0xfa, - 0x2d, 0x9e, 0xcb, 0xe3, 0xfb, 0xcf, 0xe5, 0x5b, 0xa7, 0xe2, 0x80, 0xf1, 0xa8, 0x93, 0xf8, 0x0a, - 0x2a, 0x99, 0xff, 0xd8, 0x9f, 0x50, 0x91, 0xf8, 0x6a, 0x70, 0x97, 0x6b, 0x2b, 0xea, 0xf7, 0xc0, - 0x08, 0x7a, 0x57, 0xf8, 0x4e, 0x3d, 0xcb, 0x1c, 0x41, 0xb9, 0xd1, 0xed, 0x92, 0x5e, 0xe3, 0xa4, - 0xed, 0x0e, 0x1a, 0xcd, 0xb6, 0x6b, 0x2f, 0x29, 0xcc, 0x6d, 0x9c, 0xb4, 0x67, 0xa0, 0x6d, 0xed, - 0x7c, 0x0b, 0x5b, 0x0b, 0x5f, 0x31, 0xb4, 0x06, 0x2b, 0xfd, 0xa3, 0x23, 0x7b, 0x09, 0x15, 0x60, - 0xad, 0xd5, 0x3e, 0x6a, 0x9c, 0x76, 0x3d, 0xdb, 0x42, 0x00, 0x37, 0x5d, 0xcf, 0xe9, 0x34, 0x3d, - 0x7b, 0x79, 0xe7, 0x11, 0xc0, 0xec, 0x75, 0x42, 0xeb, 0xb0, 0xda, 0xeb, 0xf7, 0xda, 0xf6, 0x12, - 0x2a, 0x03, 0x9c, 0x9c, 0x6a, 0x26, 0xbd, 0xae, 0x6b, 0x5b, 0x3b, 0x8f, 0xa1, 0xf2, 0xd1, 0xdc, - 0x28, 0x75, 0xaf, 0xfd, 0xa3, 0x67, 0x2f, 0xa9, 0xaf, 0x63, 0xb7, 0xdf, 0xb3, 0xad, 0xe3, 0xd5, - 0xf5, 0x0d, 0xdb, 0x3e, 0x5e, 0x5d, 0x47, 0xf6, 0xe6, 0x8e, 0x80, 0xe2, 0xfc, 0xfe, 0x41, 0x18, - 0xd6, 0xf2, 0x37, 0xc0, 0xfc, 0x19, 0xe5, 0x47, 0xd4, 0x81, 0xa2, 0x8c, 0xd4, 0x5b, 0x6f, 0x06, - 0x45, 0xff, 0x09, 0x15, 0x0e, 0x1e, 0xfd, 0xcb, 0xb4, 0x79, 0x5d, 0x37, 0x1f, 0x2b, 0xa7, 0x20, - 0x23, 0x91, 0x1f, 0x9e, 0xed, 0xfe, 0xf1, 0x6e, 0xdb, 0xfa, 0xf3, 0xdd, 0xb6, 0xf5, 0xf7, 0xbb, - 0x6d, 0xeb, 0xa7, 0xaa, 0xf1, 0xc0, 0xf8, 0xbe, 0x9f, 0xb0, 0xfd, 0xf7, 0x7e, 0xfd, 0xce, 0x6e, - 0xea, 0x8d, 0x7b, 0xf8, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x5b, 0xd8, 0x2c, 0x63, 0x0a, - 0x00, 0x00, + // 1258 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0xdb, 0x36, + 0x14, 0x8e, 0x92, 0xb4, 0x49, 0x8f, 0x7f, 0x22, 0x33, 0x4d, 0xcb, 0xba, 0x5d, 0xe6, 0x66, 0x58, + 0x1b, 0x64, 0x83, 0x83, 0x26, 0x18, 0xd0, 0x0d, 0xd8, 0x85, 0x6b, 0x3b, 0xad, 0x53, 0xc7, 0x36, + 0x24, 0xa5, 0x5b, 0x77, 0x31, 0x42, 0x91, 0x68, 0x9b, 0x8b, 0x2c, 0x0a, 0x22, 0x9d, 0x36, 0x8f, + 0xb1, 0x27, 0xd9, 0x6b, 0xec, 0x72, 0x77, 0xbb, 0x1d, 0xfa, 0x24, 0x03, 0x49, 0x29, 0x76, 0x5b, + 0x77, 0x19, 0x7a, 0x27, 0x7e, 0xe7, 0x8f, 0xe7, 0x3b, 0x3f, 0x14, 0x54, 0x27, 0x54, 0x8c, 0xf7, + 0x2f, 0x9e, 0xf8, 0x51, 0x32, 0xf6, 0x9f, 0xec, 0x07, 0x3c, 0x1e, 0xb2, 0x51, 0x3d, 0x49, 0xb9, + 0xe4, 0x68, 0x93, 0x09, 0xc9, 0x78, 0x5d, 0x69, 0xd4, 0x73, 0x8d, 0xea, 0xf6, 0x88, 0xf3, 0x51, + 0x44, 0xf7, 0xb5, 0xca, 0xd9, 0x74, 0xb8, 0x1f, 0x4e, 0x53, 0x5f, 0x32, 0x1e, 0x1b, 0xa3, 0xea, + 0xbd, 0xf7, 0x1d, 0x26, 0x29, 0x7f, 0x7b, 0x99, 0x89, 0xf6, 0x62, 0x2a, 0xdf, 0xf0, 0xf4, 0x9c, + 0xc5, 0xa3, 0x5c, 0xe1, 0x70, 0x3f, 0xa4, 0x42, 0xb2, 0x58, 0x7b, 0x20, 0xe9, 0x34, 0xa2, 0x46, + 0x77, 0xe7, 0x77, 0x04, 0x70, 0x42, 0xc5, 0xb8, 0xa9, 0x2f, 0x84, 0xbe, 0x05, 0x34, 0x61, 0x6f, + 0x69, 0x4a, 0x82, 0x31, 0x0d, 0xce, 0x89, 0xa0, 0xe9, 0x05, 0x4d, 0xb1, 0x55, 0xb3, 0x76, 0x6f, + 0x39, 0xb6, 0x96, 0x34, 0x95, 0xc0, 0xd5, 0x38, 0xaa, 0xc3, 0xa6, 0xd1, 0x4e, 0x69, 0xc2, 0x53, + 0x99, 0xab, 0x2f, 0x6b, 0xf5, 0x8a, 0x16, 0x39, 0x5a, 0x92, 0xe9, 0x1f, 0xc0, 0x56, 0xc8, 0x84, + 0x7f, 0x16, 0x51, 0x92, 0xf0, 0x88, 0x05, 0x97, 0x26, 0x8c, 0xc0, 0x2b, 0x35, 0x6b, 0x77, 0xdd, + 0xd9, 0xcc, 0x84, 0x03, 0x2d, 0xd3, 0x81, 0x04, 0xda, 0x83, 0x8a, 0xce, 0x8d, 0x44, 0x4c, 0x48, + 0x1a, 0x13, 0xe5, 0x0e, 0xaf, 0xd6, 0xac, 0xdd, 0x1b, 0xce, 0x86, 0x16, 0x74, 0x35, 0x3e, 0xe0, + 0xa9, 0x44, 0x8f, 0xc0, 0x40, 0x64, 0x2c, 0x65, 0x62, 0x34, 0x6f, 0x68, 0xcd, 0x92, 0x86, 0x5f, + 0x48, 0x99, 0x68, 0xbd, 0x67, 0xb0, 0x11, 0xf0, 0x38, 0xa6, 0x81, 0x24, 0x92, 0x4d, 0x28, 0x9f, + 0x4a, 0x7c, 0xb3, 0x66, 0xed, 0x16, 0x0e, 0xee, 0xd5, 0x0d, 0xeb, 0xf5, 0x9c, 0xf5, 0x7a, 0x2b, + 0x63, 0xdd, 0x29, 0x67, 0x16, 0x9e, 0x31, 0x40, 0x5f, 0x41, 0x89, 0xc5, 0xa3, 0x94, 0x0a, 0x41, + 0x82, 0xc8, 0x17, 0x02, 0xaf, 0xe9, 0xac, 0x8b, 0x19, 0xd8, 0x54, 0x18, 0x7a, 0x0c, 0x1b, 0xb9, + 0x92, 0xe2, 0x86, 0x05, 0x14, 0xaf, 0x6b, 0xb5, 0x72, 0x06, 0xbb, 0x06, 0x45, 0x13, 0xb8, 0x7b, + 0xe5, 0x8d, 0xc7, 0x32, 0xe5, 0x51, 0x44, 0x53, 0x32, 0xe1, 0x21, 0xc5, 0xb7, 0x6a, 0xd6, 0x6e, + 0xf9, 0xe0, 0xbb, 0xfa, 0x82, 0x26, 0xa9, 0xcf, 0x2a, 0x57, 0xef, 0x64, 0x71, 0xaf, 0xac, 0x4f, + 0x78, 0x48, 0x9d, 0x2d, 0xb6, 0x08, 0x46, 0x7d, 0x28, 0xf8, 0x53, 0x39, 0xce, 0xaa, 0x80, 0x41, + 0x87, 0xd8, 0xbb, 0x2e, 0x44, 0x63, 0x2a, 0xc7, 0xa6, 0x36, 0xcf, 0x96, 0xb1, 0xe5, 0x80, 0x7f, + 0x75, 0x46, 0x1d, 0xa8, 0xa4, 0xa1, 0x20, 0x29, 0x1d, 0xa6, 0x54, 0x8c, 0x49, 0x48, 0x23, 0xff, + 0x12, 0x17, 0xae, 0xe1, 0x54, 0x7b, 0xd9, 0x48, 0x43, 0xe1, 0x18, 0xb3, 0x96, 0xb2, 0x42, 0x5f, + 0x43, 0x99, 0xc6, 0xba, 0x47, 0x64, 0xea, 0x07, 0x2c, 0x1e, 0xe1, 0xa2, 0xee, 0x8e, 0x92, 0x41, + 0x3d, 0x03, 0xaa, 0x5a, 0xfb, 0x41, 0xa0, 0x08, 0x8b, 0xf8, 0x88, 0x0c, 0x59, 0x44, 0x71, 0x49, + 0x53, 0x5b, 0x32, 0x70, 0x97, 0x8f, 0x8e, 0x58, 0x44, 0xd1, 0x73, 0x28, 0x87, 0x74, 0xe8, 0x4f, + 0x23, 0x49, 0xcc, 0xd0, 0xe1, 0xb2, 0xbe, 0x56, 0x6d, 0x61, 0xb6, 0x03, 0xd5, 0x27, 0x26, 0x5d, + 0xa7, 0x94, 0xd9, 0x65, 0xa3, 0xf1, 0x18, 0x4a, 0xa6, 0xd9, 0xfd, 0x30, 0x54, 0x94, 0x62, 0x5b, + 0x85, 0xd3, 0x39, 0x14, 0xb5, 0xa0, 0x61, 0x70, 0x55, 0x4b, 0x3e, 0x95, 0x67, 0x7c, 0x1a, 0x87, + 0x2a, 0x85, 0xe1, 0x90, 0x05, 0x39, 0xd1, 0x15, 0x1d, 0xfa, 0xda, 0x5a, 0xf6, 0x33, 0x73, 0xcf, + 0x58, 0x1b, 0x8e, 0x9d, 0x2d, 0xbe, 0x08, 0x46, 0x2d, 0xf8, 0x32, 0xe3, 0x2b, 0x88, 0x18, 0x8d, + 0x25, 0x11, 0x2c, 0x7c, 0x7f, 0xbe, 0xf0, 0xa6, 0x26, 0xf0, 0xbe, 0x51, 0x6b, 0x6a, 0x2d, 0x97, + 0x85, 0xf3, 0x73, 0x86, 0x6a, 0x50, 0x14, 0xa1, 0x20, 0xd3, 0x50, 0x90, 0xc4, 0x97, 0x63, 0x7c, + 0x5b, 0x73, 0x09, 0x22, 0x14, 0xa7, 0xa1, 0x18, 0xf8, 0x72, 0xac, 0x4a, 0x2c, 0x3e, 0x2a, 0xf1, + 0xd6, 0xff, 0x2a, 0xb1, 0xf8, 0xa0, 0xc4, 0x2f, 0xa0, 0x6c, 0x6a, 0x41, 0x04, 0x9f, 0xa6, 0x01, + 0x15, 0xf8, 0x4e, 0x6d, 0x65, 0xb7, 0x70, 0xf0, 0x70, 0x21, 0x31, 0x86, 0x14, 0x57, 0x6b, 0x3a, + 0xa5, 0x60, 0xee, 0x24, 0xd0, 0x21, 0xdc, 0xc9, 0x92, 0x57, 0x77, 0x93, 0xfc, 0x9c, 0xc6, 0x64, + 0xc2, 0xa7, 0xb1, 0xc4, 0x77, 0xcd, 0x4a, 0x31, 0x52, 0x37, 0x14, 0x9e, 0x92, 0x9d, 0x28, 0x91, + 0x5a, 0x29, 0xf3, 0xad, 0xc3, 0xd3, 0x89, 0x2f, 0x31, 0xd6, 0x09, 0x6f, 0xcc, 0x9a, 0x47, 0xc3, + 0x2a, 0xc0, 0x3c, 0x95, 0x64, 0xe8, 0xb3, 0x88, 0xf0, 0x84, 0xc6, 0xf8, 0x9e, 0x09, 0x90, 0xcc, + 0x48, 0x3c, 0xf2, 0x59, 0xd4, 0x4f, 0x68, 0x8c, 0x1e, 0x42, 0x51, 0xa6, 0x53, 0x21, 0x49, 0xc8, + 0x27, 0x3e, 0x8b, 0x71, 0x55, 0xfb, 0x2e, 0x68, 0xac, 0xa5, 0x21, 0xe4, 0xc3, 0xe6, 0xdc, 0x1d, + 0x68, 0x1c, 0xf0, 0x50, 0xb5, 0xfa, 0x7d, 0x3d, 0x89, 0x4f, 0xae, 0x9d, 0xc4, 0xfc, 0x96, 0xed, + 0xcc, 0xd0, 0xa9, 0xf8, 0x1f, 0x42, 0x88, 0x43, 0x49, 0x06, 0x09, 0x39, 0xa7, 0x34, 0xf1, 0x23, + 0x76, 0x41, 0xf1, 0x03, 0x5d, 0xac, 0xe3, 0xcc, 0xf9, 0xec, 0x91, 0xc8, 0x43, 0x1c, 0x2a, 0xaa, + 0xd5, 0x8e, 0x63, 0x3c, 0x1e, 0x70, 0x1e, 0xb9, 0x54, 0x4a, 0x16, 0x8f, 0x44, 0xdd, 0x6b, 0x0e, + 0x66, 0xdf, 0x41, 0xf2, 0x32, 0xf7, 0xe8, 0x14, 0xe5, 0xdc, 0x09, 0x5d, 0x40, 0x35, 0x1f, 0xb5, + 0x6c, 0xdb, 0x91, 0x90, 0x26, 0x34, 0x0e, 0x69, 0x1c, 0x5c, 0xe2, 0x2f, 0x74, 0xf4, 0xa7, 0xd7, + 0xa5, 0xd6, 0x32, 0x1e, 0xb2, 0xc5, 0xd8, 0xba, 0xb2, 0x77, 0x70, 0xf8, 0x09, 0x09, 0xda, 0x03, + 0xa4, 0x7b, 0x57, 0x50, 0x72, 0xfe, 0x54, 0x10, 0xe1, 0x93, 0xdf, 0xde, 0x48, 0xbc, 0xad, 0xeb, + 0x53, 0x56, 0x1d, 0x2c, 0xe8, 0xcb, 0xa7, 0xc2, 0xf5, 0x8f, 0xdf, 0xc8, 0xea, 0x1f, 0x16, 0x6c, + 0x2d, 0x1c, 0x2f, 0xd4, 0x83, 0x55, 0xbd, 0x6f, 0x2d, 0x5d, 0x82, 0x1f, 0x3e, 0x6b, 0x46, 0xeb, + 0x7a, 0xe9, 0x6a, 0x3f, 0x3b, 0x47, 0xb0, 0xaa, 0x77, 0x6d, 0x05, 0x4a, 0x4e, 0xfb, 0x79, 0xc7, + 0xf5, 0x9c, 0xd7, 0xa4, 0xdf, 0xeb, 0xbe, 0xb6, 0x97, 0x50, 0x09, 0x6e, 0x35, 0xba, 0xdd, 0xfe, + 0x4f, 0xa4, 0xd1, 0x7b, 0x6d, 0x5b, 0xe8, 0x01, 0xdc, 0x7e, 0xd5, 0x71, 0xbc, 0xd3, 0x46, 0x97, + 0xb8, 0x6d, 0xe7, 0x55, 0xa7, 0xd9, 0x36, 0x8a, 0xcb, 0xd5, 0xe5, 0x75, 0xab, 0xfa, 0xb7, 0x05, + 0xf8, 0x53, 0xa4, 0xa0, 0x5f, 0xa1, 0xc0, 0x26, 0xfa, 0xed, 0x9d, 0xbb, 0xfb, 0x8f, 0x9f, 0xcb, + 0xb1, 0xb9, 0x3e, 0x18, 0x8f, 0xfa, 0xf2, 0xdf, 0x40, 0x25, 0xf3, 0x1f, 0xfb, 0x13, 0x2a, 0x12, + 0x5f, 0x0d, 0xeb, 0x72, 0x6d, 0x45, 0xfd, 0x0e, 0x18, 0x41, 0xef, 0x0a, 0xdf, 0xa9, 0x67, 0x19, + 0x23, 0x28, 0x37, 0xba, 0x5d, 0xd2, 0x6b, 0x9c, 0xb4, 0xdd, 0x41, 0xa3, 0xd9, 0x76, 0xed, 0x25, + 0x85, 0xb9, 0x8d, 0x93, 0xf6, 0x0c, 0xb4, 0xad, 0x9d, 0xef, 0x61, 0x6b, 0xe1, 0xab, 0x85, 0xd6, + 0x60, 0xa5, 0x7f, 0x74, 0x64, 0x2f, 0xa1, 0x02, 0xac, 0xb5, 0xda, 0x47, 0x8d, 0xd3, 0xae, 0x67, + 0x5b, 0x08, 0xe0, 0xa6, 0xeb, 0x39, 0x9d, 0xa6, 0x67, 0x2f, 0xef, 0x3c, 0x02, 0x98, 0xbd, 0x46, + 0x68, 0x1d, 0x56, 0x7b, 0xfd, 0x5e, 0xdb, 0x5e, 0x42, 0x65, 0x80, 0x93, 0x53, 0xcd, 0xa4, 0xd7, + 0x75, 0x6d, 0x6b, 0xe7, 0x31, 0x54, 0x3e, 0x9a, 0x15, 0xa5, 0xee, 0xb5, 0x7f, 0xf6, 0xec, 0x25, + 0xf5, 0x75, 0xec, 0xf6, 0x7b, 0xb6, 0x75, 0xbc, 0xba, 0xbe, 0x61, 0xdb, 0xc7, 0xab, 0xeb, 0xc8, + 0xde, 0xdc, 0x11, 0x50, 0x9c, 0xdf, 0x39, 0x08, 0xc3, 0x5a, 0xbe, 0xf3, 0xcd, 0x9f, 0x50, 0x7e, + 0x44, 0x1d, 0x28, 0xca, 0x48, 0xbd, 0xed, 0x66, 0x38, 0xf4, 0x9f, 0x4f, 0xe1, 0xe0, 0xd1, 0x7f, + 0x4c, 0x98, 0xd7, 0x75, 0xf3, 0x51, 0x72, 0x0a, 0x32, 0x12, 0xf9, 0xe1, 0xd9, 0xee, 0x9f, 0xef, + 0xb6, 0xad, 0xbf, 0xde, 0x6d, 0x5b, 0xff, 0xbc, 0xdb, 0xb6, 0x7e, 0xa9, 0x1a, 0x0f, 0x8c, 0xef, + 0xfb, 0x09, 0xdb, 0x7f, 0xef, 0x57, 0xef, 0xec, 0xa6, 0xde, 0xb2, 0x87, 0xff, 0x06, 0x00, 0x00, + 0xff, 0xff, 0xbf, 0xad, 0x9f, 0x12, 0x53, 0x0a, 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index 789141debd..e327a74438 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -123,9 +123,9 @@ message MeshConfig { // File address for the proxy access log (e.g. /dev/stdout). // 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 + + // Format for the proxy access log + // Empty value results in proxy's default access log format string access_log_format = 24; enum AccessLogEncoding { @@ -145,21 +145,21 @@ message MeshConfig { ProxyConfig default_config = 14; reserved 15; - + // $hide_from_docs string mixer_address = 16 [deprecated=true]; - + message OutboundTrafficPolicy { enum Mode { // outbound traffic will be restricted to services defined in the service registry as well as those defined // through ServiceEntries - REGISTRY_ONLY = 0 [deprecated=true]; - // outbound traffic to unknown destinations will be allowed - ALLOW_ANY = 1 [deprecated=true]; + REGISTRY_ONLY = 0; + // outbound traffic to unknown destinations will be allowed, in case there are no services or ServiceEntries for the destination port + ALLOW_ANY = 1; // not implemented. outbound traffic will be restricted to destinations defined in VirtualServices only VIRTUAL_SERVICE_ONLY = 2 [deprecated=true]; } - Mode mode = 1 [deprecated=true]; + Mode mode = 1; } // Set the default behavior of the sidecar for handling outbound traffic from the application. @@ -168,7 +168,7 @@ message MeshConfig { // requested destination. // Users are strongly encouraged to use ServiceEntries to explicitly declare any external dependencies, // instead of using allow_any. - OutboundTrafficPolicy outbound_traffic_policy = 17 [deprecated=true]; + OutboundTrafficPolicy outbound_traffic_policy = 17; reserved 18; @@ -178,7 +178,7 @@ message MeshConfig { // Unix Domain Socket through which envoy communicates with NodeAgent SDS to get key/cert for mTLS. // Use secret-mount files instead of SDS if set to empty. string sds_uds_path = 20; - + // $hide_from_docs google.protobuf.Duration sds_refresh_delay = 21 [deprecated=true]; @@ -188,19 +188,19 @@ message MeshConfig { repeated ConfigSource config_sources = 22; // $hide_from_docs - // This flag is used by secret discovery service(SDS). - // If set to true(prerequisite: https://kubernetes.io/docs/concepts/storage/volumes/#projected), Istio will inject volumes mount - // for k8s service account trustworthy JWT(which is avaialbe for k8s 1.12 or higher), so that K8s API server - // mounts k8s service account trustworthy JWT to envoy container, which will be used to request key/cert eventually. + // This flag is used by secret discovery service(SDS). + // If set to true(prerequisite: https://kubernetes.io/docs/concepts/storage/volumes/#projected), Istio will inject volumes mount + // for k8s service account trustworthy JWT(which is avaialbe for k8s 1.12 or higher), so that K8s API server + // mounts k8s service account trustworthy JWT to envoy container, which will be used to request key/cert eventually. // This isn't supported for non-k8s case. bool enable_sds_token_mount = 23; // $hide_from_docs - // This flag is used by secret discovery service(SDS). - // If set to true, envoy will fetch normal k8s service account JWT from '/var/run/secrets/kubernetes.io/serviceaccount/token' - // (https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#accessing-the-api-from-a-pod) - // and pass to sds server, which will be used to request key/cert eventually. - // If both enable_sds_token_mount and sds_use_k8s_sa_jwt are set to true, enable_sds_token_mount(trustworthy jwt) takes precedence. + // This flag is used by secret discovery service(SDS). + // If set to true, envoy will fetch normal k8s service account JWT from '/var/run/secrets/kubernetes.io/serviceaccount/token' + // (https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#accessing-the-api-from-a-pod) + // and pass to sds server, which will be used to request key/cert eventually. + // If both enable_sds_token_mount and sds_use_k8s_sa_jwt are set to true, enable_sds_token_mount(trustworthy jwt) takes precedence. // This isn't supported for non-k8s case. bool sds_use_k8s_sa_jwt = 30; diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index c01ecef561..e857386d21 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -255,7 +255,7 @@

MeshConfig

-
+ - + - + - + diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index 45d2e7a478..73d2058233 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\"\x93\x0e\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\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1e \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') + 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\"\x83\x0e\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\x12V\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy\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\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1e \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\xa9\x01\n\x15OutboundTrafficPolicy\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode\"F\n\x04Mode\x12\x11\n\rREGISTRY_ONLY\x10\x00\x12\r\n\tALLOW_ANY\x10\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,]) @@ -36,11 +36,11 @@ values=[ _descriptor.EnumValueDescriptor( name='REGISTRY_ONLY', index=0, number=0, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\010\001')), + options=None, type=None), _descriptor.EnumValueDescriptor( name='ALLOW_ANY', index=1, number=1, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\010\001')), + options=None, type=None), _descriptor.EnumValueDescriptor( name='VIRTUAL_SERVICE_ONLY', index=2, number=2, @@ -49,8 +49,8 @@ ], containing_type=None, options=None, - serialized_start=1548, - serialized_end=1626, + serialized_start=1540, + serialized_end=1610, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) @@ -71,8 +71,8 @@ ], containing_type=None, options=None, - serialized_start=1768, - serialized_end=1814, + serialized_start=1752, + serialized_end=1798, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE) @@ -97,8 +97,8 @@ ], containing_type=None, options=None, - serialized_start=1816, - serialized_end=1873, + serialized_start=1800, + serialized_end=1857, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -119,8 +119,8 @@ ], containing_type=None, options=None, - serialized_start=1875, - serialized_end=1913, + serialized_start=1859, + serialized_end=1897, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -141,8 +141,8 @@ ], containing_type=None, options=None, - serialized_start=1915, - serialized_end=1954, + serialized_start=1899, + serialized_end=1938, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING) @@ -160,7 +160,7 @@ 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), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -174,8 +174,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1445, - serialized_end=1626, + serialized_start=1441, + serialized_end=1610, ) _MESHCONFIG_DEFAULTSERVICEDEPENDENCY = _descriptor.Descriptor( @@ -212,8 +212,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1629, - serialized_end=1814, + serialized_start=1613, + serialized_end=1798, ) _MESHCONFIG = _descriptor.Descriptor( @@ -362,7 +362,7 @@ 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), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( 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, @@ -435,7 +435,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1966, + serialized_end=1950, ) @@ -472,8 +472,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1968, - serialized_end=2061, + serialized_start=1952, + serialized_end=2045, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE @@ -534,22 +534,14 @@ DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\032istio.io/api/mesh/v1alpha1')) -_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.values_by_name["REGISTRY_ONLY"].has_options = True -_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.values_by_name["REGISTRY_ONLY"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\010\001')) -_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.values_by_name["ALLOW_ANY"].has_options = True -_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.values_by_name["ALLOW_ANY"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\010\001')) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.values_by_name["VIRTUAL_SERVICE_ONLY"].has_options = True _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.values_by_name["VIRTUAL_SERVICE_ONLY"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\010\001')) -_MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].has_options = True -_MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) _MESHCONFIG.fields_by_name['auth_policy'].has_options = True _MESHCONFIG.fields_by_name['auth_policy']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) _MESHCONFIG.fields_by_name['rds_refresh_delay'].has_options = True _MESHCONFIG.fields_by_name['rds_refresh_delay']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) _MESHCONFIG.fields_by_name['mixer_address'].has_options = True _MESHCONFIG.fields_by_name['mixer_address']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) -_MESHCONFIG.fields_by_name['outbound_traffic_policy'].has_options = True -_MESHCONFIG.fields_by_name['outbound_traffic_policy']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) _MESHCONFIG.fields_by_name['sds_refresh_delay'].has_options = True _MESHCONFIG.fields_by_name['sds_refresh_delay']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) # @@protoc_insertion_point(module_scope) From 4238d2d87b09738eb80b80e0c69365ab9dc06d2f Mon Sep 17 00:00:00 2001 From: Pengyuan Bian Date: Thu, 3 Jan 2019 09:45:42 -0800 Subject: [PATCH 08/11] Add Mixer Report Session Affinity into Mesh Config (#746) * add session affinity option. * proto lock --- mesh/v1alpha1/config.pb.go | 207 ++++++++++++------- mesh/v1alpha1/config.proto | 6 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 9 + proto.lock | 5 + python/istio_api/mesh/v1alpha1/config_pb2.py | 91 ++++---- 5 files changed, 195 insertions(+), 123 deletions(-) diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index e2575f1ee0..97da173f19 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -209,6 +209,9 @@ type MeshConfig struct { // Default is false which means the traffic is denied when the client is unable // to connect to Mixer. PolicyCheckFailOpen bool `protobuf:"varint,25,opt,name=policy_check_fail_open,json=policyCheckFailOpen,proto3" json:"policy_check_fail_open,omitempty"` + // Enable session affinity for envoy mixer reports so that calls from a proxy will + // always target the same mixer instance. + ReportSessionAffinity bool `protobuf:"varint,31,opt,name=report_session_affinity,json=reportSessionAffinity,proto3" json:"report_session_affinity,omitempty"` // Port on which Envoy should listen for incoming connections from // other services. ProxyListenPort int32 `protobuf:"varint,4,opt,name=proxy_listen_port,json=proxyListenPort,proto3" json:"proxy_listen_port,omitempty"` @@ -328,6 +331,13 @@ func (m *MeshConfig) GetPolicyCheckFailOpen() bool { return false } +func (m *MeshConfig) GetReportSessionAffinity() bool { + if m != nil { + return m.ReportSessionAffinity + } + return false +} + func (m *MeshConfig) GetProxyListenPort() int32 { if m != nil { return m.ProxyListenPort @@ -857,6 +867,18 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { } i++ } + if m.ReportSessionAffinity { + dAtA[i] = 0xf8 + i++ + dAtA[i] = 0x1 + i++ + if m.ReportSessionAffinity { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } return i, nil } @@ -1070,6 +1092,9 @@ func (m *MeshConfig) Size() (n int) { if m.SdsUseK8SSaJwt { n += 3 } + if m.ReportSessionAffinity { + n += 3 + } return n } @@ -1891,6 +1916,26 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } } m.SdsUseK8SSaJwt = bool(v != 0) + case 31: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReportSessionAffinity", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowConfig + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ReportSessionAffinity = bool(v != 0) default: iNdEx = preIndex skippy, err := skipConfig(dAtA[iNdEx:]) @@ -2299,84 +2344,86 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 1258 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0xdb, 0x36, - 0x14, 0x8e, 0x92, 0xb4, 0x49, 0x8f, 0x7f, 0x22, 0x33, 0x4d, 0xcb, 0xba, 0x5d, 0xe6, 0x66, 0x58, - 0x1b, 0x64, 0x83, 0x83, 0x26, 0x18, 0xd0, 0x0d, 0xd8, 0x85, 0x6b, 0x3b, 0xad, 0x53, 0xc7, 0x36, - 0x24, 0xa5, 0x5b, 0x77, 0x31, 0x42, 0x91, 0x68, 0x9b, 0x8b, 0x2c, 0x0a, 0x22, 0x9d, 0x36, 0x8f, - 0xb1, 0x27, 0xd9, 0x6b, 0xec, 0x72, 0x77, 0xbb, 0x1d, 0xfa, 0x24, 0x03, 0x49, 0x29, 0x76, 0x5b, - 0x77, 0x19, 0x7a, 0x27, 0x7e, 0xe7, 0x8f, 0xe7, 0x3b, 0x3f, 0x14, 0x54, 0x27, 0x54, 0x8c, 0xf7, - 0x2f, 0x9e, 0xf8, 0x51, 0x32, 0xf6, 0x9f, 0xec, 0x07, 0x3c, 0x1e, 0xb2, 0x51, 0x3d, 0x49, 0xb9, - 0xe4, 0x68, 0x93, 0x09, 0xc9, 0x78, 0x5d, 0x69, 0xd4, 0x73, 0x8d, 0xea, 0xf6, 0x88, 0xf3, 0x51, - 0x44, 0xf7, 0xb5, 0xca, 0xd9, 0x74, 0xb8, 0x1f, 0x4e, 0x53, 0x5f, 0x32, 0x1e, 0x1b, 0xa3, 0xea, - 0xbd, 0xf7, 0x1d, 0x26, 0x29, 0x7f, 0x7b, 0x99, 0x89, 0xf6, 0x62, 0x2a, 0xdf, 0xf0, 0xf4, 0x9c, - 0xc5, 0xa3, 0x5c, 0xe1, 0x70, 0x3f, 0xa4, 0x42, 0xb2, 0x58, 0x7b, 0x20, 0xe9, 0x34, 0xa2, 0x46, - 0x77, 0xe7, 0x77, 0x04, 0x70, 0x42, 0xc5, 0xb8, 0xa9, 0x2f, 0x84, 0xbe, 0x05, 0x34, 0x61, 0x6f, - 0x69, 0x4a, 0x82, 0x31, 0x0d, 0xce, 0x89, 0xa0, 0xe9, 0x05, 0x4d, 0xb1, 0x55, 0xb3, 0x76, 0x6f, - 0x39, 0xb6, 0x96, 0x34, 0x95, 0xc0, 0xd5, 0x38, 0xaa, 0xc3, 0xa6, 0xd1, 0x4e, 0x69, 0xc2, 0x53, - 0x99, 0xab, 0x2f, 0x6b, 0xf5, 0x8a, 0x16, 0x39, 0x5a, 0x92, 0xe9, 0x1f, 0xc0, 0x56, 0xc8, 0x84, - 0x7f, 0x16, 0x51, 0x92, 0xf0, 0x88, 0x05, 0x97, 0x26, 0x8c, 0xc0, 0x2b, 0x35, 0x6b, 0x77, 0xdd, - 0xd9, 0xcc, 0x84, 0x03, 0x2d, 0xd3, 0x81, 0x04, 0xda, 0x83, 0x8a, 0xce, 0x8d, 0x44, 0x4c, 0x48, - 0x1a, 0x13, 0xe5, 0x0e, 0xaf, 0xd6, 0xac, 0xdd, 0x1b, 0xce, 0x86, 0x16, 0x74, 0x35, 0x3e, 0xe0, - 0xa9, 0x44, 0x8f, 0xc0, 0x40, 0x64, 0x2c, 0x65, 0x62, 0x34, 0x6f, 0x68, 0xcd, 0x92, 0x86, 0x5f, - 0x48, 0x99, 0x68, 0xbd, 0x67, 0xb0, 0x11, 0xf0, 0x38, 0xa6, 0x81, 0x24, 0x92, 0x4d, 0x28, 0x9f, - 0x4a, 0x7c, 0xb3, 0x66, 0xed, 0x16, 0x0e, 0xee, 0xd5, 0x0d, 0xeb, 0xf5, 0x9c, 0xf5, 0x7a, 0x2b, - 0x63, 0xdd, 0x29, 0x67, 0x16, 0x9e, 0x31, 0x40, 0x5f, 0x41, 0x89, 0xc5, 0xa3, 0x94, 0x0a, 0x41, - 0x82, 0xc8, 0x17, 0x02, 0xaf, 0xe9, 0xac, 0x8b, 0x19, 0xd8, 0x54, 0x18, 0x7a, 0x0c, 0x1b, 0xb9, - 0x92, 0xe2, 0x86, 0x05, 0x14, 0xaf, 0x6b, 0xb5, 0x72, 0x06, 0xbb, 0x06, 0x45, 0x13, 0xb8, 0x7b, - 0xe5, 0x8d, 0xc7, 0x32, 0xe5, 0x51, 0x44, 0x53, 0x32, 0xe1, 0x21, 0xc5, 0xb7, 0x6a, 0xd6, 0x6e, - 0xf9, 0xe0, 0xbb, 0xfa, 0x82, 0x26, 0xa9, 0xcf, 0x2a, 0x57, 0xef, 0x64, 0x71, 0xaf, 0xac, 0x4f, - 0x78, 0x48, 0x9d, 0x2d, 0xb6, 0x08, 0x46, 0x7d, 0x28, 0xf8, 0x53, 0x39, 0xce, 0xaa, 0x80, 0x41, - 0x87, 0xd8, 0xbb, 0x2e, 0x44, 0x63, 0x2a, 0xc7, 0xa6, 0x36, 0xcf, 0x96, 0xb1, 0xe5, 0x80, 0x7f, - 0x75, 0x46, 0x1d, 0xa8, 0xa4, 0xa1, 0x20, 0x29, 0x1d, 0xa6, 0x54, 0x8c, 0x49, 0x48, 0x23, 0xff, - 0x12, 0x17, 0xae, 0xe1, 0x54, 0x7b, 0xd9, 0x48, 0x43, 0xe1, 0x18, 0xb3, 0x96, 0xb2, 0x42, 0x5f, - 0x43, 0x99, 0xc6, 0xba, 0x47, 0x64, 0xea, 0x07, 0x2c, 0x1e, 0xe1, 0xa2, 0xee, 0x8e, 0x92, 0x41, - 0x3d, 0x03, 0xaa, 0x5a, 0xfb, 0x41, 0xa0, 0x08, 0x8b, 0xf8, 0x88, 0x0c, 0x59, 0x44, 0x71, 0x49, - 0x53, 0x5b, 0x32, 0x70, 0x97, 0x8f, 0x8e, 0x58, 0x44, 0xd1, 0x73, 0x28, 0x87, 0x74, 0xe8, 0x4f, - 0x23, 0x49, 0xcc, 0xd0, 0xe1, 0xb2, 0xbe, 0x56, 0x6d, 0x61, 0xb6, 0x03, 0xd5, 0x27, 0x26, 0x5d, - 0xa7, 0x94, 0xd9, 0x65, 0xa3, 0xf1, 0x18, 0x4a, 0xa6, 0xd9, 0xfd, 0x30, 0x54, 0x94, 0x62, 0x5b, - 0x85, 0xd3, 0x39, 0x14, 0xb5, 0xa0, 0x61, 0x70, 0x55, 0x4b, 0x3e, 0x95, 0x67, 0x7c, 0x1a, 0x87, - 0x2a, 0x85, 0xe1, 0x90, 0x05, 0x39, 0xd1, 0x15, 0x1d, 0xfa, 0xda, 0x5a, 0xf6, 0x33, 0x73, 0xcf, - 0x58, 0x1b, 0x8e, 0x9d, 0x2d, 0xbe, 0x08, 0x46, 0x2d, 0xf8, 0x32, 0xe3, 0x2b, 0x88, 0x18, 0x8d, - 0x25, 0x11, 0x2c, 0x7c, 0x7f, 0xbe, 0xf0, 0xa6, 0x26, 0xf0, 0xbe, 0x51, 0x6b, 0x6a, 0x2d, 0x97, - 0x85, 0xf3, 0x73, 0x86, 0x6a, 0x50, 0x14, 0xa1, 0x20, 0xd3, 0x50, 0x90, 0xc4, 0x97, 0x63, 0x7c, - 0x5b, 0x73, 0x09, 0x22, 0x14, 0xa7, 0xa1, 0x18, 0xf8, 0x72, 0xac, 0x4a, 0x2c, 0x3e, 0x2a, 0xf1, - 0xd6, 0xff, 0x2a, 0xb1, 0xf8, 0xa0, 0xc4, 0x2f, 0xa0, 0x6c, 0x6a, 0x41, 0x04, 0x9f, 0xa6, 0x01, - 0x15, 0xf8, 0x4e, 0x6d, 0x65, 0xb7, 0x70, 0xf0, 0x70, 0x21, 0x31, 0x86, 0x14, 0x57, 0x6b, 0x3a, - 0xa5, 0x60, 0xee, 0x24, 0xd0, 0x21, 0xdc, 0xc9, 0x92, 0x57, 0x77, 0x93, 0xfc, 0x9c, 0xc6, 0x64, - 0xc2, 0xa7, 0xb1, 0xc4, 0x77, 0xcd, 0x4a, 0x31, 0x52, 0x37, 0x14, 0x9e, 0x92, 0x9d, 0x28, 0x91, - 0x5a, 0x29, 0xf3, 0xad, 0xc3, 0xd3, 0x89, 0x2f, 0x31, 0xd6, 0x09, 0x6f, 0xcc, 0x9a, 0x47, 0xc3, - 0x2a, 0xc0, 0x3c, 0x95, 0x64, 0xe8, 0xb3, 0x88, 0xf0, 0x84, 0xc6, 0xf8, 0x9e, 0x09, 0x90, 0xcc, - 0x48, 0x3c, 0xf2, 0x59, 0xd4, 0x4f, 0x68, 0x8c, 0x1e, 0x42, 0x51, 0xa6, 0x53, 0x21, 0x49, 0xc8, - 0x27, 0x3e, 0x8b, 0x71, 0x55, 0xfb, 0x2e, 0x68, 0xac, 0xa5, 0x21, 0xe4, 0xc3, 0xe6, 0xdc, 0x1d, - 0x68, 0x1c, 0xf0, 0x50, 0xb5, 0xfa, 0x7d, 0x3d, 0x89, 0x4f, 0xae, 0x9d, 0xc4, 0xfc, 0x96, 0xed, - 0xcc, 0xd0, 0xa9, 0xf8, 0x1f, 0x42, 0x88, 0x43, 0x49, 0x06, 0x09, 0x39, 0xa7, 0x34, 0xf1, 0x23, - 0x76, 0x41, 0xf1, 0x03, 0x5d, 0xac, 0xe3, 0xcc, 0xf9, 0xec, 0x91, 0xc8, 0x43, 0x1c, 0x2a, 0xaa, - 0xd5, 0x8e, 0x63, 0x3c, 0x1e, 0x70, 0x1e, 0xb9, 0x54, 0x4a, 0x16, 0x8f, 0x44, 0xdd, 0x6b, 0x0e, - 0x66, 0xdf, 0x41, 0xf2, 0x32, 0xf7, 0xe8, 0x14, 0xe5, 0xdc, 0x09, 0x5d, 0x40, 0x35, 0x1f, 0xb5, - 0x6c, 0xdb, 0x91, 0x90, 0x26, 0x34, 0x0e, 0x69, 0x1c, 0x5c, 0xe2, 0x2f, 0x74, 0xf4, 0xa7, 0xd7, - 0xa5, 0xd6, 0x32, 0x1e, 0xb2, 0xc5, 0xd8, 0xba, 0xb2, 0x77, 0x70, 0xf8, 0x09, 0x09, 0xda, 0x03, - 0xa4, 0x7b, 0x57, 0x50, 0x72, 0xfe, 0x54, 0x10, 0xe1, 0x93, 0xdf, 0xde, 0x48, 0xbc, 0xad, 0xeb, - 0x53, 0x56, 0x1d, 0x2c, 0xe8, 0xcb, 0xa7, 0xc2, 0xf5, 0x8f, 0xdf, 0xc8, 0xea, 0x1f, 0x16, 0x6c, - 0x2d, 0x1c, 0x2f, 0xd4, 0x83, 0x55, 0xbd, 0x6f, 0x2d, 0x5d, 0x82, 0x1f, 0x3e, 0x6b, 0x46, 0xeb, - 0x7a, 0xe9, 0x6a, 0x3f, 0x3b, 0x47, 0xb0, 0xaa, 0x77, 0x6d, 0x05, 0x4a, 0x4e, 0xfb, 0x79, 0xc7, - 0xf5, 0x9c, 0xd7, 0xa4, 0xdf, 0xeb, 0xbe, 0xb6, 0x97, 0x50, 0x09, 0x6e, 0x35, 0xba, 0xdd, 0xfe, - 0x4f, 0xa4, 0xd1, 0x7b, 0x6d, 0x5b, 0xe8, 0x01, 0xdc, 0x7e, 0xd5, 0x71, 0xbc, 0xd3, 0x46, 0x97, - 0xb8, 0x6d, 0xe7, 0x55, 0xa7, 0xd9, 0x36, 0x8a, 0xcb, 0xd5, 0xe5, 0x75, 0xab, 0xfa, 0xb7, 0x05, - 0xf8, 0x53, 0xa4, 0xa0, 0x5f, 0xa1, 0xc0, 0x26, 0xfa, 0xed, 0x9d, 0xbb, 0xfb, 0x8f, 0x9f, 0xcb, - 0xb1, 0xb9, 0x3e, 0x18, 0x8f, 0xfa, 0xf2, 0xdf, 0x40, 0x25, 0xf3, 0x1f, 0xfb, 0x13, 0x2a, 0x12, - 0x5f, 0x0d, 0xeb, 0x72, 0x6d, 0x45, 0xfd, 0x0e, 0x18, 0x41, 0xef, 0x0a, 0xdf, 0xa9, 0x67, 0x19, - 0x23, 0x28, 0x37, 0xba, 0x5d, 0xd2, 0x6b, 0x9c, 0xb4, 0xdd, 0x41, 0xa3, 0xd9, 0x76, 0xed, 0x25, - 0x85, 0xb9, 0x8d, 0x93, 0xf6, 0x0c, 0xb4, 0xad, 0x9d, 0xef, 0x61, 0x6b, 0xe1, 0xab, 0x85, 0xd6, - 0x60, 0xa5, 0x7f, 0x74, 0x64, 0x2f, 0xa1, 0x02, 0xac, 0xb5, 0xda, 0x47, 0x8d, 0xd3, 0xae, 0x67, - 0x5b, 0x08, 0xe0, 0xa6, 0xeb, 0x39, 0x9d, 0xa6, 0x67, 0x2f, 0xef, 0x3c, 0x02, 0x98, 0xbd, 0x46, - 0x68, 0x1d, 0x56, 0x7b, 0xfd, 0x5e, 0xdb, 0x5e, 0x42, 0x65, 0x80, 0x93, 0x53, 0xcd, 0xa4, 0xd7, - 0x75, 0x6d, 0x6b, 0xe7, 0x31, 0x54, 0x3e, 0x9a, 0x15, 0xa5, 0xee, 0xb5, 0x7f, 0xf6, 0xec, 0x25, - 0xf5, 0x75, 0xec, 0xf6, 0x7b, 0xb6, 0x75, 0xbc, 0xba, 0xbe, 0x61, 0xdb, 0xc7, 0xab, 0xeb, 0xc8, - 0xde, 0xdc, 0x11, 0x50, 0x9c, 0xdf, 0x39, 0x08, 0xc3, 0x5a, 0xbe, 0xf3, 0xcd, 0x9f, 0x50, 0x7e, - 0x44, 0x1d, 0x28, 0xca, 0x48, 0xbd, 0xed, 0x66, 0x38, 0xf4, 0x9f, 0x4f, 0xe1, 0xe0, 0xd1, 0x7f, - 0x4c, 0x98, 0xd7, 0x75, 0xf3, 0x51, 0x72, 0x0a, 0x32, 0x12, 0xf9, 0xe1, 0xd9, 0xee, 0x9f, 0xef, - 0xb6, 0xad, 0xbf, 0xde, 0x6d, 0x5b, 0xff, 0xbc, 0xdb, 0xb6, 0x7e, 0xa9, 0x1a, 0x0f, 0x8c, 0xef, - 0xfb, 0x09, 0xdb, 0x7f, 0xef, 0x57, 0xef, 0xec, 0xa6, 0xde, 0xb2, 0x87, 0xff, 0x06, 0x00, 0x00, - 0xff, 0xff, 0xbf, 0xad, 0x9f, 0x12, 0x53, 0x0a, 0x00, 0x00, + // 1285 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x5d, 0x73, 0xd3, 0xc6, + 0x1a, 0x8e, 0x92, 0x40, 0xc2, 0xeb, 0x8f, 0xc8, 0x1b, 0x02, 0x8b, 0xe1, 0x04, 0x93, 0x33, 0x07, + 0x32, 0x39, 0x1d, 0x67, 0x48, 0xa6, 0x1d, 0xda, 0x99, 0x5e, 0x18, 0xdb, 0x01, 0x07, 0xc7, 0xf6, + 0x48, 0x0a, 0x2d, 0xbd, 0xe8, 0x8e, 0x22, 0xad, 0xed, 0x6d, 0x64, 0xad, 0x46, 0xbb, 0x0e, 0xe4, + 0x57, 0xf5, 0x6f, 0xb4, 0x77, 0xbd, 0xeb, 0x6d, 0x87, 0x5f, 0xd2, 0xd9, 0x5d, 0x29, 0x36, 0x60, + 0x9a, 0x0e, 0x77, 0xd2, 0xf3, 0x7e, 0xed, 0xfb, 0xbc, 0x1f, 0xbb, 0x50, 0x9d, 0x50, 0x31, 0xde, + 0xbf, 0x78, 0xea, 0x47, 0xc9, 0xd8, 0x7f, 0xba, 0x1f, 0xf0, 0x78, 0xc8, 0x46, 0xf5, 0x24, 0xe5, + 0x92, 0xa3, 0x4d, 0x26, 0x24, 0xe3, 0x75, 0xa5, 0x51, 0xcf, 0x35, 0xaa, 0xdb, 0x23, 0xce, 0x47, + 0x11, 0xdd, 0xd7, 0x2a, 0x67, 0xd3, 0xe1, 0x7e, 0x38, 0x4d, 0x7d, 0xc9, 0x78, 0x6c, 0x8c, 0xaa, + 0xf7, 0x3e, 0x74, 0x98, 0xa4, 0xfc, 0xdd, 0x65, 0x26, 0xda, 0x8b, 0xa9, 0x7c, 0xcb, 0xd3, 0x73, + 0x16, 0x8f, 0x72, 0x85, 0xc3, 0xfd, 0x90, 0x0a, 0xc9, 0x62, 0xed, 0x81, 0xa4, 0xd3, 0x88, 0x1a, + 0xdd, 0x9d, 0xdf, 0x11, 0xc0, 0x09, 0x15, 0xe3, 0xa6, 0x3e, 0x10, 0xfa, 0x0a, 0xd0, 0x84, 0xbd, + 0xa3, 0x29, 0x09, 0xc6, 0x34, 0x38, 0x27, 0x82, 0xa6, 0x17, 0x34, 0xc5, 0x56, 0xcd, 0xda, 0xbd, + 0xe5, 0xd8, 0x5a, 0xd2, 0x54, 0x02, 0x57, 0xe3, 0xa8, 0x0e, 0x9b, 0x46, 0x3b, 0xa5, 0x09, 0x4f, + 0x65, 0xae, 0xbe, 0xac, 0xd5, 0x2b, 0x5a, 0xe4, 0x68, 0x49, 0xa6, 0x7f, 0x00, 0x5b, 0x21, 0x13, + 0xfe, 0x59, 0x44, 0x49, 0xc2, 0x23, 0x16, 0x5c, 0x9a, 0x30, 0x02, 0xaf, 0xd4, 0xac, 0xdd, 0x75, + 0x67, 0x33, 0x13, 0x0e, 0xb4, 0x4c, 0x07, 0x12, 0x68, 0x0f, 0x2a, 0x3a, 0x37, 0x12, 0x31, 0x21, + 0x69, 0x4c, 0x94, 0x3b, 0xbc, 0x5a, 0xb3, 0x76, 0x6f, 0x38, 0x1b, 0x5a, 0xd0, 0xd5, 0xf8, 0x80, + 0xa7, 0x12, 0x3d, 0x06, 0x03, 0x91, 0xb1, 0x94, 0x89, 0xd1, 0xbc, 0xa1, 0x35, 0x4b, 0x1a, 0x7e, + 0x29, 0x65, 0xa2, 0xf5, 0x9e, 0xc3, 0x46, 0xc0, 0xe3, 0x98, 0x06, 0x92, 0x48, 0x36, 0xa1, 0x7c, + 0x2a, 0xf1, 0xcd, 0x9a, 0xb5, 0x5b, 0x38, 0xb8, 0x57, 0x37, 0xac, 0xd7, 0x73, 0xd6, 0xeb, 0xad, + 0x8c, 0x75, 0xa7, 0x9c, 0x59, 0x78, 0xc6, 0x00, 0xfd, 0x17, 0x4a, 0x2c, 0x1e, 0xa5, 0x54, 0x08, + 0x12, 0x44, 0xbe, 0x10, 0x78, 0x4d, 0x67, 0x5d, 0xcc, 0xc0, 0xa6, 0xc2, 0xd0, 0x13, 0xd8, 0xc8, + 0x95, 0x14, 0x37, 0x2c, 0xa0, 0x78, 0x5d, 0xab, 0x95, 0x33, 0xd8, 0x35, 0x28, 0x9a, 0xc0, 0xdd, + 0x2b, 0x6f, 0x3c, 0x96, 0x29, 0x8f, 0x22, 0x9a, 0x92, 0x09, 0x0f, 0x29, 0xbe, 0x55, 0xb3, 0x76, + 0xcb, 0x07, 0x5f, 0xd7, 0x17, 0x34, 0x49, 0x7d, 0x56, 0xb9, 0x7a, 0x27, 0x8b, 0x7b, 0x65, 0x7d, + 0xc2, 0x43, 0xea, 0x6c, 0xb1, 0x45, 0x30, 0xea, 0x43, 0xc1, 0x9f, 0xca, 0x71, 0x56, 0x05, 0x0c, + 0x3a, 0xc4, 0xde, 0x75, 0x21, 0x1a, 0x53, 0x39, 0x36, 0xb5, 0x79, 0xbe, 0x8c, 0x2d, 0x07, 0xfc, + 0xab, 0x7f, 0xd4, 0x81, 0x4a, 0x1a, 0x0a, 0x92, 0xd2, 0x61, 0x4a, 0xc5, 0x98, 0x84, 0x34, 0xf2, + 0x2f, 0x71, 0xe1, 0x1a, 0x4e, 0xb5, 0x97, 0x8d, 0x34, 0x14, 0x8e, 0x31, 0x6b, 0x29, 0x2b, 0xf4, + 0x3f, 0x28, 0xd3, 0x58, 0xf7, 0x88, 0x4c, 0xfd, 0x80, 0xc5, 0x23, 0x5c, 0xd4, 0xdd, 0x51, 0x32, + 0xa8, 0x67, 0x40, 0x55, 0x6b, 0x3f, 0x08, 0x14, 0x61, 0x11, 0x1f, 0x91, 0x21, 0x8b, 0x28, 0x2e, + 0x69, 0x6a, 0x4b, 0x06, 0xee, 0xf2, 0xd1, 0x11, 0x8b, 0x28, 0x7a, 0x01, 0xe5, 0x90, 0x0e, 0xfd, + 0x69, 0x24, 0x89, 0x19, 0x3a, 0x5c, 0xd6, 0xc7, 0xaa, 0x2d, 0xcc, 0x76, 0xa0, 0xfa, 0xc4, 0xa4, + 0xeb, 0x94, 0x32, 0xbb, 0x6c, 0x34, 0x9e, 0x40, 0xc9, 0x34, 0xbb, 0x1f, 0x86, 0x8a, 0x52, 0x6c, + 0xab, 0x70, 0x3a, 0x87, 0xa2, 0x16, 0x34, 0x0c, 0xae, 0x6a, 0xc9, 0xa7, 0xf2, 0x8c, 0x4f, 0xe3, + 0x50, 0xa5, 0x30, 0x1c, 0xb2, 0x20, 0x27, 0xba, 0xa2, 0x43, 0x5f, 0x5b, 0xcb, 0x7e, 0x66, 0xee, + 0x19, 0x6b, 0xc3, 0xb1, 0xb3, 0xc5, 0x17, 0xc1, 0xa8, 0x05, 0x0f, 0x33, 0xbe, 0x82, 0x88, 0xd1, + 0x58, 0x12, 0xc1, 0xc2, 0x0f, 0xe7, 0x0b, 0x6f, 0x6a, 0x02, 0xef, 0x1b, 0xb5, 0xa6, 0xd6, 0x72, + 0x59, 0x38, 0x3f, 0x67, 0xa8, 0x06, 0x45, 0x11, 0x0a, 0x32, 0x0d, 0x05, 0x49, 0x7c, 0x39, 0xc6, + 0xb7, 0x35, 0x97, 0x20, 0x42, 0x71, 0x1a, 0x8a, 0x81, 0x2f, 0xc7, 0xaa, 0xc4, 0xe2, 0x93, 0x12, + 0x6f, 0xfd, 0xab, 0x12, 0x8b, 0x8f, 0x4a, 0xfc, 0x12, 0xca, 0xa6, 0x16, 0x44, 0xf0, 0x69, 0x1a, + 0x50, 0x81, 0xef, 0xd4, 0x56, 0x76, 0x0b, 0x07, 0x8f, 0x16, 0x12, 0x63, 0x48, 0x71, 0xb5, 0xa6, + 0x53, 0x0a, 0xe6, 0xfe, 0x04, 0x3a, 0x84, 0x3b, 0x59, 0xf2, 0xea, 0x6c, 0x92, 0x9f, 0xd3, 0x98, + 0x4c, 0xf8, 0x34, 0x96, 0xf8, 0xae, 0x59, 0x29, 0x46, 0xea, 0x86, 0xc2, 0x53, 0xb2, 0x13, 0x25, + 0x52, 0x2b, 0x65, 0xbe, 0x75, 0x78, 0x3a, 0xf1, 0x25, 0xc6, 0x3a, 0xe1, 0x8d, 0x59, 0xf3, 0x68, + 0x58, 0x05, 0x98, 0xa7, 0x92, 0x0c, 0x7d, 0x16, 0x11, 0x9e, 0xd0, 0x18, 0xdf, 0x33, 0x01, 0x92, + 0x19, 0x89, 0x47, 0x3e, 0x8b, 0xfa, 0x09, 0x8d, 0xd1, 0x23, 0x28, 0xca, 0x74, 0x2a, 0x24, 0x09, + 0xf9, 0xc4, 0x67, 0x31, 0xae, 0x6a, 0xdf, 0x05, 0x8d, 0xb5, 0x34, 0x84, 0x7c, 0xd8, 0x9c, 0x3b, + 0x03, 0x8d, 0x03, 0x1e, 0xaa, 0x56, 0xbf, 0xaf, 0x27, 0xf1, 0xe9, 0xb5, 0x93, 0x98, 0x9f, 0xb2, + 0x9d, 0x19, 0x3a, 0x15, 0xff, 0x63, 0x08, 0x71, 0x28, 0xc9, 0x20, 0x21, 0xe7, 0x94, 0x26, 0x7e, + 0xc4, 0x2e, 0x28, 0x7e, 0xa0, 0x8b, 0x75, 0x9c, 0x39, 0x9f, 0x5d, 0x12, 0x79, 0x88, 0x43, 0x45, + 0xb5, 0xda, 0x71, 0x8c, 0xc7, 0x03, 0xce, 0x23, 0x97, 0x4a, 0xc9, 0xe2, 0x91, 0xa8, 0x7b, 0xcd, + 0xc1, 0xec, 0x3b, 0x48, 0x5e, 0xe5, 0x1e, 0x9d, 0xa2, 0x9c, 0xfb, 0x43, 0x17, 0x50, 0xcd, 0x47, + 0x2d, 0xdb, 0x76, 0x24, 0xa4, 0x09, 0x8d, 0x43, 0x1a, 0x07, 0x97, 0xf8, 0x3f, 0x3a, 0xfa, 0xb3, + 0xeb, 0x52, 0x6b, 0x19, 0x0f, 0xd9, 0x62, 0x6c, 0x5d, 0xd9, 0x3b, 0x38, 0xfc, 0x8c, 0x04, 0xed, + 0x01, 0xd2, 0xbd, 0x2b, 0x28, 0x39, 0x7f, 0x26, 0x88, 0xf0, 0xc9, 0x2f, 0x6f, 0x25, 0xde, 0xd6, + 0xf5, 0x29, 0xab, 0x0e, 0x16, 0xf4, 0xd5, 0x33, 0xe1, 0xfa, 0xc7, 0x6f, 0x25, 0xfa, 0x06, 0xee, + 0x5e, 0x5d, 0x56, 0x42, 0xa8, 0xcb, 0x50, 0xcd, 0x52, 0xcc, 0xe4, 0x25, 0x7e, 0xa8, 0x0d, 0xb6, + 0xd2, 0xec, 0xc6, 0xd2, 0xd2, 0x46, 0x26, 0xac, 0xfe, 0x6a, 0xc1, 0xd6, 0xc2, 0xb1, 0x44, 0x3d, + 0x58, 0xd5, 0x7b, 0xda, 0xd2, 0xa5, 0xfb, 0xee, 0x8b, 0x66, 0xbb, 0xae, 0x97, 0xb5, 0xf6, 0xb3, + 0x73, 0x04, 0xab, 0x7a, 0x47, 0x57, 0xa0, 0xe4, 0xb4, 0x5f, 0x74, 0x5c, 0xcf, 0x79, 0x43, 0xfa, + 0xbd, 0xee, 0x1b, 0x7b, 0x09, 0x95, 0xe0, 0x56, 0xa3, 0xdb, 0xed, 0xff, 0x40, 0x1a, 0xbd, 0x37, + 0xb6, 0x85, 0x1e, 0xc0, 0xed, 0xd7, 0x1d, 0xc7, 0x3b, 0x6d, 0x74, 0x89, 0xdb, 0x76, 0x5e, 0x77, + 0x9a, 0x6d, 0xa3, 0xb8, 0x5c, 0x5d, 0x5e, 0xb7, 0xaa, 0x7f, 0x5a, 0x80, 0x3f, 0x47, 0x26, 0xfa, + 0x19, 0x0a, 0x6c, 0xa2, 0x69, 0x98, 0x3b, 0xfb, 0xf7, 0x5f, 0x5a, 0x1b, 0x73, 0x7c, 0x30, 0x1e, + 0xf5, 0xe1, 0xff, 0x0f, 0x95, 0xcc, 0x7f, 0xec, 0x4f, 0xa8, 0x48, 0x7c, 0x35, 0xe4, 0xcb, 0xb5, + 0x15, 0xf5, 0x8c, 0x30, 0x82, 0xde, 0x15, 0xbe, 0x53, 0xcf, 0x32, 0x46, 0x50, 0x6e, 0x74, 0xbb, + 0xa4, 0xd7, 0x38, 0x69, 0xbb, 0x83, 0x46, 0xb3, 0xed, 0xda, 0x4b, 0x0a, 0x73, 0x1b, 0x27, 0xed, + 0x19, 0x68, 0x5b, 0x3b, 0xdf, 0xc2, 0xd6, 0xc2, 0xdb, 0x0e, 0xad, 0xc1, 0x4a, 0xff, 0xe8, 0xc8, + 0x5e, 0x42, 0x05, 0x58, 0x6b, 0xb5, 0x8f, 0x1a, 0xa7, 0x5d, 0xcf, 0xb6, 0x10, 0xc0, 0x4d, 0xd7, + 0x73, 0x3a, 0x4d, 0xcf, 0x5e, 0xde, 0x79, 0x0c, 0x30, 0xbb, 0xc5, 0xd0, 0x3a, 0xac, 0xf6, 0xfa, + 0xbd, 0xb6, 0xbd, 0x84, 0xca, 0x00, 0x27, 0xa7, 0x9a, 0x49, 0xaf, 0xeb, 0xda, 0xd6, 0xce, 0x13, + 0xa8, 0x7c, 0x32, 0x63, 0x4a, 0xdd, 0x6b, 0xff, 0xe8, 0xd9, 0x4b, 0xea, 0xeb, 0xd8, 0xed, 0xf7, + 0x6c, 0xeb, 0x78, 0x75, 0x7d, 0xc3, 0xb6, 0x8f, 0x57, 0xd7, 0x91, 0xbd, 0xb9, 0x23, 0xa0, 0x38, + 0xbf, 0xab, 0x10, 0x86, 0xb5, 0xfc, 0xae, 0x30, 0x2f, 0xa8, 0xfc, 0x17, 0x75, 0xa0, 0x28, 0x23, + 0xf5, 0x26, 0x30, 0x43, 0xa5, 0x5f, 0x4c, 0x85, 0x83, 0xc7, 0xff, 0x30, 0x99, 0x5e, 0xd7, 0xcd, + 0x47, 0xd0, 0x29, 0xc8, 0x48, 0xe4, 0x3f, 0xcf, 0x77, 0x7f, 0x7b, 0xbf, 0x6d, 0xfd, 0xf1, 0x7e, + 0xdb, 0xfa, 0xeb, 0xfd, 0xb6, 0xf5, 0x53, 0xd5, 0x78, 0x60, 0x7c, 0xdf, 0x4f, 0xd8, 0xfe, 0x07, + 0x4f, 0xc4, 0xb3, 0x9b, 0x7a, 0x3b, 0x1f, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x78, 0x24, + 0x15, 0x8b, 0x0a, 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index e327a74438..31108bbccc 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -61,6 +61,10 @@ message MeshConfig { // to connect to Mixer. bool policy_check_fail_open = 25; + // Enable session affinity for envoy mixer reports so that calls from a proxy will + // always target the same mixer instance. + bool report_session_affinity = 31; + // Port on which Envoy should listen for incoming connections from // other services. int32 proxy_listen_port = 4; @@ -243,7 +247,7 @@ message MeshConfig { DefaultServiceDependency default_service_dependency = 29; // $hide_from_docs - // Next available field number: 31 + // Next available field number: 32 } // 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 e857386d21..7af7305dda 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -146,6 +146,15 @@

MeshConfig

Default is false which means the traffic is denied when the client is unable to connect to Mixer.

+ + +
+ + + diff --git a/proto.lock b/proto.lock index 5742b07542..5dac18522c 100644 --- a/proto.lock +++ b/proto.lock @@ -729,6 +729,11 @@ "name": "policy_check_fail_open", "type": "bool" }, + { + "id": 31, + "name": "report_session_affinity", + "type": "bool" + }, { "id": 4, "name": "proxy_listen_port", diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index 73d2058233..054c89805d 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\"\x83\x0e\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\x12V\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy\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\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1e \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\xa9\x01\n\x15OutboundTrafficPolicy\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode\"F\n\x04Mode\x12\x11\n\rREGISTRY_ONLY\x10\x00\x12\r\n\tALLOW_ANY\x10\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') + 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\"\xa4\x0e\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\x1f\n\x17report_session_affinity\x18\x1f \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\x12V\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy\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\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1e \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\xa9\x01\n\x15OutboundTrafficPolicy\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode\"F\n\x04Mode\x12\x11\n\rREGISTRY_ONLY\x10\x00\x12\r\n\tALLOW_ANY\x10\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,8 +49,8 @@ ], containing_type=None, options=None, - serialized_start=1540, - serialized_end=1610, + serialized_start=1573, + serialized_end=1643, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) @@ -71,8 +71,8 @@ ], containing_type=None, options=None, - serialized_start=1752, - serialized_end=1798, + serialized_start=1785, + serialized_end=1831, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE) @@ -97,8 +97,8 @@ ], containing_type=None, options=None, - serialized_start=1800, - serialized_end=1857, + serialized_start=1833, + serialized_end=1890, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -119,8 +119,8 @@ ], containing_type=None, options=None, - serialized_start=1859, - serialized_end=1897, + serialized_start=1892, + serialized_end=1930, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -141,8 +141,8 @@ ], containing_type=None, options=None, - serialized_start=1899, - serialized_end=1938, + serialized_start=1932, + serialized_end=1971, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING) @@ -174,8 +174,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1441, - serialized_end=1610, + serialized_start=1474, + serialized_end=1643, ) _MESHCONFIG_DEFAULTSERVICEDEPENDENCY = _descriptor.Descriptor( @@ -212,8 +212,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1613, - serialized_end=1798, + serialized_start=1646, + serialized_end=1831, ) _MESHCONFIG = _descriptor.Descriptor( @@ -252,168 +252,175 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='proxy_listen_port', full_name='istio.mesh.v1alpha1.MeshConfig.proxy_listen_port', index=4, + name='report_session_affinity', full_name='istio.mesh.v1alpha1.MeshConfig.report_session_affinity', index=4, + number=31, 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='proxy_listen_port', full_name='istio.mesh.v1alpha1.MeshConfig.proxy_listen_port', index=5, number=4, type=5, cpp_type=1, 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='proxy_http_port', full_name='istio.mesh.v1alpha1.MeshConfig.proxy_http_port', index=5, + name='proxy_http_port', full_name='istio.mesh.v1alpha1.MeshConfig.proxy_http_port', index=6, number=5, type=5, cpp_type=1, 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='connect_timeout', full_name='istio.mesh.v1alpha1.MeshConfig.connect_timeout', index=6, + name='connect_timeout', full_name='istio.mesh.v1alpha1.MeshConfig.connect_timeout', index=7, number=6, 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='tcp_keepalive', full_name='istio.mesh.v1alpha1.MeshConfig.tcp_keepalive', index=7, + name='tcp_keepalive', full_name='istio.mesh.v1alpha1.MeshConfig.tcp_keepalive', index=8, 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, + name='ingress_class', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_class', index=9, 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=9, + name='ingress_service', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_service', index=10, 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=10, + name='ingress_controller_mode', full_name='istio.mesh.v1alpha1.MeshConfig.ingress_controller_mode', index=11, 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=11, + name='auth_policy', full_name='istio.mesh.v1alpha1.MeshConfig.auth_policy', index=12, 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=12, + name='rds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.rds_refresh_delay', index=13, 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=13, + name='enable_tracing', full_name='istio.mesh.v1alpha1.MeshConfig.enable_tracing', index=14, 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=14, + name='access_log_file', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_file', index=15, 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=15, + name='access_log_format', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_format', index=16, 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=16, + name='access_log_encoding', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_encoding', index=17, 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=17, + name='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=18, 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=18, + name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=19, 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=19, + name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=20, 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=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=20, + name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=21, 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=21, + name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=22, 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=22, + name='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=23, 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=23, + name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=24, 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=24, + name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=25, 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='sds_use_k8s_sa_jwt', full_name='istio.mesh.v1alpha1.MeshConfig.sds_use_k8s_sa_jwt', index=25, + name='sds_use_k8s_sa_jwt', full_name='istio.mesh.v1alpha1.MeshConfig.sds_use_k8s_sa_jwt', index=26, number=30, 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=26, + name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=27, 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, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='default_service_dependency', full_name='istio.mesh.v1alpha1.MeshConfig.default_service_dependency', index=27, + name='default_service_dependency', full_name='istio.mesh.v1alpha1.MeshConfig.default_service_dependency', index=28, 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, @@ -435,7 +442,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1950, + serialized_end=1983, ) @@ -472,8 +479,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1952, - serialized_end=2045, + serialized_start=1985, + serialized_end=2078, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE From d793e6c90779d836b8e840249139b220ad8d20c4 Mon Sep 17 00:00:00 2001 From: Pengyuan Bian Date: Fri, 4 Jan 2019 06:53:50 -0800 Subject: [PATCH 09/11] rename report_session_affinity. (#747) --- mesh/v1alpha1/config.pb.go | 181 ++++++++++--------- mesh/v1alpha1/config.proto | 2 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 4 +- proto.lock | 2 +- python/istio_api/mesh/v1alpha1/config_pb2.py | 38 ++-- 5 files changed, 114 insertions(+), 113 deletions(-) diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 97da173f19..9cd3136f5a 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -211,7 +211,7 @@ type MeshConfig struct { PolicyCheckFailOpen bool `protobuf:"varint,25,opt,name=policy_check_fail_open,json=policyCheckFailOpen,proto3" json:"policy_check_fail_open,omitempty"` // Enable session affinity for envoy mixer reports so that calls from a proxy will // always target the same mixer instance. - ReportSessionAffinity bool `protobuf:"varint,31,opt,name=report_session_affinity,json=reportSessionAffinity,proto3" json:"report_session_affinity,omitempty"` + SidecarToTelemetrySessionAffinity bool `protobuf:"varint,31,opt,name=sidecar_to_telemetry_session_affinity,json=sidecarToTelemetrySessionAffinity,proto3" json:"sidecar_to_telemetry_session_affinity,omitempty"` // Port on which Envoy should listen for incoming connections from // other services. ProxyListenPort int32 `protobuf:"varint,4,opt,name=proxy_listen_port,json=proxyListenPort,proto3" json:"proxy_listen_port,omitempty"` @@ -331,9 +331,9 @@ func (m *MeshConfig) GetPolicyCheckFailOpen() bool { return false } -func (m *MeshConfig) GetReportSessionAffinity() bool { +func (m *MeshConfig) GetSidecarToTelemetrySessionAffinity() bool { if m != nil { - return m.ReportSessionAffinity + return m.SidecarToTelemetrySessionAffinity } return false } @@ -867,12 +867,12 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { } i++ } - if m.ReportSessionAffinity { + if m.SidecarToTelemetrySessionAffinity { dAtA[i] = 0xf8 i++ dAtA[i] = 0x1 i++ - if m.ReportSessionAffinity { + if m.SidecarToTelemetrySessionAffinity { dAtA[i] = 1 } else { dAtA[i] = 0 @@ -1092,7 +1092,7 @@ func (m *MeshConfig) Size() (n int) { if m.SdsUseK8SSaJwt { n += 3 } - if m.ReportSessionAffinity { + if m.SidecarToTelemetrySessionAffinity { n += 3 } return n @@ -1918,7 +1918,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { m.SdsUseK8SSaJwt = bool(v != 0) case 31: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ReportSessionAffinity", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SidecarToTelemetrySessionAffinity", wireType) } var v int for shift := uint(0); ; shift += 7 { @@ -1935,7 +1935,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { break } } - m.ReportSessionAffinity = bool(v != 0) + m.SidecarToTelemetrySessionAffinity = bool(v != 0) default: iNdEx = preIndex skippy, err := skipConfig(dAtA[iNdEx:]) @@ -2344,86 +2344,87 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 1285 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x5d, 0x73, 0xd3, 0xc6, - 0x1a, 0x8e, 0x92, 0x40, 0xc2, 0xeb, 0x8f, 0xc8, 0x1b, 0x02, 0x8b, 0xe1, 0x04, 0x93, 0x33, 0x07, - 0x32, 0x39, 0x1d, 0x67, 0x48, 0xa6, 0x1d, 0xda, 0x99, 0x5e, 0x18, 0xdb, 0x01, 0x07, 0xc7, 0xf6, - 0x48, 0x0a, 0x2d, 0xbd, 0xe8, 0x8e, 0x22, 0xad, 0xed, 0x6d, 0x64, 0xad, 0x46, 0xbb, 0x0e, 0xe4, - 0x57, 0xf5, 0x6f, 0xb4, 0x77, 0xbd, 0xeb, 0x6d, 0x87, 0x5f, 0xd2, 0xd9, 0x5d, 0x29, 0x36, 0x60, - 0x9a, 0x0e, 0x77, 0xd2, 0xf3, 0x7e, 0xed, 0xfb, 0xbc, 0x1f, 0xbb, 0x50, 0x9d, 0x50, 0x31, 0xde, - 0xbf, 0x78, 0xea, 0x47, 0xc9, 0xd8, 0x7f, 0xba, 0x1f, 0xf0, 0x78, 0xc8, 0x46, 0xf5, 0x24, 0xe5, - 0x92, 0xa3, 0x4d, 0x26, 0x24, 0xe3, 0x75, 0xa5, 0x51, 0xcf, 0x35, 0xaa, 0xdb, 0x23, 0xce, 0x47, - 0x11, 0xdd, 0xd7, 0x2a, 0x67, 0xd3, 0xe1, 0x7e, 0x38, 0x4d, 0x7d, 0xc9, 0x78, 0x6c, 0x8c, 0xaa, - 0xf7, 0x3e, 0x74, 0x98, 0xa4, 0xfc, 0xdd, 0x65, 0x26, 0xda, 0x8b, 0xa9, 0x7c, 0xcb, 0xd3, 0x73, - 0x16, 0x8f, 0x72, 0x85, 0xc3, 0xfd, 0x90, 0x0a, 0xc9, 0x62, 0xed, 0x81, 0xa4, 0xd3, 0x88, 0x1a, - 0xdd, 0x9d, 0xdf, 0x11, 0xc0, 0x09, 0x15, 0xe3, 0xa6, 0x3e, 0x10, 0xfa, 0x0a, 0xd0, 0x84, 0xbd, - 0xa3, 0x29, 0x09, 0xc6, 0x34, 0x38, 0x27, 0x82, 0xa6, 0x17, 0x34, 0xc5, 0x56, 0xcd, 0xda, 0xbd, - 0xe5, 0xd8, 0x5a, 0xd2, 0x54, 0x02, 0x57, 0xe3, 0xa8, 0x0e, 0x9b, 0x46, 0x3b, 0xa5, 0x09, 0x4f, - 0x65, 0xae, 0xbe, 0xac, 0xd5, 0x2b, 0x5a, 0xe4, 0x68, 0x49, 0xa6, 0x7f, 0x00, 0x5b, 0x21, 0x13, - 0xfe, 0x59, 0x44, 0x49, 0xc2, 0x23, 0x16, 0x5c, 0x9a, 0x30, 0x02, 0xaf, 0xd4, 0xac, 0xdd, 0x75, - 0x67, 0x33, 0x13, 0x0e, 0xb4, 0x4c, 0x07, 0x12, 0x68, 0x0f, 0x2a, 0x3a, 0x37, 0x12, 0x31, 0x21, - 0x69, 0x4c, 0x94, 0x3b, 0xbc, 0x5a, 0xb3, 0x76, 0x6f, 0x38, 0x1b, 0x5a, 0xd0, 0xd5, 0xf8, 0x80, - 0xa7, 0x12, 0x3d, 0x06, 0x03, 0x91, 0xb1, 0x94, 0x89, 0xd1, 0xbc, 0xa1, 0x35, 0x4b, 0x1a, 0x7e, - 0x29, 0x65, 0xa2, 0xf5, 0x9e, 0xc3, 0x46, 0xc0, 0xe3, 0x98, 0x06, 0x92, 0x48, 0x36, 0xa1, 0x7c, - 0x2a, 0xf1, 0xcd, 0x9a, 0xb5, 0x5b, 0x38, 0xb8, 0x57, 0x37, 0xac, 0xd7, 0x73, 0xd6, 0xeb, 0xad, - 0x8c, 0x75, 0xa7, 0x9c, 0x59, 0x78, 0xc6, 0x00, 0xfd, 0x17, 0x4a, 0x2c, 0x1e, 0xa5, 0x54, 0x08, - 0x12, 0x44, 0xbe, 0x10, 0x78, 0x4d, 0x67, 0x5d, 0xcc, 0xc0, 0xa6, 0xc2, 0xd0, 0x13, 0xd8, 0xc8, - 0x95, 0x14, 0x37, 0x2c, 0xa0, 0x78, 0x5d, 0xab, 0x95, 0x33, 0xd8, 0x35, 0x28, 0x9a, 0xc0, 0xdd, - 0x2b, 0x6f, 0x3c, 0x96, 0x29, 0x8f, 0x22, 0x9a, 0x92, 0x09, 0x0f, 0x29, 0xbe, 0x55, 0xb3, 0x76, - 0xcb, 0x07, 0x5f, 0xd7, 0x17, 0x34, 0x49, 0x7d, 0x56, 0xb9, 0x7a, 0x27, 0x8b, 0x7b, 0x65, 0x7d, - 0xc2, 0x43, 0xea, 0x6c, 0xb1, 0x45, 0x30, 0xea, 0x43, 0xc1, 0x9f, 0xca, 0x71, 0x56, 0x05, 0x0c, - 0x3a, 0xc4, 0xde, 0x75, 0x21, 0x1a, 0x53, 0x39, 0x36, 0xb5, 0x79, 0xbe, 0x8c, 0x2d, 0x07, 0xfc, - 0xab, 0x7f, 0xd4, 0x81, 0x4a, 0x1a, 0x0a, 0x92, 0xd2, 0x61, 0x4a, 0xc5, 0x98, 0x84, 0x34, 0xf2, - 0x2f, 0x71, 0xe1, 0x1a, 0x4e, 0xb5, 0x97, 0x8d, 0x34, 0x14, 0x8e, 0x31, 0x6b, 0x29, 0x2b, 0xf4, - 0x3f, 0x28, 0xd3, 0x58, 0xf7, 0x88, 0x4c, 0xfd, 0x80, 0xc5, 0x23, 0x5c, 0xd4, 0xdd, 0x51, 0x32, - 0xa8, 0x67, 0x40, 0x55, 0x6b, 0x3f, 0x08, 0x14, 0x61, 0x11, 0x1f, 0x91, 0x21, 0x8b, 0x28, 0x2e, - 0x69, 0x6a, 0x4b, 0x06, 0xee, 0xf2, 0xd1, 0x11, 0x8b, 0x28, 0x7a, 0x01, 0xe5, 0x90, 0x0e, 0xfd, - 0x69, 0x24, 0x89, 0x19, 0x3a, 0x5c, 0xd6, 0xc7, 0xaa, 0x2d, 0xcc, 0x76, 0xa0, 0xfa, 0xc4, 0xa4, - 0xeb, 0x94, 0x32, 0xbb, 0x6c, 0x34, 0x9e, 0x40, 0xc9, 0x34, 0xbb, 0x1f, 0x86, 0x8a, 0x52, 0x6c, - 0xab, 0x70, 0x3a, 0x87, 0xa2, 0x16, 0x34, 0x0c, 0xae, 0x6a, 0xc9, 0xa7, 0xf2, 0x8c, 0x4f, 0xe3, - 0x50, 0xa5, 0x30, 0x1c, 0xb2, 0x20, 0x27, 0xba, 0xa2, 0x43, 0x5f, 0x5b, 0xcb, 0x7e, 0x66, 0xee, - 0x19, 0x6b, 0xc3, 0xb1, 0xb3, 0xc5, 0x17, 0xc1, 0xa8, 0x05, 0x0f, 0x33, 0xbe, 0x82, 0x88, 0xd1, - 0x58, 0x12, 0xc1, 0xc2, 0x0f, 0xe7, 0x0b, 0x6f, 0x6a, 0x02, 0xef, 0x1b, 0xb5, 0xa6, 0xd6, 0x72, - 0x59, 0x38, 0x3f, 0x67, 0xa8, 0x06, 0x45, 0x11, 0x0a, 0x32, 0x0d, 0x05, 0x49, 0x7c, 0x39, 0xc6, - 0xb7, 0x35, 0x97, 0x20, 0x42, 0x71, 0x1a, 0x8a, 0x81, 0x2f, 0xc7, 0xaa, 0xc4, 0xe2, 0x93, 0x12, - 0x6f, 0xfd, 0xab, 0x12, 0x8b, 0x8f, 0x4a, 0xfc, 0x12, 0xca, 0xa6, 0x16, 0x44, 0xf0, 0x69, 0x1a, - 0x50, 0x81, 0xef, 0xd4, 0x56, 0x76, 0x0b, 0x07, 0x8f, 0x16, 0x12, 0x63, 0x48, 0x71, 0xb5, 0xa6, - 0x53, 0x0a, 0xe6, 0xfe, 0x04, 0x3a, 0x84, 0x3b, 0x59, 0xf2, 0xea, 0x6c, 0x92, 0x9f, 0xd3, 0x98, - 0x4c, 0xf8, 0x34, 0x96, 0xf8, 0xae, 0x59, 0x29, 0x46, 0xea, 0x86, 0xc2, 0x53, 0xb2, 0x13, 0x25, - 0x52, 0x2b, 0x65, 0xbe, 0x75, 0x78, 0x3a, 0xf1, 0x25, 0xc6, 0x3a, 0xe1, 0x8d, 0x59, 0xf3, 0x68, - 0x58, 0x05, 0x98, 0xa7, 0x92, 0x0c, 0x7d, 0x16, 0x11, 0x9e, 0xd0, 0x18, 0xdf, 0x33, 0x01, 0x92, - 0x19, 0x89, 0x47, 0x3e, 0x8b, 0xfa, 0x09, 0x8d, 0xd1, 0x23, 0x28, 0xca, 0x74, 0x2a, 0x24, 0x09, - 0xf9, 0xc4, 0x67, 0x31, 0xae, 0x6a, 0xdf, 0x05, 0x8d, 0xb5, 0x34, 0x84, 0x7c, 0xd8, 0x9c, 0x3b, - 0x03, 0x8d, 0x03, 0x1e, 0xaa, 0x56, 0xbf, 0xaf, 0x27, 0xf1, 0xe9, 0xb5, 0x93, 0x98, 0x9f, 0xb2, - 0x9d, 0x19, 0x3a, 0x15, 0xff, 0x63, 0x08, 0x71, 0x28, 0xc9, 0x20, 0x21, 0xe7, 0x94, 0x26, 0x7e, - 0xc4, 0x2e, 0x28, 0x7e, 0xa0, 0x8b, 0x75, 0x9c, 0x39, 0x9f, 0x5d, 0x12, 0x79, 0x88, 0x43, 0x45, - 0xb5, 0xda, 0x71, 0x8c, 0xc7, 0x03, 0xce, 0x23, 0x97, 0x4a, 0xc9, 0xe2, 0x91, 0xa8, 0x7b, 0xcd, - 0xc1, 0xec, 0x3b, 0x48, 0x5e, 0xe5, 0x1e, 0x9d, 0xa2, 0x9c, 0xfb, 0x43, 0x17, 0x50, 0xcd, 0x47, - 0x2d, 0xdb, 0x76, 0x24, 0xa4, 0x09, 0x8d, 0x43, 0x1a, 0x07, 0x97, 0xf8, 0x3f, 0x3a, 0xfa, 0xb3, - 0xeb, 0x52, 0x6b, 0x19, 0x0f, 0xd9, 0x62, 0x6c, 0x5d, 0xd9, 0x3b, 0x38, 0xfc, 0x8c, 0x04, 0xed, - 0x01, 0xd2, 0xbd, 0x2b, 0x28, 0x39, 0x7f, 0x26, 0x88, 0xf0, 0xc9, 0x2f, 0x6f, 0x25, 0xde, 0xd6, - 0xf5, 0x29, 0xab, 0x0e, 0x16, 0xf4, 0xd5, 0x33, 0xe1, 0xfa, 0xc7, 0x6f, 0x25, 0xfa, 0x06, 0xee, - 0x5e, 0x5d, 0x56, 0x42, 0xa8, 0xcb, 0x50, 0xcd, 0x52, 0xcc, 0xe4, 0x25, 0x7e, 0xa8, 0x0d, 0xb6, - 0xd2, 0xec, 0xc6, 0xd2, 0xd2, 0x46, 0x26, 0xac, 0xfe, 0x6a, 0xc1, 0xd6, 0xc2, 0xb1, 0x44, 0x3d, - 0x58, 0xd5, 0x7b, 0xda, 0xd2, 0xa5, 0xfb, 0xee, 0x8b, 0x66, 0xbb, 0xae, 0x97, 0xb5, 0xf6, 0xb3, - 0x73, 0x04, 0xab, 0x7a, 0x47, 0x57, 0xa0, 0xe4, 0xb4, 0x5f, 0x74, 0x5c, 0xcf, 0x79, 0x43, 0xfa, - 0xbd, 0xee, 0x1b, 0x7b, 0x09, 0x95, 0xe0, 0x56, 0xa3, 0xdb, 0xed, 0xff, 0x40, 0x1a, 0xbd, 0x37, - 0xb6, 0x85, 0x1e, 0xc0, 0xed, 0xd7, 0x1d, 0xc7, 0x3b, 0x6d, 0x74, 0x89, 0xdb, 0x76, 0x5e, 0x77, - 0x9a, 0x6d, 0xa3, 0xb8, 0x5c, 0x5d, 0x5e, 0xb7, 0xaa, 0x7f, 0x5a, 0x80, 0x3f, 0x47, 0x26, 0xfa, - 0x19, 0x0a, 0x6c, 0xa2, 0x69, 0x98, 0x3b, 0xfb, 0xf7, 0x5f, 0x5a, 0x1b, 0x73, 0x7c, 0x30, 0x1e, - 0xf5, 0xe1, 0xff, 0x0f, 0x95, 0xcc, 0x7f, 0xec, 0x4f, 0xa8, 0x48, 0x7c, 0x35, 0xe4, 0xcb, 0xb5, - 0x15, 0xf5, 0x8c, 0x30, 0x82, 0xde, 0x15, 0xbe, 0x53, 0xcf, 0x32, 0x46, 0x50, 0x6e, 0x74, 0xbb, - 0xa4, 0xd7, 0x38, 0x69, 0xbb, 0x83, 0x46, 0xb3, 0xed, 0xda, 0x4b, 0x0a, 0x73, 0x1b, 0x27, 0xed, - 0x19, 0x68, 0x5b, 0x3b, 0xdf, 0xc2, 0xd6, 0xc2, 0xdb, 0x0e, 0xad, 0xc1, 0x4a, 0xff, 0xe8, 0xc8, - 0x5e, 0x42, 0x05, 0x58, 0x6b, 0xb5, 0x8f, 0x1a, 0xa7, 0x5d, 0xcf, 0xb6, 0x10, 0xc0, 0x4d, 0xd7, - 0x73, 0x3a, 0x4d, 0xcf, 0x5e, 0xde, 0x79, 0x0c, 0x30, 0xbb, 0xc5, 0xd0, 0x3a, 0xac, 0xf6, 0xfa, - 0xbd, 0xb6, 0xbd, 0x84, 0xca, 0x00, 0x27, 0xa7, 0x9a, 0x49, 0xaf, 0xeb, 0xda, 0xd6, 0xce, 0x13, - 0xa8, 0x7c, 0x32, 0x63, 0x4a, 0xdd, 0x6b, 0xff, 0xe8, 0xd9, 0x4b, 0xea, 0xeb, 0xd8, 0xed, 0xf7, - 0x6c, 0xeb, 0x78, 0x75, 0x7d, 0xc3, 0xb6, 0x8f, 0x57, 0xd7, 0x91, 0xbd, 0xb9, 0x23, 0xa0, 0x38, - 0xbf, 0xab, 0x10, 0x86, 0xb5, 0xfc, 0xae, 0x30, 0x2f, 0xa8, 0xfc, 0x17, 0x75, 0xa0, 0x28, 0x23, - 0xf5, 0x26, 0x30, 0x43, 0xa5, 0x5f, 0x4c, 0x85, 0x83, 0xc7, 0xff, 0x30, 0x99, 0x5e, 0xd7, 0xcd, - 0x47, 0xd0, 0x29, 0xc8, 0x48, 0xe4, 0x3f, 0xcf, 0x77, 0x7f, 0x7b, 0xbf, 0x6d, 0xfd, 0xf1, 0x7e, - 0xdb, 0xfa, 0xeb, 0xfd, 0xb6, 0xf5, 0x53, 0xd5, 0x78, 0x60, 0x7c, 0xdf, 0x4f, 0xd8, 0xfe, 0x07, - 0x4f, 0xc4, 0xb3, 0x9b, 0x7a, 0x3b, 0x1f, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x78, 0x24, - 0x15, 0x8b, 0x0a, 0x00, 0x00, + // 1303 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x5f, 0x6f, 0xdb, 0xb6, + 0x16, 0x8f, 0x92, 0xb4, 0x49, 0x8f, 0xff, 0x44, 0x66, 0x9a, 0x96, 0x75, 0x7b, 0x53, 0x37, 0x17, + 0x6d, 0x83, 0xdc, 0x0b, 0x07, 0x4d, 0x30, 0xa0, 0x1b, 0xb0, 0x07, 0xd7, 0x76, 0x5a, 0xa7, 0x8e, + 0x6d, 0x48, 0x4a, 0xb7, 0xee, 0x61, 0x84, 0x22, 0xd1, 0x36, 0x17, 0x59, 0x14, 0x44, 0x3a, 0x6d, + 0x3e, 0xd5, 0xbe, 0xc6, 0x1e, 0xf7, 0xb6, 0xd7, 0xa1, 0xfb, 0x22, 0x03, 0x49, 0x29, 0x76, 0x5b, + 0x77, 0x19, 0xfa, 0x26, 0xfd, 0xce, 0xef, 0x9c, 0x43, 0xfe, 0x0e, 0xcf, 0x21, 0xa1, 0x3a, 0xa1, + 0x62, 0xbc, 0x7f, 0xf1, 0xcc, 0x8f, 0x92, 0xb1, 0xff, 0x6c, 0x3f, 0xe0, 0xf1, 0x90, 0x8d, 0xea, + 0x49, 0xca, 0x25, 0x47, 0x9b, 0x4c, 0x48, 0xc6, 0xeb, 0x8a, 0x51, 0xcf, 0x19, 0xd5, 0xed, 0x11, + 0xe7, 0xa3, 0x88, 0xee, 0x6b, 0xca, 0xd9, 0x74, 0xb8, 0x1f, 0x4e, 0x53, 0x5f, 0x32, 0x1e, 0x1b, + 0xa7, 0xea, 0xbd, 0x8f, 0x03, 0x26, 0x29, 0x7f, 0x7f, 0x99, 0x99, 0xf6, 0x62, 0x2a, 0xdf, 0xf1, + 0xf4, 0x9c, 0xc5, 0xa3, 0x9c, 0x70, 0xb8, 0x1f, 0x52, 0x21, 0x59, 0xac, 0x23, 0x90, 0x74, 0x1a, + 0x51, 0xc3, 0xdd, 0xf9, 0x0b, 0x01, 0x9c, 0x50, 0x31, 0x6e, 0xea, 0x05, 0xa1, 0xff, 0x03, 0x9a, + 0xb0, 0xf7, 0x34, 0x25, 0xc1, 0x98, 0x06, 0xe7, 0x44, 0xd0, 0xf4, 0x82, 0xa6, 0xd8, 0xaa, 0x59, + 0xbb, 0xb7, 0x1c, 0x5b, 0x5b, 0x9a, 0xca, 0xe0, 0x6a, 0x1c, 0xd5, 0x61, 0xd3, 0xb0, 0x53, 0x9a, + 0xf0, 0x54, 0xe6, 0xf4, 0x65, 0x4d, 0xaf, 0x68, 0x93, 0xa3, 0x2d, 0x19, 0xff, 0x00, 0xb6, 0x42, + 0x26, 0xfc, 0xb3, 0x88, 0x92, 0x84, 0x47, 0x2c, 0xb8, 0x34, 0x69, 0x04, 0x5e, 0xa9, 0x59, 0xbb, + 0xeb, 0xce, 0x66, 0x66, 0x1c, 0x68, 0x9b, 0x4e, 0x24, 0xd0, 0x1e, 0x54, 0xf4, 0xde, 0x48, 0xc4, + 0x84, 0xa4, 0x31, 0x51, 0xe1, 0xf0, 0x6a, 0xcd, 0xda, 0xbd, 0xe1, 0x6c, 0x68, 0x43, 0x57, 0xe3, + 0x03, 0x9e, 0x4a, 0xf4, 0x04, 0x0c, 0x44, 0xc6, 0x52, 0x26, 0x86, 0x79, 0x43, 0x33, 0x4b, 0x1a, + 0x7e, 0x25, 0x65, 0xa2, 0x79, 0x2f, 0x60, 0x23, 0xe0, 0x71, 0x4c, 0x03, 0x49, 0x24, 0x9b, 0x50, + 0x3e, 0x95, 0xf8, 0x66, 0xcd, 0xda, 0x2d, 0x1c, 0xdc, 0xab, 0x1b, 0xd5, 0xeb, 0xb9, 0xea, 0xf5, + 0x56, 0xa6, 0xba, 0x53, 0xce, 0x3c, 0x3c, 0xe3, 0x80, 0xfe, 0x0b, 0x25, 0x16, 0x8f, 0x52, 0x2a, + 0x04, 0x09, 0x22, 0x5f, 0x08, 0xbc, 0xa6, 0x77, 0x5d, 0xcc, 0xc0, 0xa6, 0xc2, 0xd0, 0x53, 0xd8, + 0xc8, 0x49, 0x4a, 0x1b, 0x16, 0x50, 0xbc, 0xae, 0x69, 0xe5, 0x0c, 0x76, 0x0d, 0x8a, 0x26, 0x70, + 0xf7, 0x2a, 0x1a, 0x8f, 0x65, 0xca, 0xa3, 0x88, 0xa6, 0x64, 0xc2, 0x43, 0x8a, 0x6f, 0xd5, 0xac, + 0xdd, 0xf2, 0xc1, 0x37, 0xf5, 0x05, 0x87, 0xa4, 0x3e, 0xab, 0x5c, 0xbd, 0x93, 0xe5, 0xbd, 0xf2, + 0x3e, 0xe1, 0x21, 0x75, 0xb6, 0xd8, 0x22, 0x18, 0xf5, 0xa1, 0xe0, 0x4f, 0xe5, 0x38, 0xab, 0x02, + 0x06, 0x9d, 0x62, 0xef, 0xba, 0x14, 0x8d, 0xa9, 0x1c, 0x9b, 0xda, 0xbc, 0x58, 0xc6, 0x96, 0x03, + 0xfe, 0xd5, 0x3f, 0xea, 0x40, 0x25, 0x0d, 0x05, 0x49, 0xe9, 0x30, 0xa5, 0x62, 0x4c, 0x42, 0x1a, + 0xf9, 0x97, 0xb8, 0x70, 0x8d, 0xa6, 0x3a, 0xca, 0x46, 0x1a, 0x0a, 0xc7, 0xb8, 0xb5, 0x94, 0x17, + 0x7a, 0x0c, 0x65, 0x1a, 0xeb, 0x33, 0x22, 0x53, 0x3f, 0x60, 0xf1, 0x08, 0x17, 0xf5, 0xe9, 0x28, + 0x19, 0xd4, 0x33, 0xa0, 0xaa, 0xb5, 0x1f, 0x04, 0x4a, 0xb0, 0x88, 0x8f, 0xc8, 0x90, 0x45, 0x14, + 0x97, 0xb4, 0xb4, 0x25, 0x03, 0x77, 0xf9, 0xe8, 0x88, 0x45, 0x14, 0xbd, 0x84, 0x72, 0x48, 0x87, + 0xfe, 0x34, 0x92, 0xc4, 0x34, 0x1d, 0x2e, 0xeb, 0x65, 0xd5, 0x16, 0xee, 0x76, 0xa0, 0xce, 0x89, + 0xd9, 0xae, 0x53, 0xca, 0xfc, 0xb2, 0xd6, 0x78, 0x0a, 0x25, 0x73, 0xd8, 0xfd, 0x30, 0x54, 0x92, + 0x62, 0x5b, 0xa5, 0xd3, 0x7b, 0x28, 0x6a, 0x43, 0xc3, 0xe0, 0xaa, 0x96, 0x7c, 0x2a, 0xcf, 0xf8, + 0x34, 0x0e, 0xd5, 0x16, 0x86, 0x43, 0x16, 0xe4, 0x42, 0x57, 0x74, 0xea, 0x6b, 0x6b, 0xd9, 0xcf, + 0xdc, 0x3d, 0xe3, 0x6d, 0x34, 0x76, 0xb6, 0xf8, 0x22, 0x18, 0xb5, 0xe0, 0x61, 0xa6, 0x57, 0x10, + 0x31, 0x1a, 0x4b, 0x22, 0x58, 0xf8, 0x71, 0x7f, 0xe1, 0x4d, 0x2d, 0xe0, 0x7d, 0x43, 0x6b, 0x6a, + 0x96, 0xcb, 0xc2, 0xf9, 0x3e, 0x43, 0x35, 0x28, 0x8a, 0x50, 0x90, 0x69, 0x28, 0x48, 0xe2, 0xcb, + 0x31, 0xbe, 0xad, 0xb5, 0x04, 0x11, 0x8a, 0xd3, 0x50, 0x0c, 0x7c, 0x39, 0x56, 0x25, 0x16, 0x9f, + 0x95, 0x78, 0xeb, 0x5f, 0x95, 0x58, 0x7c, 0x52, 0xe2, 0x57, 0x50, 0x36, 0xb5, 0x20, 0x82, 0x4f, + 0xd3, 0x80, 0x0a, 0x7c, 0xa7, 0xb6, 0xb2, 0x5b, 0x38, 0x78, 0xb4, 0x50, 0x18, 0x23, 0x8a, 0xab, + 0x99, 0x4e, 0x29, 0x98, 0xfb, 0x13, 0xe8, 0x10, 0xee, 0x64, 0x9b, 0x57, 0x6b, 0x93, 0xfc, 0x9c, + 0xc6, 0x64, 0xc2, 0xa7, 0xb1, 0xc4, 0x77, 0xcd, 0x48, 0x31, 0x56, 0x37, 0x14, 0x9e, 0xb2, 0x9d, + 0x28, 0x93, 0x1a, 0x29, 0xf3, 0x47, 0x87, 0xa7, 0x13, 0x5f, 0x62, 0xac, 0x37, 0xbc, 0x31, 0x3b, + 0x3c, 0x1a, 0x56, 0x09, 0xe6, 0xa5, 0x24, 0x43, 0x9f, 0x45, 0x84, 0x27, 0x34, 0xc6, 0xf7, 0x4c, + 0x82, 0x64, 0x26, 0xe2, 0x91, 0xcf, 0xa2, 0x7e, 0x42, 0x63, 0xf4, 0x08, 0x8a, 0x32, 0x9d, 0x0a, + 0x49, 0x42, 0x3e, 0xf1, 0x59, 0x8c, 0xab, 0x3a, 0x76, 0x41, 0x63, 0x2d, 0x0d, 0x21, 0x1f, 0x36, + 0xe7, 0xd6, 0x40, 0xe3, 0x80, 0x87, 0xea, 0xa8, 0xdf, 0xd7, 0x9d, 0xf8, 0xec, 0xda, 0x4e, 0xcc, + 0x57, 0xd9, 0xce, 0x1c, 0x9d, 0x8a, 0xff, 0x29, 0x84, 0x38, 0x94, 0x64, 0x90, 0x90, 0x73, 0x4a, + 0x13, 0x3f, 0x62, 0x17, 0x14, 0x3f, 0xd0, 0xc5, 0x3a, 0xce, 0x82, 0xcf, 0x2e, 0x89, 0x3c, 0xc5, + 0xa1, 0x92, 0x5a, 0xcd, 0x38, 0xc6, 0xe3, 0x01, 0xe7, 0x91, 0x4b, 0xa5, 0x64, 0xf1, 0x48, 0xd4, + 0xbd, 0xe6, 0x60, 0xf6, 0x1d, 0x24, 0xaf, 0xf3, 0x88, 0x4e, 0x51, 0xce, 0xfd, 0xa1, 0x0b, 0xa8, + 0xe6, 0xad, 0x96, 0x4d, 0x3b, 0x12, 0xd2, 0x84, 0xc6, 0x21, 0x8d, 0x83, 0x4b, 0xfc, 0x1f, 0x9d, + 0xfd, 0xf9, 0x75, 0x5b, 0x6b, 0x99, 0x08, 0xd9, 0x60, 0x6c, 0x5d, 0xf9, 0x3b, 0x38, 0xfc, 0x82, + 0x05, 0xed, 0x01, 0xd2, 0x67, 0x57, 0x50, 0x72, 0xfe, 0x5c, 0x10, 0xe1, 0x93, 0x5f, 0xde, 0x49, + 0xbc, 0xad, 0xeb, 0x53, 0x56, 0x27, 0x58, 0xd0, 0xd7, 0xcf, 0x85, 0xeb, 0x1f, 0xbf, 0x93, 0x68, + 0x00, 0x8f, 0x55, 0x7f, 0x04, 0x7e, 0x4a, 0x24, 0x27, 0x92, 0x46, 0x74, 0x42, 0x65, 0x7a, 0x49, + 0x04, 0x15, 0x42, 0x5d, 0x8d, 0xaa, 0xb3, 0x62, 0x26, 0x2f, 0xf1, 0x43, 0xed, 0xfe, 0x28, 0x23, + 0x7b, 0xdc, 0xcb, 0xa9, 0xae, 0x61, 0x36, 0x32, 0x62, 0xf5, 0x57, 0x0b, 0xb6, 0x16, 0x36, 0x2c, + 0xea, 0xc1, 0xaa, 0x9e, 0xe0, 0x96, 0x2e, 0xea, 0x77, 0x5f, 0xd5, 0xf5, 0x75, 0x3d, 0xc6, 0x75, + 0x9c, 0x9d, 0x23, 0x58, 0xd5, 0xd3, 0xbb, 0x02, 0x25, 0xa7, 0xfd, 0xb2, 0xe3, 0x7a, 0xce, 0x5b, + 0xd2, 0xef, 0x75, 0xdf, 0xda, 0x4b, 0xa8, 0x04, 0xb7, 0x1a, 0xdd, 0x6e, 0xff, 0x07, 0xd2, 0xe8, + 0xbd, 0xb5, 0x2d, 0xf4, 0x00, 0x6e, 0xbf, 0xe9, 0x38, 0xde, 0x69, 0xa3, 0x4b, 0xdc, 0xb6, 0xf3, + 0xa6, 0xd3, 0x6c, 0x1b, 0xe2, 0x72, 0x75, 0x79, 0xdd, 0xaa, 0xfe, 0x61, 0x01, 0xfe, 0x92, 0xcc, + 0xe8, 0x67, 0x28, 0xb0, 0x89, 0xbe, 0xcd, 0xe7, 0xd6, 0xfe, 0xfd, 0xd7, 0x56, 0xcd, 0x2c, 0x1f, + 0x4c, 0x44, 0xbd, 0xf8, 0xff, 0x41, 0x25, 0x8b, 0x1f, 0xfb, 0x13, 0x2a, 0x12, 0x5f, 0xb5, 0xff, + 0x72, 0x6d, 0x45, 0x3d, 0x30, 0x8c, 0xa1, 0x77, 0x85, 0xef, 0xd4, 0xb3, 0x1d, 0x23, 0x28, 0x37, + 0xba, 0x5d, 0xd2, 0x6b, 0x9c, 0xb4, 0xdd, 0x41, 0xa3, 0xd9, 0x76, 0xed, 0x25, 0x85, 0xb9, 0x8d, + 0x93, 0xf6, 0x0c, 0xb4, 0xad, 0x9d, 0x6f, 0x61, 0x6b, 0xe1, 0x3d, 0x88, 0xd6, 0x60, 0xa5, 0x7f, + 0x74, 0x64, 0x2f, 0xa1, 0x02, 0xac, 0xb5, 0xda, 0x47, 0x8d, 0xd3, 0xae, 0x67, 0x5b, 0x08, 0xe0, + 0xa6, 0xeb, 0x39, 0x9d, 0xa6, 0x67, 0x2f, 0xef, 0x3c, 0x01, 0x98, 0xdd, 0x6f, 0x68, 0x1d, 0x56, + 0x7b, 0xfd, 0x5e, 0xdb, 0x5e, 0x42, 0x65, 0x80, 0x93, 0x53, 0xad, 0xa4, 0xd7, 0x75, 0x6d, 0x6b, + 0xe7, 0x29, 0x54, 0x3e, 0xeb, 0x3e, 0x45, 0xf7, 0xda, 0x3f, 0x7a, 0xf6, 0x92, 0xfa, 0x3a, 0x76, + 0xfb, 0x3d, 0xdb, 0x3a, 0x5e, 0x5d, 0xdf, 0xb0, 0xed, 0xe3, 0xd5, 0x75, 0x64, 0x6f, 0xee, 0x08, + 0x28, 0xce, 0x4f, 0x31, 0x84, 0x61, 0x2d, 0xbf, 0x45, 0xcc, 0xdb, 0x2a, 0xff, 0x45, 0x1d, 0x28, + 0xca, 0x48, 0xbd, 0x16, 0x4c, 0xbb, 0xe9, 0xb7, 0x54, 0xe1, 0xe0, 0xc9, 0x3f, 0xf4, 0xac, 0xd7, + 0x75, 0xf3, 0xe6, 0x74, 0x0a, 0x32, 0x12, 0xf9, 0xcf, 0x8b, 0xdd, 0xdf, 0x3e, 0x6c, 0x5b, 0xbf, + 0x7f, 0xd8, 0xb6, 0xfe, 0xfc, 0xb0, 0x6d, 0xfd, 0x54, 0x35, 0x11, 0x18, 0xdf, 0xf7, 0x13, 0xb6, + 0xff, 0xd1, 0xe3, 0xf1, 0xec, 0xa6, 0x9e, 0xdb, 0x87, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xb0, + 0x28, 0x52, 0xaf, 0xa5, 0x0a, 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index 31108bbccc..e5dab9194d 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -63,7 +63,7 @@ message MeshConfig { // Enable session affinity for envoy mixer reports so that calls from a proxy will // always target the same mixer instance. - bool report_session_affinity = 31; + bool sidecar_to_telemetry_session_affinity = 31; // Port on which Envoy should listen for incoming connections from // other services. diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 7af7305dda..3dbdf46b1a 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -148,8 +148,8 @@

MeshConfig

- - + + @@ -665,7 +665,7 @@

Network.NetworkEndpoints

a. By matching the registry name with one of the “fromregistries” - in the mesh config. A “fromregistry” can only be assinged to a + in the mesh config. A “fromregistry” can only be assigned to a single network.

b. By matching the IP against one of the CIDR ranges in a mesh diff --git a/mesh/v1alpha1/network.pb.go b/mesh/v1alpha1/network.pb.go index 05bafac843..6c7f002b4f 100644 --- a/mesh/v1alpha1/network.pb.go +++ b/mesh/v1alpha1/network.pb.go @@ -59,7 +59,7 @@ func (m *Network) GetGateways() []*Network_IstioNetworkGateway { // 2. Explicitly: // // a. By matching the registry name with one of the "from_registries" -// in the mesh config. A "from_registry" can only be assinged to a +// in the mesh config. A "from_registry" can only be assigned to a // single network. // // b. By matching the IP against one of the CIDR ranges in a mesh diff --git a/mesh/v1alpha1/network.proto b/mesh/v1alpha1/network.proto index 278fd033df..1fed56778e 100644 --- a/mesh/v1alpha1/network.proto +++ b/mesh/v1alpha1/network.proto @@ -36,7 +36,7 @@ message Network { // 2. Explicitly: // // a. By matching the registry name with one of the "from_registries" - // in the mesh config. A "from_registry" can only be assinged to a + // in the mesh config. A "from_registry" can only be assigned to a // single network. // // b. By matching the IP against one of the CIDR ranges in a mesh From 448faa9b3c3bfe9e92cd0fba9532d19db89d50c6 Mon Sep 17 00:00:00 2001 From: Shriram Rajagopalan Date: Mon, 7 Jan 2019 16:10:44 -0500 Subject: [PATCH 11/11] Sidecar config resource (#742) * renaming Signed-off-by: Shriram Rajagopalan * Sidecar Signed-off-by: Shriram Rajagopalan * gateway updates Signed-off-by: Shriram Rajagopalan * tweaks Signed-off-by: Shriram Rajagopalan * update protolock Signed-off-by: Shriram Rajagopalan * add workloadSelector to EnvoyFilter Signed-off-by: Shriram Rajagopalan * update comments Signed-off-by: Shriram Rajagopalan * feedback * tweaks Signed-off-by: Shriram Rajagopalan * capture mode Signed-off-by: Shriram Rajagopalan * nits Signed-off-by: Shriram Rajagopalan --- mesh/v1alpha1/config.pb.go | 494 ++---- mesh/v1alpha1/config.proto | 65 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 110 +- networking/v1alpha3/destination_rule.pb.go | 185 +-- networking/v1alpha3/destination_rule.proto | 2 +- networking/v1alpha3/gateway.pb.go | 195 ++- networking/v1alpha3/gateway.proto | 22 +- .../istio.networking.v1alpha3.pb.html | 356 ++--- networking/v1alpha3/service_dependency.pb.go | 938 ----------- networking/v1alpha3/service_dependency.proto | 168 -- networking/v1alpha3/service_entry.pb.go | 68 +- networking/v1alpha3/service_entry.proto | 2 +- networking/v1alpha3/sidecar.pb.go | 1405 +++++++++++++++++ networking/v1alpha3/sidecar.proto | 251 +++ networking/v1alpha3/virtual_service.pb.go | 230 +-- networking/v1alpha3/virtual_service.proto | 2 +- proto.lock | 254 +-- python/istio_api/mesh/v1alpha1/config_pb2.py | 119 +- .../v1alpha3/destination_rule_pb2.py | 80 +- .../networking/v1alpha3/gateway_pb2.py | 38 +- .../v1alpha3/service_dependency_pb2.py | 241 --- .../networking/v1alpha3/service_entry_pb2.py | 32 +- .../networking/v1alpha3/sidecar_pb2.py | 360 +++++ .../v1alpha3/virtual_service_pb2.py | 140 +- 24 files changed, 3046 insertions(+), 2711 deletions(-) delete mode 100644 networking/v1alpha3/service_dependency.pb.go delete mode 100644 networking/v1alpha3/service_dependency.proto create mode 100644 networking/v1alpha3/sidecar.pb.go create mode 100644 networking/v1alpha3/sidecar.proto delete mode 100644 python/istio_api/networking/v1alpha3/service_dependency_pb2.py create mode 100644 python/istio_api/networking/v1alpha3/sidecar_pb2.py diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 33e9b4b7f5..9113cf2515 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_v1alpha32 "istio.io/api/networking/v1alpha3" +import istio_networking_v1alpha33 "istio.io/api/networking/v1alpha3" import io "io" @@ -125,24 +125,21 @@ func (MeshConfig_AccessLogEncoding) EnumDescriptor() ([]byte, []int) { type MeshConfig_OutboundTrafficPolicy_Mode int32 const ( - // outbound traffic will be restricted to services defined in the service registry as well as those defined - // through ServiceEntries + // outbound traffic will be restricted to services defined in the + // service registry as well as those defined through ServiceEntries MeshConfig_OutboundTrafficPolicy_REGISTRY_ONLY MeshConfig_OutboundTrafficPolicy_Mode = 0 - // outbound traffic to unknown destinations will be allowed, in case there are no services or ServiceEntries for the destination port + // outbound traffic to unknown destinations will be allowed, in case + // there are no services or ServiceEntries for the destination port MeshConfig_OutboundTrafficPolicy_ALLOW_ANY MeshConfig_OutboundTrafficPolicy_Mode = 1 - // not implemented. outbound traffic will be restricted to destinations defined in VirtualServices only - MeshConfig_OutboundTrafficPolicy_VIRTUAL_SERVICE_ONLY MeshConfig_OutboundTrafficPolicy_Mode = 2 ) var MeshConfig_OutboundTrafficPolicy_Mode_name = map[int32]string{ 0: "REGISTRY_ONLY", 1: "ALLOW_ANY", - 2: "VIRTUAL_SERVICE_ONLY", } var MeshConfig_OutboundTrafficPolicy_Mode_value = map[string]int32{ - "REGISTRY_ONLY": 0, - "ALLOW_ANY": 1, - "VIRTUAL_SERVICE_ONLY": 2, + "REGISTRY_ONLY": 0, + "ALLOW_ANY": 1, } func (x MeshConfig_OutboundTrafficPolicy_Mode) String() string { @@ -152,34 +149,6 @@ func (MeshConfig_OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0, 0, 0} } -type MeshConfig_DefaultServiceDependency_Mode int32 - -const ( - // Configure routes to services in all namespaces, i.e. import - // services from all namespaces. - 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_DefaultServiceDependency_SAME_NAMESPACE MeshConfig_DefaultServiceDependency_Mode = 1 -) - -var MeshConfig_DefaultServiceDependency_Mode_name = map[int32]string{ - 0: "ALL_NAMESPACES", - 1: "SAME_NAMESPACE", -} -var MeshConfig_DefaultServiceDependency_Mode_value = map[string]int32{ - "ALL_NAMESPACES": 0, - "SAME_NAMESPACE": 1, -} - -func (x MeshConfig_DefaultServiceDependency_Mode) String() string { - return proto.EnumName(MeshConfig_DefaultServiceDependency_Mode_name, int32(x)) -} -func (MeshConfig_DefaultServiceDependency_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. // @@ -211,7 +180,7 @@ type MeshConfig struct { PolicyCheckFailOpen bool `protobuf:"varint,25,opt,name=policy_check_fail_open,json=policyCheckFailOpen,proto3" json:"policy_check_fail_open,omitempty"` // Enable session affinity for envoy mixer reports so that calls from a proxy will // always target the same mixer instance. - SidecarToTelemetrySessionAffinity bool `protobuf:"varint,31,opt,name=sidecar_to_telemetry_session_affinity,json=sidecarToTelemetrySessionAffinity,proto3" json:"sidecar_to_telemetry_session_affinity,omitempty"` + SidecarToTelemetrySessionAffinity bool `protobuf:"varint,30,opt,name=sidecar_to_telemetry_session_affinity,json=sidecarToTelemetrySessionAffinity,proto3" json:"sidecar_to_telemetry_session_affinity,omitempty"` // Port on which Envoy should listen for incoming connections from // other services. ProxyListenPort int32 `protobuf:"varint,4,opt,name=proxy_listen_port,json=proxyListenPort,proto3" json:"proxy_listen_port,omitempty"` @@ -220,7 +189,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_v1alpha32.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` + TcpKeepalive *istio_networking_v1alpha33.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. @@ -253,12 +222,14 @@ type MeshConfig struct { DefaultConfig *ProxyConfig `protobuf:"bytes,14,opt,name=default_config,json=defaultConfig" json:"default_config,omitempty"` // $hide_from_docs MixerAddress string `protobuf:"bytes,16,opt,name=mixer_address,json=mixerAddress,proto3" json:"mixer_address,omitempty"` - // Set the default behavior of the sidecar for handling outbound traffic from the application. - // While the default mode should work out of the box, if your application uses one or more external services that - // are not known apriori, setting the policy to ALLOW_ANY will cause the sidecars to route traffic to the any - // requested destination. - // Users are strongly encouraged to use ServiceEntries to explicitly declare any external dependencies, - // instead of using allow_any. + // Set the default behavior of the sidecar for handling outbound traffic + // from the application. If your application uses one or more external + // services that are not known apriori, setting the policy to ALLOW_ANY + // will cause the sidecars to route any unknown traffic originating from + // the application to its requested destination. Users are strongly + // encouraged to use ServiceEntries to explicitly declare any external + // dependencies, instead of using allow_any, so that traffic to these + // services can be monitored. OutboundTrafficPolicy *MeshConfig_OutboundTrafficPolicy `protobuf:"bytes,17,opt,name=outbound_traffic_policy,json=outboundTrafficPolicy" json:"outbound_traffic_policy,omitempty"` // Enables clide side policy checks. EnableClientSidePolicyCheck bool `protobuf:"varint,19,opt,name=enable_client_side_policy_check,json=enableClientSidePolicyCheck,proto3" json:"enable_client_side_policy_check,omitempty"` @@ -285,17 +256,11 @@ type MeshConfig struct { // and pass to sds server, which will be used to request key/cert eventually. // If both enable_sds_token_mount and sds_use_k8s_sa_jwt are set to true, enable_sds_token_mount(trustworthy jwt) takes precedence. // This isn't supported for non-k8s case. - SdsUseK8SSaJwt bool `protobuf:"varint,30,opt,name=sds_use_k8s_sa_jwt,json=sdsUseK8sSaJwt,proto3" json:"sds_use_k8s_sa_jwt,omitempty"` + SdsUseK8SSaJwt bool `protobuf:"varint,29,opt,name=sds_use_k8s_sa_jwt,json=sdsUseK8sSaJwt,proto3" json:"sds_use_k8s_sa_jwt,omitempty"` // The trust domain corresponds to the trust root of a system. // 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 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 overridden 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{} } @@ -359,7 +324,7 @@ func (m *MeshConfig) GetConnectTimeout() *google_protobuf.Duration { return nil } -func (m *MeshConfig) GetTcpKeepalive() *istio_networking_v1alpha32.ConnectionPoolSettings_TCPSettings_TcpKeepalive { +func (m *MeshConfig) GetTcpKeepalive() *istio_networking_v1alpha33.ConnectionPoolSettings_TCPSettings_TcpKeepalive { if m != nil { return m.TcpKeepalive } @@ -499,13 +464,6 @@ func (m *MeshConfig) GetTrustDomain() string { return "" } -func (m *MeshConfig) GetDefaultServiceDependency() *MeshConfig_DefaultServiceDependency { - if m != nil { - return m.DefaultServiceDependency - } - 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"` } @@ -524,41 +482,6 @@ func (m *MeshConfig_OutboundTrafficPolicy) GetMode() MeshConfig_OutboundTrafficP return MeshConfig_OutboundTrafficPolicy_REGISTRY_ONLY } -// 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_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 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_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_DefaultServiceDependency) GetImportMode() MeshConfig_DefaultServiceDependency_Mode { - if m != nil { - return m.ImportMode - } - return MeshConfig_DefaultServiceDependency_ALL_NAMESPACES -} - -func (m *MeshConfig_DefaultServiceDependency) 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. @@ -570,7 +493,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_v1alpha32.TLSSettings `protobuf:"bytes,2,opt,name=tls_settings,json=tlsSettings" json:"tls_settings,omitempty"` + TlsSettings *istio_networking_v1alpha33.TLSSettings `protobuf:"bytes,2,opt,name=tls_settings,json=tlsSettings" json:"tls_settings,omitempty"` } func (m *ConfigSource) Reset() { *m = ConfigSource{} } @@ -585,7 +508,7 @@ func (m *ConfigSource) GetAddress() string { return "" } -func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha32.TLSSettings { +func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha33.TLSSettings { if m != nil { return m.TlsSettings } @@ -595,13 +518,11 @@ 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_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_DefaultServiceDependency_Mode", MeshConfig_DefaultServiceDependency_Mode_name, MeshConfig_DefaultServiceDependency_Mode_value) } func (m *MeshConfig) Marshal() (dAtA []byte, err error) { size := m.Size() @@ -843,20 +764,8 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { } i += n6 } - if m.DefaultServiceDependency != nil { - dAtA[i] = 0xea - i++ - dAtA[i] = 0x1 - i++ - i = encodeVarintConfig(dAtA, i, uint64(m.DefaultServiceDependency.Size())) - n7, err := m.DefaultServiceDependency.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n7 - } if m.SdsUseK8SSaJwt { - dAtA[i] = 0xf0 + dAtA[i] = 0xe8 i++ dAtA[i] = 0x1 i++ @@ -868,7 +777,7 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { i++ } if m.SidecarToTelemetrySessionAffinity { - dAtA[i] = 0xf8 + dAtA[i] = 0xf0 i++ dAtA[i] = 0x1 i++ @@ -905,44 +814,6 @@ func (m *MeshConfig_OutboundTrafficPolicy) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func (m *MeshConfig_DefaultServiceDependency) 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_DefaultServiceDependency) 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) @@ -968,11 +839,11 @@ func (m *ConfigSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintConfig(dAtA, i, uint64(m.TlsSettings.Size())) - n8, err := m.TlsSettings.MarshalTo(dAtA[i:]) + n7, err := m.TlsSettings.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n8 + i += n7 } return i, nil } @@ -1085,10 +956,6 @@ func (m *MeshConfig) Size() (n int) { l = m.TcpKeepalive.Size() n += 2 + l + sovConfig(uint64(l)) } - if m.DefaultServiceDependency != nil { - l = m.DefaultServiceDependency.Size() - n += 2 + l + sovConfig(uint64(l)) - } if m.SdsUseK8SSaJwt { n += 3 } @@ -1107,21 +974,6 @@ func (m *MeshConfig_OutboundTrafficPolicy) Size() (n int) { return n } -func (m *MeshConfig_DefaultServiceDependency) 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 @@ -1857,46 +1709,13 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.TcpKeepalive == nil { - m.TcpKeepalive = &istio_networking_v1alpha32.ConnectionPoolSettings_TCPSettings_TcpKeepalive{} + m.TcpKeepalive = &istio_networking_v1alpha33.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 DefaultServiceDependency", 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.DefaultServiceDependency == nil { - m.DefaultServiceDependency = &MeshConfig_DefaultServiceDependency{} - } - if err := m.DefaultServiceDependency.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 30: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field SdsUseK8SSaJwt", wireType) } @@ -1916,7 +1735,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } } m.SdsUseK8SSaJwt = bool(v != 0) - case 31: + case 30: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field SidecarToTelemetrySessionAffinity", wireType) } @@ -2026,104 +1845,6 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error { } return nil } -func (m *MeshConfig_DefaultServiceDependency) 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: DefaultServiceDependency: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DefaultServiceDependency: 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_DefaultServiceDependency_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 @@ -2209,7 +1930,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.TlsSettings == nil { - m.TlsSettings = &istio_networking_v1alpha32.TLSSettings{} + m.TlsSettings = &istio_networking_v1alpha33.TLSSettings{} } if err := m.TlsSettings.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2344,87 +2065,80 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 1303 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x5f, 0x6f, 0xdb, 0xb6, - 0x16, 0x8f, 0x92, 0xb4, 0x49, 0x8f, 0xff, 0x44, 0x66, 0x9a, 0x96, 0x75, 0x7b, 0x53, 0x37, 0x17, - 0x6d, 0x83, 0xdc, 0x0b, 0x07, 0x4d, 0x30, 0xa0, 0x1b, 0xb0, 0x07, 0xd7, 0x76, 0x5a, 0xa7, 0x8e, - 0x6d, 0x48, 0x4a, 0xb7, 0xee, 0x61, 0x84, 0x22, 0xd1, 0x36, 0x17, 0x59, 0x14, 0x44, 0x3a, 0x6d, - 0x3e, 0xd5, 0xbe, 0xc6, 0x1e, 0xf7, 0xb6, 0xd7, 0xa1, 0xfb, 0x22, 0x03, 0x49, 0x29, 0x76, 0x5b, - 0x77, 0x19, 0xfa, 0x26, 0xfd, 0xce, 0xef, 0x9c, 0x43, 0xfe, 0x0e, 0xcf, 0x21, 0xa1, 0x3a, 0xa1, - 0x62, 0xbc, 0x7f, 0xf1, 0xcc, 0x8f, 0x92, 0xb1, 0xff, 0x6c, 0x3f, 0xe0, 0xf1, 0x90, 0x8d, 0xea, - 0x49, 0xca, 0x25, 0x47, 0x9b, 0x4c, 0x48, 0xc6, 0xeb, 0x8a, 0x51, 0xcf, 0x19, 0xd5, 0xed, 0x11, - 0xe7, 0xa3, 0x88, 0xee, 0x6b, 0xca, 0xd9, 0x74, 0xb8, 0x1f, 0x4e, 0x53, 0x5f, 0x32, 0x1e, 0x1b, - 0xa7, 0xea, 0xbd, 0x8f, 0x03, 0x26, 0x29, 0x7f, 0x7f, 0x99, 0x99, 0xf6, 0x62, 0x2a, 0xdf, 0xf1, - 0xf4, 0x9c, 0xc5, 0xa3, 0x9c, 0x70, 0xb8, 0x1f, 0x52, 0x21, 0x59, 0xac, 0x23, 0x90, 0x74, 0x1a, - 0x51, 0xc3, 0xdd, 0xf9, 0x0b, 0x01, 0x9c, 0x50, 0x31, 0x6e, 0xea, 0x05, 0xa1, 0xff, 0x03, 0x9a, - 0xb0, 0xf7, 0x34, 0x25, 0xc1, 0x98, 0x06, 0xe7, 0x44, 0xd0, 0xf4, 0x82, 0xa6, 0xd8, 0xaa, 0x59, - 0xbb, 0xb7, 0x1c, 0x5b, 0x5b, 0x9a, 0xca, 0xe0, 0x6a, 0x1c, 0xd5, 0x61, 0xd3, 0xb0, 0x53, 0x9a, - 0xf0, 0x54, 0xe6, 0xf4, 0x65, 0x4d, 0xaf, 0x68, 0x93, 0xa3, 0x2d, 0x19, 0xff, 0x00, 0xb6, 0x42, - 0x26, 0xfc, 0xb3, 0x88, 0x92, 0x84, 0x47, 0x2c, 0xb8, 0x34, 0x69, 0x04, 0x5e, 0xa9, 0x59, 0xbb, - 0xeb, 0xce, 0x66, 0x66, 0x1c, 0x68, 0x9b, 0x4e, 0x24, 0xd0, 0x1e, 0x54, 0xf4, 0xde, 0x48, 0xc4, - 0x84, 0xa4, 0x31, 0x51, 0xe1, 0xf0, 0x6a, 0xcd, 0xda, 0xbd, 0xe1, 0x6c, 0x68, 0x43, 0x57, 0xe3, - 0x03, 0x9e, 0x4a, 0xf4, 0x04, 0x0c, 0x44, 0xc6, 0x52, 0x26, 0x86, 0x79, 0x43, 0x33, 0x4b, 0x1a, - 0x7e, 0x25, 0x65, 0xa2, 0x79, 0x2f, 0x60, 0x23, 0xe0, 0x71, 0x4c, 0x03, 0x49, 0x24, 0x9b, 0x50, - 0x3e, 0x95, 0xf8, 0x66, 0xcd, 0xda, 0x2d, 0x1c, 0xdc, 0xab, 0x1b, 0xd5, 0xeb, 0xb9, 0xea, 0xf5, - 0x56, 0xa6, 0xba, 0x53, 0xce, 0x3c, 0x3c, 0xe3, 0x80, 0xfe, 0x0b, 0x25, 0x16, 0x8f, 0x52, 0x2a, - 0x04, 0x09, 0x22, 0x5f, 0x08, 0xbc, 0xa6, 0x77, 0x5d, 0xcc, 0xc0, 0xa6, 0xc2, 0xd0, 0x53, 0xd8, - 0xc8, 0x49, 0x4a, 0x1b, 0x16, 0x50, 0xbc, 0xae, 0x69, 0xe5, 0x0c, 0x76, 0x0d, 0x8a, 0x26, 0x70, - 0xf7, 0x2a, 0x1a, 0x8f, 0x65, 0xca, 0xa3, 0x88, 0xa6, 0x64, 0xc2, 0x43, 0x8a, 0x6f, 0xd5, 0xac, - 0xdd, 0xf2, 0xc1, 0x37, 0xf5, 0x05, 0x87, 0xa4, 0x3e, 0xab, 0x5c, 0xbd, 0x93, 0xe5, 0xbd, 0xf2, - 0x3e, 0xe1, 0x21, 0x75, 0xb6, 0xd8, 0x22, 0x18, 0xf5, 0xa1, 0xe0, 0x4f, 0xe5, 0x38, 0xab, 0x02, - 0x06, 0x9d, 0x62, 0xef, 0xba, 0x14, 0x8d, 0xa9, 0x1c, 0x9b, 0xda, 0xbc, 0x58, 0xc6, 0x96, 0x03, - 0xfe, 0xd5, 0x3f, 0xea, 0x40, 0x25, 0x0d, 0x05, 0x49, 0xe9, 0x30, 0xa5, 0x62, 0x4c, 0x42, 0x1a, - 0xf9, 0x97, 0xb8, 0x70, 0x8d, 0xa6, 0x3a, 0xca, 0x46, 0x1a, 0x0a, 0xc7, 0xb8, 0xb5, 0x94, 0x17, - 0x7a, 0x0c, 0x65, 0x1a, 0xeb, 0x33, 0x22, 0x53, 0x3f, 0x60, 0xf1, 0x08, 0x17, 0xf5, 0xe9, 0x28, - 0x19, 0xd4, 0x33, 0xa0, 0xaa, 0xb5, 0x1f, 0x04, 0x4a, 0xb0, 0x88, 0x8f, 0xc8, 0x90, 0x45, 0x14, - 0x97, 0xb4, 0xb4, 0x25, 0x03, 0x77, 0xf9, 0xe8, 0x88, 0x45, 0x14, 0xbd, 0x84, 0x72, 0x48, 0x87, - 0xfe, 0x34, 0x92, 0xc4, 0x34, 0x1d, 0x2e, 0xeb, 0x65, 0xd5, 0x16, 0xee, 0x76, 0xa0, 0xce, 0x89, - 0xd9, 0xae, 0x53, 0xca, 0xfc, 0xb2, 0xd6, 0x78, 0x0a, 0x25, 0x73, 0xd8, 0xfd, 0x30, 0x54, 0x92, - 0x62, 0x5b, 0xa5, 0xd3, 0x7b, 0x28, 0x6a, 0x43, 0xc3, 0xe0, 0xaa, 0x96, 0x7c, 0x2a, 0xcf, 0xf8, - 0x34, 0x0e, 0xd5, 0x16, 0x86, 0x43, 0x16, 0xe4, 0x42, 0x57, 0x74, 0xea, 0x6b, 0x6b, 0xd9, 0xcf, - 0xdc, 0x3d, 0xe3, 0x6d, 0x34, 0x76, 0xb6, 0xf8, 0x22, 0x18, 0xb5, 0xe0, 0x61, 0xa6, 0x57, 0x10, - 0x31, 0x1a, 0x4b, 0x22, 0x58, 0xf8, 0x71, 0x7f, 0xe1, 0x4d, 0x2d, 0xe0, 0x7d, 0x43, 0x6b, 0x6a, - 0x96, 0xcb, 0xc2, 0xf9, 0x3e, 0x43, 0x35, 0x28, 0x8a, 0x50, 0x90, 0x69, 0x28, 0x48, 0xe2, 0xcb, - 0x31, 0xbe, 0xad, 0xb5, 0x04, 0x11, 0x8a, 0xd3, 0x50, 0x0c, 0x7c, 0x39, 0x56, 0x25, 0x16, 0x9f, - 0x95, 0x78, 0xeb, 0x5f, 0x95, 0x58, 0x7c, 0x52, 0xe2, 0x57, 0x50, 0x36, 0xb5, 0x20, 0x82, 0x4f, - 0xd3, 0x80, 0x0a, 0x7c, 0xa7, 0xb6, 0xb2, 0x5b, 0x38, 0x78, 0xb4, 0x50, 0x18, 0x23, 0x8a, 0xab, - 0x99, 0x4e, 0x29, 0x98, 0xfb, 0x13, 0xe8, 0x10, 0xee, 0x64, 0x9b, 0x57, 0x6b, 0x93, 0xfc, 0x9c, - 0xc6, 0x64, 0xc2, 0xa7, 0xb1, 0xc4, 0x77, 0xcd, 0x48, 0x31, 0x56, 0x37, 0x14, 0x9e, 0xb2, 0x9d, - 0x28, 0x93, 0x1a, 0x29, 0xf3, 0x47, 0x87, 0xa7, 0x13, 0x5f, 0x62, 0xac, 0x37, 0xbc, 0x31, 0x3b, - 0x3c, 0x1a, 0x56, 0x09, 0xe6, 0xa5, 0x24, 0x43, 0x9f, 0x45, 0x84, 0x27, 0x34, 0xc6, 0xf7, 0x4c, - 0x82, 0x64, 0x26, 0xe2, 0x91, 0xcf, 0xa2, 0x7e, 0x42, 0x63, 0xf4, 0x08, 0x8a, 0x32, 0x9d, 0x0a, - 0x49, 0x42, 0x3e, 0xf1, 0x59, 0x8c, 0xab, 0x3a, 0x76, 0x41, 0x63, 0x2d, 0x0d, 0x21, 0x1f, 0x36, - 0xe7, 0xd6, 0x40, 0xe3, 0x80, 0x87, 0xea, 0xa8, 0xdf, 0xd7, 0x9d, 0xf8, 0xec, 0xda, 0x4e, 0xcc, - 0x57, 0xd9, 0xce, 0x1c, 0x9d, 0x8a, 0xff, 0x29, 0x84, 0x38, 0x94, 0x64, 0x90, 0x90, 0x73, 0x4a, - 0x13, 0x3f, 0x62, 0x17, 0x14, 0x3f, 0xd0, 0xc5, 0x3a, 0xce, 0x82, 0xcf, 0x2e, 0x89, 0x3c, 0xc5, - 0xa1, 0x92, 0x5a, 0xcd, 0x38, 0xc6, 0xe3, 0x01, 0xe7, 0x91, 0x4b, 0xa5, 0x64, 0xf1, 0x48, 0xd4, - 0xbd, 0xe6, 0x60, 0xf6, 0x1d, 0x24, 0xaf, 0xf3, 0x88, 0x4e, 0x51, 0xce, 0xfd, 0xa1, 0x0b, 0xa8, - 0xe6, 0xad, 0x96, 0x4d, 0x3b, 0x12, 0xd2, 0x84, 0xc6, 0x21, 0x8d, 0x83, 0x4b, 0xfc, 0x1f, 0x9d, - 0xfd, 0xf9, 0x75, 0x5b, 0x6b, 0x99, 0x08, 0xd9, 0x60, 0x6c, 0x5d, 0xf9, 0x3b, 0x38, 0xfc, 0x82, - 0x05, 0xed, 0x01, 0xd2, 0x67, 0x57, 0x50, 0x72, 0xfe, 0x5c, 0x10, 0xe1, 0x93, 0x5f, 0xde, 0x49, - 0xbc, 0xad, 0xeb, 0x53, 0x56, 0x27, 0x58, 0xd0, 0xd7, 0xcf, 0x85, 0xeb, 0x1f, 0xbf, 0x93, 0x68, - 0x00, 0x8f, 0x55, 0x7f, 0x04, 0x7e, 0x4a, 0x24, 0x27, 0x92, 0x46, 0x74, 0x42, 0x65, 0x7a, 0x49, - 0x04, 0x15, 0x42, 0x5d, 0x8d, 0xaa, 0xb3, 0x62, 0x26, 0x2f, 0xf1, 0x43, 0xed, 0xfe, 0x28, 0x23, - 0x7b, 0xdc, 0xcb, 0xa9, 0xae, 0x61, 0x36, 0x32, 0x62, 0xf5, 0x57, 0x0b, 0xb6, 0x16, 0x36, 0x2c, - 0xea, 0xc1, 0xaa, 0x9e, 0xe0, 0x96, 0x2e, 0xea, 0x77, 0x5f, 0xd5, 0xf5, 0x75, 0x3d, 0xc6, 0x75, - 0x9c, 0x9d, 0x23, 0x58, 0xd5, 0xd3, 0xbb, 0x02, 0x25, 0xa7, 0xfd, 0xb2, 0xe3, 0x7a, 0xce, 0x5b, - 0xd2, 0xef, 0x75, 0xdf, 0xda, 0x4b, 0xa8, 0x04, 0xb7, 0x1a, 0xdd, 0x6e, 0xff, 0x07, 0xd2, 0xe8, - 0xbd, 0xb5, 0x2d, 0xf4, 0x00, 0x6e, 0xbf, 0xe9, 0x38, 0xde, 0x69, 0xa3, 0x4b, 0xdc, 0xb6, 0xf3, - 0xa6, 0xd3, 0x6c, 0x1b, 0xe2, 0x72, 0x75, 0x79, 0xdd, 0xaa, 0xfe, 0x61, 0x01, 0xfe, 0x92, 0xcc, - 0xe8, 0x67, 0x28, 0xb0, 0x89, 0xbe, 0xcd, 0xe7, 0xd6, 0xfe, 0xfd, 0xd7, 0x56, 0xcd, 0x2c, 0x1f, - 0x4c, 0x44, 0xbd, 0xf8, 0xff, 0x41, 0x25, 0x8b, 0x1f, 0xfb, 0x13, 0x2a, 0x12, 0x5f, 0xb5, 0xff, - 0x72, 0x6d, 0x45, 0x3d, 0x30, 0x8c, 0xa1, 0x77, 0x85, 0xef, 0xd4, 0xb3, 0x1d, 0x23, 0x28, 0x37, - 0xba, 0x5d, 0xd2, 0x6b, 0x9c, 0xb4, 0xdd, 0x41, 0xa3, 0xd9, 0x76, 0xed, 0x25, 0x85, 0xb9, 0x8d, - 0x93, 0xf6, 0x0c, 0xb4, 0xad, 0x9d, 0x6f, 0x61, 0x6b, 0xe1, 0x3d, 0x88, 0xd6, 0x60, 0xa5, 0x7f, - 0x74, 0x64, 0x2f, 0xa1, 0x02, 0xac, 0xb5, 0xda, 0x47, 0x8d, 0xd3, 0xae, 0x67, 0x5b, 0x08, 0xe0, - 0xa6, 0xeb, 0x39, 0x9d, 0xa6, 0x67, 0x2f, 0xef, 0x3c, 0x01, 0x98, 0xdd, 0x6f, 0x68, 0x1d, 0x56, - 0x7b, 0xfd, 0x5e, 0xdb, 0x5e, 0x42, 0x65, 0x80, 0x93, 0x53, 0xad, 0xa4, 0xd7, 0x75, 0x6d, 0x6b, - 0xe7, 0x29, 0x54, 0x3e, 0xeb, 0x3e, 0x45, 0xf7, 0xda, 0x3f, 0x7a, 0xf6, 0x92, 0xfa, 0x3a, 0x76, - 0xfb, 0x3d, 0xdb, 0x3a, 0x5e, 0x5d, 0xdf, 0xb0, 0xed, 0xe3, 0xd5, 0x75, 0x64, 0x6f, 0xee, 0x08, - 0x28, 0xce, 0x4f, 0x31, 0x84, 0x61, 0x2d, 0xbf, 0x45, 0xcc, 0xdb, 0x2a, 0xff, 0x45, 0x1d, 0x28, - 0xca, 0x48, 0xbd, 0x16, 0x4c, 0xbb, 0xe9, 0xb7, 0x54, 0xe1, 0xe0, 0xc9, 0x3f, 0xf4, 0xac, 0xd7, - 0x75, 0xf3, 0xe6, 0x74, 0x0a, 0x32, 0x12, 0xf9, 0xcf, 0x8b, 0xdd, 0xdf, 0x3e, 0x6c, 0x5b, 0xbf, - 0x7f, 0xd8, 0xb6, 0xfe, 0xfc, 0xb0, 0x6d, 0xfd, 0x54, 0x35, 0x11, 0x18, 0xdf, 0xf7, 0x13, 0xb6, - 0xff, 0xd1, 0xe3, 0xf1, 0xec, 0xa6, 0x9e, 0xdb, 0x87, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xb0, - 0x28, 0x52, 0xaf, 0xa5, 0x0a, 0x00, 0x00, + // 1186 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdf, 0x6e, 0xdb, 0xb6, + 0x17, 0x8e, 0x52, 0xb7, 0x49, 0xe9, 0x3f, 0x91, 0x99, 0xa6, 0x65, 0xd3, 0xdf, 0x2f, 0x73, 0x3d, + 0xb4, 0x35, 0x82, 0xc1, 0x46, 0x13, 0x0c, 0xe8, 0x76, 0xe7, 0x3a, 0x4e, 0xeb, 0xd4, 0x89, 0x0d, + 0x49, 0xe9, 0xd6, 0xdd, 0x10, 0x8a, 0x44, 0xdb, 0x5c, 0x64, 0x51, 0x10, 0xa9, 0xb6, 0x79, 0x8a, + 0x3d, 0xc9, 0xde, 0x63, 0x97, 0x7b, 0x84, 0xa1, 0x4f, 0x32, 0xf0, 0x50, 0xaa, 0x9d, 0xd6, 0x58, + 0x86, 0xdd, 0x99, 0xdf, 0xf9, 0xce, 0x39, 0xe4, 0x77, 0xfe, 0xc8, 0x68, 0x77, 0xce, 0xe4, 0xac, + 0xf3, 0xfe, 0xb9, 0x1f, 0x25, 0x33, 0xff, 0x79, 0x27, 0x10, 0xf1, 0x84, 0x4f, 0xdb, 0x49, 0x2a, + 0x94, 0xc0, 0xdb, 0x5c, 0x2a, 0x2e, 0xda, 0x9a, 0xd1, 0x2e, 0x18, 0xbb, 0x7b, 0x53, 0x21, 0xa6, + 0x11, 0xeb, 0x00, 0xe5, 0x22, 0x9b, 0x74, 0xc2, 0x2c, 0xf5, 0x15, 0x17, 0xb1, 0x71, 0xda, 0x7d, + 0x78, 0x3d, 0x60, 0x92, 0x8a, 0x8f, 0x57, 0xb9, 0x69, 0x3f, 0x66, 0xea, 0x83, 0x48, 0x2f, 0x79, + 0x3c, 0x2d, 0x08, 0x87, 0x9d, 0x90, 0x49, 0xc5, 0x63, 0x88, 0x40, 0xd3, 0x2c, 0x62, 0x86, 0xdb, + 0xfc, 0xcd, 0x46, 0xe8, 0x94, 0xc9, 0x59, 0x0f, 0x2e, 0x84, 0xbf, 0x43, 0x78, 0xce, 0x3f, 0xb2, + 0x94, 0x06, 0x33, 0x16, 0x5c, 0x52, 0xc9, 0xd2, 0xf7, 0x2c, 0x25, 0x56, 0xc3, 0x6a, 0xdd, 0x75, + 0x6c, 0xb0, 0xf4, 0xb4, 0xc1, 0x05, 0x1c, 0xb7, 0xd1, 0xb6, 0x61, 0xa7, 0x2c, 0x11, 0xa9, 0x2a, + 0xe8, 0xeb, 0x40, 0xaf, 0x83, 0xc9, 0x01, 0x4b, 0xce, 0x3f, 0x40, 0x3b, 0x21, 0x97, 0xfe, 0x45, + 0xc4, 0x68, 0x22, 0x22, 0x1e, 0x5c, 0x99, 0x34, 0x92, 0xdc, 0x6a, 0x58, 0xad, 0x4d, 0x67, 0x3b, + 0x37, 0x8e, 0xc1, 0x06, 0x89, 0x24, 0xde, 0x47, 0x75, 0x78, 0x1b, 0x8d, 0xb8, 0x54, 0x2c, 0xa6, + 0x3a, 0x1c, 0x29, 0x35, 0xac, 0xd6, 0x6d, 0x67, 0x0b, 0x0c, 0x43, 0xc0, 0xc7, 0x22, 0x55, 0xf8, + 0x29, 0x32, 0x10, 0x9d, 0x29, 0x95, 0x18, 0xe6, 0x6d, 0x60, 0x56, 0x01, 0x7e, 0xad, 0x54, 0x02, + 0xbc, 0x97, 0x68, 0x2b, 0x10, 0x71, 0xcc, 0x02, 0x45, 0x15, 0x9f, 0x33, 0x91, 0x29, 0x72, 0xa7, + 0x61, 0xb5, 0xca, 0x07, 0x0f, 0xdb, 0x46, 0xf5, 0x76, 0xa1, 0x7a, 0xfb, 0x28, 0x57, 0xdd, 0xa9, + 0xe5, 0x1e, 0x9e, 0x71, 0xc0, 0xdf, 0xa2, 0x2a, 0x8f, 0xa7, 0x29, 0x93, 0x92, 0x06, 0x91, 0x2f, + 0x25, 0xd9, 0x80, 0x57, 0x57, 0x72, 0xb0, 0xa7, 0x31, 0xfc, 0x0c, 0x6d, 0x15, 0x24, 0xad, 0x0d, + 0x0f, 0x18, 0xd9, 0x04, 0x5a, 0x2d, 0x87, 0x5d, 0x83, 0xe2, 0x39, 0x7a, 0xf0, 0x39, 0x9a, 0x88, + 0x55, 0x2a, 0xa2, 0x88, 0xa5, 0x74, 0x2e, 0x42, 0x46, 0xee, 0x36, 0xac, 0x56, 0xed, 0xe0, 0xfb, + 0xf6, 0x8a, 0x26, 0x69, 0x2f, 0x2a, 0xd7, 0x1e, 0xe4, 0x79, 0x3f, 0x7b, 0x9f, 0x8a, 0x90, 0x39, + 0x3b, 0x7c, 0x15, 0x8c, 0x47, 0xa8, 0xec, 0x67, 0x6a, 0x96, 0x57, 0x81, 0x20, 0x48, 0xb1, 0x7f, + 0x53, 0x8a, 0x6e, 0xa6, 0x66, 0xa6, 0x36, 0x2f, 0xd7, 0x89, 0xe5, 0x20, 0xff, 0xf3, 0x19, 0x0f, + 0x50, 0x3d, 0x0d, 0x25, 0x4d, 0xd9, 0x24, 0x65, 0x72, 0x46, 0x43, 0x16, 0xf9, 0x57, 0xa4, 0x7c, + 0x83, 0xa6, 0x10, 0x65, 0x2b, 0x0d, 0xa5, 0x63, 0xdc, 0x8e, 0xb4, 0x17, 0x7e, 0x82, 0x6a, 0x2c, + 0x86, 0x1e, 0x51, 0xa9, 0x1f, 0xf0, 0x78, 0x4a, 0x2a, 0xd0, 0x1d, 0x55, 0x83, 0x7a, 0x06, 0xd4, + 0xb5, 0xf6, 0x83, 0x40, 0x0b, 0x16, 0x89, 0x29, 0x9d, 0xf0, 0x88, 0x91, 0x2a, 0x48, 0x5b, 0x35, + 0xf0, 0x50, 0x4c, 0x8f, 0x79, 0xc4, 0xf0, 0x2b, 0x54, 0x0b, 0xd9, 0xc4, 0xcf, 0x22, 0x45, 0xcd, + 0xd0, 0x91, 0x1a, 0x5c, 0xab, 0xb1, 0xf2, 0xb5, 0x63, 0xdd, 0x27, 0xe6, 0xb9, 0x4e, 0x35, 0xf7, + 0xcb, 0x47, 0xe3, 0x19, 0xaa, 0x9a, 0x66, 0xf7, 0xc3, 0x50, 0x4b, 0x4a, 0x6c, 0x9d, 0x0e, 0xde, + 0x50, 0x01, 0x43, 0xd7, 0xe0, 0xba, 0x96, 0x22, 0x53, 0x17, 0x22, 0x8b, 0x43, 0xfd, 0x84, 0xc9, + 0x84, 0x07, 0x85, 0xd0, 0x75, 0x48, 0x7d, 0x63, 0x2d, 0x47, 0xb9, 0xbb, 0x67, 0xbc, 0x8d, 0xc6, + 0xce, 0x8e, 0x58, 0x05, 0xe3, 0x23, 0xf4, 0x4d, 0xae, 0x57, 0x10, 0x71, 0x16, 0x2b, 0x2a, 0x79, + 0x78, 0x7d, 0xbe, 0xc8, 0x36, 0x08, 0xf8, 0xc8, 0xd0, 0x7a, 0xc0, 0x72, 0x79, 0xb8, 0x3c, 0x67, + 0xb8, 0x81, 0x2a, 0x32, 0x94, 0x34, 0x0b, 0x25, 0x4d, 0x7c, 0x35, 0x23, 0xf7, 0x40, 0x4b, 0x24, + 0x43, 0x79, 0x1e, 0xca, 0xb1, 0xaf, 0x66, 0xba, 0xc4, 0xf2, 0xab, 0x12, 0xef, 0xfc, 0xab, 0x12, + 0xcb, 0x2f, 0x4a, 0xfc, 0x1a, 0xd5, 0x4c, 0x2d, 0xa8, 0x14, 0x59, 0x1a, 0x30, 0x49, 0xee, 0x37, + 0x6e, 0xb5, 0xca, 0x07, 0x8f, 0x57, 0x0a, 0x63, 0x44, 0x71, 0x81, 0xe9, 0x54, 0x83, 0xa5, 0x93, + 0xc4, 0x87, 0xe8, 0x7e, 0xfe, 0x78, 0x7d, 0x37, 0x25, 0x2e, 0x59, 0x4c, 0xe7, 0x22, 0x8b, 0x15, + 0x79, 0x60, 0x56, 0x8a, 0xb1, 0xba, 0xa1, 0xf4, 0xb4, 0xed, 0x54, 0x9b, 0xf4, 0x4a, 0x59, 0x6e, + 0x1d, 0x91, 0xce, 0x7d, 0x45, 0x08, 0x3c, 0x78, 0x6b, 0xd1, 0x3c, 0x00, 0xeb, 0x04, 0xcb, 0x52, + 0xd2, 0x89, 0xcf, 0x23, 0x2a, 0x12, 0x16, 0x93, 0x87, 0x26, 0x41, 0xb2, 0x10, 0xf1, 0xd8, 0xe7, + 0xd1, 0x28, 0x61, 0x31, 0x7e, 0x8c, 0x2a, 0x2a, 0xcd, 0xa4, 0xa2, 0xa1, 0x98, 0xfb, 0x3c, 0x26, + 0xbb, 0x10, 0xbb, 0x0c, 0xd8, 0x11, 0x40, 0xd8, 0x47, 0xdb, 0x4b, 0x77, 0x60, 0x71, 0x20, 0x42, + 0xdd, 0xea, 0x8f, 0x60, 0x12, 0x9f, 0xdf, 0x38, 0x89, 0xc5, 0x2d, 0xfb, 0xb9, 0xa3, 0x53, 0xf7, + 0xbf, 0x84, 0xb0, 0x40, 0x55, 0x15, 0x24, 0xf4, 0x92, 0xb1, 0xc4, 0x8f, 0xf8, 0x7b, 0x46, 0xfe, + 0x07, 0xc5, 0x3a, 0xc9, 0x83, 0x2f, 0x3e, 0x12, 0x45, 0x8a, 0x43, 0x2d, 0xb5, 0xde, 0x71, 0x5c, + 0xc4, 0x63, 0x21, 0x22, 0x97, 0x29, 0xc5, 0xe3, 0xa9, 0x6c, 0x7b, 0xbd, 0xf1, 0xe2, 0x77, 0x90, + 0xbc, 0x29, 0x22, 0x3a, 0x15, 0xb5, 0x74, 0xc2, 0xfb, 0x08, 0x43, 0x0f, 0x49, 0x46, 0x2f, 0x5f, + 0x48, 0x2a, 0x7d, 0xfa, 0xeb, 0x07, 0x45, 0xfe, 0x0f, 0x3a, 0xd5, 0x74, 0x27, 0x49, 0xf6, 0xe6, + 0x85, 0x74, 0xfd, 0x93, 0x0f, 0x0a, 0x8f, 0xd1, 0x13, 0xdd, 0xa7, 0x81, 0x9f, 0x52, 0x25, 0xa8, + 0x62, 0x11, 0x9b, 0x33, 0x95, 0x5e, 0x51, 0xc9, 0xa4, 0xd4, 0x9f, 0x28, 0xdd, 0xe1, 0x31, 0x57, + 0x57, 0x64, 0x0f, 0xdc, 0x1f, 0xe7, 0x64, 0x4f, 0x78, 0x05, 0xd5, 0x35, 0xcc, 0x6e, 0x4e, 0xdc, + 0xfd, 0xdd, 0x42, 0x3b, 0x2b, 0x07, 0x07, 0x9f, 0xa1, 0x12, 0x6c, 0x52, 0x0b, 0xc4, 0xfd, 0xf1, + 0x3f, 0x4d, 0x5f, 0x1b, 0xd6, 0x29, 0xc4, 0x69, 0x1e, 0xa1, 0x12, 0x6c, 0xd1, 0x3a, 0xaa, 0x3a, + 0xfd, 0x57, 0x03, 0xd7, 0x73, 0xde, 0xd1, 0xd1, 0xd9, 0xf0, 0x9d, 0xbd, 0x86, 0xab, 0xe8, 0x6e, + 0x77, 0x38, 0x1c, 0xfd, 0x44, 0xbb, 0x67, 0xef, 0x6c, 0xab, 0x59, 0xda, 0x5c, 0xb7, 0xd7, 0xf7, + 0xef, 0xbd, 0x1d, 0x38, 0xde, 0x79, 0x77, 0x48, 0xdd, 0xbe, 0xf3, 0x76, 0xd0, 0xeb, 0x03, 0xb9, + 0xf9, 0x03, 0xda, 0x59, 0xb9, 0xb3, 0xf1, 0x06, 0xba, 0x35, 0x3a, 0x3e, 0xb6, 0xd7, 0x70, 0x19, + 0x6d, 0x1c, 0xf5, 0x8f, 0xbb, 0xe7, 0x43, 0xcf, 0xb6, 0x30, 0x42, 0x77, 0x5c, 0xcf, 0x19, 0xf4, + 0x3c, 0x7b, 0xbd, 0xf9, 0x14, 0xa1, 0xc5, 0x2e, 0xc6, 0x9b, 0xa8, 0x74, 0x36, 0x3a, 0xeb, 0xdb, + 0x6b, 0xb8, 0x86, 0xd0, 0xe9, 0x39, 0x64, 0xf2, 0x86, 0xae, 0x6d, 0x35, 0x9f, 0xa1, 0xfa, 0x57, + 0x9d, 0xa2, 0xe9, 0x5e, 0xff, 0x67, 0xcf, 0x5e, 0xd3, 0xbf, 0x4e, 0xdc, 0xd1, 0x99, 0x6d, 0x9d, + 0x94, 0x36, 0xb7, 0x6c, 0xfb, 0xa4, 0xb4, 0x89, 0xed, 0xed, 0xa6, 0x44, 0x95, 0xe5, 0x89, 0xc3, + 0x04, 0x6d, 0x14, 0x1b, 0xcf, 0xfc, 0x0f, 0x28, 0x8e, 0x78, 0x80, 0x2a, 0x2a, 0xd2, 0x5f, 0x36, + 0xd3, 0x1a, 0xf0, 0xdd, 0x2f, 0x1f, 0x3c, 0xfd, 0x87, 0xfe, 0xf2, 0x86, 0x6e, 0xd1, 0x48, 0x4e, + 0x59, 0x45, 0xb2, 0x38, 0xbc, 0x6c, 0xfd, 0xf1, 0x69, 0xcf, 0xfa, 0xf3, 0xd3, 0x9e, 0xf5, 0xd7, + 0xa7, 0x3d, 0xeb, 0x97, 0x5d, 0x13, 0x81, 0x8b, 0x8e, 0x9f, 0xf0, 0xce, 0xb5, 0x3f, 0x3a, 0x17, + 0x77, 0x60, 0xc7, 0x1c, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x7a, 0x45, 0xbf, 0x51, 0x09, + 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index 5ec49566cc..80e9590ffb 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -63,7 +63,7 @@ message MeshConfig { // Enable session affinity for envoy mixer reports so that calls from a proxy will // always target the same mixer instance. - bool sidecar_to_telemetry_session_affinity = 31; + bool sidecar_to_telemetry_session_affinity = 30; // Port on which Envoy should listen for incoming connections from // other services. @@ -155,23 +155,27 @@ message MeshConfig { message OutboundTrafficPolicy { enum Mode { - // outbound traffic will be restricted to services defined in the service registry as well as those defined - // through ServiceEntries + // outbound traffic will be restricted to services defined in the + // service registry as well as those defined through ServiceEntries REGISTRY_ONLY = 0; - // outbound traffic to unknown destinations will be allowed, in case there are no services or ServiceEntries for the destination port + // outbound traffic to unknown destinations will be allowed, in case + // there are no services or ServiceEntries for the destination port ALLOW_ANY = 1; - // not implemented. outbound traffic will be restricted to destinations defined in VirtualServices only - VIRTUAL_SERVICE_ONLY = 2 [deprecated=true]; + + reserved 2; + reserved "VIRTUAL_SERVICE_ONLY"; } Mode mode = 1; } - // Set the default behavior of the sidecar for handling outbound traffic from the application. - // While the default mode should work out of the box, if your application uses one or more external services that - // are not known apriori, setting the policy to ALLOW_ANY will cause the sidecars to route traffic to the any - // requested destination. - // Users are strongly encouraged to use ServiceEntries to explicitly declare any external dependencies, - // instead of using allow_any. + // Set the default behavior of the sidecar for handling outbound traffic + // from the application. If your application uses one or more external + // services that are not known apriori, setting the policy to ALLOW_ANY + // will cause the sidecars to route any unknown traffic originating from + // the application to its requested destination. Users are strongly + // encouraged to use ServiceEntries to explicitly declare any external + // dependencies, instead of using allow_any, so that traffic to these + // services can be monitored. OutboundTrafficPolicy outbound_traffic_policy = 17; reserved 18; @@ -206,48 +210,15 @@ message MeshConfig { // and pass to sds server, which will be used to request key/cert eventually. // If both enable_sds_token_mount and sds_use_k8s_sa_jwt are set to true, enable_sds_token_mount(trustworthy jwt) takes precedence. // This isn't supported for non-k8s case. - bool sds_use_k8s_sa_jwt = 30; + bool sds_use_k8s_sa_jwt = 29; // The trust domain corresponds to the trust root of a system. // 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. string trust_domain = 26; - // 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. - 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 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 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 overridden by - // supplying a ServiceDependency resource per namespace. - DefaultServiceDependency default_service_dependency = 29; - // $hide_from_docs - // Next available field number: 32 + // Next available field number: 31 } // 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 58bb0ebab7..a581ca038b 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: 18 +number_of_entries: 16 ---

AuthenticationPolicy

@@ -268,12 +268,14 @@

MeshConfig

@@ -312,18 +314,6 @@

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.

- - - - - - @@ -347,74 +337,6 @@

MeshConfig.AccessLogEncoding

- - -
FieldTypeDescription
fromstring +

Originating locality, ‘/’ separated, e.g. ‘region/zone/sub_zone’.

+ +
tomap<string, uint32> +

Upstream locality to loadbalancing weight map. The sum of all weights should be == 100. +Should assign loadbalancing weight for all localities, otherwise the traffic are not routed +following the percentage of weight.

+
outboundTrafficPolicy MeshConfig.OutboundTrafficPolicy @@ -464,7 +464,7 @@

MeshConfig.OutboundTrafficPolicy

mode MeshConfig.OutboundTrafficPolicy.Mode @@ -483,7 +483,7 @@

MeshConfig.OutboundTrafficPolicy.

REGISTRY_ONLY

outbound traffic will be restricted to services defined in the service registry as well as those defined @@ -491,10 +491,10 @@

MeshConfig.OutboundTrafficPolicy.

ALLOW_ANY -

outbound traffic to unknown destinations will be allowed

+

outbound traffic to unknown destinations will be allowed, in case there are no services or ServiceEntries for the destination port

reportSessionAffinitybool +

Enable session affinity for envoy mixer reports so that calls from a proxy will +always target the same mixer instance.

+
reportSessionAffinity
sidecarToTelemetrySessionAffinity bool

Enable session affinity for envoy mixer reports so that calls from a proxy will diff --git a/proto.lock b/proto.lock index 5dac18522c..62c8010adc 100644 --- a/proto.lock +++ b/proto.lock @@ -731,7 +731,7 @@ }, { "id": 31, - "name": "report_session_affinity", + "name": "sidecar_to_telemetry_session_affinity", "type": "bool" }, { diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index 054c89805d..9567835eac 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\"\xa4\x0e\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\x1f\n\x17report_session_affinity\x18\x1f \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\x12V\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy\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\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1e \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\xa9\x01\n\x15OutboundTrafficPolicy\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode\"F\n\x04Mode\x12\x11\n\rREGISTRY_ONLY\x10\x00\x12\r\n\tALLOW_ANY\x10\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') + 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\"\xb2\x0e\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-\n%sidecar_to_telemetry_session_affinity\x18\x1f \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\x12V\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy\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\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1e \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\xa9\x01\n\x15OutboundTrafficPolicy\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode\"F\n\x04Mode\x12\x11\n\rREGISTRY_ONLY\x10\x00\x12\r\n\tALLOW_ANY\x10\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,8 +49,8 @@ ], containing_type=None, options=None, - serialized_start=1573, - serialized_end=1643, + serialized_start=1587, + serialized_end=1657, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) @@ -71,8 +71,8 @@ ], containing_type=None, options=None, - serialized_start=1785, - serialized_end=1831, + serialized_start=1799, + serialized_end=1845, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE) @@ -97,8 +97,8 @@ ], containing_type=None, options=None, - serialized_start=1833, - serialized_end=1890, + serialized_start=1847, + serialized_end=1904, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -119,8 +119,8 @@ ], containing_type=None, options=None, - serialized_start=1892, - serialized_end=1930, + serialized_start=1906, + serialized_end=1944, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -141,8 +141,8 @@ ], containing_type=None, options=None, - serialized_start=1932, - serialized_end=1971, + serialized_start=1946, + serialized_end=1985, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING) @@ -174,8 +174,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1474, - serialized_end=1643, + serialized_start=1488, + serialized_end=1657, ) _MESHCONFIG_DEFAULTSERVICEDEPENDENCY = _descriptor.Descriptor( @@ -212,8 +212,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1646, - serialized_end=1831, + serialized_start=1660, + serialized_end=1845, ) _MESHCONFIG = _descriptor.Descriptor( @@ -252,7 +252,7 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='report_session_affinity', full_name='istio.mesh.v1alpha1.MeshConfig.report_session_affinity', index=4, + name='sidecar_to_telemetry_session_affinity', full_name='istio.mesh.v1alpha1.MeshConfig.sidecar_to_telemetry_session_affinity', index=4, number=31, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, @@ -442,7 +442,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1983, + serialized_end=1997, ) @@ -479,8 +479,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1985, - serialized_end=2078, + serialized_start=1999, + serialized_end=2092, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE From 30cc0ae7bc3a31f47395396e5f150f6a44365efb Mon Sep 17 00:00:00 2001 From: JoeWrightss <42261994+JoeWrightss@users.noreply.github.com> Date: Tue, 8 Jan 2019 00:48:43 +0800 Subject: [PATCH 10/11] Fix some spelling errors (#745) Signed-off-by: JoeWrightss --- mesh/v1alpha1/config.pb.go | 2 +- mesh/v1alpha1/config.proto | 2 +- mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 4 ++-- mesh/v1alpha1/network.pb.go | 2 +- mesh/v1alpha1/network.proto | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index 9cd3136f5a..33e9b4b7f5 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -293,7 +293,7 @@ type MeshConfig struct { // 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 + // every service in the mesh. The default scope can be overridden 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"` } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index e5dab9194d..5ec49566cc 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -242,7 +242,7 @@ message MeshConfig { // 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 + // every service in the mesh. The default scope can be overridden by // supplying a ServiceDependency resource per namespace. DefaultServiceDependency default_service_dependency = 29; diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 3dbdf46b1a..58bb0ebab7 100644 --- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html +++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html @@ -321,7 +321,7 @@

MeshConfig

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 +every service in the mesh. The default scope can be overridden by supplying a ServiceDependency resource per namespace.

outboundTrafficPolicy MeshConfig.OutboundTrafficPolicy -

Set the default behavior of the sidecar for handling outbound traffic from the application. -While the default mode should work out of the box, if your application uses one or more external services that -are not known apriori, setting the policy to ALLOWANY will cause the sidecars to route traffic to the any -requested destination. -Users are strongly encouraged to use ServiceEntries to explicitly declare any external dependencies, -instead of using allowany.

+

Set the default behavior of the sidecar for handling outbound traffic +from the application. If your application uses one or more external +services that are not known apriori, setting the policy to ALLOWANY +will cause the sidecars to route any unknown traffic originating from +the application to its requested destination. Users are strongly +encouraged to use ServiceEntries to explicitly declare any external +dependencies, instead of using allowany, so that traffic to these +services can be monitored.

defaultServiceDependencyMeshConfig.DefaultServiceDependency -

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 overridden by -supplying a ServiceDependency resource per namespace.

-
JSON -
-
-

MeshConfig.DefaultServiceDependency

-
-

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

- - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
importModeMeshConfig.DefaultServiceDependency.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 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.

- -
-
-

MeshConfig.DefaultServiceDependency.Mode

-
- - - - - - - - - - - - - - - @@ -495,22 +417,16 @@

MeshConfig.OutboundTrafficPolicy.

- - - - diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 33824eba8f..7788ca4ef0 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -8,8 +8,8 @@ networking/v1alpha3/destination_rule.proto networking/v1alpha3/envoy_filter.proto networking/v1alpha3/gateway.proto - networking/v1alpha3/service_dependency.proto networking/v1alpha3/service_entry.proto + networking/v1alpha3/sidecar.proto networking/v1alpha3/virtual_service.proto It has these top-level messages: @@ -24,8 +24,11 @@ Gateway Server Port - ServiceDependency ServiceEntry + Sidecar + IstioIngressListener + IstioEgressListener + WorkloadSelector VirtualService Destination HTTPRoute @@ -4869,100 +4872,100 @@ func init() { } var fileDescriptorDestinationRule = []byte{ - // 1511 bytes of a gzipped FileDescriptorProto + // 1506 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6f, 0x1b, 0x37, - 0x16, 0xb6, 0x7e, 0x58, 0xb6, 0x9f, 0x6c, 0x59, 0xe6, 0x7a, 0xb3, 0x8a, 0x16, 0x70, 0xbc, 0xc2, - 0x62, 0xe3, 0xcd, 0x26, 0xa3, 0xb5, 0x83, 0x00, 0x69, 0x82, 0x14, 0xb1, 0x6c, 0x21, 0x72, 0x23, + 0x16, 0xb6, 0x7e, 0x58, 0xb6, 0x9f, 0x6c, 0x59, 0xe6, 0x7a, 0xb3, 0x8a, 0x16, 0x70, 0x1c, 0x61, + 0xb1, 0xf1, 0x66, 0x37, 0xa3, 0xb5, 0x83, 0x00, 0x69, 0x82, 0x14, 0xb1, 0x6c, 0x21, 0x72, 0x23, 0x5b, 0x02, 0x25, 0xa3, 0x45, 0x80, 0x62, 0x40, 0x8d, 0x68, 0x89, 0xf1, 0x68, 0x38, 0x1d, 0x72, 0x14, 0x3b, 0x97, 0xfe, 0x03, 0x3d, 0x07, 0xbd, 0xf6, 0x4f, 0xe9, 0xad, 0xe8, 0xa9, 0xd7, 0xf6, 0xd2, 0x22, 0xd7, 0x1e, 0x7a, 0xea, 0xa5, 0x87, 0xa2, 0x20, 0x87, 0x23, 0xc9, 0x89, 0x62, 0xc7, - 0x48, 0x72, 0xe3, 0xf0, 0x7d, 0xdf, 0x23, 0xf9, 0xde, 0xc7, 0xc7, 0x37, 0x70, 0xc3, 0xa3, 0xf2, + 0x48, 0x72, 0xe3, 0xf0, 0x7d, 0xdf, 0x23, 0xf9, 0xde, 0xc7, 0xc7, 0x37, 0x70, 0xd3, 0xa3, 0xf2, 0x19, 0x0f, 0x8e, 0x99, 0xd7, 0x2b, 0x0f, 0x37, 0x89, 0xeb, 0xf7, 0xc9, 0xed, 0x72, 0x97, 0x0a, 0xc9, 0x3c, 0x22, 0x19, 0xf7, 0xec, 0x20, 0x74, 0xa9, 0xe5, 0x07, 0x5c, 0x72, 0x74, 0x95, 0x09, 0xc9, 0xb8, 0x35, 0x66, 0x58, 0x31, 0xa3, 0xb8, 0xd6, 0xe3, 0xbc, 0xe7, 0xd2, 0xb2, 0x06, 0x76, - 0xc2, 0xa3, 0x72, 0x37, 0x0c, 0x34, 0x3f, 0xa2, 0x16, 0xff, 0x3b, 0x6d, 0x99, 0x21, 0x0b, 0x64, - 0x48, 0x5c, 0x5b, 0xd0, 0x60, 0xc8, 0x1c, 0xb3, 0x4a, 0xf1, 0xe6, 0x34, 0xa8, 0x81, 0xd8, 0x5d, - 0xea, 0x53, 0xaf, 0x4b, 0x3d, 0xe7, 0xd4, 0xa0, 0x57, 0x7b, 0xbc, 0xc7, 0xf5, 0xb0, 0xac, 0x46, - 0xd1, 0x6c, 0xe9, 0xcf, 0x04, 0x2c, 0xef, 0x8e, 0x0f, 0x81, 0x43, 0x97, 0x22, 0x04, 0xe9, 0x3e, - 0x17, 0xb2, 0x90, 0x58, 0x4f, 0x6c, 0x2c, 0x60, 0x3d, 0x46, 0x0d, 0xc8, 0xc9, 0x80, 0x1c, 0x1d, - 0x31, 0xc7, 0xf6, 0xb9, 0xcb, 0x9c, 0xd3, 0x42, 0x72, 0x3d, 0xb1, 0x91, 0xdd, 0xda, 0xb0, 0xde, - 0x78, 0x54, 0xab, 0x1d, 0x11, 0x9a, 0x1a, 0x8f, 0x97, 0xe4, 0xe4, 0x27, 0xba, 0x0f, 0x73, 0x22, - 0xec, 0x08, 0x2a, 0x45, 0x21, 0xb5, 0x9e, 0xda, 0xc8, 0x6e, 0xfd, 0xeb, 0x1c, 0x4f, 0x2d, 0x8d, - 0xc4, 0x31, 0x03, 0xed, 0xc1, 0xa2, 0xc3, 0xbd, 0x23, 0xd6, 0xb3, 0x85, 0xc3, 0x7d, 0x5a, 0x48, - 0xaf, 0x27, 0x36, 0x72, 0x5b, 0xff, 0x39, 0xc7, 0xc3, 0x8e, 0x86, 0xb7, 0x14, 0x1a, 0x67, 0x9d, - 0xf1, 0x47, 0xe9, 0xa7, 0x0c, 0x2c, 0x9d, 0xd9, 0x28, 0x6a, 0xc3, 0x92, 0xcb, 0x49, 0xd7, 0xee, - 0x10, 0x97, 0x78, 0x0e, 0x0d, 0x74, 0x1c, 0xb2, 0x5b, 0xe5, 0x73, 0xbc, 0xd7, 0x39, 0xe9, 0x56, - 0x0c, 0xbc, 0x45, 0xa5, 0x64, 0x5e, 0x4f, 0xe0, 0x45, 0x77, 0x62, 0x16, 0x3d, 0x81, 0x65, 0x87, - 0x7b, 0x1e, 0x75, 0xb4, 0x56, 0x7c, 0xce, 0x5d, 0x13, 0xc1, 0xcd, 0xf3, 0x77, 0x6d, 0x18, 0x4d, - 0xce, 0xdd, 0x91, 0xe7, 0x9c, 0x73, 0x66, 0x1e, 0x7d, 0x06, 0x2b, 0x3c, 0x94, 0x2e, 0xa3, 0x81, - 0xdd, 0xa5, 0x32, 0x32, 0x14, 0x52, 0xda, 0xfb, 0xff, 0xce, 0xf1, 0xde, 0x88, 0x38, 0xbb, 0x31, - 0x05, 0xe7, 0xf9, 0x2b, 0x33, 0xe8, 0x2e, 0xa4, 0xa4, 0x2b, 0x74, 0x7c, 0xb3, 0xe7, 0xc6, 0xb7, - 0x5d, 0x6f, 0x8d, 0xb6, 0xa7, 0x28, 0xe8, 0x29, 0xfc, 0xcd, 0xe7, 0x81, 0xb4, 0x5d, 0x3a, 0xa4, - 0x4a, 0xb8, 0x91, 0xad, 0x30, 0xab, 0x73, 0x7d, 0xef, 0x6d, 0x55, 0x63, 0x35, 0x79, 0x20, 0xcf, - 0xea, 0x68, 0x45, 0xb9, 0xad, 0x2b, 0xaf, 0xf1, 0x82, 0xc5, 0x17, 0x29, 0x58, 0x79, 0x0d, 0x88, - 0xee, 0x43, 0x5a, 0x41, 0x4d, 0xfa, 0xae, 0x9f, 0xb3, 0xa4, 0xe2, 0xb6, 0xa8, 0x4b, 0x1d, 0xc9, - 0x03, 0xac, 0x49, 0xaf, 0x8b, 0x20, 0xf9, 0x81, 0x44, 0x90, 0xfa, 0xa0, 0x22, 0x48, 0xbf, 0x47, - 0x11, 0xcc, 0x5e, 0x5a, 0x04, 0xa5, 0xdf, 0x12, 0x90, 0x89, 0xee, 0xae, 0x2a, 0x2a, 0x1e, 0x19, - 0xd0, 0xb8, 0xa8, 0xa8, 0x31, 0xaa, 0x42, 0xc6, 0x25, 0x1d, 0xea, 0x8a, 0x42, 0x52, 0xcb, 0xe2, - 0xd6, 0x85, 0x25, 0xc0, 0xaa, 0x6b, 0x7c, 0xd5, 0x93, 0xc1, 0x29, 0x36, 0xe4, 0x29, 0xb5, 0x29, - 0xf5, 0x4e, 0xb5, 0xa9, 0xf8, 0x11, 0x64, 0x27, 0xd6, 0x41, 0x79, 0x48, 0x1d, 0xd3, 0x53, 0xb3, - 0x73, 0x35, 0x44, 0xab, 0x30, 0x3b, 0x24, 0x6e, 0x48, 0xb5, 0x2a, 0x16, 0x70, 0xf4, 0x71, 0x2f, - 0x79, 0x37, 0x51, 0xfa, 0x75, 0x0e, 0x56, 0xa7, 0x09, 0x01, 0x61, 0xc8, 0x08, 0x36, 0xf0, 0xdd, - 0x28, 0x02, 0xb9, 0xad, 0xbb, 0x97, 0x54, 0x92, 0xd5, 0xd2, 0xec, 0x7a, 0xa5, 0x36, 0x83, 0x8d, - 0x27, 0x74, 0xac, 0xe5, 0x24, 0x98, 0x90, 0xd4, 0x93, 0x76, 0x9f, 0x88, 0xbe, 0x91, 0xe9, 0xc3, - 0xcb, 0x3a, 0xdf, 0x19, 0xb9, 0xa9, 0x11, 0xd1, 0xd7, 0x8b, 0xe4, 0x9c, 0x33, 0x73, 0xe8, 0x4b, - 0x28, 0xb8, 0xdc, 0x21, 0x2e, 0x93, 0xa7, 0xf6, 0x33, 0xca, 0x7a, 0x7d, 0x39, 0xbe, 0xd5, 0x51, - 0x05, 0xaf, 0x5e, 0x76, 0xd5, 0xba, 0xf1, 0xf7, 0xa9, 0x76, 0x67, 0xa6, 0xf1, 0x15, 0x77, 0xda, - 0xb4, 0x28, 0xfe, 0x9e, 0x84, 0xfc, 0xab, 0xfb, 0x44, 0x37, 0x20, 0xdf, 0x97, 0xd2, 0xb7, 0xfb, - 0x94, 0x74, 0x69, 0x60, 0x8f, 0x25, 0xa6, 0x4e, 0xa0, 0x2c, 0x35, 0x6d, 0x38, 0x50, 0x72, 0xf3, - 0x20, 0xab, 0xb1, 0x0e, 0xe7, 0xc7, 0x8c, 0x9a, 0x50, 0x3d, 0x7e, 0xd7, 0x50, 0x59, 0xb5, 0x76, - 0xbb, 0xb9, 0xa3, 0x5d, 0xd6, 0x66, 0x30, 0xa8, 0x15, 0xa2, 0x2f, 0xf4, 0x6f, 0x58, 0x0a, 0x05, - 0xb5, 0x05, 0x0f, 0x03, 0x87, 0xda, 0xcc, 0xd7, 0xb2, 0x9c, 0xaf, 0xcd, 0xe0, 0x6c, 0x28, 0x68, - 0x4b, 0xcf, 0xee, 0xf9, 0xe8, 0x06, 0xac, 0x0c, 0x98, 0xc7, 0x06, 0xe1, 0xc0, 0x0e, 0x98, 0xd7, - 0xb3, 0x05, 0x7b, 0x1e, 0x3d, 0x68, 0x69, 0xbc, 0x6c, 0x0c, 0x98, 0x79, 0xbd, 0x16, 0x7b, 0x4e, - 0x8b, 0x3d, 0x80, 0xf1, 0x6a, 0x53, 0xaf, 0x14, 0x82, 0xb4, 0x4f, 0x64, 0xdf, 0x08, 0x53, 0x8f, - 0xd1, 0x26, 0xa4, 0xa4, 0x8c, 0x2b, 0xcd, 0x55, 0x2b, 0x6a, 0x40, 0xac, 0xb8, 0x01, 0xb1, 0x76, - 0x4d, 0x03, 0x52, 0x49, 0x7f, 0xfd, 0xf3, 0xb5, 0x04, 0x56, 0xd8, 0x0a, 0xc0, 0xbc, 0x92, 0x93, - 0x7d, 0x4c, 0x4f, 0x8b, 0xdf, 0x26, 0xe0, 0xef, 0x53, 0x33, 0xa5, 0x16, 0x3b, 0x0a, 0xf8, 0x20, - 0xde, 0x80, 0x1a, 0xa3, 0xcf, 0x21, 0x29, 0xb9, 0xb9, 0xcf, 0xfb, 0xef, 0x45, 0x10, 0x56, 0x9b, - 0x47, 0xf7, 0x3d, 0x29, 0x79, 0xf1, 0x0e, 0xcc, 0x99, 0xcf, 0x8b, 0xae, 0xe5, 0xd2, 0xe4, 0xb5, - 0xac, 0xc1, 0x7c, 0x7c, 0x7f, 0xd0, 0x32, 0x64, 0x71, 0xe3, 0xf0, 0x60, 0xd7, 0xc6, 0x8d, 0xca, - 0xde, 0x41, 0x7e, 0x06, 0xe5, 0x00, 0xea, 0xd5, 0xed, 0x56, 0xdb, 0xde, 0x69, 0x1c, 0x1c, 0xe4, - 0x13, 0x08, 0x20, 0x83, 0xb7, 0x0f, 0x76, 0x1b, 0xfb, 0xf9, 0xa4, 0x02, 0x37, 0xb7, 0x5b, 0xad, - 0x76, 0x0d, 0x37, 0x0e, 0x1f, 0xd5, 0xf2, 0xa9, 0x4a, 0x16, 0x16, 0xdc, 0x8e, 0xa9, 0x33, 0xa5, - 0x17, 0x19, 0xb8, 0x32, 0xbd, 0x3c, 0xa3, 0x06, 0xa4, 0xa4, 0xe3, 0x9b, 0xc7, 0xe7, 0xc1, 0xa5, - 0xcb, 0xbb, 0xd5, 0xde, 0x69, 0x4e, 0xd4, 0x52, 0xc7, 0x47, 0x18, 0xd2, 0x4a, 0x5b, 0x46, 0xb6, - 0x1f, 0x5f, 0xde, 0xa3, 0x52, 0xce, 0xc8, 0xa5, 0xf6, 0x55, 0xfc, 0x23, 0x09, 0xd9, 0x89, 0x85, - 0xd0, 0x75, 0x58, 0x1e, 0x90, 0x13, 0x7b, 0xfc, 0xb2, 0x08, 0x7d, 0x80, 0x59, 0x9c, 0x1b, 0x90, - 0x93, 0xb1, 0x5b, 0x81, 0x2a, 0xa3, 0x87, 0xcc, 0x96, 0x6c, 0x40, 0x79, 0x28, 0xcd, 0xbe, 0xde, - 0x2c, 0xaf, 0xd1, 0x83, 0xd5, 0x8e, 0x08, 0x88, 0xc3, 0x92, 0x74, 0x7c, 0xfb, 0x98, 0x52, 0x9f, - 0xb8, 0x6c, 0x48, 0x8d, 0x40, 0x3f, 0x79, 0xa7, 0x58, 0x59, 0x6d, 0xc7, 0x7f, 0x1c, 0x7b, 0xc4, - 0x8b, 0x72, 0xe2, 0xab, 0xf8, 0x55, 0x02, 0x16, 0x27, 0xcd, 0xe8, 0x0a, 0x64, 0xfc, 0x80, 0x77, - 0x68, 0x74, 0xca, 0x25, 0x6c, 0xbe, 0xd0, 0x2d, 0x48, 0xab, 0x53, 0x5d, 0x7c, 0x24, 0x0d, 0x43, - 0x77, 0x60, 0x9e, 0x79, 0x92, 0x06, 0x43, 0x72, 0xf1, 0x25, 0xc3, 0x23, 0x68, 0xf1, 0xc7, 0x04, - 0x2c, 0x4e, 0xe6, 0x04, 0xdd, 0x87, 0xa2, 0xca, 0xca, 0xa6, 0xad, 0x72, 0xa0, 0xba, 0x77, 0x55, - 0x0e, 0x02, 0xfa, 0x45, 0x48, 0x85, 0x8c, 0x13, 0xf1, 0x0f, 0x8d, 0xd8, 0x27, 0x27, 0xcd, 0xc8, - 0x8e, 0x8d, 0x19, 0xdd, 0x04, 0xa4, 0x4c, 0x5b, 0x9a, 0x3c, 0x22, 0x25, 0x35, 0x49, 0x97, 0xc8, - 0xad, 0x7d, 0x72, 0x32, 0x42, 0x3f, 0x80, 0x7f, 0x4e, 0xe2, 0x6c, 0x9f, 0x06, 0x13, 0x59, 0xd7, - 0xa7, 0x98, 0xc5, 0x85, 0xc1, 0x98, 0xd1, 0xa4, 0xc1, 0x38, 0xf8, 0xe8, 0x1a, 0x64, 0x23, 0xba, - 0x0c, 0x18, 0x8d, 0xda, 0xc3, 0x59, 0x0c, 0x1a, 0xae, 0x67, 0x4a, 0xdf, 0x24, 0x21, 0xff, 0x6a, - 0x67, 0x81, 0x6e, 0x01, 0x52, 0x6f, 0x0a, 0x75, 0x42, 0xc9, 0x86, 0xd4, 0xa6, 0x41, 0xc0, 0x83, - 0xf8, 0x5c, 0x2b, 0x13, 0x96, 0xaa, 0x36, 0x9c, 0x09, 0x6b, 0xf2, 0xad, 0xc3, 0x8a, 0x1e, 0x01, - 0xea, 0x10, 0x41, 0x6d, 0xfa, 0xd4, 0xb4, 0x59, 0x3a, 0x95, 0x17, 0xe6, 0x25, 0xaf, 0x48, 0x55, - 0xc3, 0x51, 0x12, 0x45, 0xff, 0x87, 0x55, 0x75, 0xc8, 0x91, 0x1f, 0x9f, 0x06, 0x0e, 0xf5, 0xa4, - 0x39, 0x2d, 0x1a, 0x90, 0x93, 0x18, 0xde, 0x8c, 0x2c, 0x2a, 0x07, 0x03, 0xe6, 0xa9, 0xb7, 0xc8, - 0x95, 0xfd, 0x11, 0x7e, 0x36, 0xca, 0xc1, 0x80, 0x79, 0x35, 0x6d, 0x30, 0xe8, 0xd2, 0xf7, 0xea, - 0xf2, 0x8d, 0x3b, 0x26, 0x54, 0x81, 0xf4, 0x80, 0x77, 0xe3, 0xfe, 0xc0, 0x7a, 0xbb, 0x3e, 0x4b, - 0x8d, 0x15, 0x0b, 0x6b, 0xae, 0x0e, 0xb1, 0xcb, 0x54, 0x37, 0xe0, 0xd0, 0x40, 0xb2, 0x23, 0xe6, - 0x10, 0x19, 0x77, 0x29, 0x2b, 0x91, 0x65, 0x67, 0x6c, 0x50, 0x79, 0xf4, 0x03, 0x36, 0x24, 0x92, - 0xaa, 0x4a, 0xaf, 0x83, 0xb4, 0x80, 0xc1, 0x4c, 0x3d, 0xa6, 0xa7, 0xaa, 0x20, 0x38, 0x64, 0xd2, - 0x57, 0x94, 0xec, 0x05, 0x9c, 0x73, 0xc8, 0x84, 0x23, 0xa1, 0x5e, 0x31, 0x11, 0x76, 0x54, 0x3c, - 0x6c, 0xe2, 0x4a, 0xfd, 0x0e, 0x47, 0xcd, 0xfe, 0x02, 0x5e, 0x36, 0x86, 0x6d, 0x57, 0xaa, 0x67, - 0x58, 0xa8, 0xc2, 0x2d, 0x3c, 0x56, 0xc8, 0x44, 0x85, 0x5b, 0x78, 0xac, 0xf4, 0x10, 0xe6, 0xcc, - 0x39, 0x50, 0x16, 0xe6, 0x76, 0xf7, 0x5a, 0xdb, 0x95, 0x7a, 0x35, 0x3f, 0xa3, 0x2a, 0x71, 0x6b, - 0x6f, 0xbf, 0x59, 0xaf, 0x46, 0x55, 0x79, 0xff, 0xb0, 0x7d, 0xb8, 0x5d, 0xcf, 0x27, 0x51, 0x1e, - 0x16, 0xf7, 0x5a, 0xed, 0xbd, 0x86, 0x6d, 0x66, 0x52, 0x15, 0xeb, 0xbb, 0x97, 0x6b, 0x89, 0x1f, - 0x5e, 0xae, 0x25, 0x7e, 0x79, 0xb9, 0x96, 0x78, 0xb2, 0x1e, 0xc5, 0x8e, 0xf1, 0x32, 0xf1, 0x59, - 0x79, 0xca, 0x6f, 0x72, 0x27, 0xa3, 0x15, 0x70, 0xfb, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf9, - 0xac, 0x46, 0x5e, 0xd6, 0x0f, 0x00, 0x00, + 0xc2, 0xa3, 0x72, 0x37, 0x0c, 0x34, 0x3f, 0xa2, 0x16, 0xff, 0x33, 0x6d, 0x99, 0x21, 0x0b, 0x64, + 0x48, 0x5c, 0x5b, 0xd0, 0x60, 0xc8, 0x1c, 0xb3, 0x4a, 0xf1, 0xfa, 0x34, 0xa8, 0x60, 0x5d, 0xea, + 0x90, 0xc0, 0x40, 0x56, 0x7b, 0xbc, 0xc7, 0xf5, 0xb0, 0xac, 0x46, 0xd1, 0x6c, 0xe9, 0xcf, 0x04, + 0x2c, 0xef, 0x8e, 0x77, 0x8e, 0x43, 0x97, 0x22, 0x04, 0xe9, 0x3e, 0x17, 0xb2, 0x90, 0x58, 0x4f, + 0x6c, 0x2c, 0x60, 0x3d, 0x46, 0x0d, 0xc8, 0xc9, 0x80, 0x1c, 0x1d, 0x31, 0xc7, 0xf6, 0xb9, 0xcb, + 0x9c, 0xd3, 0x42, 0x72, 0x3d, 0xb1, 0x91, 0xdd, 0xda, 0xb0, 0xde, 0x78, 0x3e, 0xab, 0x1d, 0x11, + 0x9a, 0x1a, 0x8f, 0x97, 0xe4, 0xe4, 0x27, 0xba, 0x0f, 0x73, 0x22, 0xec, 0x08, 0x2a, 0x45, 0x21, + 0xb5, 0x9e, 0xda, 0xc8, 0x6e, 0x5d, 0x3f, 0xc7, 0x53, 0x4b, 0x23, 0x71, 0xcc, 0x40, 0x7b, 0xb0, + 0xe8, 0x70, 0xef, 0x88, 0xf5, 0x6c, 0xe1, 0x70, 0x9f, 0x16, 0xd2, 0xeb, 0x89, 0x8d, 0xdc, 0xd6, + 0xbf, 0xcf, 0xf1, 0xb0, 0xa3, 0xe1, 0x2d, 0x85, 0xc6, 0x59, 0x67, 0xfc, 0x51, 0xfa, 0x29, 0x03, + 0x4b, 0x67, 0x36, 0x8a, 0xda, 0xb0, 0xe4, 0x72, 0xd2, 0xb5, 0x3b, 0xc4, 0x25, 0x9e, 0x43, 0x03, + 0x1d, 0x87, 0xec, 0x56, 0xf9, 0x1c, 0xef, 0x75, 0x4e, 0xba, 0x15, 0x03, 0x6f, 0x51, 0x29, 0x99, + 0xd7, 0x13, 0x78, 0xd1, 0x9d, 0x98, 0x45, 0x4f, 0x60, 0xd9, 0xe1, 0x9e, 0x47, 0x1d, 0x2d, 0x10, + 0x9f, 0x73, 0xd7, 0x44, 0x70, 0xf3, 0xfc, 0x5d, 0x1b, 0x46, 0x93, 0x73, 0x77, 0xe4, 0x39, 0xe7, + 0x9c, 0x99, 0x47, 0x9f, 0xc1, 0x0a, 0x0f, 0xa5, 0xcb, 0x68, 0x60, 0x77, 0xa9, 0x8c, 0x0c, 0x85, + 0x94, 0xf6, 0xfe, 0xdf, 0x73, 0xbc, 0x37, 0x22, 0xce, 0x6e, 0x4c, 0xc1, 0x79, 0xfe, 0xca, 0x0c, + 0xba, 0x0b, 0x29, 0xe9, 0x0a, 0x1d, 0xdf, 0xec, 0xb9, 0xf1, 0x6d, 0xd7, 0x5b, 0xa3, 0xed, 0x29, + 0x0a, 0x7a, 0x0a, 0x7f, 0xf3, 0x79, 0x20, 0x6d, 0x97, 0x0e, 0xa9, 0x52, 0x6b, 0x64, 0x2b, 0xcc, + 0xea, 0x5c, 0xdf, 0x7b, 0x5b, 0xd5, 0x58, 0x4d, 0x1e, 0xc8, 0xb3, 0x3a, 0x5a, 0x51, 0x6e, 0xeb, + 0xca, 0x6b, 0xbc, 0x60, 0xf1, 0x45, 0x0a, 0x56, 0x5e, 0x03, 0xa2, 0xfb, 0x90, 0x56, 0x50, 0x93, + 0xbe, 0x1b, 0xe7, 0x2c, 0xa9, 0xb8, 0x2d, 0xea, 0x52, 0x47, 0xf2, 0x00, 0x6b, 0xd2, 0xeb, 0x22, + 0x48, 0x7e, 0x20, 0x11, 0xa4, 0x3e, 0xa8, 0x08, 0xd2, 0xef, 0x51, 0x04, 0xb3, 0x97, 0x16, 0x41, + 0xe9, 0xb7, 0x04, 0x64, 0xa2, 0xbb, 0xab, 0x8a, 0x8a, 0x47, 0x06, 0x34, 0x2e, 0x2a, 0x6a, 0x8c, + 0xaa, 0x90, 0x71, 0x49, 0x87, 0xba, 0xa2, 0x90, 0xd4, 0xb2, 0xb8, 0x75, 0x61, 0x09, 0xb0, 0xea, + 0x1a, 0x5f, 0xf5, 0x64, 0x70, 0x8a, 0x0d, 0x79, 0x4a, 0x6d, 0x4a, 0xbd, 0x53, 0x6d, 0x2a, 0x7e, + 0x04, 0xd9, 0x89, 0x75, 0x50, 0x1e, 0x52, 0xc7, 0xf4, 0xd4, 0xec, 0x5c, 0x0d, 0xd1, 0x2a, 0xcc, + 0x0e, 0x89, 0x1b, 0x52, 0xad, 0x8a, 0x05, 0x1c, 0x7d, 0xdc, 0x4b, 0xde, 0x4d, 0x94, 0x7e, 0x9d, + 0x83, 0xd5, 0x69, 0x42, 0x40, 0x18, 0x32, 0x82, 0x0d, 0x7c, 0x37, 0x8a, 0x40, 0x6e, 0xeb, 0xee, + 0x25, 0x95, 0x64, 0xb5, 0x34, 0xbb, 0x5e, 0xa9, 0xcd, 0x60, 0xe3, 0x09, 0x1d, 0x6b, 0x39, 0x09, + 0x26, 0x24, 0xf5, 0xa4, 0xdd, 0x27, 0xa2, 0x6f, 0x64, 0xfa, 0xf0, 0xb2, 0xce, 0x77, 0x46, 0x6e, + 0x6a, 0x44, 0xf4, 0xf5, 0x22, 0x39, 0xe7, 0xcc, 0x1c, 0xfa, 0x12, 0x0a, 0x2e, 0x77, 0x88, 0xcb, + 0xe4, 0xa9, 0xfd, 0x8c, 0xb2, 0x5e, 0x5f, 0x8e, 0x6f, 0x75, 0x54, 0xc1, 0xab, 0x97, 0x5d, 0xb5, + 0x6e, 0xfc, 0x7d, 0xaa, 0xdd, 0x99, 0x69, 0x7c, 0xc5, 0x9d, 0x36, 0x2d, 0x8a, 0xbf, 0x27, 0x21, + 0xff, 0xea, 0x3e, 0xd1, 0x4d, 0xc8, 0xf7, 0xa5, 0xf4, 0xed, 0x3e, 0x25, 0x5d, 0x1a, 0xd8, 0x63, + 0x89, 0xa9, 0x13, 0x28, 0x4b, 0x4d, 0x1b, 0x0e, 0x94, 0xdc, 0x3c, 0xc8, 0x6a, 0xac, 0xc3, 0xf9, + 0x31, 0xa3, 0x26, 0x54, 0x8f, 0xdf, 0x35, 0x54, 0x56, 0xad, 0xdd, 0x6e, 0xee, 0x68, 0x97, 0xb5, + 0x19, 0x0c, 0x6a, 0x85, 0xe8, 0x0b, 0xfd, 0x0b, 0x96, 0x42, 0x41, 0x6d, 0xc1, 0xc3, 0xc0, 0xa1, + 0x36, 0xf3, 0xb5, 0x2c, 0xe7, 0x6b, 0x33, 0x38, 0x1b, 0x0a, 0xda, 0xd2, 0xb3, 0x7b, 0x3e, 0xba, + 0x09, 0x2b, 0x03, 0xe6, 0xb1, 0x41, 0x38, 0xb0, 0x03, 0xe6, 0xf5, 0x6c, 0xc1, 0x9e, 0x47, 0x0f, + 0x5a, 0x1a, 0x2f, 0x1b, 0x03, 0x66, 0x5e, 0xaf, 0xc5, 0x9e, 0xd3, 0x62, 0x0f, 0x60, 0xbc, 0xda, + 0xd4, 0x2b, 0x85, 0x20, 0xed, 0x13, 0xd9, 0x37, 0xc2, 0xd4, 0x63, 0xb4, 0x09, 0x29, 0x29, 0xe3, + 0x4a, 0x73, 0xd5, 0x8a, 0xba, 0x0e, 0x2b, 0xee, 0x3a, 0xac, 0x5d, 0xd3, 0x75, 0x54, 0xd2, 0x5f, + 0xff, 0x7c, 0x2d, 0x81, 0x15, 0xb6, 0x02, 0x30, 0xaf, 0xe4, 0x64, 0x1f, 0xd3, 0xd3, 0xe2, 0xb7, + 0x09, 0xf8, 0xfb, 0xd4, 0x4c, 0xa9, 0xc5, 0x8e, 0x02, 0x3e, 0x88, 0x37, 0xa0, 0xc6, 0xe8, 0x73, + 0x48, 0x4a, 0x6e, 0xee, 0xf3, 0xfe, 0x7b, 0x11, 0x84, 0xd5, 0xe6, 0xd1, 0x7d, 0x4f, 0x4a, 0x5e, + 0xbc, 0x03, 0x73, 0xe6, 0xf3, 0xa2, 0x6b, 0xb9, 0x34, 0x79, 0x2d, 0x6b, 0x30, 0x1f, 0xdf, 0x1f, + 0xb4, 0x0c, 0x59, 0xdc, 0x38, 0x3c, 0xd8, 0xb5, 0x71, 0xa3, 0xb2, 0x77, 0x90, 0x9f, 0x41, 0x39, + 0x80, 0x7a, 0x75, 0xbb, 0xd5, 0xb6, 0x77, 0x1a, 0x07, 0x07, 0xf9, 0x04, 0x02, 0xc8, 0xe0, 0xed, + 0x83, 0xdd, 0xc6, 0x7e, 0x3e, 0xa9, 0xc0, 0xcd, 0xed, 0x56, 0xab, 0x5d, 0xc3, 0x8d, 0xc3, 0x47, + 0xb5, 0x7c, 0xaa, 0x92, 0x85, 0x05, 0xb7, 0x63, 0xea, 0x4c, 0xe9, 0x45, 0x06, 0xae, 0x4c, 0x2f, + 0xcf, 0xa8, 0x01, 0x29, 0xe9, 0xf8, 0xe6, 0xf1, 0x79, 0x70, 0xe9, 0xf2, 0x6e, 0xb5, 0x77, 0x9a, + 0x13, 0xb5, 0xd4, 0xf1, 0x11, 0x86, 0xb4, 0xd2, 0x96, 0x91, 0xed, 0xc7, 0x97, 0xf7, 0xa8, 0x94, + 0x33, 0x72, 0xa9, 0x7d, 0x15, 0xff, 0x48, 0x42, 0x76, 0x62, 0x21, 0x74, 0x03, 0x96, 0x07, 0xe4, + 0xc4, 0x1e, 0xbf, 0x2c, 0x42, 0x1f, 0x60, 0x16, 0xe7, 0x06, 0xe4, 0x64, 0xec, 0x56, 0xa0, 0xca, + 0xe8, 0x21, 0xb3, 0x25, 0x1b, 0x50, 0x1e, 0x4a, 0xb3, 0xaf, 0x37, 0xcb, 0x6b, 0xf4, 0x60, 0xb5, + 0x23, 0x02, 0xe2, 0xb0, 0x24, 0x1d, 0xdf, 0x3e, 0xa6, 0xd4, 0x27, 0x2e, 0x1b, 0x52, 0x23, 0xd0, + 0x4f, 0xde, 0x29, 0x56, 0x56, 0xdb, 0xf1, 0x1f, 0xc7, 0x1e, 0xf1, 0xa2, 0x9c, 0xf8, 0x2a, 0x7e, + 0x95, 0x80, 0xc5, 0x49, 0x33, 0xba, 0x02, 0x19, 0x3f, 0xe0, 0x1d, 0x1a, 0x9d, 0x72, 0x09, 0x9b, + 0x2f, 0x74, 0x0b, 0xd2, 0xea, 0x54, 0x17, 0x1f, 0x49, 0xc3, 0xd0, 0x1d, 0x98, 0x67, 0x9e, 0xa4, + 0xc1, 0x90, 0x5c, 0x7c, 0xc9, 0xf0, 0x08, 0x5a, 0xfc, 0x31, 0x01, 0x8b, 0x93, 0x39, 0x41, 0xf7, + 0xa1, 0xa8, 0xb2, 0xb2, 0x69, 0xab, 0x1c, 0xf8, 0xd4, 0xeb, 0xaa, 0x72, 0x10, 0xd0, 0x2f, 0x42, + 0x2a, 0x64, 0x9c, 0x88, 0x7f, 0x68, 0xc4, 0x3e, 0x39, 0x69, 0x46, 0x76, 0x6c, 0xcc, 0xe8, 0x7f, + 0x80, 0x94, 0x69, 0x4b, 0x93, 0x47, 0xa4, 0xa4, 0x26, 0xe9, 0x12, 0xb9, 0xb5, 0x4f, 0x4e, 0x46, + 0xe8, 0x07, 0xf0, 0xcf, 0x49, 0x9c, 0xed, 0xd3, 0x60, 0x22, 0xeb, 0xfa, 0x14, 0xb3, 0xb8, 0x30, + 0x18, 0x33, 0x9a, 0x34, 0x18, 0x07, 0x1f, 0x5d, 0x83, 0x6c, 0x44, 0x97, 0x01, 0xa3, 0x51, 0x7b, + 0x38, 0x8b, 0x41, 0xc3, 0xf5, 0x4c, 0xe9, 0x9b, 0x24, 0xe4, 0x5f, 0xed, 0x2c, 0xd0, 0x2d, 0x40, + 0xea, 0x4d, 0xa1, 0x4e, 0x28, 0xd9, 0x90, 0xda, 0x34, 0x08, 0x78, 0x10, 0x9f, 0x6b, 0x65, 0xc2, + 0x52, 0xd5, 0x86, 0x33, 0x61, 0x4d, 0xbe, 0x75, 0x58, 0xd1, 0x23, 0x40, 0x1d, 0x22, 0xa8, 0x4d, + 0x9f, 0x9a, 0x36, 0x4b, 0xa7, 0xf2, 0xc2, 0xbc, 0xe4, 0x15, 0xa9, 0x6a, 0x38, 0x4a, 0xa2, 0xe8, + 0xff, 0xb0, 0xaa, 0x0e, 0x39, 0xf2, 0xe3, 0xd3, 0xc0, 0xa1, 0x9e, 0x34, 0xa7, 0x45, 0x03, 0x72, + 0x12, 0xc3, 0x9b, 0x91, 0x45, 0xe5, 0x60, 0xc0, 0x3c, 0xf5, 0x16, 0xb9, 0xb2, 0x3f, 0xc2, 0xcf, + 0x46, 0x39, 0x18, 0x30, 0xaf, 0xa6, 0x0d, 0x06, 0x5d, 0xfa, 0x5e, 0x5d, 0xbe, 0x71, 0xc7, 0x84, + 0x2a, 0x90, 0x1e, 0xf0, 0x6e, 0xdc, 0x1f, 0x58, 0x6f, 0xd7, 0x67, 0xa9, 0xb1, 0x62, 0x61, 0xcd, + 0xd5, 0x21, 0x76, 0x99, 0xea, 0x06, 0x1c, 0x1a, 0x48, 0x76, 0xc4, 0x1c, 0x22, 0xe3, 0x2e, 0x65, + 0x25, 0xb2, 0xec, 0x8c, 0x0d, 0x2a, 0x8f, 0x7e, 0xc0, 0x86, 0x44, 0x52, 0x55, 0xe9, 0x75, 0x90, + 0x16, 0x30, 0x98, 0xa9, 0xc7, 0xf4, 0x54, 0x15, 0x04, 0x87, 0x4c, 0xfa, 0x8a, 0x92, 0xbd, 0x80, + 0x73, 0x0e, 0x99, 0x70, 0x24, 0xd4, 0x2b, 0x26, 0xc2, 0x8e, 0x8a, 0x87, 0x4d, 0x5c, 0xa9, 0xdf, + 0xe1, 0xa8, 0xd9, 0x5f, 0xc0, 0xcb, 0xc6, 0xb0, 0xed, 0x4a, 0xf5, 0x0c, 0x0b, 0x55, 0xb8, 0x85, + 0xc7, 0x0a, 0x99, 0xa8, 0x70, 0x0b, 0x8f, 0x95, 0x1e, 0xc2, 0x9c, 0x39, 0x07, 0xca, 0xc2, 0xdc, + 0xee, 0x5e, 0x6b, 0xbb, 0x52, 0xaf, 0xe6, 0x67, 0x54, 0x25, 0x6e, 0xed, 0xed, 0x37, 0xeb, 0xd5, + 0xa8, 0x2a, 0xef, 0x1f, 0xb6, 0x0f, 0xb7, 0xeb, 0xf9, 0x24, 0xca, 0xc3, 0xe2, 0x5e, 0xab, 0xbd, + 0xd7, 0xb0, 0xcd, 0x4c, 0xaa, 0x62, 0x7d, 0xf7, 0x72, 0x2d, 0xf1, 0xc3, 0xcb, 0xb5, 0xc4, 0x2f, + 0x2f, 0xd7, 0x12, 0x4f, 0xd6, 0xa3, 0xd8, 0x31, 0x5e, 0x26, 0x3e, 0x2b, 0x4f, 0xf9, 0x37, 0xee, + 0x64, 0xb4, 0x02, 0x6e, 0xff, 0x15, 0x00, 0x00, 0xff, 0xff, 0xa6, 0xbb, 0x7b, 0xfa, 0xcb, 0x0f, + 0x00, 0x00, } diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index bef39882ee..757bca7c73 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/service_dependency.proto"; +import "networking/v1alpha3/sidecar.proto"; import "gogoproto/gogo.proto"; package istio.networking.v1alpha3; diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index 2ae532566e..37c3bcf532 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -237,10 +237,10 @@ type Gateway struct { // REQUIRED: A list of server specifications. Servers []*Server `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"` // REQUIRED: One or more labels that indicate a specific set of pods/VMs - // on which this gateway configuration should be applied. - // The scope of label search is platform dependent. - // On Kubernetes, for example, the scope includes pods running in - // all reachable namespaces. + // on which this gateway configuration should be applied. The scope of + // label search is restricted to the configuration namespace in which the + // the resource is present. In other words, the Gateway resource must + // reside in the same namespace as the gateway workload. Selector map[string]string `protobuf:"bytes,2,rep,name=selector" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -326,8 +326,14 @@ func (m *Gateway) GetSelector() map[string]string { // ``` type Server struct { // REQUIRED: The Port on which the proxy should listen for incoming - // connections + // connections. If using unix domain socket, use 0 as the port number, + // with a valid protocol and port name, along with the bind parameter. Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` + // $hide_from_docs + // The ip or the unix domain socket to which the listener should be bound + // to. Format: x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux + // abstract namespace). + Bind string `protobuf:"bytes,4,opt,name=bind,proto3" json:"bind,omitempty"` // REQUIRED. A list of hosts exposed by this gateway. At least one // host is required. While typically applicable to // HTTP services, it can also be used for TCP services using TLS with @@ -347,6 +353,10 @@ type Server struct { // these options to control if all http requests should be redirected to // https, and the TLS modes to use. Tls *Server_TLSOptions `protobuf:"bytes,3,opt,name=tls" json:"tls,omitempty"` + // The loopback IP endpoint or unix domain socket to which traffic should + // be forwarded to by default. Format should be 127.0.0.1:PORT or + // unix:///path/to/socket or unix://@foobar (Linux abstract namespace). + DefaultEndpoint string `protobuf:"bytes,5,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` } func (m *Server) Reset() { *m = Server{} } @@ -361,6 +371,13 @@ func (m *Server) GetPort() *Port { return nil } +func (m *Server) GetBind() string { + if m != nil { + return m.Bind + } + return "" +} + func (m *Server) GetHosts() []string { if m != nil { return m.Hosts @@ -375,6 +392,13 @@ func (m *Server) GetTls() *Server_TLSOptions { return nil } +func (m *Server) GetDefaultEndpoint() string { + if m != nil { + return m.DefaultEndpoint + } + return "" +} + type Server_TLSOptions struct { // If set to true, the load balancer will send a 301 redirect for all // http connections, asking the clients to use HTTPS. @@ -617,6 +641,18 @@ func (m *Server) MarshalTo(dAtA []byte) (int, error) { } i += n2 } + if len(m.Bind) > 0 { + dAtA[i] = 0x22 + i++ + i = encodeVarintGateway(dAtA, i, uint64(len(m.Bind))) + i += copy(dAtA[i:], m.Bind) + } + if len(m.DefaultEndpoint) > 0 { + dAtA[i] = 0x2a + i++ + i = encodeVarintGateway(dAtA, i, uint64(len(m.DefaultEndpoint))) + i += copy(dAtA[i:], m.DefaultEndpoint) + } return i, nil } @@ -792,6 +828,14 @@ func (m *Server) Size() (n int) { l = m.Tls.Size() n += 1 + l + sovGateway(uint64(l)) } + l = len(m.Bind) + if l > 0 { + n += 1 + l + sovGateway(uint64(l)) + } + l = len(m.DefaultEndpoint) + if l > 0 { + n += 1 + l + sovGateway(uint64(l)) + } return n } @@ -1190,6 +1234,64 @@ func (m *Server) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGateway + } + 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 ErrInvalidLengthGateway + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Bind = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DefaultEndpoint", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGateway + } + 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 ErrInvalidLengthGateway + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DefaultEndpoint = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGateway(dAtA[iNdEx:]) @@ -1718,44 +1820,47 @@ var ( func init() { proto.RegisterFile("networking/v1alpha3/gateway.proto", fileDescriptorGateway) } var fileDescriptorGateway = []byte{ - // 623 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x5d, 0x4f, 0xdb, 0x3c, - 0x18, 0x25, 0x6d, 0xe9, 0xc7, 0x53, 0x0a, 0xc1, 0x42, 0xaf, 0xf2, 0x72, 0xc1, 0x47, 0xa7, 0x69, - 0x68, 0xda, 0x52, 0x68, 0x77, 0x81, 0x86, 0x34, 0xa9, 0x9b, 0x10, 0x9d, 0x56, 0x68, 0xe5, 0xb4, - 0x5c, 0xec, 0x26, 0x32, 0xc1, 0xa3, 0x86, 0x34, 0x8e, 0x6c, 0xb7, 0xd0, 0xbf, 0xb6, 0x5f, 0xb0, - 0x4b, 0xf6, 0x0f, 0x26, 0x7e, 0xc9, 0x64, 0x27, 0xa5, 0xdd, 0x17, 0x13, 0xda, 0x9d, 0xcf, 0xf1, - 0x39, 0xe7, 0xf1, 0xf3, 0xd8, 0x09, 0x6c, 0x47, 0x54, 0x5d, 0x73, 0x71, 0xc5, 0xa2, 0x8b, 0xda, - 0x78, 0x8f, 0x84, 0xf1, 0x80, 0x34, 0x6a, 0x17, 0x44, 0xd1, 0x6b, 0x32, 0x71, 0x63, 0xc1, 0x15, - 0x47, 0xff, 0x33, 0xa9, 0x18, 0x77, 0x67, 0x42, 0x77, 0x2a, 0xac, 0x7e, 0xb5, 0xa0, 0x70, 0x94, - 0x88, 0xd1, 0x01, 0x14, 0x24, 0x15, 0x63, 0x2a, 0xa4, 0x63, 0x6d, 0x65, 0x77, 0xca, 0xf5, 0x6d, - 0xf7, 0x8f, 0x46, 0xd7, 0x33, 0x4a, 0x3c, 0x75, 0xa0, 0x36, 0x14, 0x25, 0x0d, 0x69, 0xa0, 0xb8, - 0x70, 0x32, 0xc6, 0xbd, 0xfb, 0x80, 0x3b, 0x2d, 0xe9, 0x7a, 0xa9, 0xe5, 0x30, 0x52, 0x62, 0x82, - 0xef, 0x13, 0xd6, 0x0f, 0xa0, 0xf2, 0xc3, 0x16, 0xb2, 0x21, 0x7b, 0x45, 0x27, 0x8e, 0xb5, 0x65, - 0xed, 0x94, 0xb0, 0x5e, 0xa2, 0x35, 0x58, 0x1c, 0x93, 0x70, 0x44, 0x9d, 0x8c, 0xe1, 0x12, 0xf0, - 0x3a, 0xb3, 0x6f, 0x55, 0x6f, 0xf3, 0x90, 0x4f, 0x8e, 0x87, 0x1a, 0x90, 0x8b, 0xb9, 0x50, 0xc6, - 0x57, 0xae, 0x6f, 0x3e, 0x70, 0xa2, 0x2e, 0x17, 0x0a, 0x1b, 0xb1, 0x4e, 0x1e, 0x70, 0xa9, 0xa4, - 0xe9, 0xa3, 0x84, 0x13, 0x80, 0xde, 0x40, 0x56, 0x85, 0xd2, 0xc9, 0x9a, 0xa4, 0x17, 0x7f, 0x9d, - 0x8c, 0xdb, 0x6b, 0x7b, 0x9d, 0x58, 0x31, 0x1e, 0x49, 0xac, 0x8d, 0xeb, 0x9f, 0x17, 0x01, 0x66, - 0x1c, 0x7a, 0x0a, 0xcb, 0x03, 0xa5, 0x62, 0xe9, 0x0b, 0x7a, 0xce, 0x04, 0x0d, 0x92, 0x33, 0x16, - 0x71, 0xc5, 0xb0, 0x38, 0x25, 0x51, 0x0b, 0x72, 0x43, 0x7e, 0x9e, 0x34, 0xb9, 0x5c, 0x7f, 0xf5, - 0x98, 0xb2, 0x7a, 0xa9, 0xbd, 0xd8, 0x24, 0xa0, 0x97, 0x80, 0x92, 0xbb, 0xf2, 0x03, 0x2a, 0x14, - 0xfb, 0xc4, 0x02, 0xa2, 0xa8, 0x69, 0xa7, 0x84, 0x57, 0x93, 0x9d, 0x77, 0xb3, 0x0d, 0xb4, 0x09, - 0xe5, 0x58, 0xb0, 0x31, 0x51, 0xd4, 0xd7, 0x83, 0xcf, 0x19, 0x1d, 0xa4, 0xd4, 0x07, 0x3a, 0x41, - 0xcf, 0x60, 0x25, 0x20, 0xf3, 0x59, 0xd2, 0x59, 0x34, 0xa2, 0xe5, 0x80, 0xcc, 0x05, 0x49, 0xf4, - 0x1c, 0x56, 0xe5, 0xe8, 0xec, 0x92, 0x06, 0xca, 0x27, 0xa1, 0xf2, 0x23, 0x32, 0xa4, 0xd2, 0xc9, - 0x9b, 0xd1, 0xae, 0xa4, 0x1b, 0xcd, 0x50, 0x9d, 0x68, 0x1a, 0x5d, 0xc2, 0xda, 0x90, 0x45, 0xbe, - 0x79, 0xb6, 0x01, 0x0f, 0x7d, 0xfd, 0xb4, 0x18, 0x8f, 0x9c, 0x82, 0x69, 0x7f, 0xff, 0xb1, 0xed, - 0x77, 0xd3, 0x1c, 0x8c, 0x86, 0x2c, 0x9a, 0x82, 0xd3, 0x24, 0xd3, 0xd4, 0x22, 0x37, 0xbf, 0xd6, - 0x2a, 0xfe, 0x73, 0x2d, 0x72, 0xf3, 0x73, 0xad, 0x27, 0x50, 0x09, 0x58, 0x3c, 0xa0, 0xc2, 0x97, - 0x23, 0xa6, 0x47, 0x55, 0x32, 0xfd, 0x2f, 0x25, 0xa4, 0x67, 0xb8, 0x6a, 0x0b, 0x0a, 0xe9, 0x95, - 0xa1, 0x15, 0x28, 0x77, 0x9b, 0x9e, 0xd7, 0x6b, 0xe1, 0x4e, 0xff, 0xa8, 0x65, 0x2f, 0x20, 0x80, - 0xbc, 0xf7, 0xfe, 0xb8, 0xdb, 0x3e, 0xb4, 0x2d, 0xbd, 0x3e, 0xee, 0xf7, 0xfa, 0xcd, 0xb6, 0x9d, - 0x41, 0x6b, 0x60, 0x37, 0xfb, 0xbd, 0x8e, 0x3f, 0xaf, 0xce, 0x56, 0x3b, 0x50, 0x9e, 0x3b, 0x11, - 0x5a, 0x82, 0x62, 0xaf, 0xed, 0xf9, 0x5a, 0x68, 0x2f, 0xa0, 0xb2, 0x29, 0x73, 0xba, 0xe7, 0xef, - 0xda, 0xd6, 0x0c, 0xec, 0xd9, 0x99, 0x19, 0xa8, 0xdb, 0xd9, 0x19, 0x68, 0xd8, 0xb9, 0xea, 0x09, - 0xe4, 0xf4, 0x07, 0x82, 0xfe, 0x83, 0x7c, 0x34, 0x1a, 0x9e, 0x51, 0x61, 0x5e, 0x6b, 0x05, 0xa7, - 0x08, 0xad, 0x43, 0x71, 0x3a, 0xc7, 0xf4, 0x7b, 0xbc, 0xc7, 0x08, 0x41, 0x4e, 0xdf, 0x79, 0xfa, - 0xd4, 0xcc, 0xfa, 0xad, 0xfb, 0xe5, 0x6e, 0xc3, 0xba, 0xbd, 0xdb, 0xb0, 0xbe, 0xdd, 0x6d, 0x58, - 0x1f, 0xb7, 0x92, 0x51, 0x33, 0x5e, 0x23, 0x31, 0xab, 0xfd, 0xe6, 0x7f, 0x76, 0x96, 0x37, 0x69, - 0x8d, 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x60, 0xb9, 0xea, 0xae, 0xed, 0x04, 0x00, 0x00, + // 657 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xcb, 0x4e, 0xdb, 0x4c, + 0x14, 0xc6, 0x49, 0xc8, 0xe5, 0x84, 0x10, 0x33, 0x42, 0xbf, 0xfc, 0xb3, 0xe0, 0x92, 0xaa, 0x2a, + 0xad, 0x5a, 0x07, 0x92, 0x2e, 0x50, 0x91, 0x2a, 0xa5, 0x15, 0x22, 0x55, 0x03, 0x89, 0xec, 0x84, + 0x45, 0x37, 0xd6, 0xc4, 0x19, 0xc8, 0x80, 0xe3, 0xb1, 0x66, 0x26, 0x81, 0x3c, 0x45, 0xdf, 0xa7, + 0x4f, 0xd0, 0x65, 0xfb, 0x06, 0x15, 0x4f, 0x52, 0xcd, 0xd8, 0x21, 0xe9, 0x8d, 0x0a, 0x75, 0x77, + 0xce, 0x77, 0xce, 0xf7, 0x9d, 0xdb, 0xd8, 0xb0, 0x13, 0x12, 0x79, 0xcd, 0xf8, 0x15, 0x0d, 0x2f, + 0xaa, 0x93, 0x7d, 0x1c, 0x44, 0x43, 0x5c, 0xaf, 0x5e, 0x60, 0x49, 0xae, 0xf1, 0xd4, 0x8e, 0x38, + 0x93, 0x0c, 0xfd, 0x4f, 0x85, 0xa4, 0xcc, 0x9e, 0x27, 0xda, 0xb3, 0xc4, 0xca, 0x57, 0x03, 0x72, + 0xc7, 0x71, 0x32, 0x3a, 0x84, 0x9c, 0x20, 0x7c, 0x42, 0xb8, 0xb0, 0x8c, 0xed, 0xf4, 0x6e, 0xb1, + 0xb6, 0x63, 0xff, 0x91, 0x68, 0xbb, 0x3a, 0xd3, 0x99, 0x31, 0x50, 0x0b, 0xf2, 0x82, 0x04, 0xc4, + 0x97, 0x8c, 0x5b, 0x29, 0xcd, 0xde, 0xbb, 0x87, 0x9d, 0x94, 0xb4, 0xdd, 0x84, 0x72, 0x14, 0x4a, + 0x3e, 0x75, 0xee, 0x14, 0x36, 0x0e, 0xa1, 0xf4, 0x43, 0x08, 0x99, 0x90, 0xbe, 0x22, 0x53, 0xcb, + 0xd8, 0x36, 0x76, 0x0b, 0x8e, 0x32, 0xd1, 0x3a, 0x2c, 0x4f, 0x70, 0x30, 0x26, 0x56, 0x4a, 0x63, + 0xb1, 0xf3, 0x2a, 0x75, 0x60, 0x54, 0x3e, 0xe6, 0x20, 0x1b, 0xb7, 0x87, 0xea, 0x90, 0x89, 0x18, + 0x97, 0x9a, 0x57, 0xac, 0x6d, 0xdd, 0xd3, 0x51, 0x87, 0x71, 0xe9, 0xe8, 0x64, 0xa5, 0x3c, 0x64, + 0x42, 0x0a, 0x3d, 0x47, 0xc1, 0x89, 0x1d, 0xf4, 0x1a, 0xd2, 0x32, 0x10, 0x56, 0x5a, 0x2b, 0x3d, + 0xff, 0xeb, 0x66, 0xec, 0x6e, 0xcb, 0x6d, 0x47, 0x92, 0xb2, 0x50, 0x38, 0x8a, 0x88, 0x10, 0x64, + 0xfa, 0x34, 0x1c, 0x58, 0x19, 0xdd, 0xae, 0xb6, 0xd1, 0x53, 0x30, 0x07, 0xe4, 0x1c, 0x8f, 0x03, + 0xe9, 0x91, 0x70, 0x10, 0x31, 0x1a, 0x4a, 0x6b, 0x59, 0xc7, 0xcb, 0x09, 0x7e, 0x94, 0xc0, 0x1b, + 0x9f, 0x96, 0x01, 0xe6, 0x92, 0xe8, 0x31, 0xac, 0x0e, 0xa5, 0x8c, 0x84, 0xc7, 0xc9, 0x80, 0x72, + 0xe2, 0xc7, 0x23, 0xe6, 0x9d, 0x92, 0x46, 0x9d, 0x04, 0x44, 0x4d, 0xc8, 0x8c, 0xd8, 0x20, 0xde, + 0xd1, 0x6a, 0xed, 0xe5, 0x43, 0xba, 0x56, 0xa6, 0xe2, 0x3a, 0x5a, 0x01, 0xbd, 0x00, 0x14, 0x9f, + 0xda, 0xf3, 0x09, 0x97, 0xf4, 0x9c, 0xfa, 0x58, 0x12, 0xbd, 0x8d, 0x82, 0xb3, 0x16, 0x47, 0xde, + 0xce, 0x03, 0x68, 0x0b, 0x8a, 0x11, 0xa7, 0x13, 0x2c, 0x89, 0xa7, 0xee, 0x16, 0x0f, 0x0d, 0x09, + 0xf4, 0x9e, 0x4c, 0xd1, 0x13, 0x28, 0xfb, 0x78, 0x51, 0x4b, 0x24, 0x93, 0xaf, 0xfa, 0x78, 0x41, + 0x48, 0xa0, 0x67, 0xb0, 0x26, 0xc6, 0xfd, 0x4b, 0xe2, 0x4b, 0x0f, 0x07, 0xd2, 0x0b, 0xf1, 0x88, + 0x08, 0x2b, 0xab, 0x2f, 0x53, 0x4e, 0x02, 0x8d, 0x40, 0x9e, 0x2a, 0x18, 0x5d, 0xc2, 0xfa, 0x88, + 0x86, 0x9e, 0x7e, 0xf5, 0x3e, 0x0b, 0x3c, 0xf5, 0x32, 0x29, 0x0b, 0xad, 0x9c, 0x1e, 0xff, 0xe0, + 0xa1, 0xe3, 0x77, 0x12, 0x1d, 0x07, 0x8d, 0x68, 0x38, 0x73, 0xce, 0x62, 0x4d, 0x5d, 0x0b, 0xdf, + 0xfc, 0x5a, 0x2b, 0xff, 0xcf, 0xb5, 0xf0, 0xcd, 0xcf, 0xb5, 0x1e, 0x41, 0xc9, 0xa7, 0xd1, 0x90, + 0x70, 0x4f, 0x8c, 0xa9, 0x5a, 0x55, 0x41, 0xcf, 0xbf, 0x12, 0x83, 0xae, 0xc6, 0x2a, 0x4d, 0xc8, + 0x25, 0x27, 0x43, 0x65, 0x28, 0x76, 0x1a, 0xae, 0xdb, 0x6d, 0x3a, 0xed, 0xde, 0x71, 0xd3, 0x5c, + 0x42, 0x00, 0x59, 0xf7, 0xdd, 0x49, 0xa7, 0x75, 0x64, 0x1a, 0xca, 0x3e, 0xe9, 0x75, 0x7b, 0x8d, + 0x96, 0x99, 0x42, 0xeb, 0x60, 0x36, 0x7a, 0xdd, 0xb6, 0xb7, 0x98, 0x9d, 0xae, 0xb4, 0xa1, 0xb8, + 0xd0, 0x11, 0x5a, 0x81, 0x7c, 0xb7, 0xe5, 0x7a, 0x2a, 0xd1, 0x5c, 0x42, 0x45, 0x5d, 0xe6, 0x6c, + 0xdf, 0xdb, 0x33, 0x8d, 0xb9, 0xb3, 0x6f, 0xa6, 0xe6, 0x4e, 0xcd, 0x4c, 0xcf, 0x9d, 0xba, 0x99, + 0xa9, 0x9c, 0x42, 0x46, 0x7d, 0x5f, 0xe8, 0x3f, 0xc8, 0x86, 0xe3, 0x51, 0x9f, 0x70, 0xfd, 0x5a, + 0x4b, 0x4e, 0xe2, 0xa1, 0x0d, 0xc8, 0xcf, 0xf6, 0x98, 0x7c, 0xce, 0x77, 0xbe, 0xfa, 0x6e, 0xd4, + 0xcd, 0x93, 0xa7, 0xa6, 0xed, 0x37, 0xf6, 0xe7, 0xdb, 0x4d, 0xe3, 0xcb, 0xed, 0xa6, 0xf1, 0xed, + 0x76, 0xd3, 0xf8, 0xb0, 0x1d, 0xaf, 0x9a, 0xb2, 0x2a, 0x8e, 0x68, 0xf5, 0x37, 0xbf, 0xc3, 0x7e, + 0x56, 0xab, 0xd5, 0xbf, 0x07, 0x00, 0x00, 0xff, 0xff, 0x3a, 0x88, 0xe5, 0x6d, 0x2c, 0x05, 0x00, + 0x00, } diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto index 4f857dd8d2..0cfb8bcefc 100644 --- a/networking/v1alpha3/gateway.proto +++ b/networking/v1alpha3/gateway.proto @@ -158,10 +158,10 @@ message Gateway { repeated Server servers = 1; // REQUIRED: One or more labels that indicate a specific set of pods/VMs - // on which this gateway configuration should be applied. - // The scope of label search is platform dependent. - // On Kubernetes, for example, the scope includes pods running in - // all reachable namespaces. + // on which this gateway configuration should be applied. The scope of + // label search is restricted to the configuration namespace in which the + // the resource is present. In other words, the Gateway resource must + // reside in the same namespace as the gateway workload. map selector = 2; } @@ -228,9 +228,16 @@ message Gateway { // ``` message Server { // REQUIRED: The Port on which the proxy should listen for incoming - // connections + // connections. If using unix domain socket, use 0 as the port number, + // with a valid protocol and port name, along with the bind parameter. Port port = 1; + // $hide_from_docs + // The ip or the unix domain socket to which the listener should be bound + // to. Format: x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux + // abstract namespace). + string bind = 4; + // REQUIRED. A list of hosts exposed by this gateway. At least one // host is required. While typically applicable to // HTTP services, it can also be used for TCP services using TLS with @@ -334,6 +341,11 @@ message Server { // these options to control if all http requests should be redirected to // https, and the TLS modes to use. TLSOptions tls = 3; + + // The loopback IP endpoint or unix domain socket to which traffic should + // be forwarded to by default. Format should be 127.0.0.1:PORT or + // unix:///path/to/socket or unix://@foobar (Linux abstract namespace). + string default_endpoint = 5; } // Port describes the properties of a specific port of a service. diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index b301c39578..a035e74a5c 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 ServiceDependency.

+imported in a Sidecar.

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.

-
REGISTRY_ONLY -

outbound traffic will be restricted to services defined in the service registry as well as those defined -through ServiceEntries

+

outbound traffic will be restricted to services defined in the +service registry as well as those defined through ServiceEntries

ALLOW_ANY -

outbound traffic to unknown destinations will be allowed, in case there are no services or ServiceEntries for the destination port

- -
VIRTUAL_SERVICE_ONLY -

not implemented. outbound traffic will be restricted to destinations defined in VirtualServices only

+

outbound traffic to unknown destinations will be allowed, in case +there are no services or ServiceEntries for the destination port

@@ -1228,10 +1228,10 @@

Gateway

@@ -2132,6 +2132,57 @@

Headers.HeaderOperations

+ + +
map<string, string>

REQUIRED: One or more labels that indicate a specific set of pods/VMs -on which this gateway configuration should be applied. -The scope of label search is platform dependent. -On Kubernetes, for example, the scope includes pods running in -all reachable namespaces.

+on which this gateway configuration should be applied. The scope of +label search is restricted to the configuration namespace in which the +the resource is present. In other words, the Gateway resource must +reside in the same namespace as the gateway workload.

Remove a the specified headers

+
+
+

IstioEgressListener

+
+

IstioEgressListener specifies the properties of an outbound traffic +listener on the sidecar proxy attached to a workload.

+ + + + + + + + + + + + + + + + + + + @@ -2782,7 +2833,8 @@

Server

@@ -2815,6 +2867,16 @@

Server

these options to control if all http requests should be redirected to https, and the TLS modes to use.

+ + + + + + @@ -3015,186 +3077,6 @@

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
captureModeCaptureMode +

When the bind address is an IP, the captureMode option dictates +how traffic to the listener is expected to be captured (or not).

+ +
hostsstring[] +

One or more services/virtualServices exposed by the listener in +namespace/dnsName format. Publicly scoped services and +VirtualServices from remote namespaces corresponding to the specified +hosts will be imported. 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. In addition, any +publicly scoped DestinationRule associated with the imported services +will also be imported.

+ +

Set the namespace to * to import a particular service from any +available namespace (e.g., “*/foo.example.com”). Set the dnsName field +to * to import all services from the specified namespace (e.g., +“prod/*”). The services should be specified using FQDN format.

+ +

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

+
Port

REQUIRED: The Port on which the proxy should listen for incoming -connections

+connections. If using unix domain socket, use 0 as the port number, +with a valid protocol and port name, along with the bind parameter.

defaultEndpointstring +

The loopback IP endpoint or unix domain socket to which traffic should +be forwarded to by default. Format should be 127.0.0.1:PORT or +unix:///path/to/socket or unix://@foobar (Linux abstract namespace).

+
-
-

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` 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 declares 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.

- - - - - - - - - - - - - - - - - - - @@ -3735,6 +3617,75 @@

ServiceEntry.Resolution

the destination IP address. DNS resolution cannot be used with unix domain socket endpoints.

+ + + +
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.

-
+
+

Sidecar

+
+

Sidecar describes the configuration of the sidecar proxy that mediates +inbound and outbound communication to the workload it is attached to. By +default, Istio will program all sidecar proxies in the mesh with the +necessary configuration required to reach every workload in the mesh, as +well as accept traffic on all the ports associated with the +workload. The Sidecar resource provides a way to fine tune the set of +ports, protocols that the proxy will accept when forwarding traffic to +and from the workload. In addition, it is possible to restrict the set +of services that the proxy can reach when forwarding outbound traffic +from the workload.

+ +

Services and configuration in a mesh are organized into one or more +namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar +resource in a namespace will apply to one or more workloads in the same +namespace, selected using the workloadSelector. In the absence of a +workloadSelector, it will apply to all workloads in the same +namespace. When determining the Sidecar resource to be applied to a +workload, preference will be given to the resource with a +workloadSelector that selects this workload, over a Sidecar resource +without any workloadSelector.

+ +

NOTE: Each namespace can have only one Sidecar resource without any +workload selector. The behavior of the system is undefined if more +than one selector-less Sidecar resources exist in a given namespace. The +behavior of the system is undefined if two or more Sidecar resources +with a workload selector select the same workload.

+ +

The example below delcares a Sidecar resource in the prod-us1 namespace +that configures the sidecar to allow egress traffic to public services +in the prod-us1, prod-apis, and the istio-system namespaces.

+ +
apiVersion: networking.istio.io/v1alpha3
+kind: Sidecar
+metadata:
+  name: default
+  namespace: prod-us1
+spec:
+  egress:
+  - hosts:
+    - "prod-us1/*"
+    - "prod-apis/*"
+    - "istio-system/*"
+
+ + + + + + + + + + + + + + @@ -4505,3 +4456,36 @@

VirtualService

FieldTypeDescription
egressIstioEgressListener[] +

Egress specifies the configuration of the sidecar for processing +outbound traffic from the attached workload to other services in the +mesh. If omitted, Istio will autoconfigure the sidecar to be able to +reach every service in the mesh that is visible to this namespace.

+
+

WorkloadSelector

+
+

WorkloadSelector specifies the criteria used to determine if the Gateway +or Sidecar resource can be applied to a proxy. The matching criteria +includes the metadata associated with a proxy, workload info such as +labels attached to the pod/VM, or any other info that the proxy provides +to Istio during the initial handshake. If multiple conditions are +specified, all conditions need to match in order for the workload to be +selected. Currently, only label based selection mechanism is supported.

+ + + + + + + + + + + + + + + + +
FieldTypeDescription
labelsmap<string, string> +

One or more labels that indicate a specific set of pods/VMs on which +this sidecar configuration should be applied. The scope of label +search is restricted to the configuration namespace in which the the +resource is present.

+ +
+
diff --git a/networking/v1alpha3/service_dependency.pb.go b/networking/v1alpha3/service_dependency.pb.go deleted file mode 100644 index 9056219e7b..0000000000 --- a/networking/v1alpha3/service_dependency.pb.go +++ /dev/null @@ -1,938 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: networking/v1alpha3/service_dependency.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 ServiceDependency. -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 fileDescriptorServiceDependency, []int{0} } - -// `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` 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 declares 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: 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: -// -// ```yaml -// 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). -// -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 []*ServiceDependency_Dependency `protobuf:"bytes,1,rep,name=dependencies" json:"dependencies,omitempty"` -} - -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 *ServiceDependency) GetDependencies() []*ServiceDependency_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 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. - 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 *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 *ServiceDependency_Import) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *ServiceDependency_Import) GetHost() string { - if m != nil { - return m.Host - } - return "" -} - -// Dependency describes a workload and the set of service dependencies -// for the workload. -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 ServiceDependency - // 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 defaultServiceDependency.importNamespaces) will also be - // imported. - Imports []*ServiceDependency_Import `protobuf:"bytes,2,rep,name=imports" json:"imports,omitempty"` -} - -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 *ServiceDependency_Dependency) GetSourceWorkloadLabels() map[string]string { - if m != nil { - return m.SourceWorkloadLabels - } - return nil -} - -func (m *ServiceDependency_Dependency) GetImports() []*ServiceDependency_Import { - if m != nil { - return m.Imports - } - return nil -} - -func init() { - 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 *ServiceDependency) 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 *ServiceDependency) 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 = encodeVarintServiceDependency(dAtA, i, uint64(msg.Size())) - n, err := msg.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n - } - } - return i, nil -} - -func (m *ServiceDependency_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 *ServiceDependency_Import) MarshalTo(dAtA []byte) (int, error) { - var i int - _ = i - var l int - _ = l - if len(m.Namespace) > 0 { - dAtA[i] = 0xa - i++ - i = encodeVarintServiceDependency(dAtA, i, uint64(len(m.Namespace))) - i += copy(dAtA[i:], m.Namespace) - } - if len(m.Host) > 0 { - dAtA[i] = 0x12 - i++ - i = encodeVarintServiceDependency(dAtA, i, uint64(len(m.Host))) - i += copy(dAtA[i:], m.Host) - } - return i, nil -} - -func (m *ServiceDependency_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 *ServiceDependency_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) + sovServiceDependency(uint64(len(k))) + 1 + len(v) + sovServiceDependency(uint64(len(v))) - i = encodeVarintServiceDependency(dAtA, i, uint64(mapSize)) - dAtA[i] = 0xa - i++ - i = encodeVarintServiceDependency(dAtA, i, uint64(len(k))) - i += copy(dAtA[i:], k) - dAtA[i] = 0x12 - i++ - i = encodeVarintServiceDependency(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 = encodeVarintServiceDependency(dAtA, i, uint64(msg.Size())) - n, err := msg.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n - } - } - return i, nil -} - -func encodeVarintServiceDependency(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 *ServiceDependency) Size() (n int) { - var l int - _ = l - if len(m.Dependencies) > 0 { - for _, e := range m.Dependencies { - l = e.Size() - n += 1 + l + sovServiceDependency(uint64(l)) - } - } - return n -} - -func (m *ServiceDependency_Import) Size() (n int) { - var l int - _ = l - l = len(m.Namespace) - if l > 0 { - n += 1 + l + sovServiceDependency(uint64(l)) - } - l = len(m.Host) - if l > 0 { - n += 1 + l + sovServiceDependency(uint64(l)) - } - return n -} - -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) + 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 + sovServiceDependency(uint64(l)) - } - } - return n -} - -func sovServiceDependency(x uint64) (n int) { - for { - n++ - x >>= 7 - if x == 0 { - break - } - } - return n -} -func sozServiceDependency(x uint64) (n int) { - return sovServiceDependency(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *ServiceDependency) 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 ErrIntOverflowServiceDependency - } - 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: ServiceDependency: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ServiceDependency: 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 ErrIntOverflowServiceDependency - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthServiceDependency - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - 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 := skipServiceDependency(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthServiceDependency - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ServiceDependency_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 ErrIntOverflowServiceDependency - } - 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 ErrIntOverflowServiceDependency - } - 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 ErrInvalidLengthServiceDependency - } - 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 ErrIntOverflowServiceDependency - } - 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 ErrInvalidLengthServiceDependency - } - postIndex := iNdEx + intStringLen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Host = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipServiceDependency(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthServiceDependency - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ServiceDependency_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 ErrIntOverflowServiceDependency - } - 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 ErrIntOverflowServiceDependency - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthServiceDependency - } - 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 ErrIntOverflowServiceDependency - } - 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 ErrIntOverflowServiceDependency - } - 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 ErrInvalidLengthServiceDependency - } - 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 ErrIntOverflowServiceDependency - } - 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 ErrInvalidLengthServiceDependency - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue > l { - return io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := skipServiceDependency(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthServiceDependency - } - 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 ErrIntOverflowServiceDependency - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthServiceDependency - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - 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 := skipServiceDependency(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthServiceDependency - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -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, ErrIntOverflowServiceDependency - } - 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, ErrIntOverflowServiceDependency - } - 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, ErrIntOverflowServiceDependency - } - 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, ErrInvalidLengthServiceDependency - } - return iNdEx, nil - case 3: - for { - var innerWire uint64 - var start int = iNdEx - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowServiceDependency - } - 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 := skipServiceDependency(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 ( - ErrInvalidLengthServiceDependency = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowServiceDependency = fmt.Errorf("proto: integer overflow") -) - -func init() { - proto.RegisterFile("networking/v1alpha3/service_dependency.proto", fileDescriptorServiceDependency) -} - -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, - 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/service_dependency.proto b/networking/v1alpha3/service_dependency.proto deleted file mode 100644 index a5c5de84b7..0000000000 --- a/networking/v1alpha3/service_dependency.proto +++ /dev/null @@ -1,168 +0,0 @@ -// 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"; - -// `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` 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 declares 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: 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: -// -// ```yaml -// 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). -// -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 - // 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 ServiceDependency - // 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 defaultServiceDependency.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 ServiceDependency. -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 ba15812abd..2642cde348 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{ - // 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, + // 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, 0x22, 0x14, 0x4c, 0x16, + 0x10, 0x09, 0xc9, 0x29, 0xa9, 0x90, 0xca, 0xcf, 0xa6, 0x14, 0x4b, 0x44, 0x0a, 0x06, 0x26, 0x59, + 0x20, 0x36, 0xd1, 0xd4, 0x19, 0x92, 0x51, 0x2d, 0x8f, 0xe5, 0x99, 0x26, 0xca, 0x5b, 0xf0, 0x18, + 0x3c, 0x0a, 0x4b, 0x1e, 0x01, 0xe5, 0x49, 0x50, 0xc6, 0x76, 0x9c, 0x45, 0x28, 0xed, 0xce, 0xe7, + 0xfa, 0x9c, 0x73, 0xcf, 0xcc, 0xbd, 0x03, 0x4f, 0x63, 0xae, 0x97, 0x32, 0xbd, 0x12, 0xf1, 0xac, + 0xb7, 0x78, 0xce, 0xa2, 0x64, 0xce, 0x4e, 0x7b, 0x8a, 0xa7, 0x0b, 0x11, 0xf2, 0x09, 0x8f, 0x75, + 0xba, 0xf2, 0x92, 0x54, 0x6a, 0x89, 0x1f, 0x08, 0xa5, 0x85, 0xf4, 0x4a, 0xba, 0x57, 0xd0, 0x5b, + 0x8f, 0xf7, 0x79, 0xcc, 0x98, 0xe6, 0x4b, 0x96, 0xab, 0xf7, 0x53, 0x94, 0x98, 0xf2, 0x90, 0xa5, + 0x19, 0xa5, 0xf3, 0xa3, 0x06, 0x47, 0xa3, 0xac, 0xb1, 0xbf, 0xe9, 0x8b, 0xef, 0x41, 0x75, 0x2e, + 0x95, 0x56, 0x04, 0xb9, 0x56, 0xd7, 0xa1, 0x19, 0xc0, 0x0f, 0xc1, 0x61, 0xd3, 0x69, 0xca, 0x95, + 0xe2, 0x8a, 0x54, 0xcc, 0x9f, 0xb2, 0x80, 0x5f, 0x40, 0x35, 0x91, 0xa9, 0x56, 0xc4, 0x72, 0xad, + 0x6e, 0xa3, 0xff, 0xc8, 0xfb, 0x6b, 0x6a, 0xef, 0x93, 0x4c, 0x35, 0xcd, 0xd8, 0x78, 0x08, 0xf5, + 0x48, 0x86, 0x4c, 0x0b, 0x19, 0x93, 0x43, 0x17, 0x75, 0xff, 0xeb, 0x9f, 0xdc, 0xa0, 0xdc, 0x4d, + 0xe9, 0x0d, 0x73, 0x1d, 0xdd, 0x3a, 0x60, 0x0a, 0x90, 0x72, 0x25, 0xa3, 0x6b, 0xe3, 0x57, 0x35, + 0x7e, 0xfd, 0xdb, 0xfa, 0xd1, 0xad, 0x92, 0xee, 0xb8, 0xe0, 0x00, 0x1c, 0x1e, 0x4f, 0x13, 0x29, + 0x62, 0xad, 0x88, 0x6d, 0x0e, 0x77, 0xeb, 0x88, 0x7e, 0x2e, 0xa4, 0xa5, 0x05, 0x1e, 0xc0, 0x51, + 0x28, 0xe3, 0x6f, 0x62, 0x36, 0x51, 0xa1, 0x4c, 0x38, 0xa9, 0x99, 0x94, 0x4f, 0x6e, 0xb0, 0xbc, + 0x30, 0xf4, 0xd1, 0x86, 0x4d, 0x1b, 0x61, 0x09, 0x5a, 0xdf, 0x2d, 0xa8, 0x17, 0x2d, 0x30, 0x81, + 0x5a, 0x3e, 0x0d, 0x82, 0x5c, 0xd4, 0x75, 0x68, 0x01, 0xf1, 0xe7, 0x62, 0x34, 0x15, 0x93, 0xfe, + 0xf5, 0x5d, 0xd3, 0x9b, 0x81, 0x29, 0x53, 0x2b, 0xc6, 0x36, 0x06, 0x3b, 0x62, 0x97, 0x3c, 0x2a, + 0xc6, 0xfd, 0xe6, 0xce, 0x9e, 0x43, 0x23, 0xcf, 0x4c, 0x73, 0xaf, 0xcd, 0x11, 0x72, 0x03, 0xb3, + 0x0b, 0x0e, 0x2d, 0x20, 0x6e, 0x65, 0x6b, 0x12, 0x09, 0xbd, 0x32, 0x63, 0x75, 0xe8, 0x16, 0xe3, + 0xfb, 0x60, 0x2f, 0xb9, 0x98, 0xcd, 0x35, 0xb1, 0x5d, 0xd4, 0x3d, 0xa6, 0x39, 0x6a, 0x9d, 0x01, + 0x94, 0xc1, 0x71, 0x13, 0xac, 0x2b, 0xbe, 0xca, 0xaf, 0x66, 0xf3, 0xb9, 0xd9, 0xf2, 0x05, 0x8b, + 0xae, 0x39, 0xa9, 0x18, 0x59, 0x06, 0x5e, 0x55, 0xce, 0x50, 0xeb, 0x25, 0x34, 0x76, 0xe2, 0xfd, + 0x4b, 0xea, 0xec, 0x48, 0x3b, 0x27, 0x50, 0x2f, 0xf6, 0x12, 0xff, 0x0f, 0xc7, 0x1f, 0xfc, 0xd1, + 0xfb, 0x89, 0xff, 0x65, 0xec, 0xd3, 0xe0, 0x7c, 0xd8, 0x3c, 0xd8, 0x96, 0x06, 0x41, 0x5e, 0x42, + 0x9d, 0x67, 0x00, 0xe5, 0xe6, 0xe1, 0x3a, 0x1c, 0x06, 0x1f, 0x03, 0xbf, 0x79, 0x80, 0x01, 0xec, + 0xd1, 0xf8, 0x7c, 0x3c, 0xb8, 0x68, 0x22, 0x5c, 0x03, 0xeb, 0x5d, 0x30, 0x6a, 0x56, 0xde, 0x7a, + 0x3f, 0xd7, 0x6d, 0xf4, 0x6b, 0xdd, 0x46, 0xbf, 0xd7, 0x6d, 0xf4, 0xd5, 0xcd, 0x2e, 0x5d, 0xc8, + 0x1e, 0x4b, 0x44, 0x6f, 0xcf, 0x43, 0xbf, 0xb4, 0xcd, 0x0b, 0x3f, 0xfd, 0x13, 0x00, 0x00, 0xff, + 0xff, 0x52, 0x1f, 0x71, 0x64, 0x6d, 0x04, 0x00, 0x00, } diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index c1f233f260..b4f16f8b34 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/service_dependency.proto"; +import "networking/v1alpha3/sidecar.proto"; package istio.networking.v1alpha3; diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go new file mode 100644 index 0000000000..6c4e074c0f --- /dev/null +++ b/networking/v1alpha3/sidecar.pb.go @@ -0,0 +1,1405 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: networking/v1alpha3/sidecar.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 Sidecar. +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 fileDescriptorSidecar, []int{0} } + +// $hide_from_docs +// CaptureMode describes how traffic to a listener is expected to be +// captured. Applicable only when the listener is bound to an IP. +type CaptureMode int32 + +const ( + // The default capture mode defined by the environment + CaptureMode_DEFAULT CaptureMode = 0 + // Capture traffic using IPtables redirection + CaptureMode_IPTABLES CaptureMode = 1 + // No traffic capture. When used in egress listener, the application is + // expected to explicitly communicate with the listener port/unix + // domain socket. When used in ingress listener, care needs to be taken + // to ensure that the listener port is not in use by other processes on + // the host. + CaptureMode_NONE CaptureMode = 2 +) + +var CaptureMode_name = map[int32]string{ + 0: "DEFAULT", + 1: "IPTABLES", + 2: "NONE", +} +var CaptureMode_value = map[string]int32{ + "DEFAULT": 0, + "IPTABLES": 1, + "NONE": 2, +} + +func (x CaptureMode) String() string { + return proto.EnumName(CaptureMode_name, int32(x)) +} +func (CaptureMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{1} } + +// `Sidecar` describes the configuration of the sidecar proxy that mediates +// inbound and outbound communication to the workload it is attached to. By +// default, Istio will program all sidecar proxies in the mesh with the +// necessary configuration required to reach every workload in the mesh, as +// well as accept traffic on all the ports associated with the +// workload. The Sidecar resource provides a way to fine tune the set of +// ports, protocols that the proxy will accept when forwarding traffic to +// and from the workload. In addition, it is possible to restrict the set +// of services that the proxy can reach when forwarding outbound traffic +// from the workload. +// +// Services and configuration in a mesh are organized into one or more +// namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar +// resource in a namespace will apply to one or more workloads in the same +// namespace, selected using the workloadSelector. In the absence of a +// workloadSelector, it will apply to all workloads in the same +// namespace. When determining the Sidecar resource to be applied to a +// workload, preference will be given to the resource with a +// workloadSelector that selects this workload, over a Sidecar resource +// without any workloadSelector. +// +// NOTE: *_Each namespace can have only one Sidecar resource without any +// workload selector_*. The behavior of the system is undefined if more +// than one selector-less Sidecar resources exist in a given namespace. The +// behavior of the system is undefined if two or more Sidecar resources +// with a workload selector select the same workload. +// +// The example below delcares a Sidecar resource in the prod-us1 namespace +// that configures the sidecar to allow egress traffic to public services +// in the prod-us1, prod-apis, and the istio-system namespaces. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Sidecar +// metadata: +// name: default +// namespace: prod-us1 +// spec: +// egress: +// - hosts: +// - "prod-us1/*" +// - "prod-apis/*" +// - "istio-system/*" +// ``` +// +type Sidecar struct { + // $hide_from_docs + // Criteria used to select the specific set of pods/VMs on which this + // sidecar configuration should be applied. If omitted, the sidecar + // configuration will be applied to all workloads in the current config + // namespace. + WorkloadSelector *WorkloadSelector `protobuf:"bytes,1,opt,name=workload_selector,json=workloadSelector" json:"workload_selector,omitempty"` + // $hide_from_docs + // Ingress specifies the configuration of the sidecar for processing + // inbound traffic to the attached workload. If omitted, Istio will + // autoconfigure the sidecar based on the information about the workload + // obtained from the orchestration platform (e.g., exposed ports, services, + // etc.). + Ingress []*IstioIngressListener `protobuf:"bytes,2,rep,name=ingress" json:"ingress,omitempty"` + // Egress specifies the configuration of the sidecar for processing + // outbound traffic from the attached workload to other services in the + // mesh. If omitted, Istio will autoconfigure the sidecar to be able to + // reach every service in the mesh that is visible to this namespace. + Egress []*IstioEgressListener `protobuf:"bytes,3,rep,name=egress" json:"egress,omitempty"` +} + +func (m *Sidecar) Reset() { *m = Sidecar{} } +func (m *Sidecar) String() string { return proto.CompactTextString(m) } +func (*Sidecar) ProtoMessage() {} +func (*Sidecar) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{0} } + +func (m *Sidecar) GetWorkloadSelector() *WorkloadSelector { + if m != nil { + return m.WorkloadSelector + } + return nil +} + +func (m *Sidecar) GetIngress() []*IstioIngressListener { + if m != nil { + return m.Ingress + } + return nil +} + +func (m *Sidecar) GetEgress() []*IstioEgressListener { + if m != nil { + return m.Egress + } + return nil +} + +// $hide_from_docs +// IstioIngressListener specifies the properties of an inbound +// traffic listener on the sidecar proxy attached to a workload. +type IstioIngressListener struct { + // REQUIRED. The port associated with the listener. If using + // unix domain socket, use 0 as the port number, with a valid + // protocol. + Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` + // The ip or the unix domain socket to which the listener should be bound + // to. Format: x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux + // abstract namespace). If omitted, Istio will autoconfigure the defaults + // based on imported services and the workload to which this + // configuration is applied to. + Bind string `protobuf:"bytes,2,opt,name=bind,proto3" json:"bind,omitempty"` + // When the bind address is an IP, the captureMode option dictates + // how traffic to the listener is expected to be captured (or not). + CaptureMode CaptureMode `protobuf:"varint,3,opt,name=capture_mode,json=captureMode,proto3,enum=istio.networking.v1alpha3.CaptureMode" json:"capture_mode,omitempty"` + // The loopback IP endpoint or unix domain socket to which traffic should + // be forwarded to by default. This configuration can be used to redirect + // traffic arriving at the bind point on the sidecar to a port or unix + // domain socket where the application workload is listening for + // connections. Format should be 127.0.0.1:PORT or unix:///path/to/socket + DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"` +} + +func (m *IstioIngressListener) Reset() { *m = IstioIngressListener{} } +func (m *IstioIngressListener) String() string { return proto.CompactTextString(m) } +func (*IstioIngressListener) ProtoMessage() {} +func (*IstioIngressListener) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{1} } + +func (m *IstioIngressListener) GetPort() *Port { + if m != nil { + return m.Port + } + return nil +} + +func (m *IstioIngressListener) GetBind() string { + if m != nil { + return m.Bind + } + return "" +} + +func (m *IstioIngressListener) GetCaptureMode() CaptureMode { + if m != nil { + return m.CaptureMode + } + return CaptureMode_DEFAULT +} + +func (m *IstioIngressListener) GetDefaultEndpoint() string { + if m != nil { + return m.DefaultEndpoint + } + return "" +} + +// IstioEgressListener specifies the properties of an outbound traffic +// listener on the sidecar proxy attached to a workload. +type IstioEgressListener struct { + // $hide_from_docs + // The port associated with the listener. If using unix domain socket, + // use 0 as the port number, with a valid protocol. The port if + // specified, will be used as the default destination port associated + // with the imported hosts. If the port is omitted, Istio will infer the + // listener ports based on the imported hosts. Note that when multiple + // egress listeners are specified, where one or more listeners have + // specific ports while others have no port, the hosts exposed on a + // listener port will be based on the listener with the most specific + // port. + Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"` + // $hide_from_docs + // The ip or the unix domain socket to which the listener should be bound + // to. Port MUST be specified if bind is not empty. Format: + // x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux abstract + // namespace). If omitted, Istio will autoconfigure the defaults based on + // imported services and the workload to which this configuration is + // applied to. + Bind string `protobuf:"bytes,2,opt,name=bind,proto3" json:"bind,omitempty"` + // When the bind address is an IP, the captureMode option dictates + // how traffic to the listener is expected to be captured (or not). + CaptureMode CaptureMode `protobuf:"varint,3,opt,name=capture_mode,json=captureMode,proto3,enum=istio.networking.v1alpha3.CaptureMode" json:"capture_mode,omitempty"` + // One or more services/virtualServices exposed by the listener in + // namespace/dnsName format. Publicly scoped services and + // VirtualServices from remote namespaces corresponding to the specified + // hosts will be imported. 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. In addition, any + // publicly scoped DestinationRule associated with the imported services + // will also be imported. + // + // Set the namespace to * to import a particular service from any + // available namespace (e.g., "*/foo.example.com"). Set the dnsName field + // to * to import all services from the specified namespace (e.g., + // "prod/*"). The services should be specified using FQDN format. + // + // NOTE: Only exported services and configuration artifacts from a + // namespace can be imported. Private services/configuration will not be + // imported. Refer to the scope setting associated with VirtualService, + // DestinationRule, ServiceEntry, etc. for details. + Hosts []string `protobuf:"bytes,4,rep,name=hosts" json:"hosts,omitempty"` +} + +func (m *IstioEgressListener) Reset() { *m = IstioEgressListener{} } +func (m *IstioEgressListener) String() string { return proto.CompactTextString(m) } +func (*IstioEgressListener) ProtoMessage() {} +func (*IstioEgressListener) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{2} } + +func (m *IstioEgressListener) GetPort() *Port { + if m != nil { + return m.Port + } + return nil +} + +func (m *IstioEgressListener) GetBind() string { + if m != nil { + return m.Bind + } + return "" +} + +func (m *IstioEgressListener) GetCaptureMode() CaptureMode { + if m != nil { + return m.CaptureMode + } + return CaptureMode_DEFAULT +} + +func (m *IstioEgressListener) GetHosts() []string { + if m != nil { + return m.Hosts + } + return nil +} + +// WorkloadSelector specifies the criteria used to determine if the Gateway +// or Sidecar resource can be applied to a proxy. The matching criteria +// includes the metadata associated with a proxy, workload info such as +// labels attached to the pod/VM, or any other info that the proxy provides +// to Istio during the initial handshake. If multiple conditions are +// specified, all conditions need to match in order for the workload to be +// selected. Currently, only label based selection mechanism is supported. +type WorkloadSelector struct { + // One or more labels that indicate a specific set of pods/VMs on which + // this sidecar configuration should be applied. The scope of label + // search is restricted to the configuration namespace in which the the + // resource is present. + Labels map[string]string `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} } +func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) } +func (*WorkloadSelector) ProtoMessage() {} +func (*WorkloadSelector) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{3} } + +func (m *WorkloadSelector) GetLabels() map[string]string { + if m != nil { + return m.Labels + } + return nil +} + +func init() { + proto.RegisterType((*Sidecar)(nil), "istio.networking.v1alpha3.Sidecar") + proto.RegisterType((*IstioIngressListener)(nil), "istio.networking.v1alpha3.IstioIngressListener") + proto.RegisterType((*IstioEgressListener)(nil), "istio.networking.v1alpha3.IstioEgressListener") + proto.RegisterType((*WorkloadSelector)(nil), "istio.networking.v1alpha3.WorkloadSelector") + proto.RegisterEnum("istio.networking.v1alpha3.ConfigScope", ConfigScope_name, ConfigScope_value) + proto.RegisterEnum("istio.networking.v1alpha3.CaptureMode", CaptureMode_name, CaptureMode_value) +} +func (m *Sidecar) 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 *Sidecar) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.WorkloadSelector != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintSidecar(dAtA, i, uint64(m.WorkloadSelector.Size())) + n1, err := m.WorkloadSelector.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + } + if len(m.Ingress) > 0 { + for _, msg := range m.Ingress { + dAtA[i] = 0x12 + i++ + i = encodeVarintSidecar(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.Egress) > 0 { + for _, msg := range m.Egress { + dAtA[i] = 0x1a + i++ + i = encodeVarintSidecar(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *IstioIngressListener) 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 *IstioIngressListener) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Port != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintSidecar(dAtA, i, uint64(m.Port.Size())) + n2, err := m.Port.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + } + if len(m.Bind) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintSidecar(dAtA, i, uint64(len(m.Bind))) + i += copy(dAtA[i:], m.Bind) + } + if m.CaptureMode != 0 { + dAtA[i] = 0x18 + i++ + i = encodeVarintSidecar(dAtA, i, uint64(m.CaptureMode)) + } + if len(m.DefaultEndpoint) > 0 { + dAtA[i] = 0x22 + i++ + i = encodeVarintSidecar(dAtA, i, uint64(len(m.DefaultEndpoint))) + i += copy(dAtA[i:], m.DefaultEndpoint) + } + return i, nil +} + +func (m *IstioEgressListener) 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 *IstioEgressListener) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Port != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintSidecar(dAtA, i, uint64(m.Port.Size())) + n3, err := m.Port.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + } + if len(m.Bind) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintSidecar(dAtA, i, uint64(len(m.Bind))) + i += copy(dAtA[i:], m.Bind) + } + if m.CaptureMode != 0 { + dAtA[i] = 0x18 + i++ + i = encodeVarintSidecar(dAtA, i, uint64(m.CaptureMode)) + } + if len(m.Hosts) > 0 { + for _, s := range m.Hosts { + dAtA[i] = 0x22 + 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 *WorkloadSelector) 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 *WorkloadSelector) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Labels) > 0 { + for k, _ := range m.Labels { + dAtA[i] = 0xa + i++ + v := m.Labels[k] + mapSize := 1 + len(k) + sovSidecar(uint64(len(k))) + 1 + len(v) + sovSidecar(uint64(len(v))) + i = encodeVarintSidecar(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintSidecar(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintSidecar(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + return i, nil +} + +func encodeVarintSidecar(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 *Sidecar) Size() (n int) { + var l int + _ = l + if m.WorkloadSelector != nil { + l = m.WorkloadSelector.Size() + n += 1 + l + sovSidecar(uint64(l)) + } + if len(m.Ingress) > 0 { + for _, e := range m.Ingress { + l = e.Size() + n += 1 + l + sovSidecar(uint64(l)) + } + } + if len(m.Egress) > 0 { + for _, e := range m.Egress { + l = e.Size() + n += 1 + l + sovSidecar(uint64(l)) + } + } + return n +} + +func (m *IstioIngressListener) Size() (n int) { + var l int + _ = l + if m.Port != nil { + l = m.Port.Size() + n += 1 + l + sovSidecar(uint64(l)) + } + l = len(m.Bind) + if l > 0 { + n += 1 + l + sovSidecar(uint64(l)) + } + if m.CaptureMode != 0 { + n += 1 + sovSidecar(uint64(m.CaptureMode)) + } + l = len(m.DefaultEndpoint) + if l > 0 { + n += 1 + l + sovSidecar(uint64(l)) + } + return n +} + +func (m *IstioEgressListener) Size() (n int) { + var l int + _ = l + if m.Port != nil { + l = m.Port.Size() + n += 1 + l + sovSidecar(uint64(l)) + } + l = len(m.Bind) + if l > 0 { + n += 1 + l + sovSidecar(uint64(l)) + } + if m.CaptureMode != 0 { + n += 1 + sovSidecar(uint64(m.CaptureMode)) + } + if len(m.Hosts) > 0 { + for _, s := range m.Hosts { + l = len(s) + n += 1 + l + sovSidecar(uint64(l)) + } + } + return n +} + +func (m *WorkloadSelector) Size() (n int) { + var l int + _ = l + if len(m.Labels) > 0 { + for k, v := range m.Labels { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovSidecar(uint64(len(k))) + 1 + len(v) + sovSidecar(uint64(len(v))) + n += mapEntrySize + 1 + sovSidecar(uint64(mapEntrySize)) + } + } + return n +} + +func sovSidecar(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozSidecar(x uint64) (n int) { + return sovSidecar(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Sidecar) 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 ErrIntOverflowSidecar + } + 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: Sidecar: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Sidecar: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WorkloadSelector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSidecar + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.WorkloadSelector == nil { + m.WorkloadSelector = &WorkloadSelector{} + } + if err := m.WorkloadSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ingress", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSidecar + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Ingress = append(m.Ingress, &IstioIngressListener{}) + if err := m.Ingress[len(m.Ingress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Egress", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSidecar + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Egress = append(m.Egress, &IstioEgressListener{}) + if err := m.Egress[len(m.Egress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSidecar(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthSidecar + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *IstioIngressListener) 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 ErrIntOverflowSidecar + } + 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: IstioIngressListener: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: IstioIngressListener: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSidecar + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Port == nil { + m.Port = &Port{} + } + if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + 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 ErrInvalidLengthSidecar + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Bind = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CaptureMode", wireType) + } + m.CaptureMode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CaptureMode |= (CaptureMode(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DefaultEndpoint", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + 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 ErrInvalidLengthSidecar + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DefaultEndpoint = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSidecar(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthSidecar + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *IstioEgressListener) 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 ErrIntOverflowSidecar + } + 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: IstioEgressListener: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: IstioEgressListener: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSidecar + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Port == nil { + m.Port = &Port{} + } + if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + 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 ErrInvalidLengthSidecar + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Bind = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CaptureMode", wireType) + } + m.CaptureMode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CaptureMode |= (CaptureMode(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hosts", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + 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 ErrInvalidLengthSidecar + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hosts = append(m.Hosts, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSidecar(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthSidecar + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *WorkloadSelector) 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 ErrIntOverflowSidecar + } + 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: WorkloadSelector: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: WorkloadSelector: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSidecar + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthSidecar + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Labels == nil { + m.Labels = 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 ErrIntOverflowSidecar + } + 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 ErrIntOverflowSidecar + } + 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 ErrInvalidLengthSidecar + } + 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 ErrIntOverflowSidecar + } + 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 ErrInvalidLengthSidecar + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipSidecar(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthSidecar + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Labels[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSidecar(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthSidecar + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipSidecar(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, ErrIntOverflowSidecar + } + 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, ErrIntOverflowSidecar + } + 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, ErrIntOverflowSidecar + } + 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, ErrInvalidLengthSidecar + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowSidecar + } + 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 := skipSidecar(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 ( + ErrInvalidLengthSidecar = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowSidecar = fmt.Errorf("proto: integer overflow") +) + +func init() { proto.RegisterFile("networking/v1alpha3/sidecar.proto", fileDescriptorSidecar) } + +var fileDescriptorSidecar = []byte{ + // 496 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x93, 0x3f, 0x6f, 0xd3, 0x40, + 0x18, 0xc6, 0x7b, 0xb1, 0x49, 0x9a, 0xd7, 0x15, 0x98, 0xa3, 0x83, 0xe9, 0x10, 0x4c, 0x86, 0xca, + 0x14, 0xc9, 0x16, 0xc9, 0xc0, 0x9f, 0x2d, 0x09, 0xae, 0x64, 0xc9, 0xb4, 0x91, 0x93, 0x02, 0x62, + 0x89, 0x2e, 0xf6, 0x35, 0x3d, 0xd5, 0xf8, 0xac, 0xf3, 0xa5, 0x51, 0xbe, 0x0c, 0x5f, 0x85, 0x95, + 0x91, 0x85, 0x1d, 0xe5, 0x43, 0x30, 0x23, 0xff, 0xa9, 0x5a, 0xa2, 0x10, 0xc4, 0xd6, 0xed, 0xde, + 0xf7, 0x9e, 0xe7, 0xf7, 0xfa, 0xf1, 0xdd, 0xc1, 0xd3, 0x84, 0xca, 0x05, 0x17, 0x97, 0x2c, 0x99, + 0x39, 0x57, 0x2f, 0x48, 0x9c, 0x5e, 0x90, 0xae, 0x93, 0xb1, 0x88, 0x86, 0x44, 0xd8, 0xa9, 0xe0, + 0x92, 0xe3, 0xc7, 0x2c, 0x93, 0x8c, 0xdb, 0x37, 0x42, 0xfb, 0x5a, 0x78, 0xb0, 0xd1, 0x3d, 0x23, + 0x92, 0x2e, 0xc8, 0xb2, 0x74, 0xb7, 0x7f, 0x21, 0x68, 0x8c, 0x4a, 0x1e, 0xfe, 0x08, 0x0f, 0x73, + 0x75, 0xcc, 0x49, 0x34, 0xc9, 0x68, 0x4c, 0x43, 0xc9, 0x85, 0x81, 0x4c, 0x64, 0x69, 0x9d, 0xe7, + 0xf6, 0x5f, 0xa7, 0xd8, 0x1f, 0x2a, 0xcf, 0xa8, 0xb2, 0x04, 0xfa, 0x62, 0xad, 0x83, 0x3d, 0x68, + 0xb0, 0x64, 0x26, 0x68, 0x96, 0x19, 0x35, 0x53, 0xb1, 0xb4, 0x8e, 0xb3, 0x85, 0xe7, 0xe5, 0x3b, + 0x5e, 0x29, 0xf7, 0x59, 0x26, 0x69, 0x42, 0x45, 0x70, 0xed, 0xc7, 0xc7, 0x50, 0xa7, 0x25, 0x49, + 0x29, 0x48, 0xf6, 0xbf, 0x48, 0xee, 0x9f, 0xa0, 0xca, 0xdd, 0xfe, 0x81, 0x60, 0x7f, 0xd3, 0x24, + 0xdc, 0x05, 0x35, 0xe5, 0x42, 0x56, 0xc1, 0x9f, 0x6c, 0xc1, 0x0f, 0xb9, 0x90, 0x41, 0x21, 0xc6, + 0x18, 0xd4, 0x29, 0x4b, 0x22, 0xa3, 0x66, 0x22, 0xab, 0x19, 0x14, 0x6b, 0xec, 0xc1, 0x5e, 0x48, + 0x52, 0x39, 0x17, 0x74, 0xf2, 0x99, 0x47, 0xd4, 0x50, 0x4c, 0x64, 0xdd, 0xef, 0x1c, 0x6e, 0x01, + 0x0e, 0x4a, 0xf9, 0x3b, 0x1e, 0xd1, 0x40, 0x0b, 0x6f, 0x0a, 0xfc, 0x0c, 0xf4, 0x88, 0x9e, 0x93, + 0x79, 0x2c, 0x27, 0x34, 0x89, 0x52, 0xce, 0x12, 0x69, 0xa8, 0xc5, 0xa8, 0x07, 0x55, 0xdf, 0xad, + 0xda, 0xed, 0xaf, 0x08, 0x1e, 0x6d, 0xc8, 0x7d, 0x27, 0x63, 0xed, 0xc3, 0xbd, 0x0b, 0x9e, 0xc9, + 0xcc, 0x50, 0x4d, 0xc5, 0x6a, 0x06, 0x65, 0xd1, 0xfe, 0x82, 0x40, 0x5f, 0xbf, 0x53, 0xf8, 0x14, + 0xea, 0x31, 0x99, 0xd2, 0x38, 0x33, 0x50, 0x71, 0xec, 0x2f, 0xff, 0xe3, 0x42, 0xda, 0x7e, 0xe1, + 0x74, 0x13, 0x29, 0x96, 0x41, 0x85, 0x39, 0x78, 0x0d, 0xda, 0xad, 0x36, 0xd6, 0x41, 0xb9, 0xa4, + 0xcb, 0xe2, 0xef, 0x34, 0x83, 0x7c, 0x99, 0x7f, 0xdc, 0x15, 0x89, 0xe7, 0xb4, 0x0a, 0x5f, 0x16, + 0x6f, 0x6a, 0xaf, 0xd0, 0xd1, 0x21, 0x68, 0x03, 0x9e, 0x9c, 0xb3, 0xd9, 0x28, 0xe4, 0x29, 0xc5, + 0x00, 0xf5, 0xe1, 0x59, 0xdf, 0xf7, 0x06, 0xfa, 0x0e, 0xd6, 0xa0, 0x31, 0x0c, 0xbc, 0xf7, 0xbd, + 0xb1, 0xab, 0xa3, 0xa3, 0x0e, 0x68, 0xb7, 0xa2, 0xe7, 0x7b, 0x6f, 0xdd, 0xe3, 0xde, 0x99, 0x3f, + 0xd6, 0x77, 0xf0, 0x1e, 0xec, 0x7a, 0xc3, 0x71, 0xaf, 0xef, 0xbb, 0x23, 0x1d, 0xe1, 0x5d, 0x50, + 0x4f, 0x4e, 0x4f, 0x5c, 0xbd, 0xd6, 0xb7, 0xbf, 0xad, 0x5a, 0xe8, 0xfb, 0xaa, 0x85, 0x7e, 0xae, + 0x5a, 0xe8, 0x93, 0x59, 0x86, 0x64, 0xdc, 0x21, 0x29, 0x73, 0x36, 0xbc, 0xe6, 0x69, 0xbd, 0x78, + 0xc6, 0xdd, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x62, 0xef, 0x1c, 0x27, 0x29, 0x04, 0x00, 0x00, +} diff --git a/networking/v1alpha3/sidecar.proto b/networking/v1alpha3/sidecar.proto new file mode 100644 index 0000000000..369b6be38c --- /dev/null +++ b/networking/v1alpha3/sidecar.proto @@ -0,0 +1,251 @@ +// 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"; + +import "networking/v1alpha3/gateway.proto"; + +package istio.networking.v1alpha3; + +option go_package = "istio.io/api/networking/v1alpha3"; + +// `Sidecar` describes the configuration of the sidecar proxy that mediates +// inbound and outbound communication to the workload it is attached to. By +// default, Istio will program all sidecar proxies in the mesh with the +// necessary configuration required to reach every workload in the mesh, as +// well as accept traffic on all the ports associated with the +// workload. The Sidecar resource provides a way to fine tune the set of +// ports, protocols that the proxy will accept when forwarding traffic to +// and from the workload. In addition, it is possible to restrict the set +// of services that the proxy can reach when forwarding outbound traffic +// from the workload. +// +// Services and configuration in a mesh are organized into one or more +// namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar +// resource in a namespace will apply to one or more workloads in the same +// namespace, selected using the workloadSelector. In the absence of a +// workloadSelector, it will apply to all workloads in the same +// namespace. When determining the Sidecar resource to be applied to a +// workload, preference will be given to the resource with a +// workloadSelector that selects this workload, over a Sidecar resource +// without any workloadSelector. +// +// NOTE: *_Each namespace can have only one Sidecar resource without any +// workload selector_*. The behavior of the system is undefined if more +// than one selector-less Sidecar resources exist in a given namespace. The +// behavior of the system is undefined if two or more Sidecar resources +// with a workload selector select the same workload. +// +// The example below delcares a Sidecar resource in the prod-us1 namespace +// that configures the sidecar to allow egress traffic to public services +// in the prod-us1, prod-apis, and the istio-system namespaces. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Sidecar +// metadata: +// name: default +// namespace: prod-us1 +// spec: +// egress: +// - hosts: +// - "prod-us1/*" +// - "prod-apis/*" +// - "istio-system/*" +// ``` +// +message Sidecar { + // $hide_from_docs + // Criteria used to select the specific set of pods/VMs on which this + // sidecar configuration should be applied. If omitted, the sidecar + // configuration will be applied to all workloads in the current config + // namespace. + WorkloadSelector workload_selector = 1; + + // $hide_from_docs + // Ingress specifies the configuration of the sidecar for processing + // inbound traffic to the attached workload. If omitted, Istio will + // autoconfigure the sidecar based on the information about the workload + // obtained from the orchestration platform (e.g., exposed ports, services, + // etc.). + repeated IstioIngressListener ingress = 2; + + // Egress specifies the configuration of the sidecar for processing + // outbound traffic from the attached workload to other services in the + // mesh. If omitted, Istio will autoconfigure the sidecar to be able to + // reach every service in the mesh that is visible to this namespace. + repeated IstioEgressListener egress = 3; +} + +// $hide_from_docs +// IstioIngressListener specifies the properties of an inbound +// traffic listener on the sidecar proxy attached to a workload. +message IstioIngressListener { + // REQUIRED. The port associated with the listener. If using + // unix domain socket, use 0 as the port number, with a valid + // protocol. + Port port = 1; + + // The ip or the unix domain socket to which the listener should be bound + // to. Format: x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux + // abstract namespace). If omitted, Istio will autoconfigure the defaults + // based on imported services and the workload to which this + // configuration is applied to. + string bind = 2; + + // When the bind address is an IP, the captureMode option dictates + // how traffic to the listener is expected to be captured (or not). + CaptureMode capture_mode = 3; + + // The loopback IP endpoint or unix domain socket to which traffic should + // be forwarded to by default. This configuration can be used to redirect + // traffic arriving at the bind point on the sidecar to a port or unix + // domain socket where the application workload is listening for + // connections. Format should be 127.0.0.1:PORT or unix:///path/to/socket + string default_endpoint = 4; +} + +// IstioEgressListener specifies the properties of an outbound traffic +// listener on the sidecar proxy attached to a workload. +message IstioEgressListener { + // $hide_from_docs + // The port associated with the listener. If using unix domain socket, + // use 0 as the port number, with a valid protocol. The port if + // specified, will be used as the default destination port associated + // with the imported hosts. If the port is omitted, Istio will infer the + // listener ports based on the imported hosts. Note that when multiple + // egress listeners are specified, where one or more listeners have + // specific ports while others have no port, the hosts exposed on a + // listener port will be based on the listener with the most specific + // port. + Port port = 1; + + // $hide_from_docs + // The ip or the unix domain socket to which the listener should be bound + // to. Port MUST be specified if bind is not empty. Format: + // x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux abstract + // namespace). If omitted, Istio will autoconfigure the defaults based on + // imported services and the workload to which this configuration is + // applied to. + string bind = 2; + + // When the bind address is an IP, the captureMode option dictates + // how traffic to the listener is expected to be captured (or not). + CaptureMode capture_mode = 3; + + // One or more services/virtualServices exposed by the listener in + // namespace/dnsName format. Publicly scoped services and + // VirtualServices from remote namespaces corresponding to the specified + // hosts will be imported. 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. In addition, any + // publicly scoped DestinationRule associated with the imported services + // will also be imported. + // + // Set the namespace to * to import a particular service from any + // available namespace (e.g., "*/foo.example.com"). Set the dnsName field + // to * to import all services from the specified namespace (e.g., + // "prod/*"). The services should be specified using FQDN format. + // + // NOTE: Only exported services and configuration artifacts from a + // namespace can be imported. Private services/configuration will not be + // imported. Refer to the scope setting associated with VirtualService, + // DestinationRule, ServiceEntry, etc. for details. + repeated string hosts = 4; +} + +// 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 Sidecar. +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; +} + +// WorkloadSelector specifies the criteria used to determine if the Gateway +// or Sidecar resource can be applied to a proxy. The matching criteria +// includes the metadata associated with a proxy, workload info such as +// labels attached to the pod/VM, or any other info that the proxy provides +// to Istio during the initial handshake. If multiple conditions are +// specified, all conditions need to match in order for the workload to be +// selected. Currently, only label based selection mechanism is supported. +message WorkloadSelector { + // One or more labels that indicate a specific set of pods/VMs on which + // this sidecar configuration should be applied. The scope of label + // search is restricted to the configuration namespace in which the the + // resource is present. + map labels = 1; + + // $hide_from_docs + // other forms of identification supplied by the proxy + // when connecting to Pilot, such as X509 fields, tenant IDs, JWT, + // etc. This has nothing to do with the request level authN etc. +} + +// $hide_from_docs +// CaptureMode describes how traffic to a listener is expected to be +// captured. Applicable only when the listener is bound to an IP. +enum CaptureMode { + // The default capture mode defined by the environment + DEFAULT = 0; + + // Capture traffic using IPtables redirection + IPTABLES = 1; + + // No traffic capture. When used in egress listener, the application is + // expected to explicitly communicate with the listener port/unix + // domain socket. When used in ingress listener, care needs to be taken + // to ensure that the listener port is not in use by other processes on + // the host. + NONE = 2; +} + +// $hide_from_docs +// The example below delcares a Sidecar resource in the prod-us1 namespace +// that accepts inbound HTTP traffic on port 9080 and forwards +// it to the attached workload listening on a unix domain socket. In the +// egress direction, in addition to the istio-system namespace, the sidecar +// proxies only HTTP traffic bound for port 9080 for services in the +// prod-us1 namespace. +// +// ```yaml +// apiVersion: networking.istio.io/v1alpha3 +// kind: Sidecar +// metadata: +// name: default +// namespace: prod-us1 +// spec: +// ingress: +// - port: +// number: 9080 +// protocol: HTTP +// name: somename +// defaultEndpoint: unix:///var/run/someuds.sock +// egress: +// - hosts: +// - "istio-system/*" +// - port: +// number: 9080 +// protocol: HTTP +// name: egresshttp +// hosts: +// - "prod-us1/*" +// ``` +// diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 6affd52148..0e2c10eb3c 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -9131,119 +9131,119 @@ func init() { } var fileDescriptorVirtualService = []byte{ - // 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, 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, + // 1812 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0x1b, 0x49, + 0x15, 0xcf, 0x48, 0x1a, 0xfd, 0x79, 0x92, 0x1d, 0xbb, 0xf1, 0x66, 0x27, 0x62, 0x2b, 0x38, 0x5a, + 0x76, 0x31, 0xb5, 0xac, 0x5c, 0x28, 0xb0, 0xb8, 0x96, 0x6c, 0x76, 0x6d, 0x27, 0x59, 0x85, 0x4a, + 0x88, 0x6b, 0x64, 0xf6, 0xc0, 0x65, 0xaa, 0x35, 0xd3, 0x96, 0x86, 0x8c, 0x66, 0x86, 0xee, 0x1e, + 0xdb, 0x2a, 0x8e, 0xfc, 0xb9, 0x43, 0x71, 0xa5, 0xf8, 0x14, 0x5c, 0xb8, 0x70, 0xe5, 0x44, 0xf1, + 0x09, 0xa8, 0x54, 0x0e, 0x5c, 0xf9, 0x0a, 0x54, 0xff, 0x99, 0xd1, 0xd8, 0xb2, 0x35, 0x92, 0x09, + 0x14, 0x27, 0xab, 0xbb, 0xdf, 0xef, 0xf5, 0xeb, 0xd7, 0xfd, 0xde, 0xfb, 0xcd, 0x33, 0x7c, 0x3b, + 0x24, 0xfc, 0x2c, 0xa2, 0xaf, 0xfc, 0x70, 0xb4, 0x7b, 0xfa, 0x5d, 0x1c, 0xc4, 0x63, 0xfc, 0x60, + 0xf7, 0xd4, 0xa7, 0x3c, 0xc1, 0x81, 0xc3, 0x08, 0x3d, 0xf5, 0x5d, 0xd2, 0x8d, 0x69, 0xc4, 0x23, + 0x74, 0xd7, 0x67, 0xdc, 0x8f, 0xba, 0x33, 0x40, 0x37, 0x05, 0xb4, 0xef, 0x8d, 0xa2, 0x68, 0x14, + 0x90, 0x5d, 0x29, 0x38, 0x4c, 0x4e, 0x76, 0xbd, 0x84, 0x62, 0xee, 0x47, 0xa1, 0x82, 0xce, 0xaf, + 0x9f, 0x51, 0x1c, 0xc7, 0x84, 0x32, 0xbd, 0x7e, 0xff, 0x2a, 0x2b, 0x98, 0xef, 0x11, 0x17, 0x53, + 0x25, 0xd2, 0xf9, 0x53, 0x09, 0xd6, 0xbf, 0x52, 0x76, 0x0d, 0x94, 0x59, 0x68, 0x0b, 0xcc, 0x71, + 0xc4, 0x38, 0xb3, 0x8c, 0xed, 0xf2, 0x4e, 0xc3, 0x56, 0x03, 0xd4, 0x86, 0xfa, 0x08, 0x73, 0x72, + 0x86, 0xa7, 0xcc, 0x2a, 0xc9, 0x85, 0x6c, 0x8c, 0xf6, 0xa0, 0x32, 0xe6, 0x3c, 0xb6, 0xca, 0xdb, + 0xe5, 0x9d, 0x66, 0xef, 0x9b, 0xdd, 0x6b, 0x4f, 0xd4, 0xed, 0x1f, 0x1f, 0x1f, 0xd9, 0x51, 0xc2, + 0x89, 0x2d, 0x11, 0xe8, 0xfb, 0x50, 0xe6, 0x6e, 0x6c, 0x55, 0x24, 0xf0, 0xfd, 0x05, 0xc0, 0xe3, + 0x43, 0x8d, 0x13, 0xf2, 0x12, 0x16, 0x30, 0xcb, 0x2c, 0x86, 0x3d, 0x1f, 0xa4, 0xb0, 0x80, 0xa1, + 0x67, 0xd0, 0x72, 0xa3, 0xf0, 0xc4, 0x1f, 0x39, 0xcc, 0x8d, 0x62, 0x62, 0x55, 0xb7, 0x8d, 0x9d, + 0xf5, 0xde, 0x87, 0x0b, 0xf0, 0x87, 0x52, 0x7c, 0x20, 0xa4, 0xed, 0xa6, 0x3b, 0x1b, 0x74, 0x4e, + 0xa1, 0xf9, 0x98, 0x30, 0xee, 0x87, 0xf2, 0x3e, 0x10, 0x82, 0x8a, 0x70, 0x93, 0x65, 0x6c, 0x1b, + 0x3b, 0x0d, 0x5b, 0xfe, 0x46, 0x77, 0xa0, 0xca, 0x92, 0x21, 0x23, 0xdc, 0x2a, 0xc9, 0x59, 0x3d, + 0x42, 0x3f, 0x84, 0x4a, 0x1c, 0x51, 0x6e, 0x95, 0xb7, 0x8d, 0x9d, 0x66, 0xef, 0x5b, 0x0b, 0x76, + 0x3f, 0x8a, 0x28, 0x1f, 0x90, 0x80, 0xb8, 0x3c, 0xa2, 0xb6, 0x04, 0x75, 0xfe, 0x05, 0xd0, 0xc8, + 0x9c, 0x88, 0xf6, 0xc1, 0x9c, 0x60, 0xee, 0x8e, 0xe5, 0x55, 0x35, 0x7b, 0x1f, 0x15, 0x78, 0xfe, + 0x85, 0x90, 0xb5, 0xc9, 0xcf, 0x13, 0xc2, 0xb8, 0xad, 0x90, 0xe8, 0x09, 0x98, 0x54, 0xe8, 0x92, + 0x97, 0xda, 0xec, 0xed, 0x2e, 0x73, 0x79, 0xb9, 0x93, 0xdb, 0x0a, 0x8d, 0x0e, 0xa1, 0x4e, 0x89, + 0xe7, 0x53, 0xe2, 0x2e, 0x73, 0x30, 0xa9, 0x49, 0x8b, 0xdb, 0x19, 0x10, 0x7d, 0x01, 0x35, 0x4a, + 0xce, 0xa8, 0xcf, 0x89, 0x55, 0x91, 0x3a, 0x3e, 0x2c, 0xd4, 0x21, 0xa5, 0xed, 0x14, 0x86, 0x3e, + 0x82, 0xcd, 0x33, 0x32, 0x64, 0x91, 0xfb, 0x8a, 0x70, 0x27, 0x89, 0x47, 0x14, 0x7b, 0xc4, 0x32, + 0xb7, 0x8d, 0x9d, 0xba, 0xbd, 0x91, 0x2d, 0xfc, 0x44, 0xcd, 0xa3, 0x07, 0x50, 0xe3, 0xfe, 0x84, + 0x44, 0x09, 0x97, 0x2f, 0xa1, 0xd9, 0xbb, 0xdb, 0x55, 0x01, 0xd5, 0x4d, 0x03, 0xaa, 0xfb, 0x58, + 0x07, 0x9c, 0x9d, 0x4a, 0xa2, 0x47, 0xc2, 0x46, 0x4e, 0x7d, 0xc2, 0xac, 0x9a, 0x04, 0x15, 0x3e, + 0x77, 0xc2, 0xe9, 0xd4, 0x4e, 0x41, 0xe8, 0x10, 0xcc, 0x13, 0x9c, 0x04, 0xdc, 0xaa, 0x4b, 0xf4, + 0xc7, 0x05, 0xe8, 0xa7, 0x42, 0xf6, 0x59, 0xf8, 0x33, 0xe2, 0x2a, 0x6f, 0x4b, 0x2c, 0x7a, 0x04, + 0xd5, 0x89, 0x4f, 0x69, 0x44, 0xad, 0x46, 0xa1, 0x9f, 0xf2, 0x97, 0xa5, 0x51, 0xe8, 0x29, 0x34, + 0xdd, 0x88, 0x32, 0x27, 0x8e, 0x02, 0xdf, 0x9d, 0x5a, 0x20, 0x95, 0x7c, 0xb0, 0x30, 0x0e, 0x28, + 0x3b, 0x92, 0xc2, 0x36, 0xb8, 0xd9, 0x6f, 0x34, 0x84, 0x75, 0x91, 0x70, 0x42, 0xcf, 0x19, 0x13, + 0xec, 0x11, 0xca, 0xac, 0xa6, 0x7c, 0x45, 0x3f, 0x58, 0xe6, 0x15, 0x75, 0xf7, 0x25, 0xb4, 0xaf, + 0x90, 0x4f, 0x42, 0x4e, 0xa7, 0x07, 0x25, 0xcb, 0xb0, 0xd7, 0x70, 0x7e, 0x1e, 0x7d, 0x0a, 0xef, + 0x52, 0x32, 0x89, 0x4e, 0x89, 0x43, 0x09, 0x8b, 0xa3, 0x90, 0x91, 0x6c, 0xb3, 0x96, 0xc8, 0x43, + 0x12, 0xf3, 0x8e, 0x12, 0xb1, 0xb5, 0x44, 0x8a, 0xfd, 0x05, 0xbc, 0xab, 0xed, 0x9b, 0xc3, 0xae, + 0x49, 0x43, 0x3f, 0x5f, 0xc1, 0xd0, 0x4b, 0xca, 0x67, 0x06, 0xbf, 0x83, 0xaf, 0x5a, 0x47, 0x7b, + 0x70, 0x27, 0x33, 0x5c, 0x86, 0x5c, 0xb6, 0xf7, 0x7a, 0x66, 0xf7, 0x56, 0x6a, 0xb7, 0x14, 0x48, + 0x91, 0xe7, 0x70, 0x27, 0x33, 0xfb, 0x22, 0xf2, 0xb6, 0xb4, 0xfa, 0xd1, 0x4a, 0x56, 0xe7, 0x55, + 0xcf, 0x8c, 0xde, 0xc2, 0x57, 0x2c, 0xa3, 0x87, 0x50, 0x4b, 0xb7, 0xda, 0x90, 0x8f, 0xa2, 0xb3, + 0x68, 0x2b, 0x25, 0x69, 0xa7, 0x90, 0xf6, 0x17, 0x80, 0xe6, 0xef, 0x14, 0x6d, 0x40, 0xf9, 0x15, + 0x99, 0xea, 0xd4, 0x28, 0x7e, 0x8a, 0x0a, 0x73, 0x8a, 0x83, 0x84, 0xe8, 0xc4, 0xa8, 0x06, 0x9f, + 0x96, 0xf6, 0x8c, 0x76, 0x1f, 0xda, 0xd7, 0x3b, 0x7b, 0x25, 0x4d, 0x5f, 0xc2, 0xdd, 0x6b, 0x1d, + 0xb0, 0x8a, 0xa2, 0xce, 0x3f, 0xcb, 0x50, 0x4b, 0xdd, 0xf3, 0x42, 0x04, 0xbf, 0x54, 0x27, 0xb1, + 0xcd, 0xde, 0x83, 0x62, 0xf7, 0xe8, 0xbf, 0x2f, 0x63, 0xa2, 0x52, 0x09, 0xb3, 0x53, 0x1d, 0xe8, + 0xa5, 0x48, 0x9a, 0xea, 0x9c, 0x72, 0xdf, 0x1b, 0xea, 0xcb, 0x94, 0xb4, 0xff, 0x5c, 0x82, 0x8d, + 0xcb, 0xcb, 0xe8, 0xc7, 0x50, 0x16, 0x45, 0x48, 0x95, 0x88, 0x87, 0x37, 0xd8, 0xa0, 0x3b, 0x20, + 0x5c, 0xfa, 0xcd, 0x16, 0x8a, 0x84, 0x3e, 0xec, 0x79, 0xba, 0x5e, 0xdc, 0x48, 0xdf, 0xbe, 0xe7, + 0x69, 0x7d, 0xd8, 0xf3, 0x44, 0x9d, 0x54, 0x51, 0x20, 0xf9, 0x43, 0xc3, 0xd6, 0xa3, 0xf6, 0x27, + 0x50, 0x4f, 0x37, 0x5e, 0xe9, 0xe6, 0x3f, 0x81, 0x7a, 0xba, 0xc1, 0x4a, 0x17, 0xfd, 0x3b, 0x03, + 0xea, 0x29, 0x5f, 0x10, 0x69, 0x3a, 0x5f, 0x59, 0x3f, 0x5e, 0xcc, 0x31, 0x64, 0x61, 0xdd, 0xe7, + 0x9c, 0xfa, 0xc3, 0x84, 0x13, 0x96, 0xd6, 0xd6, 0xfd, 0x8b, 0xb5, 0x75, 0x51, 0x79, 0xbe, 0xa6, + 0xae, 0x76, 0x7e, 0x2b, 0x8c, 0xd2, 0xdc, 0x07, 0x1d, 0x5c, 0x34, 0xea, 0x3b, 0x0b, 0xf4, 0x3d, + 0xff, 0xde, 0x7f, 0xcf, 0xa6, 0x3f, 0x9a, 0xb0, 0x71, 0x99, 0x4e, 0xa0, 0x3d, 0x28, 0x27, 0xd4, + 0xd7, 0x61, 0xb1, 0xa8, 0x1e, 0x0d, 0x38, 0xf5, 0xc3, 0x91, 0xc2, 0x0a, 0x88, 0x28, 0x66, 0xcc, + 0x1d, 0x93, 0x49, 0x1a, 0x03, 0xcb, 0x82, 0x35, 0x4a, 0x16, 0x43, 0xc2, 0xc7, 0x91, 0xa7, 0x89, + 0xc7, 0xd2, 0x78, 0x85, 0x42, 0x8f, 0xa1, 0x81, 0x13, 0x3e, 0x8e, 0xa8, 0xcf, 0xa7, 0x4b, 0xf0, + 0x8e, 0xbc, 0x8a, 0x19, 0x10, 0xd9, 0xb3, 0xcc, 0xa9, 0x68, 0xe9, 0xde, 0x0a, 0x64, 0xac, 0x9b, + 0xcf, 0x4e, 0x59, 0x3e, 0x15, 0xac, 0x52, 0x32, 0x45, 0xc1, 0x4e, 0xd6, 0x14, 0x01, 0x44, 0x43, + 0x58, 0x63, 0x51, 0x42, 0x5d, 0xe2, 0x04, 0x78, 0x48, 0x02, 0xc1, 0x42, 0xc4, 0x6e, 0x9f, 0xad, + 0xb2, 0xdb, 0x40, 0x2a, 0x78, 0x2e, 0xf1, 0x6a, 0xcb, 0x16, 0xcb, 0x4d, 0x5d, 0xe0, 0xfa, 0xf5, + 0x8b, 0x5c, 0xbf, 0x3d, 0x84, 0x56, 0x41, 0x2a, 0x7d, 0x98, 0x8f, 0xb0, 0xe5, 0x7d, 0x99, 0x8b, + 0xe0, 0xcf, 0x61, 0x73, 0xce, 0xc4, 0x95, 0x42, 0xf9, 0x6f, 0x26, 0x6c, 0x5d, 0xc5, 0x56, 0x51, + 0x1f, 0x9a, 0xde, 0x6c, 0xb8, 0xc4, 0x6b, 0xcd, 0x3f, 0xff, 0x3c, 0x54, 0x64, 0xad, 0x33, 0xe2, + 0x8f, 0xc6, 0x8a, 0xdd, 0x9b, 0xb6, 0x1e, 0x2d, 0xa2, 0x2b, 0xe5, 0x22, 0xba, 0xf2, 0x1b, 0xe3, + 0x7a, 0xbe, 0xa2, 0x3e, 0x91, 0x7e, 0xb4, 0x22, 0x3d, 0x7f, 0xeb, 0xd4, 0xc5, 0x2c, 0xa0, 0x2e, + 0xbf, 0x34, 0xae, 0xe5, 0x2e, 0x55, 0x79, 0x82, 0x67, 0x37, 0x3d, 0xc1, 0x0d, 0x69, 0x4c, 0x6d, + 0x75, 0x1a, 0xf3, 0x7f, 0x48, 0x42, 0x38, 0x6c, 0xfc, 0xef, 0xdf, 0x72, 0xe7, 0x2f, 0x25, 0xd8, + 0x9c, 0x2b, 0x24, 0x68, 0x17, 0xbe, 0x96, 0x03, 0x3b, 0x2c, 0x19, 0x86, 0x24, 0xeb, 0x16, 0xa0, + 0xdc, 0xd2, 0x40, 0xad, 0x64, 0x69, 0xac, 0x94, 0x4b, 0x63, 0xef, 0x67, 0x69, 0x4c, 0xe1, 0x65, + 0xee, 0x6e, 0xa4, 0x79, 0x48, 0x21, 0x91, 0x7b, 0x39, 0xd7, 0x55, 0x0a, 0xe9, 0xef, 0x9c, 0xb9, + 0x2b, 0x25, 0x3b, 0xf3, 0x52, 0xb2, 0xfb, 0x8f, 0x13, 0xd1, 0x3f, 0x4a, 0x80, 0xe6, 0xf9, 0x01, + 0xfa, 0x3a, 0x34, 0x58, 0xe8, 0x3b, 0xf9, 0x36, 0x4b, 0x9d, 0x85, 0x7e, 0x5f, 0x76, 0x5a, 0xae, + 0xf1, 0x6f, 0xa9, 0xd0, 0xbf, 0xe5, 0x45, 0xfe, 0xad, 0x5c, 0xe1, 0x5f, 0xef, 0xb2, 0x7f, 0xcd, + 0xc2, 0x8f, 0xa2, 0xf9, 0xc3, 0xac, 0xe4, 0xe0, 0xea, 0xdb, 0x76, 0xf0, 0x23, 0x68, 0xe5, 0x9b, + 0x09, 0x02, 0x9b, 0xd2, 0x90, 0x86, 0xa2, 0x17, 0xef, 0xe5, 0xcb, 0xbb, 0xc2, 0xcf, 0x26, 0x3a, + 0x9f, 0x41, 0x33, 0xd7, 0x48, 0x58, 0x19, 0x4e, 0xa0, 0x99, 0xab, 0x61, 0xe8, 0x0e, 0x98, 0xe4, + 0x1c, 0xbb, 0xba, 0x0f, 0xd4, 0xbf, 0x65, 0xab, 0x21, 0xb2, 0xa0, 0x1a, 0x53, 0x72, 0xe2, 0x9f, + 0x2b, 0x0d, 0xfd, 0x5b, 0xb6, 0x1e, 0x0b, 0x04, 0x25, 0x23, 0x72, 0xae, 0xde, 0xbf, 0x40, 0xc8, + 0xe1, 0x41, 0x0b, 0x40, 0xf2, 0x35, 0x87, 0x4f, 0x63, 0xd2, 0xf9, 0xb5, 0xa1, 0xbb, 0x3e, 0x44, + 0xf8, 0xa7, 0x0d, 0x75, 0xcc, 0x39, 0x99, 0xc4, 0xf2, 0xf1, 0x88, 0x80, 0xcd, 0xc6, 0x68, 0x1f, + 0x6e, 0xc7, 0x84, 0x3a, 0x9c, 0x4e, 0x9d, 0xb4, 0xb7, 0x51, 0x2a, 0xea, 0x6d, 0xac, 0xc5, 0x84, + 0x1e, 0xd3, 0xe9, 0xb1, 0xee, 0x70, 0xdc, 0x15, 0x5f, 0x25, 0x42, 0x41, 0x14, 0xea, 0xa8, 0x94, + 0xcd, 0x8b, 0xe9, 0xcb, 0xb0, 0xf3, 0x87, 0x12, 0xc0, 0xac, 0x15, 0x80, 0xee, 0x43, 0x0b, 0x07, + 0x41, 0x74, 0xe6, 0x44, 0xd4, 0x1f, 0xf9, 0xa1, 0x7e, 0xc9, 0x4d, 0x39, 0xf7, 0x52, 0x4e, 0x89, + 0x77, 0xa8, 0x44, 0x14, 0xd9, 0x4a, 0x9f, 0xb1, 0xc2, 0xbd, 0x50, 0x73, 0x33, 0xa1, 0x0b, 0x95, + 0x52, 0x0b, 0xa5, 0x39, 0xfd, 0x03, 0x58, 0x27, 0xe7, 0x71, 0x74, 0xa9, 0x24, 0x36, 0xec, 0x35, + 0x35, 0x9b, 0x8a, 0xf5, 0xa0, 0x36, 0xc1, 0xe7, 0x0e, 0x1e, 0xa9, 0xbe, 0xcf, 0xc2, 0x83, 0x57, + 0x27, 0xf8, 0x7c, 0x7f, 0x44, 0xd0, 0x97, 0xb0, 0xa9, 0xf6, 0x77, 0x29, 0xf1, 0x48, 0xc8, 0x7d, + 0x1c, 0x30, 0xdd, 0x12, 0x6a, 0xcf, 0xa1, 0x0f, 0xa2, 0x28, 0xf8, 0x4a, 0xbc, 0x3f, 0x7b, 0x43, + 0x82, 0x0e, 0x67, 0x98, 0xce, 0xef, 0x4d, 0x40, 0xf3, 0x5d, 0x1b, 0xf4, 0x0c, 0x4c, 0x8f, 0x04, + 0x78, 0xba, 0xcc, 0x47, 0xe3, 0x1c, 0xba, 0xfb, 0x58, 0x40, 0x6d, 0xa5, 0x41, 0xa8, 0xc2, 0xc3, + 0x34, 0x99, 0xae, 0xac, 0x6a, 0x5f, 0x40, 0x6d, 0xa5, 0xa1, 0xfd, 0xab, 0x12, 0x98, 0x52, 0x37, + 0x7a, 0x0f, 0x6a, 0x31, 0xa1, 0x2e, 0x09, 0xd5, 0xc3, 0x35, 0x65, 0x65, 0x4d, 0xa7, 0xd0, 0x43, + 0x68, 0x9e, 0xf8, 0xe7, 0xc4, 0x73, 0xd4, 0x19, 0x8a, 0x9e, 0x53, 0xff, 0x96, 0x0d, 0x52, 0x5e, + 0xe9, 0xee, 0xc3, 0xa6, 0xb8, 0xa0, 0x50, 0xb9, 0x48, 0xeb, 0x28, 0x17, 0xeb, 0xd8, 0xc8, 0xa1, + 0x94, 0xa6, 0x03, 0x00, 0x6d, 0xd2, 0xec, 0x72, 0x17, 0xd5, 0xf5, 0x23, 0x25, 0x6c, 0xe7, 0x50, + 0x07, 0x9b, 0x70, 0x7b, 0xcc, 0x79, 0xac, 0xcc, 0x90, 0xb1, 0xd5, 0x7e, 0x6d, 0x80, 0x29, 0xfd, + 0x52, 0xe0, 0x86, 0xfb, 0xd0, 0x94, 0x50, 0xc6, 0x31, 0x4f, 0x98, 0xaa, 0x94, 0xe2, 0xac, 0x62, + 0x72, 0x20, 0xe7, 0x84, 0xc8, 0x88, 0xc6, 0x6e, 0x2a, 0x92, 0x86, 0x34, 0x88, 0xc9, 0x99, 0x88, + 0x00, 0xf4, 0x1c, 0x22, 0xdb, 0x77, 0x95, 0x54, 0x44, 0x4e, 0x3e, 0x91, 0xcd, 0xb9, 0xb7, 0x71, + 0xce, 0x16, 0x80, 0xdc, 0x40, 0xa5, 0x8f, 0xa7, 0xd0, 0xca, 0xb7, 0x92, 0x45, 0x3a, 0x0a, 0x93, + 0xc9, 0x90, 0x50, 0x79, 0xce, 0x35, 0x91, 0x8e, 0xd4, 0x18, 0x6d, 0x41, 0x25, 0xc4, 0xfa, 0x4b, + 0x4c, 0xd8, 0x25, 0x47, 0x07, 0x55, 0x55, 0x60, 0x3a, 0xdf, 0x80, 0x9a, 0xde, 0x6c, 0x96, 0x91, + 0x85, 0x06, 0x43, 0x67, 0xe4, 0x83, 0xee, 0x5f, 0xdf, 0xdc, 0x33, 0xfe, 0xfe, 0xe6, 0x9e, 0xf1, + 0xfa, 0xcd, 0x3d, 0xe3, 0xa7, 0xdb, 0xca, 0x66, 0x3f, 0xda, 0xc5, 0xb1, 0xbf, 0x7b, 0xc5, 0xff, + 0x22, 0x86, 0x55, 0x79, 0xf3, 0x0f, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x2f, 0xaf, 0xea, 0xb9, + 0x2f, 0x19, 0x00, 0x00, } diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index 34e60cb9ce..860c614246 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -16,7 +16,7 @@ syntax = "proto3"; import "google/protobuf/duration.proto"; import "google/protobuf/wrappers.proto"; -import "networking/v1alpha3/service_dependency.proto"; +import "networking/v1alpha3/sidecar.proto"; // $title: Traffic Routing // $description: Configuration affecting traffic routing. diff --git a/proto.lock b/proto.lock index 62c8010adc..95cf510647 100644 --- a/proto.lock +++ b/proto.lock @@ -684,24 +684,13 @@ { "name": "ALLOW_ANY", "integer": 1 - }, - { - "name": "VIRTUAL_SERVICE_ONLY", - "integer": 2 - } - ] - }, - { - "name": "DefaultServiceDependency.Mode", - "enum_fields": [ - { - "name": "ALL_NAMESPACES", - "integer": 0 - }, - { - "name": "SAME_NAMESPACE", - "integer": 1 } + ], + "reserved_ids": [ + 2 + ], + "reserved_names": [ + "VIRTUAL_SERVICE_ONLY" ] } ], @@ -730,7 +719,7 @@ "type": "bool" }, { - "id": 31, + "id": 30, "name": "sidecar_to_telemetry_session_affinity", "type": "bool" }, @@ -841,7 +830,7 @@ "type": "bool" }, { - "id": 30, + "id": 29, "name": "sds_use_k8s_sa_jwt", "type": "bool" }, @@ -849,11 +838,6 @@ "id": 26, "name": "trust_domain", "type": "string" - }, - { - "id": 29, - "name": "default_service_dependency", - "type": "DefaultServiceDependency" } ], "reserved_ids": [ @@ -870,22 +854,6 @@ "type": "Mode" } ] - }, - { - "name": "DefaultServiceDependency", - "fields": [ - { - "id": 1, - "name": "import_mode", - "type": "Mode" - }, - { - "id": 2, - "name": "import_namespaces", - "type": "string", - "is_repeated": true - } - ] } ] }, @@ -3095,6 +3063,11 @@ "name": "port", "type": "Port" }, + { + "id": 4, + "name": "bind", + "type": "string" + }, { "id": 2, "name": "hosts", @@ -3105,6 +3078,11 @@ "id": 3, "name": "tls", "type": "TLSOptions" + }, + { + "id": 5, + "name": "default_endpoint", + "type": "string" } ], "messages": [ @@ -3185,77 +3163,6 @@ ] } }, - { - "protopath": "networking:/:v1alpha3:/:service_dependency.proto", - "def": { - "enums": [ - { - "name": "ConfigScope", - "enum_fields": [ - { - "name": "PUBLIC", - "integer": 0 - }, - { - "name": "PRIVATE", - "integer": 1 - } - ] - } - ], - "messages": [ - { - "name": "ServiceDependency", - "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": { @@ -3384,6 +3291,131 @@ ] } }, + { + "protopath": "networking:/:v1alpha3:/:sidecar.proto", + "def": { + "enums": [ + { + "name": "ConfigScope", + "enum_fields": [ + { + "name": "PUBLIC", + "integer": 0 + }, + { + "name": "PRIVATE", + "integer": 1 + } + ] + }, + { + "name": "CaptureMode", + "enum_fields": [ + { + "name": "DEFAULT", + "integer": 0 + }, + { + "name": "IPTABLES", + "integer": 1 + }, + { + "name": "NONE", + "integer": 2 + } + ] + } + ], + "messages": [ + { + "name": "Sidecar", + "fields": [ + { + "id": 1, + "name": "workload_selector", + "type": "WorkloadSelector" + }, + { + "id": 2, + "name": "ingress", + "type": "IstioIngressListener", + "is_repeated": true + }, + { + "id": 3, + "name": "egress", + "type": "IstioEgressListener", + "is_repeated": true + } + ] + }, + { + "name": "IstioIngressListener", + "fields": [ + { + "id": 1, + "name": "port", + "type": "Port" + }, + { + "id": 2, + "name": "bind", + "type": "string" + }, + { + "id": 3, + "name": "capture_mode", + "type": "CaptureMode" + }, + { + "id": 4, + "name": "default_endpoint", + "type": "string" + } + ] + }, + { + "name": "IstioEgressListener", + "fields": [ + { + "id": 1, + "name": "port", + "type": "Port" + }, + { + "id": 2, + "name": "bind", + "type": "string" + }, + { + "id": 3, + "name": "capture_mode", + "type": "CaptureMode" + }, + { + "id": 4, + "name": "hosts", + "type": "string", + "is_repeated": true + } + ] + }, + { + "name": "WorkloadSelector", + "maps": [ + { + "key_type": "string", + "field": { + "id": 1, + "name": "labels", + "type": "string" + } + } + ] + } + ] + } + }, { "protopath": "networking:/:v1alpha3:/:virtual_service.proto", "def": { diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index 9567835eac..1893c3beda 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\"\xb2\x0e\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-\n%sidecar_to_telemetry_session_affinity\x18\x1f \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\x12V\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy\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\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1e \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\xa9\x01\n\x15OutboundTrafficPolicy\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode\"F\n\x04Mode\x12\x11\n\rREGISTRY_ONLY\x10\x00\x12\r\n\tALLOW_ANY\x10\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') + 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\"\x96\x0c\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-\n%sidecar_to_telemetry_session_affinity\x18\x1e \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\x12V\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy\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\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1d \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xa7\x01\n\x15OutboundTrafficPolicy\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode\"D\n\x04Mode\x12\x11\n\rREGISTRY_ONLY\x10\x00\x12\r\n\tALLOW_ANY\x10\x01\"\x04\x08\x02\x10\x02*\x14VIRTUAL_SERVICE_ONLY\"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,]) @@ -42,40 +42,14 @@ name='ALLOW_ANY', index=1, number=1, options=None, type=None), - _descriptor.EnumValueDescriptor( - name='VIRTUAL_SERVICE_ONLY', index=2, number=2, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\010\001')), - type=None), ], containing_type=None, options=None, - serialized_start=1587, - serialized_end=1657, + serialized_start=1493, + serialized_end=1561, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) -_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE = _descriptor.EnumDescriptor( - name='Mode', - full_name='istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency.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=1799, - serialized_end=1845, -) -_sym_db.RegisterEnumDescriptor(_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE) - _MESHCONFIG_INGRESSCONTROLLERMODE = _descriptor.EnumDescriptor( name='IngressControllerMode', full_name='istio.mesh.v1alpha1.MeshConfig.IngressControllerMode', @@ -97,8 +71,8 @@ ], containing_type=None, options=None, - serialized_start=1847, - serialized_end=1904, + serialized_start=1563, + serialized_end=1620, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -119,8 +93,8 @@ ], containing_type=None, options=None, - serialized_start=1906, - serialized_end=1944, + serialized_start=1622, + serialized_end=1660, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) @@ -141,8 +115,8 @@ ], containing_type=None, options=None, - serialized_start=1946, - serialized_end=1985, + serialized_start=1662, + serialized_end=1701, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING) @@ -174,46 +148,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1488, - serialized_end=1657, -) - -_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.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.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, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE, - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1660, - serialized_end=1845, + serialized_start=1394, + serialized_end=1561, ) _MESHCONFIG = _descriptor.Descriptor( @@ -253,7 +189,7 @@ options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sidecar_to_telemetry_session_affinity', full_name='istio.mesh.v1alpha1.MeshConfig.sidecar_to_telemetry_session_affinity', index=4, - number=31, type=8, cpp_type=7, label=1, + number=30, 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, @@ -407,7 +343,7 @@ options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sds_use_k8s_sa_jwt', full_name='istio.mesh.v1alpha1.MeshConfig.sds_use_k8s_sa_jwt', index=26, - number=30, type=8, cpp_type=7, label=1, + number=29, 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, @@ -419,17 +355,10 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='default_service_dependency', full_name='istio.mesh.v1alpha1.MeshConfig.default_service_dependency', index=28, - 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, _MESHCONFIG_DEFAULTSERVICEDEPENDENCY, ], + nested_types=[_MESHCONFIG_OUTBOUNDTRAFFICPOLICY, ], enum_types=[ _MESHCONFIG_INGRESSCONTROLLERMODE, _MESHCONFIG_AUTHPOLICY, @@ -442,7 +371,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1997, + serialized_end=1713, ) @@ -479,16 +408,13 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1999, - serialized_end=2092, + serialized_start=1715, + serialized_end=1808, ) _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE _MESHCONFIG_OUTBOUNDTRAFFICPOLICY.containing_type = _MESHCONFIG _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.containing_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY -_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 @@ -499,7 +425,6 @@ _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_service_dependency'].message_type = _MESHCONFIG_DEFAULTSERVICEDEPENDENCY _MESHCONFIG_INGRESSCONTROLLERMODE.containing_type = _MESHCONFIG _MESHCONFIG_AUTHPOLICY.containing_type = _MESHCONFIG _MESHCONFIG_ACCESSLOGENCODING.containing_type = _MESHCONFIG @@ -516,20 +441,12 @@ # @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy) )) , - - DefaultServiceDependency = _reflection.GeneratedProtocolMessageType('DefaultServiceDependency', (_message.Message,), dict( - DESCRIPTOR = _MESHCONFIG_DEFAULTSERVICEDEPENDENCY, - __module__ = 'mesh.v1alpha1.config_pb2' - # @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency) - )) - , 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.DefaultServiceDependency) ConfigSource = _reflection.GeneratedProtocolMessageType('ConfigSource', (_message.Message,), dict( DESCRIPTOR = _CONFIGSOURCE, @@ -541,8 +458,6 @@ DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\032istio.io/api/mesh/v1alpha1')) -_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.values_by_name["VIRTUAL_SERVICE_ONLY"].has_options = True -_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.values_by_name["VIRTUAL_SERVICE_ONLY"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\010\001')) _MESHCONFIG.fields_by_name['auth_policy'].has_options = True _MESHCONFIG.fields_by_name['auth_policy']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) _MESHCONFIG.fields_by_name['rds_refresh_delay'].has_options = True diff --git a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py index 0d804386c9..461d8fcdfb 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 service_dependency_pb2 as networking_dot_v1alpha3_dot_service__dependency__pb2 +from networking.v1alpha3 import sidecar_pb2 as networking_dot_v1alpha3_dot_sidecar__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/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\"\xda\x06\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\x12g\n\x18locality_weight_settings\x18\x03 \x03(\x0b\x32\x45.istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting\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\x1a\xab\x01\n\x15LocalityWeightSetting\x12\x0c\n\x04\x66rom\x18\x01 \x01(\t\x12Y\n\x02to\x18\x02 \x03(\x0b\x32M.istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting.ToEntry\x1a)\n\x07ToEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"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/sidecar.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\"\xda\x06\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\x12g\n\x18locality_weight_settings\x18\x03 \x03(\x0b\x32\x45.istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting\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\x1a\xab\x01\n\x15LocalityWeightSetting\x12\x0c\n\x04\x66rom\x18\x01 \x01(\t\x12Y\n\x02to\x18\x02 \x03(\x0b\x32M.istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting.ToEntry\x1a)\n\x07ToEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"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_service__dependency__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_sidecar__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,]) @@ -54,8 +54,8 @@ ], containing_type=None, options=None, - serialized_start=2135, - serialized_end=2207, + serialized_start=2124, + serialized_end=2196, ) _sym_db.RegisterEnumDescriptor(_LOADBALANCERSETTINGS_SIMPLELB) @@ -84,8 +84,8 @@ ], containing_type=None, options=None, - serialized_start=3251, - serialized_end=3315, + serialized_start=3240, + serialized_end=3304, ) _sym_db.RegisterEnumDescriptor(_TLSSETTINGS_TLSMODE) @@ -137,8 +137,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=217, - serialized_end=428, + serialized_start=206, + serialized_end=417, ) @@ -196,8 +196,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=811, - serialized_end=1158, + serialized_start=800, + serialized_end=1147, ) _TRAFFICPOLICY = _descriptor.Descriptor( @@ -254,8 +254,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=431, - serialized_end=1158, + serialized_start=420, + serialized_end=1147, ) @@ -292,8 +292,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1314, - serialized_end=1359, + serialized_start=1303, + serialized_end=1348, ) _SUBSET = _descriptor.Descriptor( @@ -336,8 +336,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1161, - serialized_end=1359, + serialized_start=1150, + serialized_end=1348, ) @@ -381,8 +381,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1861, - serialized_end=1947, + serialized_start=1850, + serialized_end=1936, ) _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=1661, - serialized_end=1959, + serialized_start=1650, + serialized_end=1948, ) _LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING_TOENTRY = _descriptor.Descriptor( @@ -472,8 +472,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2092, - serialized_end=2133, + serialized_start=2081, + serialized_end=2122, ) _LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING = _descriptor.Descriptor( @@ -509,8 +509,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1962, - serialized_end=2133, + serialized_start=1951, + serialized_end=2122, ) _LOADBALANCERSETTINGS = _descriptor.Descriptor( @@ -557,8 +557,8 @@ name='lb_policy', full_name='istio.networking.v1alpha3.LoadBalancerSettings.lb_policy', index=0, containing_type=None, fields=[]), ], - serialized_start=1362, - serialized_end=2220, + serialized_start=1351, + serialized_end=2209, ) @@ -602,8 +602,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2595, - serialized_end=2711, + serialized_start=2584, + serialized_end=2700, ) _CONNECTIONPOOLSETTINGS_TCPSETTINGS = _descriptor.Descriptor( @@ -646,8 +646,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2404, - serialized_end=2711, + serialized_start=2393, + serialized_end=2700, ) _CONNECTIONPOOLSETTINGS_HTTPSETTINGS = _descriptor.Descriptor( @@ -697,8 +697,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2714, - serialized_end=2850, + serialized_start=2703, + serialized_end=2839, ) _CONNECTIONPOOLSETTINGS = _descriptor.Descriptor( @@ -734,8 +734,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2223, - serialized_end=2850, + serialized_start=2212, + serialized_end=2839, ) @@ -793,8 +793,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2853, - serialized_end=3057, + serialized_start=2842, + serialized_end=3046, ) @@ -860,13 +860,13 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3060, - serialized_end=3315, + serialized_start=3049, + serialized_end=3304, ) _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_service__dependency__pb2._CONFIGSCOPE +_DESTINATIONRULE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_sidecar__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/gateway_pb2.py b/python/istio_api/networking/v1alpha3/gateway_pb2.py index 3a492b02fd..991c4f8169 100644 --- a/python/istio_api/networking/v1alpha3/gateway_pb2.py +++ b/python/istio_api/networking/v1alpha3/gateway_pb2.py @@ -19,7 +19,7 @@ name='networking/v1alpha3/gateway.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n!networking/v1alpha3/gateway.proto\x12\x19istio.networking.v1alpha3\"\xb2\x01\n\x07Gateway\x12\x32\n\x07servers\x18\x01 \x03(\x0b\x32!.istio.networking.v1alpha3.Server\x12\x42\n\x08selector\x18\x02 \x03(\x0b\x32\x30.istio.networking.v1alpha3.Gateway.SelectorEntry\x1a/\n\rSelectorEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xb3\x05\n\x06Server\x12-\n\x04port\x18\x01 \x01(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\r\n\x05hosts\x18\x02 \x03(\t\x12\x39\n\x03tls\x18\x03 \x01(\x0b\x32,.istio.networking.v1alpha3.Server.TLSOptions\x1a\xaf\x04\n\nTLSOptions\x12\x16\n\x0ehttps_redirect\x18\x01 \x01(\x08\x12\x42\n\x04mode\x18\x02 \x01(\x0e\x32\x34.istio.networking.v1alpha3.Server.TLSOptions.TLSmode\x12\x1a\n\x12server_certificate\x18\x03 \x01(\t\x12\x13\n\x0bprivate_key\x18\x04 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x05 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x06 \x03(\t\x12V\n\x14min_protocol_version\x18\x07 \x01(\x0e\x32\x38.istio.networking.v1alpha3.Server.TLSOptions.TLSProtocol\x12V\n\x14max_protocol_version\x18\x08 \x01(\x0e\x32\x38.istio.networking.v1alpha3.Server.TLSOptions.TLSProtocol\x12\x15\n\rcipher_suites\x18\t \x03(\t\"H\n\x07TLSmode\x12\x0f\n\x0bPASSTHROUGH\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x14\n\x10\x41UTO_PASSTHROUGH\x10\x03\"O\n\x0bTLSProtocol\x12\x0c\n\x08TLS_AUTO\x10\x00\x12\x0b\n\x07TLSV1_0\x10\x01\x12\x0b\n\x07TLSV1_1\x10\x02\x12\x0b\n\x07TLSV1_2\x10\x03\x12\x0b\n\x07TLSV1_3\x10\x04\"6\n\x04Port\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x10\n\x08protocol\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\tB\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n!networking/v1alpha3/gateway.proto\x12\x19istio.networking.v1alpha3\"\xb2\x01\n\x07Gateway\x12\x32\n\x07servers\x18\x01 \x03(\x0b\x32!.istio.networking.v1alpha3.Server\x12\x42\n\x08selector\x18\x02 \x03(\x0b\x32\x30.istio.networking.v1alpha3.Gateway.SelectorEntry\x1a/\n\rSelectorEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xdb\x05\n\x06Server\x12-\n\x04port\x18\x01 \x01(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x0c\n\x04\x62ind\x18\x04 \x01(\t\x12\r\n\x05hosts\x18\x02 \x03(\t\x12\x39\n\x03tls\x18\x03 \x01(\x0b\x32,.istio.networking.v1alpha3.Server.TLSOptions\x12\x18\n\x10\x64\x65\x66\x61ult_endpoint\x18\x05 \x01(\t\x1a\xaf\x04\n\nTLSOptions\x12\x16\n\x0ehttps_redirect\x18\x01 \x01(\x08\x12\x42\n\x04mode\x18\x02 \x01(\x0e\x32\x34.istio.networking.v1alpha3.Server.TLSOptions.TLSmode\x12\x1a\n\x12server_certificate\x18\x03 \x01(\t\x12\x13\n\x0bprivate_key\x18\x04 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x05 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x06 \x03(\t\x12V\n\x14min_protocol_version\x18\x07 \x01(\x0e\x32\x38.istio.networking.v1alpha3.Server.TLSOptions.TLSProtocol\x12V\n\x14max_protocol_version\x18\x08 \x01(\x0e\x32\x38.istio.networking.v1alpha3.Server.TLSOptions.TLSProtocol\x12\x15\n\rcipher_suites\x18\t \x03(\t\"H\n\x07TLSmode\x12\x0f\n\x0bPASSTHROUGH\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x14\n\x10\x41UTO_PASSTHROUGH\x10\x03\"O\n\x0bTLSProtocol\x12\x0c\n\x08TLS_AUTO\x10\x00\x12\x0b\n\x07TLSV1_0\x10\x01\x12\x0b\n\x07TLSV1_1\x10\x02\x12\x0b\n\x07TLSV1_2\x10\x03\x12\x0b\n\x07TLSV1_3\x10\x04\"6\n\x04Port\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x10\n\x08protocol\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\tB\"Z istio.io/api/networking/v1alpha3b\x06proto3') ) @@ -49,8 +49,8 @@ ], containing_type=None, options=None, - serialized_start=784, - serialized_end=856, + serialized_start=824, + serialized_end=896, ) _sym_db.RegisterEnumDescriptor(_SERVER_TLSOPTIONS_TLSMODE) @@ -83,8 +83,8 @@ ], containing_type=None, options=None, - serialized_start=858, - serialized_end=937, + serialized_start=898, + serialized_end=977, ) _sym_db.RegisterEnumDescriptor(_SERVER_TLSOPTIONS_TLSPROTOCOL) @@ -248,8 +248,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=378, - serialized_end=937, + serialized_start=418, + serialized_end=977, ) _SERVER = _descriptor.Descriptor( @@ -267,19 +267,33 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='hosts', full_name='istio.networking.v1alpha3.Server.hosts', index=1, + name='bind', full_name='istio.networking.v1alpha3.Server.bind', index=1, + number=4, 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='hosts', full_name='istio.networking.v1alpha3.Server.hosts', index=2, 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), _descriptor.FieldDescriptor( - name='tls', full_name='istio.networking.v1alpha3.Server.tls', index=2, + name='tls', full_name='istio.networking.v1alpha3.Server.tls', index=3, 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), + _descriptor.FieldDescriptor( + name='default_endpoint', full_name='istio.networking.v1alpha3.Server.default_endpoint', index=4, + number=5, 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=[ ], @@ -293,7 +307,7 @@ oneofs=[ ], serialized_start=246, - serialized_end=937, + serialized_end=977, ) @@ -337,8 +351,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=939, - serialized_end=993, + serialized_start=979, + serialized_end=1033, ) _GATEWAY_SELECTORENTRY.containing_type = _GATEWAY diff --git a/python/istio_api/networking/v1alpha3/service_dependency_pb2.py b/python/istio_api/networking/v1alpha3/service_dependency_pb2.py deleted file mode 100644 index 995a079b31..0000000000 --- a/python/istio_api/networking/v1alpha3/service_dependency_pb2.py +++ /dev/null @@ -1,241 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: networking/v1alpha3/service_dependency.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/service_dependency.proto', - package='istio.networking.v1alpha3', - syntax='proto3', - 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( - 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=480, - serialized_end=518, -) -_sym_db.RegisterEnumDescriptor(_CONFIGSCOPE) - -ConfigScope = enum_type_wrapper.EnumTypeWrapper(_CONFIGSCOPE) -PUBLIC = 0 -PRIVATE = 1 - - - -_SERVICEDEPENDENCY_IMPORT = _descriptor.Descriptor( - name='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.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.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, - 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=176, - serialized_end=217, -) - -_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY = _descriptor.Descriptor( - name='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.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.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, - 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=419, - serialized_end=478, -) - -_SERVICEDEPENDENCY_DEPENDENCY = _descriptor.Descriptor( - name='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.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.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, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=220, - serialized_end=478, -) - -_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.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, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_SERVICEDEPENDENCY_IMPORT, _SERVICEDEPENDENCY_DEPENDENCY, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=76, - serialized_end=478, -) - -_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) - -ServiceDependency = _reflection.GeneratedProtocolMessageType('ServiceDependency', (_message.Message,), dict( - - Import = _reflection.GeneratedProtocolMessageType('Import', (_message.Message,), dict( - 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 = _SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY, - __module__ = 'networking.v1alpha3.service_dependency_pb2' - # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ServiceDependency.Dependency.SourceWorkloadLabelsEntry) - )) - , - DESCRIPTOR = _SERVICEDEPENDENCY_DEPENDENCY, - __module__ = 'networking.v1alpha3.service_dependency_pb2' - # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ServiceDependency.Dependency) - )) - , - DESCRIPTOR = _SERVICEDEPENDENCY, - __module__ = 'networking.v1alpha3.service_dependency_pb2' - # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ServiceDependency) - )) -_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')) -_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 c3c269209f..0375749f9a 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 service_dependency_pb2 as networking_dot_v1alpha3_dot_service__dependency__pb2 +from networking.v1alpha3 import sidecar_pb2 as networking_dot_v1alpha3_dot_sidecar__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/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') + serialized_pb=_b('\n\'networking/v1alpha3/service_entry.proto\x12\x19istio.networking.v1alpha3\x1a!networking/v1alpha3/gateway.proto\x1a!networking/v1alpha3/sidecar.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_service__dependency__pb2.DESCRIPTOR,]) + dependencies=[networking_dot_v1alpha3_dot_gateway__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_sidecar__pb2.DESCRIPTOR,]) @@ -44,8 +44,8 @@ ], containing_type=None, options=None, - serialized_start=849, - serialized_end=897, + serialized_start=838, + serialized_end=886, ) _sym_db.RegisterEnumDescriptor(_SERVICEENTRY_LOCATION) @@ -70,8 +70,8 @@ ], containing_type=None, options=None, - serialized_start=899, - serialized_end=942, + serialized_start=888, + serialized_end=931, ) _sym_db.RegisterEnumDescriptor(_SERVICEENTRY_RESOLUTION) @@ -109,8 +109,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=756, - serialized_end=800, + serialized_start=745, + serialized_end=789, ) _SERVICEENTRY_ENDPOINT_LABELSENTRY = _descriptor.Descriptor( @@ -146,8 +146,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=802, - serialized_end=847, + serialized_start=791, + serialized_end=836, ) _SERVICEENTRY_ENDPOINT = _descriptor.Descriptor( @@ -211,8 +211,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=522, - serialized_end=847, + serialized_start=511, + serialized_end=836, ) _SERVICEENTRY = _descriptor.Descriptor( @@ -285,8 +285,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=152, - serialized_end=942, + serialized_start=141, + serialized_end=931, ) _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_service__dependency__pb2._CONFIGSCOPE +_SERVICEENTRY.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_sidecar__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/sidecar_pb2.py b/python/istio_api/networking/v1alpha3/sidecar_pb2.py new file mode 100644 index 0000000000..33b4779367 --- /dev/null +++ b/python/istio_api/networking/v1alpha3/sidecar_pb2.py @@ -0,0 +1,360 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: networking/v1alpha3/sidecar.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() + + +from networking.v1alpha3 import gateway_pb2 as networking_dot_v1alpha3_dot_gateway__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='networking/v1alpha3/sidecar.proto', + package='istio.networking.v1alpha3', + syntax='proto3', + serialized_pb=_b('\n!networking/v1alpha3/sidecar.proto\x12\x19istio.networking.v1alpha3\x1a!networking/v1alpha3/gateway.proto\"\xd3\x01\n\x07Sidecar\x12\x46\n\x11workload_selector\x18\x01 \x01(\x0b\x32+.istio.networking.v1alpha3.WorkloadSelector\x12@\n\x07ingress\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.IstioIngressListener\x12>\n\x06\x65gress\x18\x03 \x03(\x0b\x32..istio.networking.v1alpha3.IstioEgressListener\"\xab\x01\n\x14IstioIngressListener\x12-\n\x04port\x18\x01 \x01(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x0c\n\x04\x62ind\x18\x02 \x01(\t\x12<\n\x0c\x63\x61pture_mode\x18\x03 \x01(\x0e\x32&.istio.networking.v1alpha3.CaptureMode\x12\x18\n\x10\x64\x65\x66\x61ult_endpoint\x18\x04 \x01(\t\"\x9f\x01\n\x13IstioEgressListener\x12-\n\x04port\x18\x01 \x01(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x0c\n\x04\x62ind\x18\x02 \x01(\t\x12<\n\x0c\x63\x61pture_mode\x18\x03 \x01(\x0e\x32&.istio.networking.v1alpha3.CaptureMode\x12\r\n\x05hosts\x18\x04 \x03(\t\"\x8a\x01\n\x10WorkloadSelector\x12G\n\x06labels\x18\x01 \x03(\x0b\x32\x37.istio.networking.v1alpha3.WorkloadSelector.LabelsEntry\x1a-\n\x0bLabelsEntry\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*2\n\x0b\x43\x61ptureMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0c\n\x08IPTABLES\x10\x01\x12\x08\n\x04NONE\x10\x02\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + , + dependencies=[networking_dot_v1alpha3_dot_gateway__pb2.DESCRIPTOR,]) + +_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=790, + serialized_end=828, +) +_sym_db.RegisterEnumDescriptor(_CONFIGSCOPE) + +ConfigScope = enum_type_wrapper.EnumTypeWrapper(_CONFIGSCOPE) +_CAPTUREMODE = _descriptor.EnumDescriptor( + name='CaptureMode', + full_name='istio.networking.v1alpha3.CaptureMode', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='DEFAULT', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='IPTABLES', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='NONE', index=2, number=2, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=830, + serialized_end=880, +) +_sym_db.RegisterEnumDescriptor(_CAPTUREMODE) + +CaptureMode = enum_type_wrapper.EnumTypeWrapper(_CAPTUREMODE) +PUBLIC = 0 +PRIVATE = 1 +DEFAULT = 0 +IPTABLES = 1 +NONE = 2 + + + +_SIDECAR = _descriptor.Descriptor( + name='Sidecar', + full_name='istio.networking.v1alpha3.Sidecar', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='workload_selector', full_name='istio.networking.v1alpha3.Sidecar.workload_selector', 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='ingress', full_name='istio.networking.v1alpha3.Sidecar.ingress', 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='egress', full_name='istio.networking.v1alpha3.Sidecar.egress', index=2, + number=3, 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=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=100, + serialized_end=311, +) + + +_ISTIOINGRESSLISTENER = _descriptor.Descriptor( + name='IstioIngressListener', + full_name='istio.networking.v1alpha3.IstioIngressListener', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='port', full_name='istio.networking.v1alpha3.IstioIngressListener.port', 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='bind', full_name='istio.networking.v1alpha3.IstioIngressListener.bind', 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), + _descriptor.FieldDescriptor( + name='capture_mode', full_name='istio.networking.v1alpha3.IstioIngressListener.capture_mode', index=2, + number=3, 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_endpoint', full_name='istio.networking.v1alpha3.IstioIngressListener.default_endpoint', index=3, + number=4, 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=314, + serialized_end=485, +) + + +_ISTIOEGRESSLISTENER = _descriptor.Descriptor( + name='IstioEgressListener', + full_name='istio.networking.v1alpha3.IstioEgressListener', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='port', full_name='istio.networking.v1alpha3.IstioEgressListener.port', 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='bind', full_name='istio.networking.v1alpha3.IstioEgressListener.bind', 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), + _descriptor.FieldDescriptor( + name='capture_mode', full_name='istio.networking.v1alpha3.IstioEgressListener.capture_mode', index=2, + number=3, 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='hosts', full_name='istio.networking.v1alpha3.IstioEgressListener.hosts', index=3, + number=4, 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=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=488, + serialized_end=647, +) + + +_WORKLOADSELECTOR_LABELSENTRY = _descriptor.Descriptor( + name='LabelsEntry', + full_name='istio.networking.v1alpha3.WorkloadSelector.LabelsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='istio.networking.v1alpha3.WorkloadSelector.LabelsEntry.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.WorkloadSelector.LabelsEntry.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=743, + serialized_end=788, +) + +_WORKLOADSELECTOR = _descriptor.Descriptor( + name='WorkloadSelector', + full_name='istio.networking.v1alpha3.WorkloadSelector', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='labels', full_name='istio.networking.v1alpha3.WorkloadSelector.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), + ], + extensions=[ + ], + nested_types=[_WORKLOADSELECTOR_LABELSENTRY, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=650, + serialized_end=788, +) + +_SIDECAR.fields_by_name['workload_selector'].message_type = _WORKLOADSELECTOR +_SIDECAR.fields_by_name['ingress'].message_type = _ISTIOINGRESSLISTENER +_SIDECAR.fields_by_name['egress'].message_type = _ISTIOEGRESSLISTENER +_ISTIOINGRESSLISTENER.fields_by_name['port'].message_type = networking_dot_v1alpha3_dot_gateway__pb2._PORT +_ISTIOINGRESSLISTENER.fields_by_name['capture_mode'].enum_type = _CAPTUREMODE +_ISTIOEGRESSLISTENER.fields_by_name['port'].message_type = networking_dot_v1alpha3_dot_gateway__pb2._PORT +_ISTIOEGRESSLISTENER.fields_by_name['capture_mode'].enum_type = _CAPTUREMODE +_WORKLOADSELECTOR_LABELSENTRY.containing_type = _WORKLOADSELECTOR +_WORKLOADSELECTOR.fields_by_name['labels'].message_type = _WORKLOADSELECTOR_LABELSENTRY +DESCRIPTOR.message_types_by_name['Sidecar'] = _SIDECAR +DESCRIPTOR.message_types_by_name['IstioIngressListener'] = _ISTIOINGRESSLISTENER +DESCRIPTOR.message_types_by_name['IstioEgressListener'] = _ISTIOEGRESSLISTENER +DESCRIPTOR.message_types_by_name['WorkloadSelector'] = _WORKLOADSELECTOR +DESCRIPTOR.enum_types_by_name['ConfigScope'] = _CONFIGSCOPE +DESCRIPTOR.enum_types_by_name['CaptureMode'] = _CAPTUREMODE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +Sidecar = _reflection.GeneratedProtocolMessageType('Sidecar', (_message.Message,), dict( + DESCRIPTOR = _SIDECAR, + __module__ = 'networking.v1alpha3.sidecar_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Sidecar) + )) +_sym_db.RegisterMessage(Sidecar) + +IstioIngressListener = _reflection.GeneratedProtocolMessageType('IstioIngressListener', (_message.Message,), dict( + DESCRIPTOR = _ISTIOINGRESSLISTENER, + __module__ = 'networking.v1alpha3.sidecar_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.IstioIngressListener) + )) +_sym_db.RegisterMessage(IstioIngressListener) + +IstioEgressListener = _reflection.GeneratedProtocolMessageType('IstioEgressListener', (_message.Message,), dict( + DESCRIPTOR = _ISTIOEGRESSLISTENER, + __module__ = 'networking.v1alpha3.sidecar_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.IstioEgressListener) + )) +_sym_db.RegisterMessage(IstioEgressListener) + +WorkloadSelector = _reflection.GeneratedProtocolMessageType('WorkloadSelector', (_message.Message,), dict( + + LabelsEntry = _reflection.GeneratedProtocolMessageType('LabelsEntry', (_message.Message,), dict( + DESCRIPTOR = _WORKLOADSELECTOR_LABELSENTRY, + __module__ = 'networking.v1alpha3.sidecar_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.WorkloadSelector.LabelsEntry) + )) + , + DESCRIPTOR = _WORKLOADSELECTOR, + __module__ = 'networking.v1alpha3.sidecar_pb2' + # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.WorkloadSelector) + )) +_sym_db.RegisterMessage(WorkloadSelector) +_sym_db.RegisterMessage(WorkloadSelector.LabelsEntry) + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z istio.io/api/networking/v1alpha3')) +_WORKLOADSELECTOR_LABELSENTRY.has_options = True +_WORKLOADSELECTOR_LABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) +# @@protoc_insertion_point(module_scope) diff --git a/python/istio_api/networking/v1alpha3/virtual_service_pb2.py b/python/istio_api/networking/v1alpha3/virtual_service_pb2.py index 7df90ca370..4bff1527b2 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 service_dependency_pb2 as networking_dot_v1alpha3_dot_service__dependency__pb2 +from networking.v1alpha3 import sidecar_pb2 as networking_dot_v1alpha3_dot_sidecar__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/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') + 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/sidecar.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_service__dependency__pb2.DESCRIPTOR,]) + dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_sidecar__pb2.DESCRIPTOR,]) @@ -90,8 +90,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=183, - serialized_end=446, + serialized_start=172, + serialized_end=435, ) @@ -135,8 +135,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=448, - serialized_end=546, + serialized_start=437, + serialized_end=535, ) @@ -173,8 +173,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1519, - serialized_end=1571, + serialized_start=1508, + serialized_end=1560, ) _HTTPROUTE_APPENDRESPONSEHEADERSENTRY = _descriptor.Descriptor( @@ -210,8 +210,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1573, - serialized_end=1633, + serialized_start=1562, + serialized_end=1622, ) _HTTPROUTE_APPENDREQUESTHEADERSENTRY = _descriptor.Descriptor( @@ -247,8 +247,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1635, - serialized_end=1694, + serialized_start=1624, + serialized_end=1683, ) _HTTPROUTE = _descriptor.Descriptor( @@ -382,8 +382,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=549, - serialized_end=1694, + serialized_start=538, + serialized_end=1683, ) @@ -420,8 +420,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2036, - serialized_end=2078, + serialized_start=2025, + serialized_end=2067, ) _HEADERS_HEADEROPERATIONS_ADDENTRY = _descriptor.Descriptor( @@ -457,8 +457,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2080, - serialized_end=2122, + serialized_start=2069, + serialized_end=2111, ) _HEADERS_HEADEROPERATIONS = _descriptor.Descriptor( @@ -501,8 +501,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1850, - serialized_end=2122, + serialized_start=1839, + serialized_end=2111, ) _HEADERS = _descriptor.Descriptor( @@ -538,8 +538,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1697, - serialized_end=2122, + serialized_start=1686, + serialized_end=2111, ) @@ -576,8 +576,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2125, - serialized_end=2257, + serialized_start=2114, + serialized_end=2246, ) @@ -614,8 +614,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2260, - serialized_end=2391, + serialized_start=2249, + serialized_end=2380, ) @@ -652,8 +652,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2831, - serialized_end=2917, + serialized_start=2820, + serialized_end=2906, ) _HTTPMATCHREQUEST_SOURCELABELSENTRY = _descriptor.Descriptor( @@ -689,8 +689,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2919, - serialized_end=2970, + serialized_start=2908, + serialized_end=2959, ) _HTTPMATCHREQUEST = _descriptor.Descriptor( @@ -768,8 +768,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2394, - serialized_end=2970, + serialized_start=2383, + serialized_end=2959, ) @@ -806,8 +806,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1573, - serialized_end=1633, + serialized_start=1562, + serialized_end=1622, ) _HTTPROUTEDESTINATION_APPENDREQUESTHEADERSENTRY = _descriptor.Descriptor( @@ -843,8 +843,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1635, - serialized_end=1694, + serialized_start=1624, + serialized_end=1683, ) _HTTPROUTEDESTINATION = _descriptor.Descriptor( @@ -915,8 +915,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2973, - serialized_end=3545, + serialized_start=2962, + serialized_end=3534, ) @@ -953,8 +953,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3547, - serialized_end=3642, + serialized_start=3536, + serialized_end=3631, ) @@ -991,8 +991,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2919, - serialized_end=2970, + serialized_start=2908, + serialized_end=2959, ) _L4MATCHATTRIBUTES = _descriptor.Descriptor( @@ -1049,8 +1049,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3645, - serialized_end=3888, + serialized_start=3634, + serialized_end=3877, ) @@ -1087,8 +1087,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2919, - serialized_end=2970, + serialized_start=2908, + serialized_end=2959, ) _TLSMATCHATTRIBUTES = _descriptor.Descriptor( @@ -1152,8 +1152,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3891, - serialized_end=4155, + serialized_start=3880, + serialized_end=4144, ) @@ -1190,8 +1190,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4157, - serialized_end=4203, + serialized_start=4146, + serialized_end=4192, ) @@ -1228,8 +1228,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4205, - serialized_end=4250, + serialized_start=4194, + serialized_end=4239, ) @@ -1276,8 +1276,8 @@ name='match_type', full_name='istio.networking.v1alpha3.StringMatch.match_type', index=0, containing_type=None, fields=[]), ], - serialized_start=4252, - serialized_end=4331, + serialized_start=4241, + serialized_end=4320, ) @@ -1321,8 +1321,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4333, - serialized_end=4432, + serialized_start=4322, + serialized_end=4421, ) @@ -1387,8 +1387,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4435, - serialized_end=4638, + serialized_start=4424, + serialized_end=4627, ) @@ -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=4800, - serialized_end=5009, + serialized_start=4789, + serialized_end=4998, ) _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=5012, - serialized_end=5179, + serialized_start=5001, + serialized_end=5168, ) _HTTPFAULTINJECTION = _descriptor.Descriptor( @@ -1540,8 +1540,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4641, - serialized_end=5179, + serialized_start=4630, + serialized_end=5168, ) @@ -1581,8 +1581,8 @@ name='port', full_name='istio.networking.v1alpha3.PortSelector.port', index=0, containing_type=None, fields=[]), ], - serialized_start=5181, - serialized_end=5237, + serialized_start=5170, + serialized_end=5226, ) @@ -1612,14 +1612,14 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5239, - serialized_end=5263, + serialized_start=5228, + serialized_end=5252, ) _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_service__dependency__pb2._CONFIGSCOPE +_VIRTUALSERVICE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_sidecar__pb2._CONFIGSCOPE _DESTINATION.fields_by_name['port'].message_type = _PORTSELECTOR _HTTPROUTE_APPENDHEADERSENTRY.containing_type = _HTTPROUTE _HTTPROUTE_APPENDRESPONSEHEADERSENTRY.containing_type = _HTTPROUTE