diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go index c1e92f1999..98218b7feb 100644 --- a/mesh/v1alpha1/config.pb.go +++ b/mesh/v1alpha1/config.pb.go @@ -99,6 +99,36 @@ func (MeshConfig_AuthPolicy) EnumDescriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0, 1} } +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 + MeshConfig_OutboundTrafficPolicy_REGISTRY_ONLY MeshConfig_OutboundTrafficPolicy_Mode = 0 + // outbound traffic to unknown destinations will be allowed + 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, +} + +func (x MeshConfig_OutboundTrafficPolicy_Mode) String() string { + return proto.EnumName(MeshConfig_OutboundTrafficPolicy_Mode_name, int32(x)) +} +func (MeshConfig_OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) { + return fileDescriptorConfig, []int{0, 0, 0} +} + // MeshConfig defines mesh-wide variables shared by all Envoy instances in the // Istio service mesh. // @@ -145,6 +175,8 @@ type MeshConfig struct { IngressControllerMode MeshConfig_IngressControllerMode `protobuf:"varint,9,opt,name=ingress_controller_mode,json=ingressControllerMode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_IngressControllerMode" json:"ingress_controller_mode,omitempty"` // $hide_from_docs AuthPolicy MeshConfig_AuthPolicy `protobuf:"varint,10,opt,name=auth_policy,json=authPolicy,proto3,enum=istio.mesh.v1alpha1.MeshConfig_AuthPolicy" json:"auth_policy,omitempty"` + // $hide_from_docs + RdsRefreshDelay *google_protobuf.Duration `protobuf:"bytes,11,opt,name=rds_refresh_delay,json=rdsRefreshDelay" json:"rds_refresh_delay,omitempty"` // Flag to control generation of trace spans and request IDs. // Requires a trace span collector defined in the proxy configuration. EnableTracing bool `protobuf:"varint,12,opt,name=enable_tracing,json=enableTracing,proto3" json:"enable_tracing,omitempty"` @@ -160,11 +192,22 @@ type MeshConfig struct { // and remain constant for the duration of the pod. The rest of the mesh config can be changed // at runtime and config gets distributed dynamically. 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. + 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"` // 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. SdsUdsPath string `protobuf:"bytes,20,opt,name=sds_uds_path,json=sdsUdsPath,proto3" json:"sds_uds_path,omitempty"` + // $hide_from_docs + SdsRefreshDelay *google_protobuf.Duration `protobuf:"bytes,21,opt,name=sds_refresh_delay,json=sdsRefreshDelay" json:"sds_refresh_delay,omitempty"` // ConfigSource describes a source of configuration data for networking // rules, and other Istio configuration artifacts. Multiple data sources // can be configured for a single control plane. @@ -263,6 +306,13 @@ func (m *MeshConfig) GetAuthPolicy() MeshConfig_AuthPolicy { return MeshConfig_NONE } +func (m *MeshConfig) GetRdsRefreshDelay() *google_protobuf.Duration { + if m != nil { + return m.RdsRefreshDelay + } + return nil +} + func (m *MeshConfig) GetEnableTracing() bool { if m != nil { return m.EnableTracing @@ -291,6 +341,20 @@ func (m *MeshConfig) GetDefaultConfig() *ProxyConfig { return nil } +func (m *MeshConfig) GetMixerAddress() string { + if m != nil { + return m.MixerAddress + } + return "" +} + +func (m *MeshConfig) GetOutboundTrafficPolicy() *MeshConfig_OutboundTrafficPolicy { + if m != nil { + return m.OutboundTrafficPolicy + } + return nil +} + func (m *MeshConfig) GetEnableClientSidePolicyCheck() bool { if m != nil { return m.EnableClientSidePolicyCheck @@ -305,6 +369,13 @@ func (m *MeshConfig) GetSdsUdsPath() string { return "" } +func (m *MeshConfig) GetSdsRefreshDelay() *google_protobuf.Duration { + if m != nil { + return m.SdsRefreshDelay + } + return nil +} + func (m *MeshConfig) GetConfigSources() []*ConfigSource { if m != nil { return m.ConfigSources @@ -326,13 +397,31 @@ func (m *MeshConfig) GetTrustDomain() string { return "" } +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"` +} + +func (m *MeshConfig_OutboundTrafficPolicy) Reset() { *m = MeshConfig_OutboundTrafficPolicy{} } +func (m *MeshConfig_OutboundTrafficPolicy) String() string { return proto.CompactTextString(m) } +func (*MeshConfig_OutboundTrafficPolicy) ProtoMessage() {} +func (*MeshConfig_OutboundTrafficPolicy) Descriptor() ([]byte, []int) { + return fileDescriptorConfig, []int{0, 0} +} + +func (m *MeshConfig_OutboundTrafficPolicy) GetMode() MeshConfig_OutboundTrafficPolicy_Mode { + if m != nil { + return m.Mode + } + return MeshConfig_OutboundTrafficPolicy_REGISTRY_ONLY +} + // ConfigSource describes information about a configuration store inside a // mesh. A single control plane instance can interact with one or more data // sources. type ConfigSource struct { // Address of the server implementing the Istio Mesh Configuration // protocol (MCP). Can be IP address or a fully qualified DNS name. - // Use file:/// to specify a file-based backend with absolute path to the directory. + // Use fs:/// to specify a file-based backend with absolute path to the directory. Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // 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 @@ -361,9 +450,11 @@ func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha31.TLSSettings func init() { proto.RegisterType((*MeshConfig)(nil), "istio.mesh.v1alpha1.MeshConfig") + proto.RegisterType((*MeshConfig_OutboundTrafficPolicy)(nil), "istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy") proto.RegisterType((*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_OutboundTrafficPolicy_Mode", MeshConfig_OutboundTrafficPolicy_Mode_name, MeshConfig_OutboundTrafficPolicy_Mode_value) } func (m *MeshConfig) Marshal() (dAtA []byte, err error) { size := m.Size() @@ -444,6 +535,16 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintConfig(dAtA, i, uint64(m.AuthPolicy)) } + if m.RdsRefreshDelay != nil { + dAtA[i] = 0x5a + i++ + i = encodeVarintConfig(dAtA, i, uint64(m.RdsRefreshDelay.Size())) + n2, err := m.RdsRefreshDelay.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + } if m.EnableTracing { dAtA[i] = 0x60 i++ @@ -464,11 +565,31 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintConfig(dAtA, i, uint64(m.DefaultConfig.Size())) - n2, err := m.DefaultConfig.MarshalTo(dAtA[i:]) + n3, err := m.DefaultConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n2 + i += n3 + } + if len(m.MixerAddress) > 0 { + dAtA[i] = 0x82 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintConfig(dAtA, i, uint64(len(m.MixerAddress))) + i += copy(dAtA[i:], m.MixerAddress) + } + if m.OutboundTrafficPolicy != nil { + dAtA[i] = 0x8a + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintConfig(dAtA, i, uint64(m.OutboundTrafficPolicy.Size())) + n4, err := m.OutboundTrafficPolicy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 } if m.EnableClientSidePolicyCheck { dAtA[i] = 0x98 @@ -490,6 +611,18 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintConfig(dAtA, i, uint64(len(m.SdsUdsPath))) i += copy(dAtA[i:], m.SdsUdsPath) } + if m.SdsRefreshDelay != nil { + dAtA[i] = 0xaa + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintConfig(dAtA, i, uint64(m.SdsRefreshDelay.Size())) + n5, err := m.SdsRefreshDelay.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + } if len(m.ConfigSources) > 0 { for _, msg := range m.ConfigSources { dAtA[i] = 0xb2 @@ -547,6 +680,29 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *MeshConfig_OutboundTrafficPolicy) 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_OutboundTrafficPolicy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Mode != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintConfig(dAtA, i, uint64(m.Mode)) + } + return i, nil +} + func (m *ConfigSource) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -572,11 +728,11 @@ func (m *ConfigSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintConfig(dAtA, i, uint64(m.TlsSettings.Size())) - n3, err := m.TlsSettings.MarshalTo(dAtA[i:]) + n6, err := m.TlsSettings.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n3 + i += n6 } return i, nil } @@ -628,6 +784,10 @@ func (m *MeshConfig) Size() (n int) { if m.AuthPolicy != 0 { n += 1 + sovConfig(uint64(m.AuthPolicy)) } + if m.RdsRefreshDelay != nil { + l = m.RdsRefreshDelay.Size() + n += 1 + l + sovConfig(uint64(l)) + } if m.EnableTracing { n += 2 } @@ -639,6 +799,14 @@ func (m *MeshConfig) Size() (n int) { l = m.DefaultConfig.Size() n += 1 + l + sovConfig(uint64(l)) } + l = len(m.MixerAddress) + if l > 0 { + n += 2 + l + sovConfig(uint64(l)) + } + if m.OutboundTrafficPolicy != nil { + l = m.OutboundTrafficPolicy.Size() + n += 2 + l + sovConfig(uint64(l)) + } if m.EnableClientSidePolicyCheck { n += 3 } @@ -646,6 +814,10 @@ func (m *MeshConfig) Size() (n int) { if l > 0 { n += 2 + l + sovConfig(uint64(l)) } + if m.SdsRefreshDelay != nil { + l = m.SdsRefreshDelay.Size() + n += 2 + l + sovConfig(uint64(l)) + } if len(m.ConfigSources) > 0 { for _, e := range m.ConfigSources { l = e.Size() @@ -669,6 +841,15 @@ func (m *MeshConfig) Size() (n int) { return n } +func (m *MeshConfig_OutboundTrafficPolicy) Size() (n int) { + var l int + _ = l + if m.Mode != 0 { + n += 1 + sovConfig(uint64(m.Mode)) + } + return n +} + func (m *ConfigSource) Size() (n int) { var l int _ = l @@ -970,6 +1151,39 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { break } } + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RdsRefreshDelay", 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.RdsRefreshDelay == nil { + m.RdsRefreshDelay = &google_protobuf.Duration{} + } + if err := m.RdsRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 12: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field EnableTracing", wireType) @@ -1052,6 +1266,68 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MixerAddress", 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.MixerAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OutboundTrafficPolicy", 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.OutboundTrafficPolicy == nil { + m.OutboundTrafficPolicy = &MeshConfig_OutboundTrafficPolicy{} + } + if err := m.OutboundTrafficPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 19: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field EnableClientSidePolicyCheck", wireType) @@ -1101,6 +1377,39 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } m.SdsUdsPath = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 21: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SdsRefreshDelay", 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.SdsRefreshDelay == nil { + m.SdsRefreshDelay = &google_protobuf.Duration{} + } + if err := m.SdsRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 22: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ConfigSources", wireType) @@ -1251,6 +1560,75 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error { } return nil } +func (m *MeshConfig_OutboundTrafficPolicy) 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: OutboundTrafficPolicy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OutboundTrafficPolicy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType) + } + m.Mode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowConfig + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Mode |= (MeshConfig_OutboundTrafficPolicy_Mode(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + 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 @@ -1471,59 +1849,69 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) } var fileDescriptorConfig = []byte{ - // 857 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0x5d, 0x4f, 0x23, 0x37, - 0x14, 0xdd, 0x81, 0x2c, 0x84, 0x9b, 0x0f, 0x06, 0xa7, 0xb0, 0x26, 0x95, 0x68, 0x96, 0xaa, 0x34, - 0x42, 0xd5, 0x44, 0x1b, 0xd4, 0x87, 0x3e, 0x42, 0xd8, 0x74, 0x89, 0xc2, 0x82, 0x26, 0xe1, 0xa5, - 0x2f, 0xd6, 0x30, 0xe3, 0x64, 0x2c, 0x1c, 0x7b, 0x64, 0x7b, 0xb6, 0xbb, 0xff, 0xb0, 0x4f, 0x55, - 0x7f, 0x42, 0xc5, 0x2f, 0xa9, 0xc6, 0x9e, 0x90, 0x20, 0x45, 0xea, 0xa3, 0xcf, 0x39, 0xbe, 0xf7, - 0xf8, 0xde, 0xeb, 0x0b, 0xed, 0x05, 0xd5, 0x69, 0xef, 0xcb, 0x87, 0x88, 0x67, 0x69, 0xf4, 0xa1, - 0x17, 0x4b, 0x31, 0x63, 0xf3, 0x20, 0x53, 0xd2, 0x48, 0xd4, 0x62, 0xda, 0x30, 0x19, 0x14, 0x8a, - 0x60, 0xa9, 0x68, 0x9f, 0xcc, 0xa5, 0x9c, 0x73, 0xda, 0xb3, 0x92, 0xc7, 0x7c, 0xd6, 0x4b, 0x72, - 0x15, 0x19, 0x26, 0x85, 0xbb, 0xd4, 0x3e, 0x7e, 0x1d, 0x30, 0x53, 0xf2, 0xeb, 0xb7, 0x92, 0x3a, - 0x17, 0xd4, 0xfc, 0x29, 0xd5, 0x13, 0x13, 0xf3, 0xa5, 0xe0, 0xa2, 0x97, 0x50, 0x6d, 0x98, 0xb0, - 0x11, 0x88, 0xca, 0x39, 0x75, 0xda, 0xd3, 0xbf, 0xf7, 0x00, 0x6e, 0xa9, 0x4e, 0x07, 0xd6, 0x10, - 0xfa, 0x05, 0xd0, 0x82, 0x7d, 0xa5, 0x8a, 0xc4, 0x29, 0x8d, 0x9f, 0x88, 0xa6, 0xea, 0x0b, 0x55, - 0xd8, 0xeb, 0x78, 0xdd, 0xbd, 0xd0, 0xb7, 0xcc, 0xa0, 0x20, 0x26, 0x16, 0x47, 0x01, 0xb4, 0x9c, - 0x5a, 0xd1, 0x4c, 0x2a, 0xb3, 0x94, 0x6f, 0x59, 0xf9, 0x81, 0xa5, 0x42, 0xcb, 0x94, 0xfa, 0x3e, - 0x1c, 0x26, 0x4c, 0x47, 0x8f, 0x9c, 0x92, 0x4c, 0x72, 0x16, 0x7f, 0x73, 0x69, 0x34, 0xde, 0xee, - 0x78, 0xdd, 0x6a, 0xd8, 0x2a, 0xc9, 0x7b, 0xcb, 0xd9, 0x44, 0x1a, 0x9d, 0xc3, 0x81, 0x7d, 0x1b, - 0xe1, 0x4c, 0x1b, 0x2a, 0x48, 0x11, 0x0e, 0x57, 0x3a, 0x5e, 0xf7, 0x6d, 0xb8, 0x6f, 0x89, 0xb1, - 0xc5, 0xef, 0xa5, 0x32, 0xe8, 0x0c, 0x1c, 0x44, 0x52, 0x63, 0x32, 0xa7, 0x7c, 0x6b, 0x95, 0x0d, - 0x0b, 0x7f, 0x32, 0x26, 0xb3, 0xba, 0x2b, 0xd8, 0x8f, 0xa5, 0x10, 0x34, 0x36, 0xc4, 0xb0, 0x05, - 0x95, 0xb9, 0xc1, 0x3b, 0x1d, 0xaf, 0x5b, 0xeb, 0x1f, 0x07, 0xae, 0xea, 0xc1, 0xb2, 0xea, 0xc1, - 0x75, 0x59, 0xf5, 0xb0, 0x59, 0xde, 0x98, 0xba, 0x0b, 0xe8, 0x47, 0x68, 0x30, 0x31, 0x57, 0x54, - 0x6b, 0x12, 0xf3, 0x48, 0x6b, 0xbc, 0x6b, 0x5f, 0x5d, 0x2f, 0xc1, 0x41, 0x81, 0xa1, 0x9f, 0x61, - 0x7f, 0x29, 0x2a, 0x6a, 0xc3, 0x62, 0x8a, 0xab, 0x56, 0xd6, 0x2c, 0xe1, 0x89, 0x43, 0xd1, 0x02, - 0xde, 0xbd, 0x44, 0x93, 0xc2, 0x28, 0xc9, 0x39, 0x55, 0x64, 0x21, 0x13, 0x8a, 0xf7, 0x3a, 0x5e, - 0xb7, 0xd9, 0xff, 0x35, 0xd8, 0x30, 0x24, 0xc1, 0xaa, 0x73, 0xc1, 0x4d, 0x99, 0xf7, 0xe5, 0xf6, - 0xad, 0x4c, 0x68, 0x78, 0xc8, 0x36, 0xc1, 0xe8, 0x0e, 0x6a, 0x51, 0x6e, 0xd2, 0xb2, 0x0b, 0x18, - 0x6c, 0x8a, 0xf3, 0xff, 0x4b, 0x71, 0x99, 0x9b, 0xd4, 0xf5, 0xe6, 0x6a, 0x0b, 0x7b, 0x21, 0x44, - 0x2f, 0x67, 0xf4, 0x13, 0x34, 0xa9, 0xb0, 0x8d, 0x35, 0x2a, 0x8a, 0x99, 0x98, 0xe3, 0xba, 0x6d, - 0x69, 0xc3, 0xa1, 0x53, 0x07, 0x16, 0x0d, 0x8a, 0xe2, 0xb8, 0x78, 0x25, 0x97, 0x73, 0x32, 0x63, - 0x9c, 0xe2, 0x86, 0xad, 0x47, 0xc3, 0xc1, 0x63, 0x39, 0x1f, 0x32, 0x4e, 0xd1, 0xef, 0xd0, 0x4c, - 0xe8, 0x2c, 0xca, 0xb9, 0x21, 0xee, 0xa7, 0xe0, 0xa6, 0xed, 0x4f, 0x67, 0xa3, 0xc5, 0xfb, 0xa2, - 0xb9, 0xce, 0x63, 0xd8, 0x28, 0xef, 0x95, 0xf3, 0x7c, 0x0d, 0x3f, 0x94, 0xbe, 0x62, 0xce, 0xa8, - 0x30, 0x44, 0xb3, 0xe4, 0xf5, 0xf0, 0xe1, 0x96, 0x35, 0xfa, 0xbd, 0x93, 0x0d, 0xac, 0x6a, 0xc2, - 0x92, 0xf5, 0x21, 0x44, 0x1d, 0xa8, 0xeb, 0x44, 0x93, 0x3c, 0xd1, 0x24, 0x8b, 0x4c, 0x8a, 0xbf, - 0xb3, 0x9e, 0x41, 0x27, 0xfa, 0x21, 0xd1, 0xf7, 0x91, 0x49, 0xd1, 0x27, 0x68, 0x3a, 0xa3, 0x44, - 0xcb, 0x5c, 0xc5, 0x54, 0xe3, 0xa3, 0xce, 0x76, 0xb7, 0xd6, 0x7f, 0xbf, 0xd1, 0xb0, 0x33, 0x37, - 0xb1, 0xca, 0xb0, 0x11, 0xaf, 0x9d, 0x34, 0xba, 0x80, 0xa3, 0xd2, 0x71, 0x91, 0xd2, 0xc8, 0x27, - 0x2a, 0xc8, 0x42, 0xe6, 0xc2, 0xe0, 0x77, 0xee, 0x93, 0x38, 0x76, 0x92, 0xe8, 0x69, 0xc1, 0xdd, - 0x16, 0x54, 0xf1, 0x49, 0xd6, 0xeb, 0x2a, 0xd5, 0x22, 0x32, 0x18, 0x5b, 0x97, 0xfb, 0xab, 0xca, - 0x5a, 0xb8, 0x48, 0xb0, 0xfe, 0x7e, 0x32, 0x8b, 0x18, 0x27, 0x32, 0xa3, 0x02, 0x1f, 0xbb, 0x04, - 0xd9, 0xea, 0xe5, 0xc3, 0x88, 0xf1, 0xbb, 0x8c, 0x0a, 0xf4, 0x1e, 0xea, 0x46, 0xe5, 0xda, 0x90, - 0x44, 0x2e, 0x22, 0x26, 0x70, 0xdb, 0xc6, 0xae, 0x59, 0xec, 0xda, 0x42, 0xa7, 0xbf, 0xc1, 0xe1, - 0xc6, 0x19, 0x44, 0xbb, 0xb0, 0x7d, 0x37, 0x1c, 0xfa, 0x6f, 0x50, 0x0d, 0x76, 0xaf, 0x3f, 0x0e, - 0x2f, 0x1f, 0xc6, 0x53, 0xdf, 0x43, 0x00, 0x3b, 0x93, 0x69, 0x78, 0x33, 0x98, 0xfa, 0x5b, 0xa7, - 0x67, 0x00, 0xab, 0xd9, 0x42, 0x55, 0xa8, 0x7c, 0xbe, 0xfb, 0xfc, 0xd1, 0x7f, 0x83, 0x9a, 0x00, - 0xb7, 0x0f, 0xd3, 0x87, 0xcb, 0x31, 0x99, 0x8e, 0x27, 0xbe, 0x37, 0xaa, 0x54, 0x6b, 0x7e, 0x7d, - 0x54, 0xa9, 0xee, 0xfb, 0xfe, 0xa8, 0x52, 0xf5, 0xfd, 0x83, 0x51, 0xa5, 0x7a, 0xe0, 0xa3, 0x51, - 0xa5, 0x8a, 0xfc, 0xd6, 0xa8, 0x52, 0x3d, 0xf4, 0x8f, 0x4e, 0x35, 0xd4, 0xd7, 0xcb, 0x8b, 0x30, - 0xec, 0x46, 0x49, 0x52, 0xd8, 0x2a, 0xd7, 0xd8, 0xf2, 0x88, 0x6e, 0xa0, 0x6e, 0x78, 0xf1, 0x31, - 0x8d, 0x61, 0x62, 0xae, 0xed, 0xda, 0xaa, 0xf5, 0xcf, 0xca, 0x8e, 0xad, 0x76, 0xe8, 0xb2, 0x6f, - 0x17, 0xc1, 0x74, 0x3c, 0x99, 0x94, 0xea, 0xb0, 0x66, 0xb8, 0x5e, 0x1e, 0xae, 0xba, 0x7f, 0x3d, - 0x9f, 0x78, 0xff, 0x3c, 0x9f, 0x78, 0xff, 0x3e, 0x9f, 0x78, 0x7f, 0xb4, 0x5d, 0x04, 0x26, 0x7b, - 0x51, 0xc6, 0x7a, 0xaf, 0xf6, 0xf4, 0xe3, 0x8e, 0xdd, 0x2c, 0x17, 0xff, 0x05, 0x00, 0x00, 0xff, - 0xff, 0x36, 0x90, 0xf4, 0x9e, 0x10, 0x06, 0x00, 0x00, + // 1022 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdd, 0x4e, 0x23, 0x47, + 0x13, 0xdd, 0x01, 0x2f, 0x98, 0xf2, 0xdf, 0xd0, 0xac, 0x97, 0xc6, 0xdf, 0x27, 0xe2, 0x25, 0x0a, + 0x6b, 0xa1, 0x68, 0xac, 0x05, 0xe5, 0x22, 0xb9, 0x33, 0x06, 0x76, 0xbd, 0x32, 0x18, 0x8d, 0xcd, + 0x46, 0xe4, 0xa6, 0x35, 0xcc, 0xb4, 0xed, 0x16, 0xe3, 0xe9, 0xc9, 0x74, 0xcf, 0x66, 0x79, 0xa1, + 0xbc, 0x44, 0x5e, 0x20, 0x97, 0x79, 0x84, 0x88, 0x27, 0x89, 0xa6, 0x7a, 0x0c, 0x26, 0xb1, 0x44, + 0x94, 0xcb, 0x3e, 0x75, 0xaa, 0xaa, 0xeb, 0x54, 0x55, 0x37, 0x34, 0x66, 0x5c, 0x4d, 0xdb, 0x9f, + 0xdf, 0x79, 0x61, 0x3c, 0xf5, 0xde, 0xb5, 0x7d, 0x19, 0x8d, 0xc5, 0xc4, 0x89, 0x13, 0xa9, 0x25, + 0xd9, 0x12, 0x4a, 0x0b, 0xe9, 0x64, 0x0c, 0x67, 0xce, 0x68, 0xec, 0x4e, 0xa4, 0x9c, 0x84, 0xbc, + 0x8d, 0x94, 0x9b, 0x74, 0xdc, 0x0e, 0xd2, 0xc4, 0xd3, 0x42, 0x46, 0xc6, 0xa9, 0xb1, 0xf3, 0x34, + 0x60, 0x9c, 0xc8, 0x2f, 0x77, 0xb9, 0xe9, 0x20, 0xe2, 0xfa, 0x17, 0x99, 0xdc, 0x8a, 0x68, 0x32, + 0x27, 0x1c, 0xb5, 0x03, 0xae, 0xb4, 0x88, 0x30, 0x02, 0x4b, 0xd2, 0x90, 0x1b, 0xee, 0xde, 0xaf, + 0x15, 0x80, 0x73, 0xae, 0xa6, 0x5d, 0xbc, 0x10, 0xf9, 0x16, 0xc8, 0x4c, 0x7c, 0xe1, 0x09, 0xf3, + 0xa7, 0xdc, 0xbf, 0x65, 0x8a, 0x27, 0x9f, 0x79, 0x42, 0xad, 0xa6, 0xd5, 0xda, 0x70, 0x6d, 0xb4, + 0x74, 0x33, 0xc3, 0x10, 0x71, 0xe2, 0xc0, 0x96, 0x61, 0x27, 0x3c, 0x96, 0x89, 0x9e, 0xd3, 0x57, + 0x90, 0xbe, 0x89, 0x26, 0x17, 0x2d, 0x39, 0xff, 0x10, 0xea, 0x81, 0x50, 0xde, 0x4d, 0xc8, 0x59, + 0x2c, 0x43, 0xe1, 0xdf, 0x99, 0x34, 0x8a, 0xae, 0x36, 0xad, 0x56, 0xd1, 0xdd, 0xca, 0x8d, 0x97, + 0x68, 0xc3, 0x44, 0x8a, 0x1c, 0xc0, 0x26, 0xd6, 0xc6, 0x42, 0xa1, 0x34, 0x8f, 0x58, 0x16, 0x8e, + 0x16, 0x9a, 0x56, 0xeb, 0xa5, 0x5b, 0x43, 0x43, 0x1f, 0xf1, 0x4b, 0x99, 0x68, 0xb2, 0x0f, 0x06, + 0x62, 0x53, 0xad, 0x63, 0xc3, 0x7c, 0x89, 0xcc, 0x0a, 0xc2, 0x1f, 0xb4, 0x8e, 0x91, 0x77, 0x0c, + 0x35, 0x5f, 0x46, 0x11, 0xf7, 0x35, 0xd3, 0x62, 0xc6, 0x65, 0xaa, 0xe9, 0x5a, 0xd3, 0x6a, 0x95, + 0x0e, 0x77, 0x1c, 0xa3, 0xba, 0x33, 0x57, 0xdd, 0x39, 0xc9, 0x55, 0x77, 0xab, 0xb9, 0xc7, 0xc8, + 0x38, 0x90, 0xaf, 0xa1, 0x22, 0xa2, 0x49, 0xc2, 0x95, 0x62, 0x7e, 0xe8, 0x29, 0x45, 0xd7, 0xb1, + 0xea, 0x72, 0x0e, 0x76, 0x33, 0x8c, 0xbc, 0x85, 0xda, 0x9c, 0x94, 0x69, 0x23, 0x7c, 0x4e, 0x8b, + 0x48, 0xab, 0xe6, 0xf0, 0xd0, 0xa0, 0x64, 0x06, 0xdb, 0x0f, 0xd1, 0x64, 0xa4, 0x13, 0x19, 0x86, + 0x3c, 0x61, 0x33, 0x19, 0x70, 0xba, 0xd1, 0xb4, 0x5a, 0xd5, 0xc3, 0xef, 0x9c, 0x25, 0x43, 0xe2, + 0x3c, 0x76, 0xce, 0xe9, 0xe5, 0x79, 0x1f, 0xbc, 0xcf, 0x65, 0xc0, 0xdd, 0xba, 0x58, 0x06, 0x93, + 0x01, 0x94, 0xbc, 0x54, 0x4f, 0xf3, 0x2e, 0x50, 0xc0, 0x14, 0x07, 0xcf, 0xa5, 0xe8, 0xa4, 0x7a, + 0x6a, 0x7a, 0x73, 0xbc, 0x42, 0x2d, 0x17, 0xbc, 0x87, 0x33, 0xe9, 0xc1, 0x66, 0x12, 0x28, 0x96, + 0xf0, 0x71, 0xc2, 0xd5, 0x94, 0x05, 0x3c, 0xf4, 0xee, 0x68, 0xe9, 0x19, 0x4d, 0x31, 0x4a, 0x2d, + 0x09, 0x94, 0x6b, 0xdc, 0x4e, 0x32, 0x2f, 0xf2, 0x0d, 0x54, 0x79, 0x84, 0x33, 0xa2, 0x13, 0xcf, + 0x17, 0xd1, 0x84, 0x96, 0x71, 0x3a, 0x2a, 0x06, 0x1d, 0x19, 0x30, 0xeb, 0xb5, 0xe7, 0xfb, 0x99, + 0x60, 0xa1, 0x9c, 0xb0, 0xb1, 0x08, 0x39, 0xad, 0xa0, 0xb4, 0x15, 0x03, 0xf7, 0xe5, 0xe4, 0x4c, + 0x84, 0x9c, 0xbc, 0x87, 0x6a, 0xc0, 0xc7, 0x5e, 0x1a, 0x6a, 0x66, 0x96, 0x8e, 0x56, 0xf1, 0x5a, + 0xcd, 0xa5, 0xd5, 0x5e, 0x66, 0x73, 0x62, 0xca, 0x75, 0x2b, 0xb9, 0x5f, 0xbe, 0x1a, 0x6f, 0xa1, + 0x62, 0x86, 0xdd, 0x0b, 0x82, 0x4c, 0x52, 0x6a, 0x67, 0xe9, 0xb0, 0x86, 0x32, 0x1a, 0x3a, 0x06, + 0x27, 0x3f, 0xc3, 0xb6, 0x4c, 0xf5, 0x8d, 0x4c, 0xa3, 0x20, 0x2b, 0x61, 0x3c, 0x16, 0xfe, 0x5c, + 0xe8, 0x4d, 0x4c, 0xfd, 0x6c, 0x2f, 0x07, 0xb9, 0xfb, 0xc8, 0x78, 0x2f, 0x68, 0x5e, 0x97, 0xcb, + 0x4c, 0xe4, 0x04, 0xbe, 0xca, 0x35, 0xf3, 0x43, 0xc1, 0x23, 0xcd, 0x94, 0x08, 0x9e, 0xee, 0x18, + 0xdd, 0x42, 0x11, 0xff, 0x67, 0x68, 0x5d, 0x64, 0x0d, 0x45, 0xb0, 0xb8, 0x6b, 0xa4, 0x09, 0x65, + 0x15, 0x28, 0x96, 0x06, 0x8a, 0xc5, 0x9e, 0x9e, 0xd2, 0x57, 0xa8, 0x27, 0xa8, 0x40, 0x5d, 0x05, + 0xea, 0xd2, 0xd3, 0xd3, 0xac, 0xcd, 0xea, 0x1f, 0x6d, 0xae, 0xff, 0xab, 0x36, 0xab, 0xbf, 0xb5, + 0xf9, 0x03, 0x54, 0x4d, 0x3f, 0x98, 0x92, 0x69, 0xe2, 0x73, 0x45, 0x5f, 0x37, 0x57, 0x5b, 0xa5, + 0xc3, 0x37, 0x4b, 0xc5, 0x31, 0xc2, 0x0c, 0x91, 0xe9, 0x56, 0xfc, 0x85, 0x93, 0x22, 0x47, 0xf0, + 0x3a, 0x2f, 0x3e, 0xbb, 0x9b, 0x96, 0xb7, 0x3c, 0x62, 0x33, 0x99, 0x46, 0x9a, 0x6e, 0x9b, 0x67, + 0xc5, 0x58, 0x87, 0x81, 0x1a, 0x65, 0xb6, 0xf3, 0xcc, 0x94, 0x3d, 0x2b, 0x8b, 0xe3, 0x23, 0x93, + 0x99, 0xa7, 0x29, 0xc5, 0x82, 0x6b, 0x8f, 0x03, 0x84, 0x70, 0x96, 0x60, 0x51, 0x4a, 0x36, 0xf6, + 0x44, 0xc8, 0x64, 0xcc, 0x23, 0xba, 0x63, 0x12, 0xc4, 0x8f, 0x22, 0x9e, 0x79, 0x22, 0x1c, 0xc4, + 0x3c, 0x22, 0x6f, 0xa0, 0xac, 0x93, 0x54, 0x69, 0x16, 0xc8, 0x99, 0x27, 0x22, 0xda, 0xc0, 0xd8, + 0x25, 0xc4, 0x4e, 0x10, 0x6a, 0xfc, 0x66, 0x41, 0x7d, 0x69, 0xab, 0x89, 0x0b, 0x05, 0xdc, 0x7d, + 0x0b, 0x17, 0xf3, 0x87, 0xff, 0x34, 0x2f, 0x4e, 0xb6, 0xe9, 0xa8, 0x3d, 0xc6, 0xda, 0xbb, 0x80, + 0x02, 0xee, 0x7e, 0x1d, 0x2a, 0xee, 0xe9, 0xfb, 0xde, 0x70, 0xe4, 0x5e, 0xb3, 0xc1, 0x45, 0xff, + 0xda, 0x7e, 0xd1, 0x58, 0x29, 0x5a, 0x64, 0x13, 0x36, 0x3a, 0xfd, 0xfe, 0xe0, 0x47, 0xd6, 0xb9, + 0xb8, 0xb6, 0x2d, 0x84, 0xfe, 0x0f, 0xaf, 0x3e, 0xf5, 0xdc, 0xd1, 0x55, 0xa7, 0xcf, 0x86, 0xa7, + 0xee, 0xa7, 0x5e, 0xf7, 0xd4, 0x38, 0xac, 0x64, 0xd6, 0xbd, 0xef, 0xa1, 0xbe, 0xf4, 0xcd, 0x21, + 0xeb, 0xb0, 0x3a, 0x38, 0x3b, 0xb3, 0x5f, 0x90, 0x12, 0xac, 0x9f, 0x9c, 0x9e, 0x75, 0xae, 0xfa, + 0x23, 0xdb, 0x22, 0x00, 0x6b, 0xc3, 0x91, 0xdb, 0xeb, 0x8e, 0xec, 0x95, 0xbd, 0x7d, 0x80, 0xc7, + 0xb7, 0x84, 0x14, 0xa1, 0x70, 0x31, 0xb8, 0x38, 0xb5, 0x5f, 0x90, 0x2a, 0xc0, 0xf9, 0x15, 0xe6, + 0x1b, 0xf5, 0x87, 0xb6, 0xf5, 0xb1, 0x50, 0xac, 0xd9, 0xf6, 0xc7, 0x42, 0x91, 0xd8, 0x5b, 0x7b, + 0x0a, 0xca, 0x8b, 0x43, 0x40, 0x28, 0xac, 0xcf, 0x17, 0xd1, 0x7c, 0x4f, 0xf3, 0x23, 0xe9, 0x41, + 0x59, 0x87, 0xd9, 0x83, 0xab, 0xb5, 0x88, 0x26, 0x0a, 0xbf, 0xa3, 0xd2, 0xe1, 0x7e, 0x2e, 0xe2, + 0xe3, 0xdf, 0x38, 0x97, 0xf2, 0xc8, 0x19, 0xf5, 0x87, 0xc3, 0x9c, 0xed, 0x96, 0x74, 0xa8, 0xe6, + 0x87, 0xe3, 0xd6, 0xef, 0xf7, 0xbb, 0xd6, 0x1f, 0xf7, 0xbb, 0xd6, 0x9f, 0xf7, 0xbb, 0xd6, 0x4f, + 0x0d, 0x13, 0x41, 0xc8, 0xb6, 0x17, 0x8b, 0xf6, 0x93, 0xff, 0xf7, 0x66, 0x0d, 0xc7, 0xfe, 0xe8, + 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x33, 0xb9, 0xa7, 0xe8, 0x07, 0x00, 0x00, } diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto index 947ee9f70e..38b2b2faec 100644 --- a/mesh/v1alpha1/config.proto +++ b/mesh/v1alpha1/config.proto @@ -110,7 +110,8 @@ message MeshConfig { // $hide_from_docs AuthPolicy auth_policy = 10 [deprecated=true]; - reserved 11; + // $hide_from_docs + google.protobuf.Duration rds_refresh_delay = 11 [deprecated=true]; // Flag to control generation of trace spans and request IDs. // Requires a trace span collector defined in the proxy configuration. @@ -132,8 +133,31 @@ message MeshConfig { ProxyConfig default_config = 14; reserved 15; - reserved 16; - reserved 17; + + // $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]; + // not implemented. outbound traffic will be restricted to destinations defined in VirtualServices only + VIRTUAL_SERVICE_ONLY = 2 [deprecated=true]; + } + Mode mode = 1 [deprecated=true]; + } + + // 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. + OutboundTrafficPolicy outbound_traffic_policy = 17 [deprecated=true]; + reserved 18; // Enables clide side policy checks. @@ -143,7 +167,8 @@ message MeshConfig { // Use secret-mount files instead of SDS if set to empty. string sds_uds_path = 20; - reserved 21; + // $hide_from_docs + google.protobuf.Duration sds_refresh_delay = 21 [deprecated=true]; // ConfigSource describes a source of configuration data for networking // rules, and other Istio configuration artifacts. Multiple data sources @@ -172,7 +197,7 @@ message MeshConfig { message ConfigSource { // Address of the server implementing the Istio Mesh Configuration // protocol (MCP). Can be IP address or a fully qualified DNS name. - // Use file:/// to specify a file-based backend with absolute path to the directory. + // Use fs:/// to specify a file-based backend with absolute path to the directory. string address = 1; // Use the tls_settings to specify the tls mode to use. If the MCP server diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html index 13b2d84987..e5ade7fc3e 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: 13 +number_of_entries: 15 ---

AuthenticationPolicy

@@ -67,7 +67,7 @@

ConfigSource

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

+Use fs:/// to specify a file-based backend with absolute path to the directory.

@@ -236,6 +236,19 @@

MeshConfig

and remain constant for the duration of the pod. The rest of the mesh config can be changed at runtime and config gets distributed dynamically.

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

+ @@ -315,6 +328,61 @@

MeshConfig.IngressControllerMode

a secondary ingress controller (e.g., in addition to a cloud-provided ingress controller).

+ + + + +
+

MeshConfig.OutboundTrafficPolicy

+
+ + + + + + + + + + + + + + + +
FieldTypeDescription
modeMeshConfig.OutboundTrafficPolicy.Mode +
+
+

MeshConfig.OutboundTrafficPolicy.Mode

+
+ + + + + + + + + + + + + + + + + + + diff --git a/mesh/v1alpha1/proxy.pb.go b/mesh/v1alpha1/proxy.pb.go index c1b07a0ddd..e5689b9b77 100644 --- a/mesh/v1alpha1/proxy.pb.go +++ b/mesh/v1alpha1/proxy.pb.go @@ -298,6 +298,8 @@ type ProxyConfig struct { ParentShutdownDuration *google_protobuf.Duration `protobuf:"bytes,5,opt,name=parent_shutdown_duration,json=parentShutdownDuration" json:"parent_shutdown_duration,omitempty"` // Address of the discovery service exposing xDS with mTLS connection. DiscoveryAddress string `protobuf:"bytes,6,opt,name=discovery_address,json=discoveryAddress,proto3" json:"discovery_address,omitempty"` + // $hide_from_docs + DiscoveryRefreshDelay *google_protobuf.Duration `protobuf:"bytes,7,opt,name=discovery_refresh_delay,json=discoveryRefreshDelay" json:"discovery_refresh_delay,omitempty"` // Address of the Zipkin service (e.g. _zipkin:9411_). // DEPRECATED: Use [tracing][istio.mesh.v1alpha1.ProxyConfig.tracing] instead. ZipkinAddress string `protobuf:"bytes,8,opt,name=zipkin_address,json=zipkinAddress,proto3" json:"zipkin_address,omitempty"` @@ -307,6 +309,8 @@ type ProxyConfig struct { StatsdUdpAddress string `protobuf:"bytes,10,opt,name=statsd_udp_address,json=statsdUdpAddress,proto3" json:"statsd_udp_address,omitempty"` // Port on which Envoy should listen for administrative commands. ProxyAdminPort int32 `protobuf:"varint,11,opt,name=proxy_admin_port,json=proxyAdminPort,proto3" json:"proxy_admin_port,omitempty"` + // $hide_from_docs + AvailabilityZone string `protobuf:"bytes,12,opt,name=availability_zone,json=availabilityZone,proto3" json:"availability_zone,omitempty"` // Authentication policy defines the global switch to control authentication // for Envoy-to-Envoy communication for istio components Mixer and Pilot. ControlPlaneAuthPolicy AuthenticationPolicy `protobuf:"varint,13,opt,name=control_plane_auth_policy,json=controlPlaneAuthPolicy,proto3,enum=istio.mesh.v1alpha1.AuthenticationPolicy" json:"control_plane_auth_policy,omitempty"` @@ -376,6 +380,13 @@ func (m *ProxyConfig) GetDiscoveryAddress() string { return "" } +func (m *ProxyConfig) GetDiscoveryRefreshDelay() *google_protobuf.Duration { + if m != nil { + return m.DiscoveryRefreshDelay + } + return nil +} + func (m *ProxyConfig) GetZipkinAddress() string { if m != nil { return m.ZipkinAddress @@ -404,6 +415,13 @@ func (m *ProxyConfig) GetProxyAdminPort() int32 { return 0 } +func (m *ProxyConfig) GetAvailabilityZone() string { + if m != nil { + return m.AvailabilityZone + } + return "" +} + func (m *ProxyConfig) GetControlPlaneAuthPolicy() AuthenticationPolicy { if m != nil { return m.ControlPlaneAuthPolicy @@ -643,6 +661,16 @@ func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProxy(dAtA, i, uint64(len(m.DiscoveryAddress))) i += copy(dAtA[i:], m.DiscoveryAddress) } + if m.DiscoveryRefreshDelay != nil { + dAtA[i] = 0x3a + i++ + i = encodeVarintProxy(dAtA, i, uint64(m.DiscoveryRefreshDelay.Size())) + n6, err := m.DiscoveryRefreshDelay.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + } if len(m.ZipkinAddress) > 0 { dAtA[i] = 0x42 i++ @@ -653,11 +681,11 @@ func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x4a i++ i = encodeVarintProxy(dAtA, i, uint64(m.ConnectTimeout.Size())) - n6, err := m.ConnectTimeout.MarshalTo(dAtA[i:]) + n7, err := m.ConnectTimeout.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n6 + i += n7 } if len(m.StatsdUdpAddress) > 0 { dAtA[i] = 0x52 @@ -670,6 +698,12 @@ func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintProxy(dAtA, i, uint64(m.ProxyAdminPort)) } + if len(m.AvailabilityZone) > 0 { + dAtA[i] = 0x62 + i++ + i = encodeVarintProxy(dAtA, i, uint64(len(m.AvailabilityZone))) + i += copy(dAtA[i:], m.AvailabilityZone) + } if m.ControlPlaneAuthPolicy != 0 { dAtA[i] = 0x68 i++ @@ -714,11 +748,11 @@ func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintProxy(dAtA, i, uint64(m.Tracing.Size())) - n7, err := m.Tracing.MarshalTo(dAtA[i:]) + n8, err := m.Tracing.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n7 + i += n8 } return i, nil } @@ -817,6 +851,10 @@ func (m *ProxyConfig) Size() (n int) { if l > 0 { n += 1 + l + sovProxy(uint64(l)) } + if m.DiscoveryRefreshDelay != nil { + l = m.DiscoveryRefreshDelay.Size() + n += 1 + l + sovProxy(uint64(l)) + } l = len(m.ZipkinAddress) if l > 0 { n += 1 + l + sovProxy(uint64(l)) @@ -832,6 +870,10 @@ func (m *ProxyConfig) Size() (n int) { if m.ProxyAdminPort != 0 { n += 1 + sovProxy(uint64(m.ProxyAdminPort)) } + l = len(m.AvailabilityZone) + if l > 0 { + n += 1 + l + sovProxy(uint64(l)) + } if m.ControlPlaneAuthPolicy != 0 { n += 1 + sovProxy(uint64(m.ControlPlaneAuthPolicy)) } @@ -1433,6 +1475,39 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { } m.DiscoveryAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DiscoveryRefreshDelay", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProxy + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthProxy + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DiscoveryRefreshDelay == nil { + m.DiscoveryRefreshDelay = &google_protobuf.Duration{} + } + if err := m.DiscoveryRefreshDelay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 8: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ZipkinAddress", wireType) @@ -1543,6 +1618,35 @@ func (m *ProxyConfig) Unmarshal(dAtA []byte) error { break } } + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AvailabilityZone", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProxy + } + 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 ErrInvalidLengthProxy + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AvailabilityZone = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 13: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field ControlPlaneAuthPolicy", wireType) @@ -1839,57 +1943,59 @@ var ( func init() { proto.RegisterFile("mesh/v1alpha1/proxy.proto", fileDescriptorProxy) } var fileDescriptorProxy = []byte{ - // 819 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x94, 0x41, 0x6f, 0xe3, 0x44, - 0x14, 0xc7, 0xeb, 0xd2, 0x4d, 0x9c, 0x97, 0x36, 0x75, 0x67, 0x51, 0x71, 0x23, 0x28, 0xa1, 0x48, - 0x90, 0x05, 0xe4, 0x68, 0xbb, 0x12, 0xe2, 0x02, 0x22, 0xe9, 0x76, 0xd5, 0xac, 0xba, 0xdd, 0xc8, - 0x75, 0x25, 0xd8, 0xcb, 0x68, 0x32, 0x9e, 0xc6, 0xa3, 0x75, 0x66, 0xac, 0x99, 0x71, 0x21, 0xdc, - 0xb8, 0xf0, 0xc1, 0x38, 0x71, 0xe4, 0x23, 0xa0, 0x9e, 0xf8, 0x18, 0xc8, 0x33, 0x76, 0x28, 0xa8, - 0xbb, 0x7b, 0xf3, 0xfc, 0xe7, 0xf7, 0x7f, 0xfe, 0xdb, 0xef, 0xcd, 0xc0, 0xc1, 0x92, 0xe9, 0x6c, - 0x74, 0xf3, 0x98, 0xe4, 0x45, 0x46, 0x1e, 0x8f, 0x0a, 0x25, 0x7f, 0x5e, 0x45, 0x85, 0x92, 0x46, - 0xa2, 0x87, 0x5c, 0x1b, 0x2e, 0xa3, 0x0a, 0x88, 0x1a, 0xa0, 0x7f, 0xb8, 0x90, 0x72, 0x91, 0xb3, - 0x91, 0x45, 0xe6, 0xe5, 0xf5, 0x28, 0x2d, 0x15, 0x31, 0x5c, 0x0a, 0x67, 0x3a, 0xfa, 0x7d, 0x13, - 0xda, 0x89, 0x22, 0x94, 0x8b, 0x05, 0xfa, 0x16, 0x5a, 0xbf, 0xf0, 0xe2, 0x35, 0x17, 0xa1, 0x37, - 0xf0, 0x86, 0xdd, 0xe3, 0x4f, 0xa3, 0x7b, 0x2a, 0x46, 0x35, 0x1d, 0xbd, 0xb2, 0xe8, 0xd9, 0x46, - 0x5c, 0x9b, 0xd0, 0x33, 0xe8, 0xe4, 0x7c, 0x91, 0x19, 0x6d, 0x58, 0x11, 0x6e, 0xda, 0x0a, 0x9f, - 0xbd, 0xb5, 0xc2, 0x79, 0x43, 0x9f, 0x6d, 0xc4, 0xff, 0x5a, 0xfb, 0x47, 0xd0, 0x72, 0xb5, 0x51, - 0x08, 0x6d, 0x92, 0xa6, 0x8a, 0x69, 0x6d, 0x13, 0x75, 0xe2, 0x66, 0xd9, 0xff, 0xd5, 0x83, 0xce, - 0xda, 0xfe, 0x66, 0x0e, 0x7d, 0x02, 0xdb, 0x84, 0x52, 0xa6, 0x35, 0x36, 0xf2, 0x35, 0x13, 0x36, - 0x56, 0x27, 0xee, 0x3a, 0x2d, 0xa9, 0x24, 0xb4, 0x0f, 0x2d, 0xcd, 0x68, 0xa9, 0x58, 0xf8, 0xde, - 0xc0, 0x1b, 0xfa, 0x71, 0xbd, 0x42, 0x1f, 0x43, 0x97, 0x12, 0xca, 0x94, 0xc1, 0x05, 0x31, 0x59, - 0xb8, 0x65, 0x9d, 0xe0, 0xa4, 0x19, 0x31, 0xd9, 0xc4, 0x87, 0x96, 0x51, 0xd5, 0xf2, 0xe8, 0x37, - 0x1f, 0xba, 0xb3, 0xaa, 0x13, 0x27, 0x52, 0x5c, 0xf3, 0x85, 0xb5, 0xda, 0x27, 0x67, 0xf5, 0x6a, - 0xab, 0x95, 0x2a, 0x6b, 0x05, 0xcc, 0xb9, 0x20, 0x6a, 0xe5, 0x00, 0x97, 0x0a, 0x9c, 0x64, 0x81, - 0xcf, 0x61, 0x57, 0x33, 0x75, 0xc3, 0x29, 0xc3, 0x34, 0x2f, 0xb5, 0x61, 0xca, 0xa6, 0xeb, 0xc4, - 0xbd, 0x5a, 0x3e, 0x71, 0x2a, 0xfa, 0x1e, 0x7a, 0xa9, 0x22, 0x5c, 0xe0, 0xa6, 0xaf, 0x36, 0x68, - 0xf7, 0xf8, 0x20, 0x72, 0x8d, 0x8f, 0x9a, 0xc6, 0x47, 0x4f, 0x6b, 0x20, 0xde, 0xb1, 0x86, 0x66, - 0x89, 0x2e, 0x21, 0x2c, 0x88, 0x62, 0xc2, 0x60, 0x9d, 0x95, 0x26, 0x95, 0x3f, 0xdd, 0xa9, 0xf5, - 0xe0, 0x5d, 0xb5, 0xf6, 0x9d, 0xf5, 0xb2, 0x76, 0xae, 0x8b, 0x7e, 0x09, 0x7b, 0x29, 0xd7, 0x54, - 0xde, 0x30, 0xb5, 0xc2, 0x4d, 0x6f, 0x5a, 0xf6, 0x0b, 0x82, 0xf5, 0xc6, 0xb8, 0x6e, 0xd2, 0x23, - 0xe8, 0xb9, 0x11, 0x5a, 0x93, 0x7e, 0x45, 0x4e, 0x36, 0x43, 0x2f, 0xde, 0x71, 0x3b, 0x0d, 0x3a, - 0x81, 0x5d, 0x2a, 0x85, 0x60, 0xd4, 0x60, 0xc3, 0x97, 0x4c, 0x96, 0x26, 0xec, 0xbc, 0x2b, 0x63, - 0xaf, 0x76, 0x24, 0xce, 0x80, 0xbe, 0x02, 0xa4, 0x0d, 0x31, 0x3a, 0xc5, 0x65, 0x5a, 0xac, 0x5f, - 0x09, 0x2e, 0x9c, 0xdb, 0xb9, 0x4a, 0x8b, 0xe6, 0x8d, 0x43, 0x08, 0xec, 0x21, 0xc3, 0x24, 0x5d, - 0x72, 0x81, 0x0b, 0xa9, 0x4c, 0xd8, 0x1d, 0x78, 0xc3, 0x07, 0x71, 0xcf, 0xea, 0xe3, 0x4a, 0x9e, - 0x49, 0x65, 0x50, 0x0a, 0x07, 0x54, 0x0a, 0xa3, 0x64, 0x8e, 0x8b, 0x9c, 0x08, 0x86, 0x49, 0x69, - 0x32, 0x5c, 0xc8, 0x9c, 0xd3, 0x55, 0xb8, 0x33, 0xf0, 0x86, 0xbd, 0xe3, 0x47, 0xf7, 0x9e, 0x87, - 0x71, 0x69, 0x32, 0x26, 0x0c, 0xa7, 0x36, 0xef, 0xcc, 0x1a, 0xe2, 0xfd, 0xba, 0xd6, 0xac, 0x2a, - 0x55, 0x11, 0x4e, 0xaf, 0xd2, 0xd3, 0x52, 0x1b, 0xb9, 0xc4, 0xf5, 0x88, 0x5d, 0xf3, 0x9c, 0x85, - 0x3d, 0x97, 0xde, 0xed, 0xb8, 0x29, 0x7c, 0xc6, 0x73, 0x56, 0xa5, 0xaf, 0xbe, 0x08, 0x0b, 0xb2, - 0x64, 0x38, 0x67, 0x62, 0x61, 0xb2, 0x70, 0xd7, 0xa5, 0xaf, 0xf4, 0x0b, 0xb2, 0x64, 0xe7, 0x56, - 0x45, 0x03, 0x3b, 0xb3, 0xb4, 0x54, 0x8a, 0x09, 0xba, 0x0a, 0x03, 0x0b, 0xdd, 0x95, 0xd0, 0x18, - 0x3e, 0x72, 0x7f, 0x62, 0x2e, 0xa5, 0xd1, 0x46, 0x91, 0x02, 0x1b, 0xb6, 0x2c, 0x72, 0x62, 0x98, - 0x1b, 0xe3, 0x3d, 0x1b, 0xa2, 0x6f, 0xa1, 0x49, 0xc3, 0x24, 0x35, 0x62, 0xc7, 0x9a, 0xc1, 0x1e, - 0x17, 0x86, 0x29, 0xca, 0x8a, 0xea, 0x53, 0xf1, 0x52, 0xa6, 0x2c, 0x44, 0xf6, 0xd7, 0x7c, 0x73, - 0xef, 0xaf, 0xb9, 0x73, 0xaa, 0xa2, 0xa9, 0x98, 0xcb, 0x52, 0xa4, 0xd3, 0x3b, 0x05, 0x5e, 0xc8, - 0x94, 0xc5, 0x01, 0xff, 0x9f, 0x82, 0xbe, 0x86, 0xb6, 0x71, 0x77, 0x4c, 0xf8, 0xd0, 0x4e, 0xc7, - 0x87, 0x6f, 0xbb, 0x87, 0xe2, 0x06, 0x3e, 0x7a, 0x02, 0x1f, 0xbc, 0xe1, 0x25, 0x68, 0x1b, 0xfc, - 0xf8, 0xf4, 0xe9, 0x34, 0x3e, 0x3d, 0x49, 0x82, 0x0d, 0x04, 0xd0, 0x4a, 0x66, 0xf1, 0xcb, 0x1f, - 0x7e, 0x0c, 0xbc, 0xe7, 0x5b, 0x7e, 0x3b, 0xf0, 0x9f, 0x6f, 0xf9, 0xdb, 0xc1, 0xce, 0x17, 0xdf, - 0xc1, 0xfb, 0xf7, 0x35, 0x13, 0xf9, 0xb0, 0x75, 0xf1, 0xf2, 0xe2, 0x34, 0xd8, 0x40, 0x3d, 0x80, - 0x17, 0x57, 0xc9, 0xd5, 0xf8, 0x1c, 0x27, 0xe7, 0x97, 0x81, 0x87, 0xb6, 0xa1, 0x3d, 0xbd, 0x38, - 0x3b, 0x8d, 0xa7, 0x49, 0xf0, 0x77, 0x7b, 0x32, 0xfc, 0xe3, 0xf6, 0xd0, 0xfb, 0xf3, 0xf6, 0xd0, - 0xfb, 0xeb, 0xf6, 0xd0, 0x7b, 0xd5, 0x77, 0xa1, 0xb9, 0x1c, 0x91, 0x82, 0x8f, 0xfe, 0x73, 0xf1, - 0xcf, 0x5b, 0x76, 0xce, 0x9f, 0xfc, 0x13, 0x00, 0x00, 0xff, 0xff, 0x81, 0x53, 0x42, 0xee, 0x10, - 0x06, 0x00, 0x00, + // 862 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5d, 0x6f, 0xe3, 0x44, + 0x14, 0xad, 0x97, 0xdd, 0x7c, 0xdc, 0xb4, 0xa9, 0x3b, 0x0b, 0x5d, 0x37, 0x82, 0x12, 0x8a, 0x04, + 0x59, 0x40, 0x8e, 0xb6, 0x2b, 0x21, 0x5e, 0x40, 0x24, 0x6d, 0x57, 0x8d, 0xd4, 0xed, 0x46, 0xae, + 0x2b, 0x41, 0x5f, 0x46, 0x13, 0xfb, 0x36, 0x1e, 0xad, 0x33, 0x63, 0x8d, 0xc7, 0x85, 0xec, 0x1b, + 0xfc, 0x34, 0x9e, 0x78, 0xe4, 0x27, 0xa0, 0x3e, 0xf1, 0x33, 0x90, 0x67, 0xec, 0x6c, 0x40, 0xdd, + 0xed, 0x5b, 0xe6, 0xcc, 0x39, 0x77, 0xce, 0x99, 0x3b, 0xd7, 0x81, 0xbd, 0x05, 0xe6, 0xc9, 0xf0, + 0xe6, 0x19, 0x4b, 0xb3, 0x84, 0x3d, 0x1b, 0x66, 0x4a, 0xfe, 0xba, 0xf4, 0x33, 0x25, 0xb5, 0x24, + 0x8f, 0x79, 0xae, 0xb9, 0xf4, 0x4b, 0x82, 0x5f, 0x13, 0x7a, 0xfb, 0x73, 0x29, 0xe7, 0x29, 0x0e, + 0x0d, 0x65, 0x56, 0x5c, 0x0f, 0xe3, 0x42, 0x31, 0xcd, 0xa5, 0xb0, 0xa2, 0x83, 0x3f, 0x1e, 0x40, + 0x33, 0x54, 0x2c, 0xe2, 0x62, 0x4e, 0xbe, 0x87, 0xc6, 0x1b, 0x9e, 0xbd, 0xe6, 0xc2, 0x73, 0xfa, + 0xce, 0xa0, 0x73, 0xf8, 0xb9, 0x7f, 0x47, 0x45, 0xbf, 0x62, 0xfb, 0x57, 0x86, 0x7a, 0xba, 0x11, + 0x54, 0x22, 0xf2, 0x02, 0xda, 0x29, 0x9f, 0x27, 0x3a, 0xd7, 0x98, 0x79, 0x0f, 0x4c, 0x85, 0x2f, + 0xde, 0x5b, 0xe1, 0xac, 0x66, 0x9f, 0x6e, 0x04, 0x6f, 0xa5, 0xbd, 0x03, 0x68, 0xd8, 0xda, 0xc4, + 0x83, 0x26, 0x8b, 0x63, 0x85, 0x79, 0x6e, 0x1c, 0xb5, 0x83, 0x7a, 0xd9, 0xfb, 0xcd, 0x81, 0xf6, + 0x4a, 0xfe, 0x6e, 0x1e, 0xf9, 0x0c, 0x36, 0x59, 0x14, 0x61, 0x9e, 0x53, 0x2d, 0x5f, 0xa3, 0x30, + 0xb6, 0xda, 0x41, 0xc7, 0x62, 0x61, 0x09, 0x91, 0x5d, 0x68, 0xe4, 0x18, 0x15, 0x0a, 0xbd, 0x0f, + 0xfa, 0xce, 0xa0, 0x15, 0x54, 0x2b, 0xf2, 0x29, 0x74, 0x22, 0x16, 0xa1, 0xd2, 0x34, 0x63, 0x3a, + 0xf1, 0x1e, 0x1a, 0x25, 0x58, 0x68, 0xca, 0x74, 0x32, 0x6e, 0x41, 0x43, 0xab, 0x72, 0x79, 0xf0, + 0x7b, 0x1b, 0x3a, 0xd3, 0xb2, 0x13, 0x47, 0x52, 0x5c, 0xf3, 0xb9, 0x91, 0x9a, 0x5f, 0x56, 0xea, + 0x54, 0x52, 0x03, 0x95, 0xd2, 0x92, 0x30, 0xe3, 0x82, 0xa9, 0xa5, 0x25, 0x58, 0x57, 0x60, 0x21, + 0x43, 0xf8, 0x12, 0xb6, 0x73, 0x54, 0x37, 0x3c, 0x42, 0x1a, 0xa5, 0x45, 0xae, 0x51, 0x19, 0x77, + 0xed, 0xa0, 0x5b, 0xc1, 0x47, 0x16, 0x25, 0x3f, 0x42, 0x37, 0x56, 0x8c, 0x0b, 0x5a, 0xf7, 0xd5, + 0x18, 0xed, 0x1c, 0xee, 0xf9, 0xb6, 0xf1, 0x7e, 0xdd, 0x78, 0xff, 0xb8, 0x22, 0x04, 0x5b, 0x46, + 0x50, 0x2f, 0xc9, 0x05, 0x78, 0x19, 0x53, 0x28, 0x34, 0xcd, 0x93, 0x42, 0xc7, 0xf2, 0x97, 0xb5, + 0x5a, 0x8f, 0xee, 0xab, 0xb5, 0x6b, 0xa5, 0x17, 0x95, 0x72, 0x55, 0xf4, 0x6b, 0xd8, 0x89, 0x79, + 0x1e, 0xc9, 0x1b, 0x54, 0x4b, 0x5a, 0xf7, 0xa6, 0x61, 0x12, 0xb8, 0xab, 0x8d, 0x51, 0xd5, 0xa4, + 0x4b, 0x78, 0xf2, 0x96, 0xac, 0xf0, 0x5a, 0x61, 0x9e, 0xd0, 0x18, 0x53, 0xb6, 0xf4, 0x9a, 0xf7, + 0x18, 0x18, 0x3f, 0xf0, 0x9c, 0xe0, 0xa3, 0x95, 0x3a, 0xb0, 0xe2, 0xe3, 0x52, 0x4b, 0x9e, 0x42, + 0xd7, 0xbe, 0xcc, 0x95, 0x81, 0x56, 0x69, 0xc0, 0x48, 0xb6, 0xec, 0x4e, 0xed, 0x60, 0x0c, 0xdb, + 0x91, 0x14, 0x02, 0x23, 0x4d, 0x35, 0x5f, 0xa0, 0x2c, 0xb4, 0xd7, 0xbe, 0x2f, 0x7a, 0xb7, 0x52, + 0x84, 0x56, 0x40, 0xbe, 0x01, 0x92, 0x6b, 0xa6, 0xf3, 0x98, 0x16, 0x71, 0xb6, 0x3a, 0x12, 0x6c, + 0x66, 0xbb, 0x73, 0x19, 0x67, 0xf5, 0x89, 0x03, 0x70, 0xcd, 0xec, 0x52, 0x16, 0x2f, 0xb8, 0xa0, + 0x99, 0x54, 0xda, 0xeb, 0xf4, 0x9d, 0xc1, 0xa3, 0xa0, 0x6b, 0xf0, 0x51, 0x09, 0x4f, 0xa5, 0xd2, + 0x64, 0x08, 0x3b, 0xec, 0x86, 0xf1, 0x94, 0xcd, 0x78, 0xca, 0xf5, 0x92, 0xbe, 0x91, 0x02, 0xbd, + 0xcd, 0x55, 0x12, 0x77, 0x7d, 0xf3, 0x4a, 0x0a, 0x24, 0x31, 0xec, 0x45, 0x52, 0x68, 0x25, 0x53, + 0x9a, 0xa5, 0x4c, 0x20, 0x65, 0x85, 0x4e, 0x68, 0x26, 0x53, 0x1e, 0x2d, 0xbd, 0xad, 0xbe, 0x33, + 0xe8, 0x1e, 0x3e, 0xbd, 0x73, 0x2e, 0x47, 0x85, 0x4e, 0x50, 0x68, 0x1e, 0x99, 0x80, 0x53, 0x23, + 0x08, 0x76, 0xab, 0x5a, 0xd3, 0xb2, 0x54, 0xc9, 0xb0, 0x78, 0x19, 0x37, 0x2a, 0x72, 0x2d, 0x17, + 0xb4, 0x7a, 0xea, 0xd7, 0x3c, 0x45, 0xaf, 0x6b, 0xe3, 0xda, 0x1d, 0x3b, 0x0d, 0x2f, 0x78, 0x8a, + 0x65, 0xdc, 0xf2, 0x0a, 0xa8, 0x60, 0x0b, 0xa4, 0x29, 0x8a, 0xb9, 0x4e, 0xbc, 0x6d, 0x1b, 0xb7, + 0xc4, 0xcf, 0xd9, 0x02, 0xcf, 0x0c, 0x4a, 0xfa, 0x66, 0x76, 0xa2, 0x42, 0x29, 0x14, 0xd1, 0xd2, + 0x73, 0x0d, 0x69, 0x1d, 0x22, 0x23, 0xf8, 0xc4, 0x5e, 0xdd, 0x4c, 0x4a, 0x9d, 0x6b, 0xc5, 0x32, + 0xaa, 0x71, 0x91, 0xa5, 0x4c, 0xa3, 0x1d, 0xa7, 0x1d, 0x63, 0xa2, 0x67, 0x48, 0xe3, 0x9a, 0x13, + 0x56, 0x14, 0x33, 0x5e, 0x08, 0x3b, 0x5c, 0x68, 0x54, 0x11, 0x66, 0x65, 0x54, 0xba, 0x90, 0x31, + 0x7a, 0xc4, 0x5c, 0xcd, 0x77, 0x77, 0x5e, 0xcd, 0xda, 0x74, 0xfb, 0x13, 0x31, 0x93, 0x85, 0x88, + 0x27, 0x6b, 0x05, 0x5e, 0xca, 0x18, 0x03, 0x97, 0xff, 0x0f, 0x21, 0xdf, 0x42, 0x53, 0xdb, 0x6f, + 0x9d, 0xf7, 0xd8, 0x3c, 0xa7, 0x8f, 0xdf, 0xf7, 0x3d, 0x0c, 0x6a, 0xf2, 0xc1, 0x73, 0x78, 0xf2, + 0x8e, 0x43, 0xc8, 0x26, 0xb4, 0x82, 0x93, 0xe3, 0x49, 0x70, 0x72, 0x14, 0xba, 0x1b, 0x04, 0xa0, + 0x11, 0x4e, 0x83, 0x57, 0x3f, 0xfd, 0xec, 0x3a, 0x5f, 0xfd, 0x00, 0x1f, 0xde, 0xd5, 0x40, 0xd2, + 0x82, 0x87, 0xe7, 0xaf, 0xce, 0x4f, 0xdc, 0x0d, 0xd2, 0x05, 0x78, 0x79, 0x19, 0x5e, 0x8e, 0xce, + 0x68, 0x78, 0x76, 0xe1, 0x3a, 0x64, 0x13, 0x9a, 0x93, 0xf3, 0xd3, 0x93, 0x60, 0x12, 0xba, 0xff, + 0x34, 0xc7, 0x83, 0x3f, 0x6f, 0xf7, 0x9d, 0xbf, 0x6e, 0xf7, 0x9d, 0xbf, 0x6f, 0xf7, 0x9d, 0xab, + 0x9e, 0x35, 0xca, 0xe5, 0x90, 0x65, 0x7c, 0xf8, 0x9f, 0x3f, 0x9d, 0x59, 0xc3, 0x0c, 0xc3, 0xf3, + 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x65, 0xf7, 0xfe, 0xe0, 0x8c, 0x06, 0x00, 0x00, } diff --git a/mesh/v1alpha1/proxy.proto b/mesh/v1alpha1/proxy.proto index 0f78df160b..fcdd14defc 100644 --- a/mesh/v1alpha1/proxy.proto +++ b/mesh/v1alpha1/proxy.proto @@ -106,7 +106,8 @@ message ProxyConfig { // Address of the discovery service exposing xDS with mTLS connection. string discovery_address = 6; - reserved 7; + // $hide_from_docs + google.protobuf.Duration discovery_refresh_delay = 7 [deprecated=true]; // Address of the Zipkin service (e.g. _zipkin:9411_). // DEPRECATED: Use [tracing][istio.mesh.v1alpha1.ProxyConfig.tracing] instead. @@ -121,7 +122,8 @@ message ProxyConfig { // Port on which Envoy should listen for administrative commands. int32 proxy_admin_port = 11; - reserved 12; + // $hide_from_docs + string availability_zone = 12 [deprecated=true]; // Authentication policy defines the global switch to control authentication // for Envoy-to-Envoy communication for istio components Mixer and Pilot. diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go index 26e8a474f6..5e36f5a482 100644 --- a/networking/v1alpha3/destination_rule.pb.go +++ b/networking/v1alpha3/destination_rule.pb.go @@ -1030,6 +1030,12 @@ type OutlierDetection struct { // Maximum % of hosts in the load balancing pool for the upstream // service that can be ejected. Defaults to 10%. MaxEjectionPercent int32 `protobuf:"varint,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"` + // Outlier detection will be enabled as long as the associated load balancing + // pool has at least min_health_percent hosts in healthy mode. When the + // percentage of healthy hosts in the load balancing pool drops below this + // threshold, outlier detection will be disabled and the proxy will load balance + // across all hosts in the pool (healthy and unhealthy). The default is 50%. + MinHealthPercent int32 `protobuf:"varint,5,opt,name=min_health_percent,json=minHealthPercent,proto3" json:"min_health_percent,omitempty"` } func (m *OutlierDetection) Reset() { *m = OutlierDetection{} } @@ -1065,6 +1071,13 @@ func (m *OutlierDetection) GetMaxEjectionPercent() int32 { return 0 } +func (m *OutlierDetection) GetMinHealthPercent() int32 { + if m != nil { + return m.MinHealthPercent + } + return 0 +} + // SSL/TLS related settings for upstream connections. See Envoy's [TLS // context](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/auth/cert.proto.html) // for more details. These settings are common to both HTTP and TCP upstreams. @@ -1743,6 +1756,11 @@ func (m *OutlierDetection) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintDestinationRule(dAtA, i, uint64(m.MaxEjectionPercent)) } + if m.MinHealthPercent != 0 { + dAtA[i] = 0x28 + i++ + i = encodeVarintDestinationRule(dAtA, i, uint64(m.MinHealthPercent)) + } return i, nil } @@ -2051,6 +2069,9 @@ func (m *OutlierDetection) Size() (n int) { if m.MaxEjectionPercent != 0 { n += 1 + sovDestinationRule(uint64(m.MaxEjectionPercent)) } + if m.MinHealthPercent != 0 { + n += 1 + sovDestinationRule(uint64(m.MinHealthPercent)) + } return n } @@ -3770,6 +3791,25 @@ func (m *OutlierDetection) Unmarshal(dAtA []byte) error { break } } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinHealthPercent", wireType) + } + m.MinHealthPercent = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDestinationRule + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MinHealthPercent |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipDestinationRule(dAtA[iNdEx:]) @@ -4115,86 +4155,87 @@ func init() { } var fileDescriptorDestinationRule = []byte{ - // 1292 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xdd, 0x6e, 0x1b, 0xb7, - 0x12, 0xb6, 0x7e, 0x63, 0x8f, 0x62, 0x79, 0xcd, 0x63, 0x9c, 0xa3, 0xe8, 0x00, 0x8e, 0x2b, 0x14, - 0x8d, 0x9b, 0x36, 0xab, 0xda, 0x41, 0x81, 0x34, 0x41, 0x8a, 0x58, 0xb6, 0x10, 0x19, 0x91, 0x2d, - 0x81, 0x2b, 0x03, 0x45, 0x6e, 0x16, 0xd4, 0x8a, 0x96, 0x18, 0xaf, 0x96, 0x5b, 0x92, 0xab, 0xda, - 0x79, 0x8f, 0x16, 0x7d, 0x82, 0xbe, 0x40, 0x5f, 0xa2, 0xe8, 0x55, 0x6f, 0xdb, 0x9b, 0x16, 0x79, - 0x81, 0x5e, 0x14, 0xbd, 0x2f, 0xc8, 0xdd, 0x95, 0xe4, 0xc4, 0x71, 0x62, 0xa4, 0xb9, 0xe3, 0x72, - 0xe6, 0xfb, 0x38, 0xc3, 0x19, 0x7e, 0x23, 0xc1, 0xed, 0x80, 0xaa, 0x6f, 0xb8, 0x38, 0x61, 0xc1, - 0xb0, 0x3e, 0xd9, 0x22, 0x7e, 0x38, 0x22, 0x77, 0xeb, 0x03, 0x2a, 0x15, 0x0b, 0x88, 0x62, 0x3c, - 0x70, 0x45, 0xe4, 0x53, 0x3b, 0x14, 0x5c, 0x71, 0x74, 0x83, 0x49, 0xc5, 0xb8, 0x3d, 0x43, 0xd8, - 0x29, 0xa2, 0xba, 0x3e, 0xe4, 0x7c, 0xe8, 0xd3, 0xba, 0x71, 0xec, 0x47, 0xc7, 0xf5, 0x41, 0x24, - 0x0c, 0x3e, 0x86, 0x56, 0x3f, 0xbe, 0xe8, 0x98, 0x09, 0x13, 0x2a, 0x22, 0xbe, 0x2b, 0xa9, 0x98, - 0x30, 0x2f, 0x39, 0xa5, 0xba, 0x36, 0xe4, 0x43, 0x6e, 0x96, 0x75, 0xbd, 0x8a, 0x77, 0x6b, 0x3f, - 0x66, 0x60, 0x65, 0x6f, 0x16, 0x16, 0x8e, 0x7c, 0x8a, 0x10, 0xe4, 0x47, 0x5c, 0xaa, 0x4a, 0x66, - 0x23, 0xb3, 0xb9, 0x84, 0xcd, 0x1a, 0x75, 0xa0, 0xac, 0x04, 0x39, 0x3e, 0x66, 0x9e, 0x1b, 0x72, - 0x9f, 0x79, 0x67, 0x95, 0xec, 0x46, 0x66, 0xb3, 0xb4, 0xbd, 0x69, 0xbf, 0x36, 0x78, 0xbb, 0x17, - 0x03, 0xba, 0xc6, 0x1f, 0x2f, 0xab, 0xf9, 0x4f, 0xf4, 0x00, 0xae, 0xc9, 0xa8, 0x2f, 0xa9, 0x92, - 0x95, 0xdc, 0x46, 0x6e, 0xb3, 0xb4, 0xfd, 0xc1, 0x25, 0x4c, 0x8e, 0xf1, 0xc4, 0x29, 0xa2, 0xf6, - 0x5b, 0x11, 0x96, 0xcf, 0xb1, 0xa3, 0x1e, 0x2c, 0xfb, 0x9c, 0x0c, 0xdc, 0x3e, 0xf1, 0x49, 0xe0, - 0x51, 0x61, 0x82, 0x2f, 0x6d, 0xd7, 0x2f, 0x21, 0x6d, 0x73, 0x32, 0x68, 0x24, 0xee, 0x0e, 0x55, - 0x8a, 0x05, 0x43, 0x89, 0xaf, 0xfb, 0x73, 0xbb, 0xe8, 0x29, 0xac, 0x78, 0x3c, 0x08, 0xa8, 0x67, - 0x4a, 0x16, 0x72, 0xee, 0x27, 0x69, 0x6f, 0x5d, 0xc2, 0xbb, 0x3b, 0x45, 0x74, 0x39, 0xf7, 0xa7, - 0xcc, 0x65, 0xef, 0xdc, 0x3e, 0xfa, 0x0a, 0x56, 0x79, 0xa4, 0x7c, 0x46, 0x85, 0x3b, 0xa0, 0x2a, - 0x36, 0x54, 0x72, 0x86, 0xfd, 0x93, 0x4b, 0xd8, 0x3b, 0x31, 0x66, 0x2f, 0x85, 0x60, 0x8b, 0xbf, - 0xb4, 0x83, 0xee, 0x41, 0x4e, 0xf9, 0xb2, 0x92, 0x37, 0x5c, 0x1f, 0x5d, 0x56, 0xa0, 0xb6, 0x33, - 0x0d, 0x4f, 0x43, 0xd0, 0x33, 0xf8, 0x4f, 0xc8, 0x85, 0x72, 0x7d, 0x3a, 0xa1, 0xba, 0x7f, 0x62, - 0x5b, 0xa5, 0x60, 0x0a, 0x74, 0xff, 0x6d, 0x4b, 0x6d, 0x77, 0xb9, 0x50, 0xe7, 0x8b, 0xbf, 0xaa, - 0x69, 0xdb, 0x9a, 0x35, 0x3d, 0xb0, 0xfa, 0x5d, 0x0e, 0x56, 0x5f, 0x71, 0x44, 0x0f, 0x20, 0xaf, - 0x5d, 0x93, 0xf2, 0xdd, 0xba, 0xe4, 0x48, 0x8d, 0x75, 0xa8, 0x4f, 0x3d, 0xc5, 0x05, 0x36, 0xa0, - 0x57, 0x9b, 0x20, 0xfb, 0x9e, 0x9a, 0x20, 0xf7, 0x5e, 0x9b, 0x20, 0xff, 0x2f, 0x36, 0x41, 0xe1, - 0xca, 0x4d, 0x50, 0xfb, 0x33, 0x03, 0xc5, 0xf8, 0xc1, 0x69, 0x25, 0x08, 0xc8, 0x98, 0xa6, 0x4a, - 0xa0, 0xd7, 0xa8, 0x09, 0x45, 0x9f, 0xf4, 0xa9, 0x2f, 0x2b, 0x59, 0xd3, 0x16, 0x77, 0xde, 0xf8, - 0x6e, 0xed, 0xb6, 0xf1, 0x6f, 0x06, 0x4a, 0x9c, 0xe1, 0x04, 0x7c, 0x81, 0xa0, 0xe4, 0xde, 0x49, - 0x50, 0xaa, 0x5f, 0x40, 0x69, 0xee, 0x1c, 0x64, 0x41, 0xee, 0x84, 0x9e, 0x25, 0x91, 0xeb, 0x25, - 0x5a, 0x83, 0xc2, 0x84, 0xf8, 0x11, 0x35, 0x5d, 0xb1, 0x84, 0xe3, 0x8f, 0xfb, 0xd9, 0x7b, 0x99, - 0xda, 0x0f, 0x05, 0x58, 0xbb, 0xa8, 0x11, 0x10, 0x86, 0xa2, 0x64, 0xe3, 0xd0, 0x8f, 0x6f, 0xa0, - 0xbc, 0x7d, 0xef, 0x8a, 0x9d, 0x64, 0x3b, 0x06, 0xdd, 0x6e, 0xb4, 0x16, 0x70, 0xc2, 0x84, 0x4e, - 0x4c, 0x3b, 0x49, 0x26, 0x15, 0x0d, 0x94, 0x3b, 0x22, 0x72, 0x94, 0xb4, 0xe9, 0xa3, 0xab, 0x92, - 0xef, 0x4e, 0x69, 0x5a, 0x44, 0x8e, 0xcc, 0x21, 0x65, 0xef, 0xdc, 0x5e, 0xf5, 0xef, 0x2c, 0x58, - 0x2f, 0xbb, 0xa1, 0xdb, 0x60, 0x8d, 0x94, 0x0a, 0xdd, 0x11, 0x25, 0x03, 0x2a, 0xdc, 0x59, 0x85, - 0x35, 0x81, 0xb6, 0xb4, 0x8c, 0xe1, 0x50, 0x57, 0x3b, 0x80, 0x92, 0xf1, 0xf5, 0x38, 0x3f, 0x61, - 0x34, 0x89, 0xf4, 0xc9, 0xbb, 0x46, 0x6a, 0xb7, 0x7a, 0xbd, 0xee, 0xae, 0xa1, 0x6c, 0x2d, 0x60, - 0xd0, 0x27, 0xc4, 0x5f, 0xe8, 0x43, 0x58, 0x8e, 0x24, 0x75, 0x25, 0x8f, 0x84, 0x47, 0x5d, 0x16, - 0x9a, 0xae, 0x58, 0x6c, 0x2d, 0xe0, 0x52, 0x24, 0xa9, 0x63, 0x76, 0xf7, 0x43, 0x74, 0x1b, 0x56, - 0xc7, 0x2c, 0x60, 0xe3, 0x68, 0xec, 0x0a, 0x16, 0x0c, 0x5d, 0xc9, 0x9e, 0x53, 0xf3, 0x6c, 0xf2, - 0x78, 0x25, 0x31, 0x60, 0x16, 0x0c, 0x1d, 0xf6, 0x9c, 0x56, 0x87, 0x00, 0xb3, 0xd3, 0x2e, 0xec, - 0x68, 0x04, 0xf9, 0x90, 0xa8, 0x51, 0xd2, 0x17, 0x66, 0x8d, 0xb6, 0x20, 0xa7, 0x54, 0xfa, 0xd0, - 0x6f, 0xd8, 0xf1, 0x18, 0xb6, 0xd3, 0x31, 0x6c, 0xef, 0x25, 0x63, 0xb8, 0x91, 0xff, 0xfe, 0xf7, - 0x9b, 0x19, 0xac, 0x7d, 0x1b, 0x00, 0x8b, 0xba, 0x9a, 0xee, 0x09, 0x3d, 0xab, 0xb5, 0x60, 0x31, - 0x2d, 0x3d, 0x5a, 0x81, 0x12, 0xee, 0x1c, 0x1d, 0xee, 0xb9, 0xb8, 0xd3, 0xd8, 0x3f, 0xb4, 0x16, - 0x50, 0x19, 0xa0, 0xdd, 0xdc, 0x71, 0x7a, 0xee, 0x6e, 0xe7, 0xf0, 0xd0, 0xca, 0x20, 0x80, 0x22, - 0xde, 0x39, 0xdc, 0xeb, 0x1c, 0x58, 0x59, 0xed, 0xdc, 0xdd, 0x71, 0x9c, 0x5e, 0x0b, 0x77, 0x8e, - 0x1e, 0xb7, 0xac, 0x5c, 0xa3, 0x04, 0x4b, 0x7e, 0x3f, 0x79, 0x22, 0xb5, 0x6f, 0xf3, 0xf0, 0xdf, - 0x8b, 0x95, 0x05, 0x75, 0x20, 0xa7, 0xbc, 0x30, 0xd1, 0xcd, 0x87, 0x57, 0x56, 0x26, 0xbb, 0xb7, - 0xdb, 0x9d, 0x93, 0x01, 0x2f, 0x44, 0x18, 0xf2, 0xba, 0x2e, 0x49, 0xc9, 0xbf, 0xbc, 0x3a, 0xa3, - 0xbe, 0xf5, 0x29, 0xa5, 0xe1, 0xaa, 0x3e, 0x87, 0xd2, 0xdc, 0x39, 0xe8, 0x16, 0xac, 0x8c, 0xc9, - 0xa9, 0x3b, 0xd3, 0x44, 0x69, 0xe2, 0x2f, 0xe0, 0xf2, 0x98, 0x9c, 0xce, 0x58, 0x25, 0x6a, 0x4c, - 0x25, 0xd8, 0x55, 0x6c, 0x4c, 0x79, 0xa4, 0x92, 0xb0, 0x5e, 0x5f, 0x99, 0xa9, 0xd4, 0xf6, 0x62, - 0x40, 0xf5, 0xd7, 0x0c, 0x5c, 0x9f, 0x0f, 0x09, 0x3d, 0x80, 0xaa, 0x0e, 0x6a, 0xcb, 0xd5, 0x31, - 0x84, 0x34, 0x18, 0xe8, 0x4e, 0x12, 0xf4, 0xeb, 0x88, 0x4a, 0x95, 0x06, 0xf2, 0x3f, 0xe3, 0x71, - 0x40, 0x4e, 0xbb, 0xb1, 0x1d, 0x27, 0x66, 0xf4, 0x29, 0x20, 0x6d, 0xda, 0x36, 0xe0, 0x29, 0x28, - 0x6b, 0x40, 0xe6, 0x75, 0x6d, 0x1f, 0x90, 0xd3, 0xa9, 0xf7, 0x43, 0xf8, 0xff, 0xbc, 0x9f, 0x1b, - 0x52, 0x31, 0x97, 0xb5, 0xe9, 0xb2, 0x02, 0xae, 0x8c, 0x67, 0x88, 0x2e, 0x15, 0xb3, 0xfc, 0xd1, - 0x4d, 0x28, 0xc5, 0x70, 0x25, 0x18, 0x8d, 0x07, 0x7b, 0x01, 0x83, 0x71, 0x37, 0x3b, 0xb5, 0xbf, - 0x32, 0x60, 0xbd, 0x3c, 0x13, 0xd0, 0x1d, 0x40, 0x5a, 0x0d, 0xa8, 0x17, 0x29, 0x36, 0xa1, 0x2e, - 0x15, 0x82, 0x8b, 0x34, 0xaf, 0xd5, 0x39, 0x4b, 0xd3, 0x18, 0xd0, 0xe7, 0xb0, 0xc8, 0x02, 0x45, - 0xc5, 0x84, 0xf8, 0x6f, 0xbe, 0xdc, 0xa9, 0x2b, 0x7a, 0x0c, 0xa8, 0x4f, 0x24, 0x75, 0xe9, 0xb3, - 0x64, 0x40, 0xea, 0x02, 0xbd, 0xf1, 0xdd, 0x60, 0x4b, 0x83, 0x9a, 0x09, 0x46, 0x97, 0x08, 0x7d, - 0x06, 0x6b, 0x3a, 0xc9, 0x29, 0x4f, 0x48, 0x85, 0x47, 0x03, 0x95, 0x64, 0x8b, 0xc6, 0xe4, 0x34, - 0x75, 0xef, 0xc6, 0x96, 0xda, 0xcf, 0x59, 0x28, 0xcd, 0x4d, 0x2f, 0xd4, 0x80, 0xfc, 0x98, 0x0f, - 0x52, 0xad, 0xb6, 0xdf, 0x6e, 0xe6, 0xe9, 0xb5, 0x46, 0x61, 0x83, 0x35, 0x97, 0xe6, 0x33, 0xad, - 0xcc, 0x1e, 0x15, 0x8a, 0x1d, 0x33, 0x8f, 0xa8, 0x74, 0x62, 0xac, 0xc6, 0x96, 0xdd, 0x99, 0x41, - 0x57, 0x26, 0x14, 0x6c, 0x42, 0x14, 0xd5, 0xcf, 0xde, 0xa4, 0xbd, 0x84, 0x21, 0xd9, 0x7a, 0x42, - 0xcf, 0x74, 0x8b, 0x7b, 0x64, 0x9e, 0x2b, 0x2e, 0xdf, 0x12, 0x2e, 0x7b, 0x64, 0x8e, 0x48, 0x6a, - 0x49, 0x93, 0x51, 0x5f, 0x67, 0xe8, 0x12, 0x5f, 0x19, 0x51, 0x8e, 0x7f, 0x78, 0x2d, 0xe1, 0x95, - 0xc4, 0xb0, 0xe3, 0x2b, 0xad, 0xc9, 0x52, 0xcf, 0x36, 0x19, 0xb0, 0x4a, 0x31, 0x9e, 0x6d, 0x32, - 0x60, 0xb5, 0x47, 0x70, 0x2d, 0xc9, 0x03, 0x95, 0xe0, 0xda, 0xde, 0xbe, 0xb3, 0xd3, 0x68, 0x37, - 0xad, 0x05, 0x2d, 0x2d, 0xce, 0xfe, 0x41, 0xb7, 0xdd, 0x8c, 0x65, 0xe6, 0xe0, 0xa8, 0x77, 0xb4, - 0xd3, 0xb6, 0xb2, 0xc8, 0x82, 0xeb, 0xfb, 0x4e, 0x6f, 0xbf, 0xe3, 0x26, 0x3b, 0xb9, 0x86, 0xfd, - 0xd3, 0x8b, 0xf5, 0xcc, 0x2f, 0x2f, 0xd6, 0x33, 0x7f, 0xbc, 0x58, 0xcf, 0x3c, 0xdd, 0x88, 0xef, - 0x8e, 0xf1, 0x3a, 0x09, 0x59, 0xfd, 0x82, 0x3f, 0x19, 0xfd, 0xa2, 0xa9, 0xe9, 0xdd, 0x7f, 0x02, - 0x00, 0x00, 0xff, 0xff, 0x74, 0x27, 0x2c, 0x70, 0xe9, 0x0c, 0x00, 0x00, + // 1312 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6e, 0x1b, 0x37, + 0x13, 0xb7, 0xfe, 0xc6, 0x1e, 0xc5, 0xb2, 0xcc, 0xcf, 0xf8, 0x3e, 0x45, 0x1f, 0xe0, 0xb8, 0x42, + 0xd1, 0xb8, 0x69, 0xb3, 0xaa, 0x1d, 0x14, 0x48, 0x13, 0xa4, 0x88, 0x65, 0x0b, 0x91, 0x11, 0xd9, + 0x12, 0xb8, 0x32, 0x50, 0xe4, 0xb2, 0xa0, 0x56, 0xb4, 0xc4, 0x78, 0x77, 0xb9, 0x25, 0xb9, 0xaa, + 0x9d, 0xf7, 0x68, 0xd1, 0x6b, 0x2f, 0x7d, 0x81, 0xbe, 0x44, 0xd1, 0x53, 0xaf, 0xed, 0xa5, 0x45, + 0x5e, 0xa0, 0xa7, 0xde, 0x0b, 0x72, 0x77, 0x25, 0x39, 0x71, 0x9c, 0x18, 0x69, 0x6e, 0x5c, 0xce, + 0xfc, 0x7e, 0x33, 0xe4, 0x0c, 0x7f, 0x23, 0xc1, 0xed, 0x80, 0xaa, 0x6f, 0xb8, 0x38, 0x61, 0xc1, + 0xa8, 0x31, 0xd9, 0x22, 0x5e, 0x38, 0x26, 0x77, 0x1b, 0x43, 0x2a, 0x15, 0x0b, 0x88, 0x62, 0x3c, + 0x70, 0x44, 0xe4, 0x51, 0x2b, 0x14, 0x5c, 0x71, 0x74, 0x83, 0x49, 0xc5, 0xb8, 0x35, 0x43, 0x58, + 0x29, 0xa2, 0xb6, 0x3e, 0xe2, 0x7c, 0xe4, 0xd1, 0x86, 0x71, 0x1c, 0x44, 0xc7, 0x8d, 0x61, 0x24, + 0x0c, 0x3e, 0x86, 0xd6, 0x3e, 0xbe, 0x28, 0xcc, 0x84, 0x09, 0x15, 0x11, 0xcf, 0x91, 0x54, 0x4c, + 0x98, 0x9b, 0x44, 0xa9, 0xad, 0x8d, 0xf8, 0x88, 0x9b, 0x65, 0x43, 0xaf, 0xe2, 0xdd, 0xfa, 0x4f, + 0x19, 0x58, 0xd9, 0x9b, 0xa5, 0x85, 0x23, 0x8f, 0x22, 0x04, 0xf9, 0x31, 0x97, 0xaa, 0x9a, 0xd9, + 0xc8, 0x6c, 0x2e, 0x61, 0xb3, 0x46, 0x5d, 0x28, 0x2b, 0x41, 0x8e, 0x8f, 0x99, 0xeb, 0x84, 0xdc, + 0x63, 0xee, 0x59, 0x35, 0xbb, 0x91, 0xd9, 0x2c, 0x6d, 0x6f, 0x5a, 0xaf, 0x4d, 0xde, 0xea, 0xc7, + 0x80, 0x9e, 0xf1, 0xc7, 0xcb, 0x6a, 0xfe, 0x13, 0x3d, 0x80, 0x6b, 0x32, 0x1a, 0x48, 0xaa, 0x64, + 0x35, 0xb7, 0x91, 0xdb, 0x2c, 0x6d, 0x7f, 0x70, 0x09, 0x93, 0x6d, 0x3c, 0x71, 0x8a, 0xa8, 0xff, + 0x5e, 0x84, 0xe5, 0x73, 0xec, 0xa8, 0x0f, 0xcb, 0x1e, 0x27, 0x43, 0x67, 0x40, 0x3c, 0x12, 0xb8, + 0x54, 0x98, 0xe4, 0x4b, 0xdb, 0x8d, 0x4b, 0x48, 0x3b, 0x9c, 0x0c, 0x9b, 0x89, 0xbb, 0x4d, 0x95, + 0x62, 0xc1, 0x48, 0xe2, 0xeb, 0xde, 0xdc, 0x2e, 0x7a, 0x0a, 0x2b, 0x2e, 0x0f, 0x02, 0xea, 0x9a, + 0x92, 0x85, 0x9c, 0x7b, 0xc9, 0xb1, 0xb7, 0x2e, 0xe1, 0xdd, 0x9d, 0x22, 0x7a, 0x9c, 0x7b, 0x53, + 0xe6, 0xb2, 0x7b, 0x6e, 0x1f, 0x7d, 0x05, 0xab, 0x3c, 0x52, 0x1e, 0xa3, 0xc2, 0x19, 0x52, 0x15, + 0x1b, 0xaa, 0x39, 0xc3, 0xfe, 0xc9, 0x25, 0xec, 0xdd, 0x18, 0xb3, 0x97, 0x42, 0x70, 0x85, 0xbf, + 0xb4, 0x83, 0xee, 0x41, 0x4e, 0x79, 0xb2, 0x9a, 0x37, 0x5c, 0x1f, 0x5d, 0x56, 0xa0, 0x8e, 0x3d, + 0x4d, 0x4f, 0x43, 0xd0, 0x33, 0xf8, 0x4f, 0xc8, 0x85, 0x72, 0x3c, 0x3a, 0xa1, 0xba, 0x7f, 0x62, + 0x5b, 0xb5, 0x60, 0x0a, 0x74, 0xff, 0x6d, 0x4b, 0x6d, 0xf5, 0xb8, 0x50, 0xe7, 0x8b, 0xbf, 0xaa, + 0x69, 0x3b, 0x9a, 0x35, 0x0d, 0x58, 0xfb, 0x2e, 0x07, 0xab, 0xaf, 0x38, 0xa2, 0x07, 0x90, 0xd7, + 0xae, 0x49, 0xf9, 0x6e, 0x5d, 0x12, 0x52, 0x63, 0x6d, 0xea, 0x51, 0x57, 0x71, 0x81, 0x0d, 0xe8, + 0xd5, 0x26, 0xc8, 0xbe, 0xa7, 0x26, 0xc8, 0xbd, 0xd7, 0x26, 0xc8, 0xff, 0x8b, 0x4d, 0x50, 0xb8, + 0x72, 0x13, 0xd4, 0xff, 0xca, 0x40, 0x31, 0x7e, 0x70, 0x5a, 0x09, 0x02, 0xe2, 0xd3, 0x54, 0x09, + 0xf4, 0x1a, 0xb5, 0xa0, 0xe8, 0x91, 0x01, 0xf5, 0x64, 0x35, 0x6b, 0xda, 0xe2, 0xce, 0x1b, 0xdf, + 0xad, 0xd5, 0x31, 0xfe, 0xad, 0x40, 0x89, 0x33, 0x9c, 0x80, 0x2f, 0x10, 0x94, 0xdc, 0x3b, 0x09, + 0x4a, 0xed, 0x0b, 0x28, 0xcd, 0xc5, 0x41, 0x15, 0xc8, 0x9d, 0xd0, 0xb3, 0x24, 0x73, 0xbd, 0x44, + 0x6b, 0x50, 0x98, 0x10, 0x2f, 0xa2, 0xa6, 0x2b, 0x96, 0x70, 0xfc, 0x71, 0x3f, 0x7b, 0x2f, 0x53, + 0xff, 0xb1, 0x00, 0x6b, 0x17, 0x35, 0x02, 0xc2, 0x50, 0x94, 0xcc, 0x0f, 0xbd, 0xf8, 0x06, 0xca, + 0xdb, 0xf7, 0xae, 0xd8, 0x49, 0x96, 0x6d, 0xd0, 0x9d, 0x66, 0x7b, 0x01, 0x27, 0x4c, 0xe8, 0xc4, + 0xb4, 0x93, 0x64, 0x52, 0xd1, 0x40, 0x39, 0x63, 0x22, 0xc7, 0x49, 0x9b, 0x3e, 0xba, 0x2a, 0xf9, + 0xee, 0x94, 0xa6, 0x4d, 0xe4, 0xd8, 0x04, 0x29, 0xbb, 0xe7, 0xf6, 0x6a, 0x7f, 0x67, 0xa1, 0xf2, + 0xb2, 0x1b, 0xba, 0x0d, 0x95, 0xb1, 0x52, 0xa1, 0x33, 0xa6, 0x64, 0x48, 0x85, 0x33, 0xab, 0xb0, + 0x26, 0xd0, 0x96, 0xb6, 0x31, 0x1c, 0xea, 0x6a, 0x07, 0x50, 0x32, 0xbe, 0x2e, 0xe7, 0x27, 0x8c, + 0x26, 0x99, 0x3e, 0x79, 0xd7, 0x4c, 0xad, 0x76, 0xbf, 0xdf, 0xdb, 0x35, 0x94, 0xed, 0x05, 0x0c, + 0x3a, 0x42, 0xfc, 0x85, 0x3e, 0x84, 0xe5, 0x48, 0x52, 0x47, 0xf2, 0x48, 0xb8, 0xd4, 0x61, 0xa1, + 0xe9, 0x8a, 0xc5, 0xf6, 0x02, 0x2e, 0x45, 0x92, 0xda, 0x66, 0x77, 0x3f, 0x44, 0xb7, 0x61, 0xd5, + 0x67, 0x01, 0xf3, 0x23, 0xdf, 0x11, 0x2c, 0x18, 0x39, 0x92, 0x3d, 0xa7, 0xe6, 0xd9, 0xe4, 0xf1, + 0x4a, 0x62, 0xc0, 0x2c, 0x18, 0xd9, 0xec, 0x39, 0xad, 0x8d, 0x00, 0x66, 0xd1, 0x2e, 0xec, 0x68, + 0x04, 0xf9, 0x90, 0xa8, 0x71, 0xd2, 0x17, 0x66, 0x8d, 0xb6, 0x20, 0xa7, 0x54, 0xfa, 0xd0, 0x6f, + 0x58, 0xf1, 0x18, 0xb6, 0xd2, 0x31, 0x6c, 0xed, 0x25, 0x63, 0xb8, 0x99, 0xff, 0xfe, 0x8f, 0x9b, + 0x19, 0xac, 0x7d, 0x9b, 0x00, 0x8b, 0xba, 0x9a, 0xce, 0x09, 0x3d, 0xab, 0xb7, 0x61, 0x31, 0x2d, + 0x3d, 0x5a, 0x81, 0x12, 0xee, 0x1e, 0x1d, 0xee, 0x39, 0xb8, 0xdb, 0xdc, 0x3f, 0xac, 0x2c, 0xa0, + 0x32, 0x40, 0xa7, 0xb5, 0x63, 0xf7, 0x9d, 0xdd, 0xee, 0xe1, 0x61, 0x25, 0x83, 0x00, 0x8a, 0x78, + 0xe7, 0x70, 0xaf, 0x7b, 0x50, 0xc9, 0x6a, 0xe7, 0xde, 0x8e, 0x6d, 0xf7, 0xdb, 0xb8, 0x7b, 0xf4, + 0xb8, 0x5d, 0xc9, 0x35, 0x4b, 0xb0, 0xe4, 0x0d, 0x92, 0x27, 0x52, 0xff, 0x36, 0x0f, 0xff, 0xbd, + 0x58, 0x59, 0x50, 0x17, 0x72, 0xca, 0x0d, 0x13, 0xdd, 0x7c, 0x78, 0x65, 0x65, 0xb2, 0xfa, 0xbb, + 0xbd, 0x39, 0x19, 0x70, 0x43, 0x84, 0x21, 0xaf, 0xeb, 0x92, 0x94, 0xfc, 0xcb, 0xab, 0x33, 0xea, + 0x5b, 0x9f, 0x52, 0x1a, 0xae, 0xda, 0x73, 0x28, 0xcd, 0xc5, 0x41, 0xb7, 0x60, 0xc5, 0x27, 0xa7, + 0xce, 0x4c, 0x13, 0xa5, 0xc9, 0xbf, 0x80, 0xcb, 0x3e, 0x39, 0x9d, 0xb1, 0x4a, 0xd4, 0x9c, 0x4a, + 0xb0, 0xa3, 0x98, 0x4f, 0x79, 0xa4, 0x92, 0xb4, 0x5e, 0x5f, 0x99, 0xa9, 0xd4, 0xf6, 0x63, 0x40, + 0xed, 0xb7, 0x0c, 0x5c, 0x9f, 0x4f, 0x09, 0x3d, 0x80, 0x9a, 0x4e, 0x6a, 0xcb, 0xd1, 0x39, 0x84, + 0x34, 0x18, 0xea, 0x4e, 0x12, 0xf4, 0xeb, 0x88, 0x4a, 0x95, 0x26, 0xf2, 0x3f, 0xe3, 0x71, 0x40, + 0x4e, 0x7b, 0xb1, 0x1d, 0x27, 0x66, 0xf4, 0x29, 0x20, 0x6d, 0xda, 0x36, 0xe0, 0x29, 0x28, 0x6b, + 0x40, 0xe6, 0x75, 0x6d, 0x1f, 0x90, 0xd3, 0xa9, 0xf7, 0x43, 0xf8, 0xff, 0xbc, 0x9f, 0x13, 0x52, + 0x31, 0x77, 0x6a, 0xd3, 0x65, 0x05, 0x5c, 0xf5, 0x67, 0x88, 0x1e, 0x15, 0xb3, 0xf3, 0xa3, 0x9b, + 0x50, 0x8a, 0xe1, 0x4a, 0x30, 0x1a, 0x0f, 0xf6, 0x02, 0x06, 0xe3, 0x6e, 0x76, 0xea, 0x3f, 0x64, + 0xa1, 0xf2, 0xf2, 0x4c, 0x40, 0x77, 0x00, 0x69, 0x35, 0xa0, 0x6e, 0xa4, 0xd8, 0x84, 0x3a, 0x54, + 0x08, 0x2e, 0xd2, 0x73, 0xad, 0xce, 0x59, 0x5a, 0xc6, 0x80, 0x3e, 0x87, 0x45, 0x16, 0x28, 0x2a, + 0x26, 0xc4, 0x7b, 0xf3, 0xe5, 0x4e, 0x5d, 0xd1, 0x63, 0x40, 0x03, 0x22, 0xa9, 0x43, 0x9f, 0x25, + 0x03, 0x52, 0x17, 0xe8, 0x8d, 0xef, 0x06, 0x57, 0x34, 0xa8, 0x95, 0x60, 0x74, 0x89, 0xd0, 0x67, + 0xb0, 0xa6, 0x0f, 0x39, 0xe5, 0x09, 0xa9, 0x70, 0x69, 0xa0, 0x92, 0xd3, 0x22, 0x9f, 0x9c, 0xa6, + 0xee, 0xbd, 0xd8, 0xa2, 0x6b, 0xe0, 0xb3, 0x40, 0xcb, 0x98, 0xa7, 0xc6, 0x53, 0xff, 0x42, 0x5c, + 0x03, 0x9f, 0x05, 0x6d, 0x63, 0x48, 0xbc, 0xeb, 0xbf, 0x64, 0xa1, 0x34, 0x37, 0xeb, 0x50, 0x13, + 0xf2, 0x3e, 0x1f, 0xa6, 0xca, 0x6e, 0xbd, 0xdd, 0x84, 0xd4, 0x6b, 0x8d, 0xc2, 0x06, 0x6b, 0xae, + 0xd8, 0x63, 0x5a, 0xc7, 0x5d, 0x2a, 0x14, 0x3b, 0x66, 0x2e, 0x51, 0xe9, 0x7c, 0x59, 0x8d, 0x2d, + 0xbb, 0x33, 0x83, 0xae, 0x63, 0x28, 0xd8, 0x84, 0x28, 0xaa, 0x45, 0xc2, 0x5c, 0xd2, 0x12, 0x86, + 0x64, 0xeb, 0x09, 0x3d, 0xd3, 0x0f, 0xc2, 0x25, 0xf3, 0x5c, 0x71, 0xb1, 0x97, 0x70, 0xd9, 0x25, + 0x73, 0x44, 0x52, 0x0b, 0xa0, 0x8c, 0x06, 0xfa, 0x3e, 0x1c, 0xe2, 0x29, 0x23, 0xe1, 0xf1, 0xcf, + 0xb4, 0x25, 0xbc, 0x92, 0x18, 0x76, 0x3c, 0xa5, 0x15, 0x5c, 0xea, 0x49, 0x28, 0x03, 0x56, 0x2d, + 0xc6, 0x93, 0x50, 0x06, 0xac, 0xfe, 0x08, 0xae, 0x25, 0xe7, 0x40, 0x25, 0xb8, 0xb6, 0xb7, 0x6f, + 0xef, 0x34, 0x3b, 0xad, 0xca, 0x82, 0x16, 0x22, 0x7b, 0xff, 0xa0, 0xd7, 0x69, 0xc5, 0xa2, 0x74, + 0x70, 0xd4, 0x3f, 0xda, 0xe9, 0x54, 0xb2, 0xa8, 0x02, 0xd7, 0xf7, 0xed, 0xfe, 0x7e, 0xd7, 0x49, + 0x76, 0x72, 0x4d, 0xeb, 0xe7, 0x17, 0xeb, 0x99, 0x5f, 0x5f, 0xac, 0x67, 0xfe, 0x7c, 0xb1, 0x9e, + 0x79, 0xba, 0x11, 0xdf, 0x1d, 0xe3, 0x0d, 0x12, 0xb2, 0xc6, 0x05, 0x7f, 0x49, 0x06, 0x45, 0xd3, + 0x01, 0x77, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x95, 0xd0, 0xbb, 0x17, 0x0d, 0x00, 0x00, } diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto index 880862db5a..188fdc6a1a 100644 --- a/networking/v1alpha3/destination_rule.proto +++ b/networking/v1alpha3/destination_rule.proto @@ -442,6 +442,13 @@ message OutlierDetection { // Maximum % of hosts in the load balancing pool for the upstream // service that can be ejected. Defaults to 10%. int32 max_ejection_percent = 4; + + // Outlier detection will be enabled as long as the associated load balancing + // pool has at least min_health_percent hosts in healthy mode. When the + // percentage of healthy hosts in the load balancing pool drops below this + // threshold, outlier detection will be disabled and the proxy will load balance + // across all hosts in the pool (healthy and unhealthy). The default is 50%. + int32 min_health_percent = 5; } // SSL/TLS related settings for upstream connections. See Envoy's [TLS diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go index 25cea96cc1..a6ac4ed08c 100644 --- a/networking/v1alpha3/gateway.pb.go +++ b/networking/v1alpha3/gateway.pb.go @@ -67,28 +67,28 @@ const ( // Automatically choose the optimal TLS version. Server_TLSOptions_TLS_AUTO Server_TLSOptions_TLSProtocol = 0 // TLS version 1.0 - Server_TLSOptions_TLSv1_0 Server_TLSOptions_TLSProtocol = 1 + Server_TLSOptions_TLSV1_0 Server_TLSOptions_TLSProtocol = 1 // TLS version 1.1 - Server_TLSOptions_TLSv1_1 Server_TLSOptions_TLSProtocol = 2 + Server_TLSOptions_TLSV1_1 Server_TLSOptions_TLSProtocol = 2 // TLS version 1.2 - Server_TLSOptions_TLSv1_2 Server_TLSOptions_TLSProtocol = 3 + Server_TLSOptions_TLSV1_2 Server_TLSOptions_TLSProtocol = 3 // TLS version 1.3 - Server_TLSOptions_TLSv1_3 Server_TLSOptions_TLSProtocol = 4 + Server_TLSOptions_TLSV1_3 Server_TLSOptions_TLSProtocol = 4 ) var Server_TLSOptions_TLSProtocol_name = map[int32]string{ 0: "TLS_AUTO", - 1: "TLSv1_0", - 2: "TLSv1_1", - 3: "TLSv1_2", - 4: "TLSv1_3", + 1: "TLSV1_0", + 2: "TLSV1_1", + 3: "TLSV1_2", + 4: "TLSV1_3", } var Server_TLSOptions_TLSProtocol_value = map[string]int32{ "TLS_AUTO": 0, - "TLSv1_0": 1, - "TLSv1_1": 2, - "TLSv1_2": 3, - "TLSv1_3": 4, + "TLSV1_0": 1, + "TLSV1_1": 2, + "TLSV1_2": 3, + "TLSV1_3": 4, } func (x Server_TLSOptions_TLSProtocol) String() string { @@ -1713,44 +1713,44 @@ var ( func init() { proto.RegisterFile("networking/v1alpha3/gateway.proto", fileDescriptorGateway) } var fileDescriptorGateway = []byte{ - // 621 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xdd, 0x4e, 0xdb, 0x30, - 0x18, 0x25, 0x6d, 0xe9, 0xcf, 0x57, 0x0a, 0xc1, 0x42, 0x53, 0xc6, 0x05, 0x3f, 0x9d, 0xa6, 0xa1, - 0x69, 0x4b, 0xa1, 0xdd, 0x05, 0x1a, 0xd2, 0xa4, 0x6e, 0x42, 0x74, 0x5a, 0xa1, 0x95, 0xd3, 0xee, - 0x62, 0x37, 0x91, 0x09, 0x1e, 0x35, 0xa4, 0x71, 0x64, 0xbb, 0x85, 0xbe, 0xda, 0x9e, 0x60, 0x97, - 0xec, 0x0d, 0x26, 0x9e, 0x64, 0xb2, 0x93, 0xd2, 0xee, 0x8f, 0x09, 0xed, 0xce, 0xe7, 0xf8, 0x9c, - 0xf3, 0xf9, 0xfb, 0xec, 0x04, 0xb6, 0x23, 0xaa, 0xae, 0xb8, 0xb8, 0x64, 0xd1, 0x79, 0x6d, 0xbc, - 0x47, 0xc2, 0x78, 0x40, 0x1a, 0xb5, 0x73, 0xa2, 0xe8, 0x15, 0x99, 0xb8, 0xb1, 0xe0, 0x8a, 0xa3, - 0xc7, 0x4c, 0x2a, 0xc6, 0xdd, 0x99, 0xd0, 0x9d, 0x0a, 0xab, 0xdf, 0x2c, 0x28, 0x1c, 0x25, 0x62, - 0x74, 0x00, 0x05, 0x49, 0xc5, 0x98, 0x0a, 0xe9, 0x58, 0x5b, 0xd9, 0x9d, 0x72, 0x7d, 0xdb, 0xfd, - 0xab, 0xd1, 0xf5, 0x8c, 0x12, 0x4f, 0x1d, 0xa8, 0x0d, 0x45, 0x49, 0x43, 0x1a, 0x28, 0x2e, 0x9c, - 0x8c, 0x71, 0xef, 0xde, 0xe3, 0x4e, 0x4b, 0xba, 0x5e, 0x6a, 0x39, 0x8c, 0x94, 0x98, 0xe0, 0xbb, - 0x84, 0xf5, 0x03, 0xa8, 0xfc, 0xb4, 0x85, 0x6c, 0xc8, 0x5e, 0xd2, 0x89, 0x63, 0x6d, 0x59, 0x3b, - 0x25, 0xac, 0x97, 0x68, 0x0d, 0x16, 0xc7, 0x24, 0x1c, 0x51, 0x27, 0x63, 0xb8, 0x04, 0xbc, 0xce, - 0xec, 0x5b, 0xd5, 0x9b, 0x3c, 0xe4, 0x93, 0xe3, 0xa1, 0x06, 0xe4, 0x62, 0x2e, 0x94, 0xf1, 0x95, - 0xeb, 0x9b, 0xf7, 0x9c, 0xa8, 0xcb, 0x85, 0xc2, 0x46, 0xac, 0x93, 0x07, 0x5c, 0x2a, 0x69, 0xfa, - 0x28, 0xe1, 0x04, 0xa0, 0x37, 0x90, 0x55, 0xa1, 0x74, 0xb2, 0x26, 0xe9, 0xc5, 0x3f, 0x27, 0xe3, - 0xf6, 0xda, 0x5e, 0x27, 0x56, 0x8c, 0x47, 0x12, 0x6b, 0xe3, 0xfa, 0x97, 0x45, 0x80, 0x19, 0x87, - 0x9e, 0xc2, 0xf2, 0x40, 0xa9, 0x58, 0xfa, 0x82, 0x9e, 0x31, 0x41, 0x83, 0xe4, 0x8c, 0x45, 0x5c, - 0x31, 0x2c, 0x4e, 0x49, 0xd4, 0x82, 0xdc, 0x90, 0x9f, 0x25, 0x4d, 0x2e, 0xd7, 0x5f, 0x3d, 0xa4, - 0xac, 0x5e, 0x6a, 0x2f, 0x36, 0x09, 0xe8, 0x25, 0xa0, 0xe4, 0xae, 0xfc, 0x80, 0x0a, 0xc5, 0x3e, - 0xb3, 0x80, 0x28, 0x6a, 0xda, 0x29, 0xe1, 0xd5, 0x64, 0xe7, 0xdd, 0x6c, 0x03, 0x6d, 0x42, 0x39, - 0x16, 0x6c, 0x4c, 0x14, 0xf5, 0xf5, 0xe0, 0x73, 0x46, 0x07, 0x29, 0xf5, 0x81, 0x4e, 0xd0, 0x33, - 0x58, 0x09, 0xc8, 0x7c, 0x96, 0x74, 0x16, 0x8d, 0x68, 0x39, 0x20, 0x73, 0x41, 0x12, 0x3d, 0x87, - 0x55, 0x39, 0x3a, 0xbd, 0xa0, 0x81, 0xf2, 0x49, 0xa8, 0xfc, 0x88, 0x0c, 0xa9, 0x74, 0xf2, 0x66, - 0xb4, 0x2b, 0xe9, 0x46, 0x33, 0x54, 0x27, 0x9a, 0x46, 0x17, 0xb0, 0x36, 0x64, 0x91, 0x6f, 0x9e, - 0x6d, 0xc0, 0x43, 0x5f, 0x3f, 0x2d, 0xc6, 0x23, 0xa7, 0x60, 0xda, 0xdf, 0x7f, 0x68, 0xfb, 0xdd, - 0x34, 0x07, 0xa3, 0x21, 0x8b, 0xa6, 0xe0, 0x63, 0x92, 0x69, 0x6a, 0x91, 0xeb, 0xdf, 0x6b, 0x15, - 0xff, 0xbb, 0x16, 0xb9, 0xfe, 0xb5, 0xd6, 0x13, 0xa8, 0x04, 0x2c, 0x1e, 0x50, 0xe1, 0xcb, 0x11, - 0xd3, 0xa3, 0x2a, 0x99, 0xfe, 0x97, 0x12, 0xd2, 0x33, 0x5c, 0xb5, 0x05, 0x85, 0xf4, 0xca, 0xd0, - 0x0a, 0x94, 0xbb, 0x4d, 0xcf, 0xeb, 0xb5, 0x70, 0xa7, 0x7f, 0xd4, 0xb2, 0x17, 0x10, 0x40, 0xde, - 0x7b, 0x7f, 0xdc, 0x6d, 0x1f, 0xda, 0x96, 0x5e, 0x1f, 0xf7, 0x7b, 0xfd, 0x66, 0xdb, 0xce, 0xa0, - 0x35, 0xb0, 0x9b, 0xfd, 0x5e, 0xc7, 0x9f, 0x57, 0x67, 0xab, 0x1d, 0x28, 0xcf, 0x9d, 0x08, 0x2d, - 0x41, 0xb1, 0xd7, 0xf6, 0x7c, 0x2d, 0xb4, 0x17, 0x50, 0xd9, 0x94, 0x19, 0xef, 0xf9, 0xbb, 0xb6, - 0x35, 0x03, 0x7b, 0x76, 0x66, 0x06, 0xea, 0x76, 0x76, 0x06, 0x1a, 0x76, 0xae, 0x7a, 0x02, 0x39, - 0xfd, 0x81, 0xa0, 0x47, 0x90, 0x8f, 0x46, 0xc3, 0x53, 0x2a, 0xcc, 0x6b, 0xad, 0xe0, 0x14, 0xa1, - 0x75, 0x28, 0x4e, 0xe7, 0x98, 0x7e, 0x8f, 0x77, 0x18, 0x21, 0xc8, 0xe9, 0x3b, 0x4f, 0x9f, 0x9a, - 0x59, 0xbf, 0x75, 0xbf, 0xde, 0x6e, 0x58, 0x37, 0xb7, 0x1b, 0xd6, 0xf7, 0xdb, 0x0d, 0xeb, 0xd3, - 0x56, 0x32, 0x6a, 0xc6, 0x6b, 0x24, 0x66, 0xb5, 0x3f, 0xfc, 0xcf, 0x4e, 0xf3, 0x26, 0xad, 0xf1, - 0x23, 0x00, 0x00, 0xff, 0xff, 0xd1, 0xda, 0x86, 0xea, 0xed, 0x04, 0x00, 0x00, + // 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, } diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto index 7861251ed6..ba85ad93dd 100644 --- a/networking/v1alpha3/gateway.proto +++ b/networking/v1alpha3/gateway.proto @@ -303,16 +303,16 @@ message Server { TLS_AUTO = 0; // TLS version 1.0 - TLSv1_0 = 1; + TLSV1_0 = 1; // TLS version 1.1 - TLSv1_1 = 2; + TLSV1_1 = 2; // TLS version 1.2 - TLSv1_2 = 3; + TLSV1_2 = 3; // TLS version 1.3 - TLSv1_3 = 4; + TLSV1_3 = 4; } // Optional: Minimum TLS protocol version. diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html index bdfb888f79..f6301c1778 100644 --- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html +++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html @@ -1551,6 +1551,7 @@

HTTPRetry

retries: attempts: 3 perTryTimeout: 2s + retryOn: gateway-error,connect-failure,refused-stream
NameDescription
REGISTRY_ONLY +

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

+ +
VIRTUAL_SERVICE_ONLY +

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

+
@@ -1578,6 +1579,18 @@

HTTPRetry

+ + + + + @@ -2281,6 +2294,18 @@

OutlierDetection

Maximum % of hosts in the load balancing pool for the upstream service that can be ejected. Defaults to 10%.

+ + + + + + @@ -2637,29 +2662,29 @@

Server.TLSOptions.TLSProtocol

- - + + - - + + - - + + - - + + @@ -642,7 +642,7 @@

Rule

@@ -652,7 +652,16 @@

Rule

Rule.HeaderOperationTemplate

-

A template for an HTTP header manipulation.

+

A template for an HTTP header manipulation. Values in the template are expressions +that may reference action outputs by name. For example, if an action x produces an output +with a field f, then the header value expressions may use attribute x.output.f to reference +the field value:

+ +
request_header_operations:
+- name: x-istio-header
+  values:
+  - x.output.f
+

Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.

+
retryOnstring +

Specifies the conditions under which retry takes place. +One or more policies can be specified using a ‘,’ delimited list. +The supported policies can be found in +“https://www.envoyproxy.io/docs/envoy/latest/configuration/httpfilters/routerfilter#x-envoy-retry-on” +and “https://www.envoyproxy.io/docs/envoy/latest/configuration/httpfilters/routerfilter#x-envoy-retry-grpc-on”

+
minHealthPercentint32 +

Outlier detection will be enabled as long as the associated load balancing +pool has at least minhealthpercent hosts in healthy mode. When the +percentage of healthy hosts in the load balancing pool drops below this +threshold, outlier detection will be disabled and the proxy will load balance +across all hosts in the pool (healthy and unhealthy). The default is 50%.

+
TLSv1_0
TLSV1_0

TLS version 1.0

TLSv1_1
TLSV1_1

TLS version 1.1

TLSv1_2
TLSV1_2

TLS version 1.2

TLSv1_3
TLSV1_3

TLS version 1.3

@@ -2959,7 +2984,7 @@

ServiceEntry

location: MESH_EXTERNAL ports: - number: 80 - name: https + name: http protocol: HTTP resolution: DNS endpoints: diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go index 7b84e3681b..d8f9b809e0 100644 --- a/networking/v1alpha3/service_entry.pb.go +++ b/networking/v1alpha3/service_entry.pb.go @@ -343,7 +343,7 @@ func (ServiceEntry_Resolution) EnumDescriptor() ([]byte, []int) { // location: MESH_EXTERNAL // ports: // - number: 80 -// name: https +// name: http // protocol: HTTP // resolution: DNS // endpoints: diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto index ad8ae84605..62ec661ad9 100644 --- a/networking/v1alpha3/service_entry.proto +++ b/networking/v1alpha3/service_entry.proto @@ -264,7 +264,7 @@ option go_package = "istio.io/api/networking/v1alpha3"; // location: MESH_EXTERNAL // ports: // - number: 80 -// name: https +// name: http // protocol: HTTP // resolution: DNS // endpoints: diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go index 8e8b383293..19abdd4626 100644 --- a/networking/v1alpha3/virtual_service.pb.go +++ b/networking/v1alpha3/virtual_service.pb.go @@ -1370,6 +1370,7 @@ func _StringMatch_OneofSizer(msg proto.Message) (n int) { // retries: // attempts: 3 // perTryTimeout: 2s +// retryOn: gateway-error,connect-failure,refused-stream // ``` // type HTTPRetry struct { @@ -1379,6 +1380,12 @@ type HTTPRetry struct { Attempts int32 `protobuf:"varint,1,opt,name=attempts,proto3" json:"attempts,omitempty"` // Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms. PerTryTimeout *google_protobuf.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout" json:"per_try_timeout,omitempty"` + // Specifies the conditions under which retry takes place. + // One or more policies can be specified using a ‘,’ delimited list. + // The supported policies can be found in + // "https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-on" + // and "https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-grpc-on" + RetryOn string `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"` } func (m *HTTPRetry) Reset() { *m = HTTPRetry{} } @@ -1400,6 +1407,13 @@ func (m *HTTPRetry) GetPerTryTimeout() *google_protobuf.Duration { return nil } +func (m *HTTPRetry) GetRetryOn() string { + if m != nil { + return m.RetryOn + } + return "" +} + // Describes the Cross-Origin Resource Sharing (CORS) policy, for a given // service. Refer to // https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS @@ -3034,6 +3048,12 @@ func (m *HTTPRetry) MarshalTo(dAtA []byte) (int, error) { } i += n17 } + if len(m.RetryOn) > 0 { + dAtA[i] = 0x1a + i++ + i = encodeVarintVirtualService(dAtA, i, uint64(len(m.RetryOn))) + i += copy(dAtA[i:], m.RetryOn) + } return i, nil } @@ -3798,6 +3818,10 @@ func (m *HTTPRetry) Size() (n int) { l = m.PerTryTimeout.Size() n += 1 + l + sovVirtualService(uint64(l)) } + l = len(m.RetryOn) + if l > 0 { + n += 1 + l + sovVirtualService(uint64(l)) + } return n } @@ -7288,6 +7312,35 @@ func (m *HTTPRetry) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RetryOn", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVirtualService + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthVirtualService + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RetryOn = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipVirtualService(dAtA[iNdEx:]) @@ -8273,107 +8326,107 @@ func init() { } var fileDescriptorVirtualService = []byte{ - // 1617 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x5f, 0x6f, 0xdb, 0x46, - 0x12, 0x0f, 0x25, 0x51, 0xb6, 0x46, 0xb2, 0x63, 0xef, 0x39, 0x0e, 0xa3, 0x0b, 0x7c, 0x8e, 0x72, - 0xb9, 0xf3, 0x21, 0x17, 0x09, 0x67, 0xe7, 0xee, 0x8c, 0x36, 0x71, 0x62, 0xd9, 0x49, 0x94, 0x22, - 0x41, 0x03, 0xda, 0xcd, 0x43, 0x5f, 0x08, 0x8a, 0x5a, 0x4b, 0x4c, 0x28, 0x92, 0xdd, 0x5d, 0x5a, - 0xd6, 0x53, 0x81, 0xa2, 0x5f, 0xa0, 0x45, 0x5f, 0x8b, 0xa2, 0x9f, 0xa4, 0xaf, 0x7d, 0xec, 0x27, - 0x28, 0x82, 0x3c, 0xf6, 0x4b, 0xb4, 0xd8, 0x59, 0x52, 0xa2, 0x2d, 0x5b, 0x7f, 0xda, 0xb4, 0xe8, - 0x1b, 0x77, 0x77, 0x7e, 0xb3, 0xb3, 0xb3, 0xb3, 0xbf, 0x99, 0x21, 0xfc, 0xcb, 0xa7, 0xa2, 0x17, - 0xb0, 0xd7, 0xae, 0xdf, 0xae, 0x1d, 0xff, 0xc7, 0xf6, 0xc2, 0x8e, 0xbd, 0x55, 0x3b, 0x76, 0x99, - 0x88, 0x6c, 0xcf, 0xe2, 0x94, 0x1d, 0xbb, 0x0e, 0xad, 0x86, 0x2c, 0x10, 0x01, 0xb9, 0xe6, 0x72, - 0xe1, 0x06, 0xd5, 0x21, 0xa0, 0x9a, 0x00, 0xca, 0x6b, 0xed, 0x20, 0x68, 0x7b, 0xb4, 0x86, 0x82, - 0xcd, 0xe8, 0xa8, 0xd6, 0x8a, 0x98, 0x2d, 0xdc, 0xc0, 0x57, 0xd0, 0xd1, 0xf5, 0x1e, 0xb3, 0xc3, - 0x90, 0x32, 0xae, 0xd6, 0x2b, 0x3f, 0x69, 0xb0, 0xf8, 0x52, 0x6d, 0x7a, 0xa0, 0xf6, 0x24, 0x2b, - 0xa0, 0x77, 0x02, 0x2e, 0xb8, 0xa1, 0xad, 0x67, 0x37, 0x0a, 0xa6, 0x1a, 0x90, 0x32, 0xcc, 0xb7, - 0x6d, 0x41, 0x7b, 0x76, 0x9f, 0x1b, 0x19, 0x5c, 0x18, 0x8c, 0xc9, 0x36, 0xe4, 0x3a, 0x42, 0x84, - 0x46, 0x76, 0x3d, 0xbb, 0x51, 0xdc, 0xfc, 0x7b, 0xf5, 0x42, 0x73, 0xab, 0x8d, 0xc3, 0xc3, 0x17, - 0x66, 0x10, 0x09, 0x6a, 0x22, 0x82, 0xfc, 0x17, 0xb2, 0xc2, 0x09, 0x8d, 0x1c, 0x02, 0x6f, 0x8e, - 0x01, 0x1e, 0xee, 0xc5, 0x38, 0x29, 0x8f, 0x30, 0x8f, 0x1b, 0xfa, 0x64, 0xd8, 0xb3, 0x83, 0x04, - 0xe6, 0xf1, 0xca, 0x31, 0x14, 0xf7, 0x29, 0x17, 0xae, 0x8f, 0x1e, 0x22, 0x04, 0x72, 0xf2, 0x6c, - 0x86, 0xb6, 0xae, 0x6d, 0x14, 0x4c, 0xfc, 0x26, 0xab, 0x90, 0xe7, 0x51, 0x93, 0x53, 0x61, 0x64, - 0x70, 0x36, 0x1e, 0x91, 0xf7, 0x21, 0x17, 0x06, 0x4c, 0x18, 0xd9, 0x75, 0x6d, 0xa3, 0xb8, 0xf9, - 0xcf, 0x31, 0x5b, 0xbe, 0x08, 0x98, 0x38, 0xa0, 0x1e, 0x75, 0x44, 0xc0, 0x4c, 0x04, 0x55, 0xbe, - 0x05, 0x28, 0x0c, 0x4e, 0x4e, 0x76, 0x41, 0xef, 0xda, 0xc2, 0xe9, 0xa0, 0x7f, 0x8b, 0x9b, 0xb7, - 0x27, 0xb8, 0xeb, 0xb9, 0x94, 0x35, 0xe9, 0x27, 0x11, 0xe5, 0xc2, 0x54, 0x48, 0xf2, 0x08, 0x74, - 0x26, 0x75, 0xe1, 0x4d, 0x14, 0x37, 0x6b, 0xd3, 0x78, 0x3c, 0x75, 0x72, 0x53, 0xa1, 0xc9, 0x1e, - 0xcc, 0x33, 0xda, 0x72, 0x19, 0x75, 0xa6, 0x39, 0x18, 0x6a, 0x8a, 0xc5, 0xcd, 0x01, 0x90, 0x3c, - 0x84, 0x39, 0x46, 0x7b, 0xcc, 0x15, 0xd4, 0xc8, 0xa1, 0x8e, 0x7f, 0x4c, 0xd4, 0x81, 0xd2, 0x66, - 0x02, 0x23, 0xb7, 0x61, 0xb9, 0x47, 0x9b, 0x3c, 0x70, 0x5e, 0x53, 0x61, 0x45, 0x61, 0x9b, 0xd9, - 0x2d, 0x6a, 0xe8, 0xeb, 0xda, 0xc6, 0xbc, 0xb9, 0x34, 0x58, 0xf8, 0x48, 0xcd, 0x93, 0x2d, 0x98, - 0x13, 0x6e, 0x97, 0x06, 0x91, 0x30, 0xf2, 0xb8, 0xdd, 0xb5, 0xaa, 0x0a, 0xf1, 0x6a, 0x12, 0xe2, - 0xd5, 0xfd, 0xf8, 0x09, 0x98, 0x89, 0x24, 0xd9, 0x91, 0x36, 0x0a, 0xe6, 0x52, 0x6e, 0xcc, 0x21, - 0x68, 0x62, 0x8c, 0x52, 0xc1, 0xfa, 0x66, 0x02, 0x22, 0x7b, 0xa0, 0x1f, 0xd9, 0x91, 0x27, 0x8c, - 0x79, 0x44, 0xdf, 0x99, 0x80, 0x7e, 0x2c, 0x65, 0x9f, 0xfa, 0xaf, 0xa8, 0xa3, 0xbc, 0x8d, 0x58, - 0xb2, 0x03, 0xf9, 0xae, 0xcb, 0x58, 0xc0, 0x8c, 0xc2, 0x44, 0x3f, 0xa5, 0x2f, 0x2b, 0x46, 0x91, - 0xc7, 0x50, 0x74, 0x02, 0xc6, 0xad, 0x30, 0xf0, 0x5c, 0xa7, 0x6f, 0x00, 0x2a, 0xb9, 0x35, 0x46, - 0xc9, 0x5e, 0xc0, 0xf8, 0x0b, 0x14, 0x36, 0xc1, 0x19, 0x7c, 0x93, 0x26, 0x2c, 0x4a, 0x0a, 0xf0, - 0x5b, 0x56, 0x87, 0xda, 0x2d, 0xca, 0xb8, 0x51, 0xc4, 0x28, 0xfa, 0xff, 0x34, 0x51, 0x54, 0xdd, - 0x45, 0x68, 0x43, 0x21, 0x1f, 0xf9, 0x82, 0xf5, 0xeb, 0x19, 0x43, 0x33, 0x17, 0xec, 0xf4, 0x3c, - 0xf9, 0x1f, 0x5c, 0x65, 0xb4, 0x1b, 0x1c, 0x53, 0x8b, 0x51, 0x1e, 0x06, 0x3e, 0xa7, 0x83, 0xcd, - 0x4a, 0x48, 0x1e, 0x57, 0xd4, 0xb2, 0x19, 0xaf, 0x26, 0xb8, 0x1e, 0x5c, 0x8d, 0x6d, 0x1b, 0xc1, - 0x2d, 0xa0, 0x91, 0x0f, 0x66, 0x30, 0xf2, 0x8c, 0x72, 0x34, 0xd6, 0xbc, 0x62, 0x9f, 0xb7, 0x46, - 0xee, 0xc2, 0xea, 0xc0, 0x60, 0x7c, 0x6a, 0x83, 0x7d, 0x17, 0xd1, 0xde, 0x95, 0xc4, 0x5e, 0x5c, - 0x4c, 0x50, 0x02, 0x56, 0x07, 0xe6, 0x9e, 0x46, 0x5d, 0x46, 0x6b, 0x77, 0x66, 0xb2, 0x36, 0xad, - 0x5a, 0x19, 0xbb, 0x62, 0x9f, 0xb3, 0x54, 0x7e, 0x08, 0x64, 0xf4, 0x16, 0xc8, 0x12, 0x64, 0x5f, - 0xd3, 0x7e, 0x4c, 0x66, 0xf2, 0x53, 0x12, 0xf9, 0xb1, 0xed, 0x45, 0x34, 0xa6, 0x32, 0x35, 0x78, - 0x2f, 0xb3, 0xad, 0x95, 0x1b, 0x50, 0xbe, 0xd8, 0x45, 0x33, 0x69, 0x7a, 0x02, 0xd7, 0x2e, 0x34, - 0x7f, 0x16, 0x45, 0x95, 0x2f, 0x35, 0x98, 0x4f, 0xd8, 0x5a, 0xbe, 0xb7, 0x34, 0x45, 0xde, 0x19, - 0xcf, 0xf0, 0xc8, 0x90, 0xbb, 0x42, 0x30, 0xb7, 0x19, 0x09, 0xca, 0x13, 0x92, 0xdc, 0x3d, 0x4d, - 0x92, 0xe3, 0x78, 0xf6, 0x02, 0x82, 0xac, 0x7c, 0x21, 0x8d, 0x8a, 0x33, 0x0f, 0xa9, 0x9f, 0x36, - 0xea, 0xdf, 0x63, 0xf4, 0x3d, 0xbb, 0xfb, 0xfb, 0xd9, 0xf4, 0x8d, 0x0e, 0x4b, 0x67, 0xf3, 0x02, - 0xd9, 0x86, 0x6c, 0xc4, 0x5c, 0xf4, 0xf4, 0x78, 0x62, 0x39, 0x10, 0xcc, 0xf5, 0xdb, 0x0a, 0x2b, - 0x21, 0x92, 0x95, 0xb8, 0xd3, 0xa1, 0x5d, 0x75, 0x25, 0xd3, 0x83, 0x63, 0x14, 0xb2, 0x1a, 0x15, - 0x9d, 0xa0, 0x15, 0x67, 0x90, 0xa9, 0xf1, 0x0a, 0x45, 0xf6, 0xa1, 0x60, 0x47, 0xa2, 0x13, 0x30, - 0x57, 0xf4, 0xa7, 0x48, 0x20, 0x69, 0x15, 0x43, 0x20, 0x31, 0x61, 0x2e, 0x79, 0x79, 0xaa, 0x28, - 0xd8, 0x9e, 0x21, 0xab, 0x56, 0x4f, 0xbd, 0xb9, 0x44, 0x91, 0x2c, 0x0f, 0x30, 0xe5, 0xcb, 0x34, - 0xb3, 0xa0, 0x32, 0x39, 0x69, 0xc2, 0x02, 0x0f, 0x22, 0xe6, 0x50, 0xcb, 0xb3, 0x9b, 0xd4, 0x93, - 0xe9, 0x44, 0xee, 0x76, 0x7f, 0x96, 0xdd, 0x0e, 0x50, 0xc1, 0x33, 0xc4, 0xab, 0x2d, 0x4b, 0x3c, - 0x35, 0x75, 0xaa, 0xd2, 0x9a, 0x3f, 0x5d, 0x69, 0x95, 0x9b, 0x50, 0x9a, 0xf0, 0xc2, 0xee, 0xa5, - 0x5f, 0xd8, 0xf4, 0xbe, 0x4c, 0x3d, 0xe9, 0x07, 0xb0, 0x3c, 0x62, 0xe2, 0x4c, 0x4f, 0xf9, 0xe7, - 0x1c, 0xac, 0x9c, 0x57, 0x76, 0x90, 0x06, 0x14, 0x5b, 0xc3, 0xe1, 0x14, 0xd1, 0x9a, 0x0e, 0xff, - 0x34, 0x54, 0x96, 0x69, 0x3d, 0xea, 0xb6, 0x3b, 0xaa, 0x4c, 0xd3, 0xcd, 0x78, 0x34, 0x2e, 0xef, - 0x64, 0xc7, 0xe5, 0x9d, 0xcf, 0xb4, 0x8b, 0x13, 0x8f, 0x2a, 0x4e, 0x3f, 0x98, 0xb1, 0xc6, 0x7a, - 0xa7, 0x39, 0x48, 0x1f, 0x93, 0x83, 0x3e, 0xbd, 0x30, 0x07, 0xe5, 0xd1, 0xf0, 0xa7, 0xbf, 0xd6, - 0xf0, 0x69, 0xd3, 0xd1, 0x9f, 0x30, 0x99, 0x08, 0x58, 0xfa, 0xe3, 0x83, 0xaf, 0xf2, 0x5d, 0x06, - 0x96, 0x47, 0x98, 0x9f, 0xd4, 0xe0, 0x2f, 0x29, 0xb0, 0xc5, 0xa3, 0xa6, 0x4f, 0x07, 0xcd, 0x15, - 0x49, 0x2d, 0x1d, 0xa8, 0x95, 0x01, 0xef, 0x64, 0x52, 0xbc, 0x73, 0x73, 0xc0, 0x3b, 0x0a, 0x8f, - 0x64, 0x5b, 0x48, 0x88, 0x43, 0x21, 0x89, 0x73, 0x96, 0x9c, 0x72, 0x13, 0x8b, 0x90, 0x11, 0x73, - 0x67, 0x62, 0x27, 0xfd, 0x0c, 0x3b, 0xfd, 0x66, 0xe6, 0xf8, 0x31, 0x03, 0x64, 0x34, 0xa1, 0x93, - 0xbf, 0x42, 0x81, 0xfb, 0xae, 0x95, 0xee, 0x4a, 0xe7, 0xb9, 0xef, 0x36, 0xb0, 0x31, 0xbd, 0xc0, - 0xbf, 0x99, 0x89, 0xfe, 0xcd, 0x8e, 0xf3, 0x6f, 0xee, 0x1c, 0xff, 0xb6, 0xce, 0xfa, 0x57, 0x9f, - 0x58, 0x92, 0x8e, 0x1e, 0x66, 0x26, 0x07, 0xe7, 0xdf, 0xb5, 0x83, 0x77, 0xa0, 0x94, 0x6e, 0xe3, - 0x24, 0x36, 0xa9, 0x1b, 0x0a, 0xaa, 0x1e, 0xb8, 0x9e, 0xce, 0xc7, 0x0a, 0x3f, 0x9c, 0xa8, 0xdc, - 0x87, 0x62, 0xaa, 0x85, 0x9b, 0x19, 0x4e, 0xa1, 0x98, 0x4a, 0x3a, 0x64, 0x15, 0x74, 0x7a, 0x62, - 0x3b, 0x71, 0x07, 0xde, 0xb8, 0x64, 0xaa, 0x21, 0x31, 0x20, 0x1f, 0x32, 0x7a, 0xe4, 0x9e, 0x28, - 0x0d, 0x8d, 0x4b, 0x66, 0x3c, 0x96, 0x08, 0x46, 0xdb, 0xf4, 0x44, 0xc5, 0xbf, 0x44, 0xe0, 0xb0, - 0x5e, 0x02, 0xc0, 0x02, 0xcb, 0x12, 0xfd, 0x90, 0x56, 0x5e, 0xc5, 0xed, 0xb6, 0x6c, 0xe2, 0xa4, - 0x3f, 0x6d, 0x21, 0x68, 0x37, 0xc4, 0xd8, 0x91, 0xef, 0x75, 0x30, 0x26, 0xbb, 0x70, 0x39, 0xa4, - 0xcc, 0x12, 0xac, 0x6f, 0x25, 0x4d, 0x65, 0x66, 0x52, 0x53, 0xb9, 0x10, 0x52, 0x76, 0xc8, 0xfa, - 0x87, 0x4a, 0xbe, 0xf2, 0x75, 0x06, 0x60, 0xd8, 0x68, 0x91, 0x1b, 0x50, 0xb2, 0x3d, 0x2f, 0xe8, - 0x59, 0x01, 0x73, 0xdb, 0xae, 0x1f, 0x47, 0x6b, 0x11, 0xe7, 0x3e, 0xc4, 0x29, 0x19, 0x6b, 0x4a, - 0x44, 0x55, 0x40, 0x49, 0xa8, 0x2a, 0xdc, 0x73, 0x35, 0x37, 0x14, 0x3a, 0x9d, 0xbe, 0x94, 0x50, - 0x42, 0xfd, 0xb7, 0x60, 0x91, 0x9e, 0x84, 0xc1, 0x99, 0x5c, 0x55, 0x30, 0x17, 0xd4, 0x6c, 0x22, - 0xb6, 0x09, 0x73, 0x5d, 0xfb, 0xc4, 0xb2, 0xdb, 0xaa, 0xab, 0x1e, 0x7b, 0xba, 0x7c, 0xd7, 0x3e, - 0xd9, 0x6d, 0x53, 0xf2, 0x04, 0x96, 0xd5, 0xfe, 0x0e, 0xa3, 0x2d, 0xea, 0x0b, 0xd7, 0xf6, 0x78, - 0xdc, 0x70, 0x97, 0x47, 0xd0, 0xf5, 0x20, 0xf0, 0x5e, 0xca, 0x18, 0x33, 0x97, 0x10, 0xb4, 0x37, - 0xc4, 0x54, 0xbe, 0xd2, 0x81, 0x8c, 0xf6, 0xc4, 0xe4, 0x29, 0xe8, 0x2d, 0xea, 0xd9, 0xfd, 0x98, - 0x87, 0xb7, 0x66, 0xea, 0xa8, 0xab, 0xfb, 0x12, 0x6a, 0x2a, 0x0d, 0x52, 0x95, 0xdd, 0x4c, 0x08, - 0x73, 0x66, 0x55, 0xbb, 0x12, 0x6a, 0x2a, 0x0d, 0xe5, 0xcf, 0x33, 0xa0, 0xa3, 0x6e, 0x72, 0x1d, - 0xe6, 0x42, 0xca, 0x1c, 0xea, 0xab, 0xe0, 0xd4, 0xb1, 0xc9, 0x4d, 0xa6, 0xc8, 0x3d, 0x28, 0x1e, - 0xb9, 0x27, 0xb4, 0x65, 0xa9, 0x33, 0x4c, 0x8a, 0x99, 0xc6, 0x25, 0x13, 0x50, 0x5e, 0xe9, 0x6e, - 0xc0, 0xb2, 0xbc, 0x20, 0x5f, 0xb9, 0x28, 0xd6, 0x91, 0x9d, 0xac, 0x63, 0x29, 0x85, 0x52, 0x9a, - 0xea, 0x00, 0xb1, 0x49, 0xc3, 0xcb, 0xad, 0x8c, 0xfb, 0x37, 0xa5, 0x84, 0xcd, 0x14, 0xaa, 0xbe, - 0x0c, 0x97, 0x3b, 0x42, 0x84, 0xca, 0x0c, 0x7c, 0x3f, 0xe5, 0x37, 0x1a, 0xe8, 0xe8, 0x97, 0x09, - 0x6e, 0xb8, 0x01, 0x45, 0x84, 0x72, 0x61, 0x8b, 0x88, 0xab, 0x6c, 0x28, 0xcf, 0x2a, 0x27, 0x0f, - 0x70, 0x4e, 0x8a, 0xb4, 0x59, 0xe8, 0x24, 0x22, 0xc9, 0xb3, 0x05, 0x39, 0x39, 0x14, 0x91, 0x80, - 0x4d, 0x8b, 0xe2, 0xcf, 0x91, 0x5c, 0x22, 0x82, 0x93, 0x8f, 0xf0, 0xd7, 0xc7, 0xbb, 0x38, 0x67, - 0x09, 0x00, 0x37, 0x50, 0x14, 0xf1, 0x18, 0x4a, 0xe9, 0x1f, 0x75, 0x92, 0x72, 0xfc, 0xa8, 0xdb, - 0xa4, 0x0c, 0xcf, 0xb9, 0x20, 0x29, 0x47, 0x8d, 0xc9, 0x0a, 0xe4, 0x7c, 0x3b, 0x6e, 0x8f, 0xa4, - 0x5d, 0x38, 0xaa, 0xe7, 0x55, 0x12, 0xa9, 0xfc, 0x0d, 0xe6, 0xe2, 0xcd, 0x86, 0xac, 0x2b, 0x35, - 0x68, 0x31, 0xeb, 0xd6, 0xab, 0xdf, 0xbf, 0x5d, 0xd3, 0x7e, 0x78, 0xbb, 0xa6, 0xbd, 0x79, 0xbb, - 0xa6, 0x7d, 0xbc, 0xae, 0x6c, 0x76, 0x83, 0x9a, 0x1d, 0xba, 0xb5, 0x73, 0xfe, 0x00, 0x37, 0xf3, - 0x78, 0xf3, 0x5b, 0xbf, 0x04, 0x00, 0x00, 0xff, 0xff, 0x43, 0x4f, 0x80, 0x3f, 0x1f, 0x16, 0x00, - 0x00, + // 1631 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xdf, 0x6f, 0x1b, 0xc5, + 0x13, 0xef, 0xd9, 0x3e, 0x27, 0x1e, 0x3b, 0x69, 0xb2, 0xdf, 0x34, 0xbd, 0xf8, 0x5b, 0x85, 0xd4, + 0xa5, 0x10, 0x54, 0x6a, 0x8b, 0xa4, 0x40, 0x04, 0x6d, 0xda, 0x38, 0x69, 0xeb, 0xa2, 0x56, 0xad, + 0x2e, 0xa1, 0x0f, 0xbc, 0x58, 0xe7, 0xf3, 0xc6, 0x3e, 0x7a, 0xbe, 0x3d, 0xf6, 0xf6, 0xe2, 0xf8, + 0x09, 0x09, 0xc1, 0x1f, 0x00, 0xe2, 0x15, 0x21, 0xfe, 0x12, 0x5e, 0x79, 0xe4, 0x2f, 0x40, 0x55, + 0x1f, 0xf9, 0x27, 0x40, 0x3b, 0x7b, 0x67, 0x5f, 0xe2, 0xc4, 0x3f, 0xa0, 0x20, 0xde, 0x6e, 0x77, + 0xe7, 0x33, 0x3b, 0x3b, 0x3b, 0xfb, 0x99, 0x99, 0x83, 0x77, 0x3c, 0x2a, 0xba, 0x8c, 0xbf, 0x70, + 0xbc, 0x56, 0xe5, 0xe8, 0x3d, 0xcb, 0xf5, 0xdb, 0xd6, 0x66, 0xe5, 0xc8, 0xe1, 0x22, 0xb4, 0xdc, + 0x7a, 0x40, 0xf9, 0x91, 0x63, 0xd3, 0xb2, 0xcf, 0x99, 0x60, 0x64, 0xc5, 0x09, 0x84, 0xc3, 0xca, + 0x03, 0x40, 0x39, 0x06, 0x14, 0x57, 0x5b, 0x8c, 0xb5, 0x5c, 0x5a, 0x41, 0xc1, 0x46, 0x78, 0x58, + 0x69, 0x86, 0xdc, 0x12, 0x0e, 0xf3, 0x14, 0x74, 0x78, 0xbd, 0xcb, 0x2d, 0xdf, 0xa7, 0x3c, 0x50, + 0xeb, 0xa5, 0xdf, 0x35, 0x98, 0x7f, 0xae, 0x36, 0xdd, 0x57, 0x7b, 0x92, 0x25, 0xd0, 0xdb, 0x2c, + 0x10, 0x81, 0xa1, 0xad, 0xa5, 0xd7, 0x73, 0xa6, 0x1a, 0x90, 0x22, 0xcc, 0xb6, 0x2c, 0x41, 0xbb, + 0x56, 0x2f, 0x30, 0x52, 0xb8, 0xd0, 0x1f, 0x93, 0x2d, 0xc8, 0xb4, 0x85, 0xf0, 0x8d, 0xf4, 0x5a, + 0x7a, 0x3d, 0xbf, 0xf1, 0x66, 0xf9, 0x5c, 0x73, 0xcb, 0xb5, 0x83, 0x83, 0x67, 0x26, 0x0b, 0x05, + 0x35, 0x11, 0x41, 0xde, 0x87, 0xb4, 0xb0, 0x7d, 0x23, 0x83, 0xc0, 0x6b, 0x23, 0x80, 0x07, 0xbb, + 0x11, 0x4e, 0xca, 0x23, 0xcc, 0x0d, 0x0c, 0x7d, 0x3c, 0xec, 0xf1, 0x7e, 0x0c, 0x73, 0x83, 0xd2, + 0x11, 0xe4, 0xf7, 0x68, 0x20, 0x1c, 0x0f, 0x3d, 0x44, 0x08, 0x64, 0xe4, 0xd9, 0x0c, 0x6d, 0x4d, + 0x5b, 0xcf, 0x99, 0xf8, 0x4d, 0x96, 0x21, 0x1b, 0x84, 0x8d, 0x80, 0x0a, 0x23, 0x85, 0xb3, 0xd1, + 0x88, 0x7c, 0x0c, 0x19, 0x9f, 0x71, 0x61, 0xa4, 0xd7, 0xb4, 0xf5, 0xfc, 0xc6, 0xdb, 0x23, 0xb6, + 0x7c, 0xc6, 0xb8, 0xd8, 0xa7, 0x2e, 0xb5, 0x05, 0xe3, 0x26, 0x82, 0x4a, 0x3f, 0x01, 0xe4, 0xfa, + 0x27, 0x27, 0x3b, 0xa0, 0x77, 0x2c, 0x61, 0xb7, 0xd1, 0xbf, 0xf9, 0x8d, 0x1b, 0x63, 0xdc, 0xf5, + 0x44, 0xca, 0x9a, 0xf4, 0x8b, 0x90, 0x06, 0xc2, 0x54, 0x48, 0x72, 0x1f, 0x74, 0x2e, 0x75, 0xe1, + 0x4d, 0xe4, 0x37, 0x2a, 0x93, 0x78, 0x3c, 0x71, 0x72, 0x53, 0xa1, 0xc9, 0x2e, 0xcc, 0x72, 0xda, + 0x74, 0x38, 0xb5, 0x27, 0x39, 0x18, 0x6a, 0x8a, 0xc4, 0xcd, 0x3e, 0x90, 0xdc, 0x83, 0x19, 0x4e, + 0xbb, 0xdc, 0x11, 0xd4, 0xc8, 0xa0, 0x8e, 0xb7, 0xc6, 0xea, 0x40, 0x69, 0x33, 0x86, 0x91, 0x1b, + 0xb0, 0xd8, 0xa5, 0x8d, 0x80, 0xd9, 0x2f, 0xa8, 0xa8, 0x87, 0x7e, 0x8b, 0x5b, 0x4d, 0x6a, 0xe8, + 0x6b, 0xda, 0xfa, 0xac, 0xb9, 0xd0, 0x5f, 0xf8, 0x54, 0xcd, 0x93, 0x4d, 0x98, 0x11, 0x4e, 0x87, + 0xb2, 0x50, 0x18, 0x59, 0xdc, 0x6e, 0xa5, 0xac, 0x42, 0xbc, 0x1c, 0x87, 0x78, 0x79, 0x2f, 0x7a, + 0x02, 0x66, 0x2c, 0x49, 0xb6, 0xa5, 0x8d, 0x82, 0x3b, 0x34, 0x30, 0x66, 0x10, 0x34, 0x36, 0x46, + 0xa9, 0xe0, 0x3d, 0x33, 0x06, 0x91, 0x5d, 0xd0, 0x0f, 0xad, 0xd0, 0x15, 0xc6, 0x2c, 0xa2, 0x6f, + 0x8e, 0x41, 0x3f, 0x90, 0xb2, 0x8f, 0xbc, 0xcf, 0xa9, 0xad, 0xbc, 0x8d, 0x58, 0xb2, 0x0d, 0xd9, + 0x8e, 0xc3, 0x39, 0xe3, 0x46, 0x6e, 0xac, 0x9f, 0x92, 0x97, 0x15, 0xa1, 0xc8, 0x03, 0xc8, 0xdb, + 0x8c, 0x07, 0x75, 0x9f, 0xb9, 0x8e, 0xdd, 0x33, 0x00, 0x95, 0x5c, 0x1f, 0xa1, 0x64, 0x97, 0xf1, + 0xe0, 0x19, 0x0a, 0x9b, 0x60, 0xf7, 0xbf, 0x49, 0x03, 0xe6, 0x25, 0x05, 0x78, 0xcd, 0x7a, 0x9b, + 0x5a, 0x4d, 0xca, 0x03, 0x23, 0x8f, 0x51, 0xf4, 0xe1, 0x24, 0x51, 0x54, 0xde, 0x41, 0x68, 0x4d, + 0x21, 0xef, 0x7b, 0x82, 0xf7, 0xaa, 0x29, 0x43, 0x33, 0xe7, 0xac, 0xe4, 0x3c, 0xf9, 0x00, 0x2e, + 0x73, 0xda, 0x61, 0x47, 0xb4, 0xce, 0x69, 0xe0, 0x33, 0x2f, 0xa0, 0xfd, 0xcd, 0x0a, 0x48, 0x1e, + 0x97, 0xd4, 0xb2, 0x19, 0xad, 0xc6, 0xb8, 0x2e, 0x5c, 0x8e, 0x6c, 0x1b, 0xc2, 0xcd, 0xa1, 0x91, + 0x77, 0xa7, 0x30, 0xf2, 0x94, 0x72, 0x34, 0xd6, 0xbc, 0x64, 0x9d, 0xb5, 0x46, 0x6e, 0xc1, 0x72, + 0xdf, 0x60, 0x7c, 0x6a, 0xfd, 0x7d, 0xe7, 0xd1, 0xde, 0xa5, 0xd8, 0x5e, 0x5c, 0x8c, 0x51, 0x02, + 0x96, 0xfb, 0xe6, 0x9e, 0x44, 0x5d, 0x44, 0x6b, 0xb7, 0xa7, 0xb2, 0x36, 0xa9, 0x5a, 0x19, 0xbb, + 0x64, 0x9d, 0xb1, 0x54, 0xbc, 0x07, 0x64, 0xf8, 0x16, 0xc8, 0x02, 0xa4, 0x5f, 0xd0, 0x5e, 0x44, + 0x66, 0xf2, 0x53, 0x12, 0xf9, 0x91, 0xe5, 0x86, 0x34, 0xa2, 0x32, 0x35, 0xf8, 0x28, 0xb5, 0xa5, + 0x15, 0x6b, 0x50, 0x3c, 0xdf, 0x45, 0x53, 0x69, 0x7a, 0x08, 0x2b, 0xe7, 0x9a, 0x3f, 0x8d, 0xa2, + 0xd2, 0x77, 0x1a, 0xcc, 0xc6, 0x6c, 0x2d, 0xdf, 0x5b, 0x92, 0x22, 0x6f, 0x8e, 0x66, 0x78, 0x64, + 0xc8, 0x1d, 0x21, 0xb8, 0xd3, 0x08, 0x05, 0x0d, 0x62, 0x92, 0xdc, 0x39, 0x49, 0x92, 0xa3, 0x78, + 0xf6, 0x1c, 0x82, 0x2c, 0x7d, 0x2b, 0x8d, 0x8a, 0x32, 0x0f, 0xa9, 0x9e, 0x34, 0xea, 0xdd, 0x11, + 0xfa, 0x1e, 0xdf, 0xfa, 0xe7, 0x6c, 0xfa, 0x51, 0x87, 0x85, 0xd3, 0x79, 0x81, 0x6c, 0x41, 0x3a, + 0xe4, 0x0e, 0x7a, 0x7a, 0x34, 0xb1, 0xec, 0x0b, 0xee, 0x78, 0x2d, 0x85, 0x95, 0x10, 0xc9, 0x4a, + 0x81, 0xdd, 0xa6, 0x1d, 0x75, 0x25, 0x93, 0x83, 0x23, 0x14, 0xb2, 0x1a, 0x15, 0x6d, 0xd6, 0x8c, + 0x32, 0xc8, 0xc4, 0x78, 0x85, 0x22, 0x7b, 0x90, 0xb3, 0x42, 0xd1, 0x66, 0xdc, 0x11, 0xbd, 0x09, + 0x12, 0x48, 0x52, 0xc5, 0x00, 0x48, 0x4c, 0x98, 0x89, 0x5f, 0x9e, 0x2a, 0x0a, 0xb6, 0xa6, 0xc8, + 0xaa, 0xe5, 0x13, 0x6f, 0x2e, 0x56, 0x24, 0xcb, 0x03, 0x4c, 0xf9, 0x32, 0xcd, 0xcc, 0xa9, 0x4c, + 0x4e, 0x1a, 0x30, 0x17, 0xb0, 0x90, 0xdb, 0xb4, 0xee, 0x5a, 0x0d, 0xea, 0xca, 0x74, 0x22, 0x77, + 0xbb, 0x33, 0xcd, 0x6e, 0xfb, 0xa8, 0xe0, 0x31, 0xe2, 0xd5, 0x96, 0x85, 0x20, 0x31, 0x75, 0xa2, + 0xd2, 0x9a, 0x3d, 0x59, 0x69, 0x15, 0x1b, 0x50, 0x18, 0xf3, 0xc2, 0x6e, 0x27, 0x5f, 0xd8, 0xe4, + 0xbe, 0x4c, 0x3c, 0xe9, 0xbb, 0xb0, 0x38, 0x64, 0xe2, 0x54, 0x4f, 0xf9, 0x8f, 0x0c, 0x2c, 0x9d, + 0x55, 0x76, 0x90, 0x1a, 0xe4, 0x9b, 0x83, 0xe1, 0x04, 0xd1, 0x9a, 0x0c, 0xff, 0x24, 0x54, 0x96, + 0x69, 0x5d, 0xea, 0xb4, 0xda, 0xaa, 0x4c, 0xd3, 0xcd, 0x68, 0x34, 0x2a, 0xef, 0xa4, 0x47, 0xe5, + 0x9d, 0xaf, 0xb4, 0xf3, 0x13, 0x8f, 0x2a, 0x4e, 0x3f, 0x99, 0xb2, 0xc6, 0x7a, 0xad, 0x39, 0x48, + 0x1f, 0x91, 0x83, 0xbe, 0x3c, 0x37, 0x07, 0x65, 0xd1, 0xf0, 0x47, 0x7f, 0xd5, 0xf0, 0x49, 0xd3, + 0xd1, 0x7f, 0x30, 0x99, 0x08, 0x58, 0xf8, 0xf7, 0x83, 0xaf, 0xf4, 0x73, 0x0a, 0x16, 0x87, 0x98, + 0x9f, 0x54, 0xe0, 0x7f, 0x09, 0x70, 0x3d, 0x08, 0x1b, 0x1e, 0xed, 0x37, 0x57, 0x24, 0xb1, 0xb4, + 0xaf, 0x56, 0xfa, 0xbc, 0x93, 0x4a, 0xf0, 0xce, 0xb5, 0x3e, 0xef, 0x28, 0x3c, 0x92, 0x6d, 0x2e, + 0x26, 0x0e, 0x85, 0x24, 0xf6, 0x69, 0x72, 0xca, 0x8c, 0x2d, 0x42, 0x86, 0xcc, 0x9d, 0x8a, 0x9d, + 0xf4, 0x53, 0xec, 0xf4, 0xb7, 0x99, 0xe3, 0xb7, 0x14, 0x90, 0xe1, 0x84, 0x4e, 0xfe, 0x0f, 0xb9, + 0xc0, 0x73, 0xea, 0xc9, 0xae, 0x74, 0x36, 0xf0, 0x9c, 0x1a, 0x36, 0xa6, 0xe7, 0xf8, 0x37, 0x35, + 0xd6, 0xbf, 0xe9, 0x51, 0xfe, 0xcd, 0x9c, 0xe1, 0xdf, 0xe6, 0x69, 0xff, 0xea, 0x63, 0x4b, 0xd2, + 0xe1, 0xc3, 0x4c, 0xe5, 0xe0, 0xec, 0xeb, 0x76, 0xf0, 0x36, 0x14, 0x92, 0x6d, 0x9c, 0xc4, 0xc6, + 0x75, 0x43, 0x4e, 0xd5, 0x03, 0x57, 0x92, 0xf9, 0x58, 0xe1, 0x07, 0x13, 0xa5, 0x3b, 0x90, 0x4f, + 0xb4, 0x70, 0x53, 0xc3, 0x29, 0xe4, 0x13, 0x49, 0x87, 0x2c, 0x83, 0x4e, 0x8f, 0x2d, 0x3b, 0xea, + 0xc0, 0x6b, 0x17, 0x4c, 0x35, 0x24, 0x06, 0x64, 0x7d, 0x4e, 0x0f, 0x9d, 0x63, 0xa5, 0xa1, 0x76, + 0xc1, 0x8c, 0xc6, 0x12, 0xc1, 0x69, 0x8b, 0x1e, 0xab, 0xf8, 0x97, 0x08, 0x1c, 0x56, 0x0b, 0x00, + 0x58, 0x60, 0xd5, 0x45, 0xcf, 0xa7, 0xa5, 0x6f, 0xb4, 0xa8, 0xdf, 0x96, 0x5d, 0x9c, 0x74, 0xa8, + 0x25, 0x04, 0xed, 0xf8, 0x18, 0x3c, 0xf2, 0xc1, 0xf6, 0xc7, 0x64, 0x07, 0x2e, 0xfa, 0x94, 0xd7, + 0x05, 0xef, 0xd5, 0xe3, 0xae, 0x32, 0x35, 0xae, 0xab, 0x9c, 0xf3, 0x29, 0x3f, 0xe0, 0xbd, 0x83, + 0xa8, 0xb7, 0x5c, 0x91, 0x4d, 0xb4, 0x54, 0xc0, 0xbc, 0xe8, 0x55, 0x62, 0xdb, 0xd8, 0x7b, 0xea, + 0x95, 0x7e, 0x48, 0x01, 0x0c, 0x9a, 0x30, 0x72, 0x15, 0x0a, 0x96, 0xeb, 0xb2, 0x6e, 0x9d, 0x71, + 0xa7, 0xe5, 0x78, 0x51, 0x24, 0xe7, 0x71, 0xee, 0x29, 0x4e, 0xc9, 0x38, 0x54, 0x22, 0xaa, 0x3a, + 0x8a, 0xc3, 0x58, 0xe1, 0x9e, 0xa8, 0xb9, 0x81, 0xd0, 0xc9, 0xd4, 0xa6, 0x84, 0xe2, 0xb4, 0x70, + 0x1d, 0xe6, 0xe9, 0xb1, 0xcf, 0x4e, 0xe5, 0xb1, 0x9c, 0x39, 0xa7, 0x66, 0x63, 0xb1, 0x0d, 0x98, + 0xe9, 0x58, 0xc7, 0x75, 0xab, 0xa5, 0x3a, 0xee, 0x91, 0x07, 0xcf, 0x76, 0xac, 0xe3, 0x9d, 0x16, + 0x25, 0x0f, 0x61, 0x51, 0xed, 0x6f, 0x73, 0xda, 0xa4, 0x9e, 0x70, 0x2c, 0x37, 0x88, 0x9a, 0xf1, + 0xe2, 0x10, 0xba, 0xca, 0x98, 0xfb, 0x5c, 0xc6, 0x9f, 0xb9, 0x80, 0xa0, 0xdd, 0x01, 0xa6, 0xf4, + 0xbd, 0x0e, 0x64, 0xb8, 0x5f, 0x26, 0x8f, 0x40, 0x6f, 0x52, 0xd7, 0xea, 0x45, 0x1c, 0xbd, 0x39, + 0x55, 0xb7, 0x5d, 0xde, 0x93, 0x50, 0x53, 0x69, 0x90, 0xaa, 0xac, 0x46, 0x4c, 0xa6, 0x53, 0xab, + 0xda, 0x91, 0x50, 0x53, 0x69, 0x28, 0x7e, 0x9d, 0x02, 0x1d, 0x75, 0x93, 0x2b, 0x30, 0xe3, 0x53, + 0x6e, 0x53, 0x4f, 0x05, 0xae, 0x8e, 0x0d, 0x70, 0x3c, 0x45, 0x6e, 0x43, 0xfe, 0xd0, 0x39, 0xa6, + 0xcd, 0xba, 0x3a, 0xc3, 0xb8, 0x70, 0xaa, 0x5d, 0x30, 0x01, 0xe5, 0x95, 0xee, 0x1a, 0x2c, 0xca, + 0x0b, 0xf2, 0x94, 0x8b, 0x22, 0x1d, 0xe9, 0xf1, 0x3a, 0x16, 0x12, 0x28, 0xa5, 0xa9, 0x0a, 0x10, + 0x99, 0x34, 0xb8, 0xdc, 0xd2, 0xa8, 0xff, 0x56, 0x4a, 0xd8, 0x4c, 0xa0, 0xaa, 0x8b, 0x70, 0xb1, + 0x2d, 0x84, 0xaf, 0xcc, 0xc0, 0xb7, 0x55, 0x7c, 0xa9, 0x81, 0x8e, 0x7e, 0x19, 0xe3, 0x86, 0xab, + 0x90, 0x47, 0x68, 0x20, 0x2c, 0x11, 0x06, 0x2a, 0x53, 0xca, 0xb3, 0xca, 0xc9, 0x7d, 0x9c, 0x93, + 0x22, 0x2d, 0xee, 0xdb, 0xb1, 0x48, 0xfc, 0xa4, 0x41, 0x4e, 0x0e, 0x44, 0x24, 0x60, 0xa3, 0x4e, + 0xf1, 0xc7, 0x49, 0x26, 0x16, 0xc1, 0xc9, 0xfb, 0xf8, 0x5b, 0xe4, 0x75, 0x9c, 0xb3, 0x00, 0x80, + 0x1b, 0x28, 0xfa, 0x78, 0x00, 0x85, 0xe4, 0x4f, 0x3c, 0x49, 0x47, 0x5e, 0xd8, 0x69, 0x50, 0x8e, + 0xe7, 0x9c, 0x93, 0x74, 0xa4, 0xc6, 0x64, 0x09, 0x32, 0x9e, 0x15, 0xb5, 0x4e, 0xd2, 0x2e, 0x1c, + 0x55, 0xb3, 0x2a, 0xc1, 0x94, 0xde, 0x80, 0x99, 0x68, 0xb3, 0x01, 0x23, 0x4b, 0x0d, 0x5a, 0xc4, + 0xc8, 0xd5, 0xf2, 0x2f, 0xaf, 0x56, 0xb5, 0x5f, 0x5f, 0xad, 0x6a, 0x2f, 0x5f, 0xad, 0x6a, 0x9f, + 0xad, 0x29, 0x9b, 0x1d, 0x56, 0xb1, 0x7c, 0xa7, 0x72, 0xc6, 0xdf, 0xe1, 0x46, 0x16, 0x6f, 0x7e, + 0xf3, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x77, 0x6d, 0xd7, 0xd3, 0x3b, 0x16, 0x00, 0x00, } diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto index b52bfb0c4b..a86c295033 100644 --- a/networking/v1alpha3/virtual_service.proto +++ b/networking/v1alpha3/virtual_service.proto @@ -857,6 +857,7 @@ message StringMatch { // retries: // attempts: 3 // perTryTimeout: 2s +// retryOn: gateway-error,connect-failure,refused-stream // ``` // message HTTPRetry { @@ -867,6 +868,13 @@ message HTTPRetry { // Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms. google.protobuf.Duration per_try_timeout = 2; + + // Specifies the conditions under which retry takes place. + // One or more policies can be specified using a ‘,’ delimited list. + // The supported policies can be found in + // "https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-on" + // and "https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-grpc-on" + string retry_on = 3; } // Describes the Cross-Origin Resource Sharing (CORS) policy, for a given diff --git a/policy/v1beta1/cfg.pb.go b/policy/v1beta1/cfg.pb.go index 24dcf57cee..b7c9766a33 100644 --- a/policy/v1beta1/cfg.pb.go +++ b/policy/v1beta1/cfg.pb.go @@ -65,9 +65,12 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type Rule_HeaderOperationTemplate_Operation int32 const ( + // Replace a header by name. REPLACE Rule_HeaderOperationTemplate_Operation = 0 - REMOVE Rule_HeaderOperationTemplate_Operation = 1 - APPEND Rule_HeaderOperationTemplate_Operation = 2 + // Remove a header by name. Values are ignored. + REMOVE Rule_HeaderOperationTemplate_Operation = 1 + // Append values to the existing header values. + APPEND Rule_HeaderOperationTemplate_Operation = 2 ) var Rule_HeaderOperationTemplate_Operation_name = map[int32]string{ @@ -258,10 +261,10 @@ type Rule struct { Match string `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Optional. The actions that will be executed when match evaluates to `true`. Actions []*Action `protobuf:"bytes,2,rep,name=actions" json:"actions,omitempty"` - // Optional. Templatized operations on the request headers using attributes produced by the + // Optional. Templatized operations on the request headers using values produced by the // rule actions. RequestHeaderOperations []*Rule_HeaderOperationTemplate `protobuf:"bytes,3,rep,name=request_header_operations,json=requestHeaderOperations" json:"request_header_operations,omitempty"` - // Optional. Templatized operations on the response headers using attributes produced by the + // Optional. Templatized operations on the response headers using values produced by the // rule actions. ResponseHeaderOperations []*Rule_HeaderOperationTemplate `protobuf:"bytes,4,rep,name=response_header_operations,json=responseHeaderOperations" json:"response_header_operations,omitempty"` // $hide_from_docs @@ -312,11 +315,20 @@ func (m *Rule) GetSampling() *Sampling { return nil } -// A template for an HTTP header manipulation. +// A template for an HTTP header manipulation. Values in the template are expressions +// that may reference action outputs by name. For example, if an action `x` produces an output +// with a field `f`, then the header value expressions may use attribute `x.output.f` to reference +// the field value: +// ```yaml +// request_header_operations: +// - name: x-istio-header +// values: +// - x.output.f +// ``` type Rule_HeaderOperationTemplate struct { - // Required. Header name. + // Required. Header name literal value. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Optional. Header values to replace or append. + // Optional. Header value expressions. Values []string `protobuf:"bytes,2,rep,name=values" json:"values,omitempty"` // Optional. Header operation type. Default operation is to replace the value of the header by name. Operation Rule_HeaderOperationTemplate_Operation `protobuf:"varint,3,opt,name=operation,proto3,enum=istio.policy.v1beta1.Rule_HeaderOperationTemplate_Operation" json:"operation,omitempty"` diff --git a/policy/v1beta1/cfg.proto b/policy/v1beta1/cfg.proto index 5ac9013d36..0e829b0ca4 100644 --- a/policy/v1beta1/cfg.proto +++ b/policy/v1beta1/cfg.proto @@ -127,31 +127,45 @@ message Rule { // Optional. The actions that will be executed when match evaluates to `true`. repeated Action actions = 2; - // A template for an HTTP header manipulation. + // A template for an HTTP header manipulation. Values in the template are expressions + // that may reference action outputs by name. For example, if an action `x` produces an output + // with a field `f`, then the header value expressions may use attribute `x.output.f` to reference + // the field value: + // ```yaml + // request_header_operations: + // - name: x-istio-header + // values: + // - x.output.f + // ``` message HeaderOperationTemplate { - // Required. Header name. + // Required. Header name literal value. string name = 1; - // Optional. Header values to replace or append. + // Optional. Header value expressions. repeated string values = 2; // Header operation type. enum Operation { - REPLACE = 0; // replaces the header with the given name - REMOVE = 1; // removes the header with the given name (the value is ignored) - APPEND = 2; // appends the values to the existing values (preserving existing values) + // Replace a header by name. + REPLACE = 0; + + // Remove a header by name. Values are ignored. + REMOVE = 1; + + // Append values to the existing header values. + APPEND = 2; } // Optional. Header operation type. Default operation is to replace the value of the header by name. Operation operation = 3; } - // Optional. Templatized operations on the request headers using attributes produced by the + // Optional. Templatized operations on the request headers using values produced by the // rule actions. repeated HeaderOperationTemplate request_header_operations = 3; - // Optional. Templatized operations on the response headers using attributes produced by the + // Optional. Templatized operations on the response headers using values produced by the // rule actions. repeated HeaderOperationTemplate response_header_operations = 4; diff --git a/policy/v1beta1/istio.policy.v1beta1.pb.html b/policy/v1beta1/istio.policy.v1beta1.pb.html index fde19d018c..2cd47ce3ee 100644 --- a/policy/v1beta1/istio.policy.v1beta1.pb.html +++ b/policy/v1beta1/istio.policy.v1beta1.pb.html @@ -633,7 +633,7 @@

Rule

requestHeaderOperations Rule.HeaderOperationTemplate[] -

Optional. Templatized operations on the request headers using attributes produced by the +

Optional. Templatized operations on the request headers using values produced by the rule actions.

responseHeaderOperations Rule.HeaderOperationTemplate[] -

Optional. Templatized operations on the response headers using attributes produced by the +

Optional. Templatized operations on the response headers using values produced by the rule actions.

@@ -667,7 +676,7 @@

Rule.HeaderOperationTemplate

@@ -675,7 +684,7 @@

Rule.HeaderOperationTemplate

@@ -705,21 +714,21 @@

Rule.HeaderOperationTemplate.Ope

diff --git a/proto.lock b/proto.lock index b545da2f7d..62cee6126c 100644 --- a/proto.lock +++ b/proto.lock @@ -660,6 +660,23 @@ "integer": 1 } ] + }, + { + "name": "OutboundTrafficPolicy.Mode", + "enum_fields": [ + { + "name": "REGISTRY_ONLY", + "integer": 0 + }, + { + "name": "ALLOW_ANY", + "integer": 1 + }, + { + "name": "VIRTUAL_SERVICE_ONLY", + "integer": 2 + } + ] } ], "messages": [ @@ -721,6 +738,11 @@ "name": "auth_policy", "type": "AuthPolicy" }, + { + "id": 11, + "name": "rds_refresh_delay", + "type": "google.protobuf.Duration" + }, { "id": 12, "name": "enable_tracing", @@ -741,6 +763,16 @@ "name": "default_config", "type": "ProxyConfig" }, + { + "id": 16, + "name": "mixer_address", + "type": "string" + }, + { + "id": 17, + "name": "outbound_traffic_policy", + "type": "OutboundTrafficPolicy" + }, { "id": 19, "name": "enable_client_side_policy_check", @@ -751,6 +783,11 @@ "name": "sds_uds_path", "type": "string" }, + { + "id": 21, + "name": "sds_refresh_delay", + "type": "google.protobuf.Duration" + }, { "id": 22, "name": "config_sources", @@ -769,12 +806,20 @@ } ], "reserved_ids": [ - 11, 15, - 16, - 17, - 18, - 21 + 18 + ], + "messages": [ + { + "name": "OutboundTrafficPolicy", + "fields": [ + { + "id": 1, + "name": "mode", + "type": "Mode" + } + ] + } ] }, { @@ -995,6 +1040,11 @@ "name": "discovery_address", "type": "string" }, + { + "id": 7, + "name": "discovery_refresh_delay", + "type": "google.protobuf.Duration" + }, { "id": 8, "name": "zipkin_address", @@ -1015,6 +1065,11 @@ "name": "proxy_admin_port", "type": "int32" }, + { + "id": 12, + "name": "availability_zone", + "type": "string" + }, { "id": 13, "name": "control_plane_auth_policy", @@ -1050,10 +1105,6 @@ "name": "tracing", "type": "Tracing" } - ], - "reserved_ids": [ - 7, - 12 ] } ] @@ -2607,6 +2658,11 @@ "id": 4, "name": "max_ejection_percent", "type": "int32" + }, + { + "id": 5, + "name": "min_health_percent", + "type": "int32" } ] }, @@ -2866,19 +2922,19 @@ "integer": 0 }, { - "name": "TLSv1_0", + "name": "TLSV1_0", "integer": 1 }, { - "name": "TLSv1_1", + "name": "TLSV1_1", "integer": 2 }, { - "name": "TLSv1_2", + "name": "TLSV1_2", "integer": 3 }, { - "name": "TLSv1_3", + "name": "TLSV1_3", "integer": 4 } ] @@ -3566,6 +3622,11 @@ "id": 2, "name": "per_try_timeout", "type": "google.protobuf.Duration" + }, + { + "id": 3, + "name": "retry_on", + "type": "string" } ] }, diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py index 31cab13142..e6fc3b9567 100644 --- a/python/istio_api/mesh/v1alpha1/config_pb2.py +++ b/python/istio_api/mesh/v1alpha1/config_pb2.py @@ -22,12 +22,38 @@ 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\"\xf6\x06\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\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\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01J\x04\x08\x0b\x10\x0cJ\x04\x08\x0f\x10\x10J\x04\x08\x10\x10\x11J\x04\x08\x11\x10\x12J\x04\x08\x12\x10\x13J\x04\x08\x15\x10\x16\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\x81\n\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mesh_dot_v1alpha1_dot_proxy__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_destination__rule__pb2.DESCRIPTOR,]) +_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE = _descriptor.EnumDescriptor( + name='Mode', + full_name='istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='REGISTRY_ONLY', index=0, number=0, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\010\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='ALLOW_ANY', index=1, number=1, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\010\001')), + 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=1247, + serialized_end=1325, +) +_sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE) + _MESHCONFIG_INGRESSCONTROLLERMODE = _descriptor.EnumDescriptor( name='IngressControllerMode', full_name='istio.mesh.v1alpha1.MeshConfig.IngressControllerMode', @@ -49,8 +75,8 @@ ], containing_type=None, options=None, - serialized_start=908, - serialized_end=965, + serialized_start=1327, + serialized_end=1384, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE) @@ -71,12 +97,43 @@ ], containing_type=None, options=None, - serialized_start=967, - serialized_end=1005, + serialized_start=1386, + serialized_end=1424, ) _sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY) +_MESHCONFIG_OUTBOUNDTRAFFICPOLICY = _descriptor.Descriptor( + name='OutboundTrafficPolicy', + full_name='istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='mode', full_name='istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE, + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1144, + serialized_end=1325, +) + _MESHCONFIG = _descriptor.Descriptor( name='MeshConfig', full_name='istio.mesh.v1alpha1.MeshConfig', @@ -162,63 +219,91 @@ 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=11, + name='rds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.rds_refresh_delay', index=11, + number=11, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='enable_tracing', full_name='istio.mesh.v1alpha1.MeshConfig.enable_tracing', index=12, 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=12, + name='access_log_file', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_file', index=13, 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=13, + name='access_log_format', full_name='istio.mesh.v1alpha1.MeshConfig.access_log_format', index=14, 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='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=14, + name='default_config', full_name='istio.mesh.v1alpha1.MeshConfig.default_config', index=15, number=14, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=15, + name='mixer_address', full_name='istio.mesh.v1alpha1.MeshConfig.mixer_address', index=16, + number=16, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='outbound_traffic_policy', full_name='istio.mesh.v1alpha1.MeshConfig.outbound_traffic_policy', index=17, + number=17, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='enable_client_side_policy_check', full_name='istio.mesh.v1alpha1.MeshConfig.enable_client_side_policy_check', index=18, number=19, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=16, + name='sds_uds_path', full_name='istio.mesh.v1alpha1.MeshConfig.sds_uds_path', index=19, number=20, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=17, + name='sds_refresh_delay', full_name='istio.mesh.v1alpha1.MeshConfig.sds_refresh_delay', index=20, + number=21, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='config_sources', full_name='istio.mesh.v1alpha1.MeshConfig.config_sources', index=21, number=22, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=18, + name='enable_sds_token_mount', full_name='istio.mesh.v1alpha1.MeshConfig.enable_sds_token_mount', index=22, number=23, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=19, + name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=23, number=26, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, @@ -227,7 +312,7 @@ ], extensions=[ ], - nested_types=[], + nested_types=[_MESHCONFIG_OUTBOUNDTRAFFICPOLICY, ], enum_types=[ _MESHCONFIG_INGRESSCONTROLLERMODE, _MESHCONFIG_AUTHPOLICY, @@ -239,7 +324,7 @@ oneofs=[ ], serialized_start=155, - serialized_end=1041, + serialized_end=1436, ) @@ -276,14 +361,20 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1043, - serialized_end=1136, + serialized_start=1438, + serialized_end=1531, ) +_MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE +_MESHCONFIG_OUTBOUNDTRAFFICPOLICY.containing_type = _MESHCONFIG +_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.containing_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY _MESHCONFIG.fields_by_name['connect_timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _MESHCONFIG.fields_by_name['ingress_controller_mode'].enum_type = _MESHCONFIG_INGRESSCONTROLLERMODE _MESHCONFIG.fields_by_name['auth_policy'].enum_type = _MESHCONFIG_AUTHPOLICY +_MESHCONFIG.fields_by_name['rds_refresh_delay'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _MESHCONFIG.fields_by_name['default_config'].message_type = mesh_dot_v1alpha1_dot_proxy__pb2._PROXYCONFIG +_MESHCONFIG.fields_by_name['outbound_traffic_policy'].message_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY +_MESHCONFIG.fields_by_name['sds_refresh_delay'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _MESHCONFIG.fields_by_name['config_sources'].message_type = _CONFIGSOURCE _MESHCONFIG_INGRESSCONTROLLERMODE.containing_type = _MESHCONFIG _MESHCONFIG_AUTHPOLICY.containing_type = _MESHCONFIG @@ -293,11 +384,19 @@ _sym_db.RegisterFileDescriptor(DESCRIPTOR) MeshConfig = _reflection.GeneratedProtocolMessageType('MeshConfig', (_message.Message,), dict( + + OutboundTrafficPolicy = _reflection.GeneratedProtocolMessageType('OutboundTrafficPolicy', (_message.Message,), dict( + DESCRIPTOR = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY, + __module__ = 'mesh.v1alpha1.config_pb2' + # @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy) + )) + , 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) ConfigSource = _reflection.GeneratedProtocolMessageType('ConfigSource', (_message.Message,), dict( DESCRIPTOR = _CONFIGSOURCE, @@ -309,6 +408,22 @@ 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) diff --git a/python/istio_api/mesh/v1alpha1/proxy_pb2.py b/python/istio_api/mesh/v1alpha1/proxy_pb2.py index 187ad57971..faff41274d 100644 --- a/python/istio_api/mesh/v1alpha1/proxy_pb2.py +++ b/python/istio_api/mesh/v1alpha1/proxy_pb2.py @@ -21,7 +21,7 @@ name='mesh/v1alpha1/proxy.proto', package='istio.mesh.v1alpha1', syntax='proto3', - serialized_pb=_b('\n\x19mesh/v1alpha1/proxy.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\"\xfb\x01\n\x07Tracing\x12\x35\n\x06zipkin\x18\x01 \x01(\x0b\x32#.istio.mesh.v1alpha1.Tracing.ZipkinH\x00\x12;\n\tlightstep\x18\x02 \x01(\x0b\x32&.istio.mesh.v1alpha1.Tracing.LightstepH\x00\x1a\x19\n\x06Zipkin\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x1aW\n\tLightstep\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x0e\n\x06secure\x18\x03 \x01(\x08\x12\x13\n\x0b\x63\x61\x63\x65rt_path\x18\x04 \x01(\tB\x08\n\x06tracer\"\xe6\x05\n\x0bProxyConfig\x12\x13\n\x0b\x63onfig_path\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\x12\x17\n\x0fservice_cluster\x18\x03 \x01(\t\x12\x31\n\x0e\x64rain_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18parent_shutdown_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x64iscovery_address\x18\x06 \x01(\t\x12\x1a\n\x0ezipkin_address\x18\x08 \x01(\tB\x02\x18\x01\x12\x32\n\x0f\x63onnect_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\x12statsd_udp_address\x18\n \x01(\t\x12\x18\n\x10proxy_admin_port\x18\x0b \x01(\x05\x12L\n\x19\x63ontrol_plane_auth_policy\x18\r \x01(\x0e\x32).istio.mesh.v1alpha1.AuthenticationPolicy\x12\x1a\n\x12\x63ustom_config_file\x18\x0e \x01(\t\x12\x18\n\x10stat_name_length\x18\x0f \x01(\x05\x12\x13\n\x0b\x63oncurrency\x18\x10 \x01(\x05\x12%\n\x1dproxy_bootstrap_template_path\x18\x11 \x01(\t\x12S\n\x11interception_mode\x18\x12 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode\x12-\n\x07tracing\x18\x13 \x01(\x0b\x32\x1c.istio.mesh.v1alpha1.Tracing\"3\n\x17InboundInterceptionMode\x12\x0c\n\x08REDIRECT\x10\x00\x12\n\n\x06TPROXY\x10\x01J\x04\x08\x07\x10\x08J\x04\x08\x0c\x10\r*>\n\x14\x41uthenticationPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\x12\x0c\n\x07INHERIT\x10\xe8\x07\x42\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') + serialized_pb=_b('\n\x19mesh/v1alpha1/proxy.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\"\xfb\x01\n\x07Tracing\x12\x35\n\x06zipkin\x18\x01 \x01(\x0b\x32#.istio.mesh.v1alpha1.Tracing.ZipkinH\x00\x12;\n\tlightstep\x18\x02 \x01(\x0b\x32&.istio.mesh.v1alpha1.Tracing.LightstepH\x00\x1a\x19\n\x06Zipkin\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x1aW\n\tLightstep\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x0e\n\x06secure\x18\x03 \x01(\x08\x12\x13\n\x0b\x63\x61\x63\x65rt_path\x18\x04 \x01(\tB\x08\n\x06tracer\"\xb9\x06\n\x0bProxyConfig\x12\x13\n\x0b\x63onfig_path\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\x12\x17\n\x0fservice_cluster\x18\x03 \x01(\t\x12\x31\n\x0e\x64rain_duration\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x18parent_shutdown_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x64iscovery_address\x18\x06 \x01(\t\x12>\n\x17\x64iscovery_refresh_delay\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x1a\n\x0ezipkin_address\x18\x08 \x01(\tB\x02\x18\x01\x12\x32\n\x0f\x63onnect_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\x12statsd_udp_address\x18\n \x01(\t\x12\x18\n\x10proxy_admin_port\x18\x0b \x01(\x05\x12\x1d\n\x11\x61vailability_zone\x18\x0c \x01(\tB\x02\x18\x01\x12L\n\x19\x63ontrol_plane_auth_policy\x18\r \x01(\x0e\x32).istio.mesh.v1alpha1.AuthenticationPolicy\x12\x1a\n\x12\x63ustom_config_file\x18\x0e \x01(\t\x12\x18\n\x10stat_name_length\x18\x0f \x01(\x05\x12\x13\n\x0b\x63oncurrency\x18\x10 \x01(\x05\x12%\n\x1dproxy_bootstrap_template_path\x18\x11 \x01(\t\x12S\n\x11interception_mode\x18\x12 \x01(\x0e\x32\x38.istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode\x12-\n\x07tracing\x18\x13 \x01(\x0b\x32\x1c.istio.mesh.v1alpha1.Tracing\"3\n\x17InboundInterceptionMode\x12\x0c\n\x08REDIRECT\x10\x00\x12\n\n\x06TPROXY\x10\x01*>\n\x14\x41uthenticationPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\x12\x0c\n\x07INHERIT\x10\xe8\x07\x42\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) @@ -46,8 +46,8 @@ ], containing_type=None, options=None, - serialized_start=1081, - serialized_end=1143, + serialized_start=1164, + serialized_end=1226, ) _sym_db.RegisterEnumDescriptor(_AUTHENTICATIONPOLICY) @@ -74,8 +74,8 @@ ], containing_type=None, options=None, - serialized_start=1016, - serialized_end=1067, + serialized_start=1111, + serialized_end=1162, ) _sym_db.RegisterEnumDescriptor(_PROXYCONFIG_INBOUNDINTERCEPTIONMODE) @@ -252,77 +252,91 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='zipkin_address', full_name='istio.mesh.v1alpha1.ProxyConfig.zipkin_address', index=6, + name='discovery_refresh_delay', full_name='istio.mesh.v1alpha1.ProxyConfig.discovery_refresh_delay', index=6, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='zipkin_address', full_name='istio.mesh.v1alpha1.ProxyConfig.zipkin_address', index=7, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='connect_timeout', full_name='istio.mesh.v1alpha1.ProxyConfig.connect_timeout', index=7, + name='connect_timeout', full_name='istio.mesh.v1alpha1.ProxyConfig.connect_timeout', index=8, number=9, 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='statsd_udp_address', full_name='istio.mesh.v1alpha1.ProxyConfig.statsd_udp_address', index=8, + name='statsd_udp_address', full_name='istio.mesh.v1alpha1.ProxyConfig.statsd_udp_address', index=9, number=10, 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='proxy_admin_port', full_name='istio.mesh.v1alpha1.ProxyConfig.proxy_admin_port', index=9, + name='proxy_admin_port', full_name='istio.mesh.v1alpha1.ProxyConfig.proxy_admin_port', index=10, number=11, 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='control_plane_auth_policy', full_name='istio.mesh.v1alpha1.ProxyConfig.control_plane_auth_policy', index=10, + name='availability_zone', full_name='istio.mesh.v1alpha1.ProxyConfig.availability_zone', index=11, + number=12, 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='control_plane_auth_policy', full_name='istio.mesh.v1alpha1.ProxyConfig.control_plane_auth_policy', index=12, number=13, 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_config_file', full_name='istio.mesh.v1alpha1.ProxyConfig.custom_config_file', index=11, + name='custom_config_file', full_name='istio.mesh.v1alpha1.ProxyConfig.custom_config_file', index=13, number=14, 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='stat_name_length', full_name='istio.mesh.v1alpha1.ProxyConfig.stat_name_length', index=12, + name='stat_name_length', full_name='istio.mesh.v1alpha1.ProxyConfig.stat_name_length', index=14, number=15, 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='concurrency', full_name='istio.mesh.v1alpha1.ProxyConfig.concurrency', index=13, + name='concurrency', full_name='istio.mesh.v1alpha1.ProxyConfig.concurrency', index=15, number=16, 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_bootstrap_template_path', full_name='istio.mesh.v1alpha1.ProxyConfig.proxy_bootstrap_template_path', index=14, + name='proxy_bootstrap_template_path', full_name='istio.mesh.v1alpha1.ProxyConfig.proxy_bootstrap_template_path', index=16, number=17, 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='interception_mode', full_name='istio.mesh.v1alpha1.ProxyConfig.interception_mode', index=15, + name='interception_mode', full_name='istio.mesh.v1alpha1.ProxyConfig.interception_mode', index=17, number=18, 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='tracing', full_name='istio.mesh.v1alpha1.ProxyConfig.tracing', index=16, + name='tracing', full_name='istio.mesh.v1alpha1.ProxyConfig.tracing', index=18, number=19, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -342,7 +356,7 @@ oneofs=[ ], serialized_start=337, - serialized_end=1079, + serialized_end=1162, ) _TRACING_ZIPKIN.containing_type = _TRACING @@ -357,6 +371,7 @@ _TRACING.fields_by_name['lightstep'].containing_oneof = _TRACING.oneofs_by_name['tracer'] _PROXYCONFIG.fields_by_name['drain_duration'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _PROXYCONFIG.fields_by_name['parent_shutdown_duration'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_PROXYCONFIG.fields_by_name['discovery_refresh_delay'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _PROXYCONFIG.fields_by_name['connect_timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _PROXYCONFIG.fields_by_name['control_plane_auth_policy'].enum_type = _AUTHENTICATIONPOLICY _PROXYCONFIG.fields_by_name['interception_mode'].enum_type = _PROXYCONFIG_INBOUNDINTERCEPTIONMODE @@ -400,6 +415,10 @@ DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\032istio.io/api/mesh/v1alpha1')) +_PROXYCONFIG.fields_by_name['discovery_refresh_delay'].has_options = True +_PROXYCONFIG.fields_by_name['discovery_refresh_delay']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) _PROXYCONFIG.fields_by_name['zipkin_address'].has_options = True _PROXYCONFIG.fields_by_name['zipkin_address']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) +_PROXYCONFIG.fields_by_name['availability_zone'].has_options = True +_PROXYCONFIG.fields_by_name['availability_zone']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) # @@protoc_insertion_point(module_scope) diff --git a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py index 3a7918985f..36effb9013 100644 --- a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py +++ b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py @@ -22,7 +22,7 @@ name='networking/v1alpha3/destination_rule.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\x14gogoproto/gogo.proto\"\x95\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x04\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\x99\x03\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1aZ\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xb0\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\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a\x14gogoproto/gogo.proto\"\x95\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x04\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\x99\x03\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1aZ\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xcc\x01\n\x10OutlierDetection\x12\x1a\n\x12\x63onsecutive_errors\x18\x01 \x01(\x05\x12+\n\x08interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12\x62\x61se_ejection_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14max_ejection_percent\x18\x04 \x01(\x05\x12\x1a\n\x12min_health_percent\x18\x05 \x01(\x05\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_virtual__service__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,]) @@ -83,8 +83,8 @@ ], containing_type=None, options=None, - serialized_start=2618, - serialized_end=2682, + serialized_start=2646, + serialized_end=2710, ) _sym_db.RegisterEnumDescriptor(_TLSSETTINGS_TLSMODE) @@ -634,6 +634,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='min_health_percent', full_name='istio.networking.v1alpha3.OutlierDetection.min_health_percent', index=4, + 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), ], extensions=[ ], @@ -647,7 +654,7 @@ oneofs=[ ], serialized_start=2248, - serialized_end=2424, + serialized_end=2452, ) @@ -713,8 +720,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2427, - serialized_end=2682, + serialized_start=2455, + serialized_end=2710, ) _DESTINATIONRULE.fields_by_name['traffic_policy'].message_type = _TRAFFICPOLICY diff --git a/python/istio_api/networking/v1alpha3/gateway_pb2.py b/python/istio_api/networking/v1alpha3/gateway_pb2.py index 6f39eb55d2..3a492b02fd 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\"\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') ) @@ -65,19 +65,19 @@ options=None, type=None), _descriptor.EnumValueDescriptor( - name='TLSv1_0', index=1, number=1, + name='TLSV1_0', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( - name='TLSv1_1', index=2, number=2, + name='TLSV1_1', index=2, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( - name='TLSv1_2', index=3, number=3, + name='TLSV1_2', index=3, number=3, options=None, type=None), _descriptor.EnumValueDescriptor( - name='TLSv1_3', index=4, number=4, + name='TLSV1_3', index=4, number=4, options=None, type=None), ], diff --git a/python/istio_api/networking/v1alpha3/virtual_service_pb2.py b/python/istio_api/networking/v1alpha3/virtual_service_pb2.py index 9c5e631f0b..4588a89298 100644 --- a/python/istio_api/networking/v1alpha3/virtual_service_pb2.py +++ b/python/istio_api/networking/v1alpha3/virtual_service_pb2.py @@ -21,7 +21,7 @@ name='networking/v1alpha3/virtual_service.proto', package='istio.networking.v1alpha3', syntax='proto3', - serialized_pb=_b('\n)networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc9\x01\n\x0eVirtualService\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x10\n\x08gateways\x18\x02 \x03(\t\x12\x32\n\x04http\x18\x03 \x03(\x0b\x32$.istio.networking.v1alpha3.HTTPRoute\x12\x30\n\x03tls\x18\x05 \x03(\x0b\x32#.istio.networking.v1alpha3.TLSRoute\x12\x30\n\x03tcp\x18\x04 \x03(\x0b\x32#.istio.networking.v1alpha3.TCPRoute\"b\n\x0b\x44\x65stination\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0e\n\x06subset\x18\x02 \x01(\t\x12\x35\n\x04port\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\"\xb4\x08\n\tHTTPRoute\x12:\n\x05match\x18\x01 \x03(\x0b\x32+.istio.networking.v1alpha3.HTTPMatchRequest\x12>\n\x05route\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.HTTPRouteDestination\x12\x39\n\x08redirect\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.HTTPRedirect\x12\x37\n\x07rewrite\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.HTTPRewrite\x12\x19\n\x11websocket_upgrade\x18\x05 \x01(\x08\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x07retries\x18\x07 \x01(\x0b\x32$.istio.networking.v1alpha3.HTTPRetry\x12<\n\x05\x66\x61ult\x18\x08 \x01(\x0b\x32-.istio.networking.v1alpha3.HTTPFaultInjection\x12\x36\n\x06mirror\x18\t \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12:\n\x0b\x63ors_policy\x18\n \x01(\x0b\x32%.istio.networking.v1alpha3.CorsPolicy\x12S\n\x0e\x61ppend_headers\x18\x0b \x03(\x0b\x32\x37.istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntryB\x02\x18\x01\x12\x1f\n\x17remove_response_headers\x18\x0c \x03(\t\x12`\n\x17\x61ppend_response_headers\x18\r \x03(\x0b\x32?.istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntry\x12\x1e\n\x16remove_request_headers\x18\x0e \x03(\t\x12^\n\x16\x61ppend_request_headers\x18\x0f \x03(\x0b\x32>.istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntry\x1a\x34\n\x12\x41ppendHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x84\x01\n\x08TLSRoute\x12<\n\x05match\x18\x01 \x03(\x0b\x32-.istio.networking.v1alpha3.TLSMatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\x83\x01\n\x08TCPRoute\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.networking.v1alpha3.L4MatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\xc0\x04\n\x10HTTPMatchRequest\x12\x33\n\x03uri\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06scheme\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06method\x18\x03 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x39\n\tauthority\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry\x12\x0c\n\x04port\x18\x06 \x01(\r\x12T\n\rsource_labels\x18\x07 \x03(\x0b\x32=.istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x08 \x03(\t\x1aV\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch:\x02\x38\x01\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf7\x03\n\x14HTTPRouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12\x1f\n\x17remove_response_headers\x18\x03 \x03(\t\x12k\n\x17\x61ppend_response_headers\x18\x04 \x03(\x0b\x32J.istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntry\x12\x1e\n\x16remove_request_headers\x18\x05 \x03(\t\x12i\n\x16\x61ppend_request_headers\x18\x06 \x03(\x0b\x32I.istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntry\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\x10RouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"\xf3\x01\n\x11L4MatchAttributes\x12\x1b\n\x13\x64\x65stination_subnets\x18\x01 \x03(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x15\n\rsource_subnet\x18\x03 \x01(\t\x12U\n\rsource_labels\x18\x04 \x03(\x0b\x32>.istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x05 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x88\x02\n\x12TLSMatchAttributes\x12\x11\n\tsni_hosts\x18\x01 \x03(\t\x12\x1b\n\x13\x64\x65stination_subnets\x18\x02 \x03(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x15\n\rsource_subnet\x18\x04 \x01(\t\x12V\n\rsource_labels\x18\x05 \x03(\x0b\x32?.istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x06 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\".\n\x0cHTTPRedirect\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"-\n\x0bHTTPRewrite\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"Q\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\"\xcb\x01\n\nCorsPolicy\x12\x14\n\x0c\x61llow_origin\x18\x01 \x03(\t\x12\x15\n\rallow_methods\x18\x02 \x03(\t\x12\x15\n\rallow_headers\x18\x03 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x04 \x03(\t\x12*\n\x07max_age\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x11\x61llow_credentials\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"\x9a\x04\n\x12HTTPFaultInjection\x12\x42\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Delay\x12\x42\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Abort\x1a\xd1\x01\n\x05\x44\x65lay\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x30\n\x0b\x66ixed_delay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\x11\x65xponential_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x11\n\x0fhttp_delay_type\x1a\xa7\x01\n\x05\x41\x62ort\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x15\n\x0bhttp_status\x18\x02 \x01(\x05H\x00\x12\x15\n\x0bgrpc_status\x18\x03 \x01(\tH\x00\x12\x15\n\x0bhttp2_error\x18\x04 \x01(\tH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x0c\n\nerror_type\"8\n\x0cPortSelector\x12\x10\n\x06number\x18\x01 \x01(\rH\x00\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x42\x06\n\x04port\"\x18\n\x07Percent\x12\r\n\x05value\x18\x01 \x01(\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') + serialized_pb=_b('\n)networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc9\x01\n\x0eVirtualService\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x10\n\x08gateways\x18\x02 \x03(\t\x12\x32\n\x04http\x18\x03 \x03(\x0b\x32$.istio.networking.v1alpha3.HTTPRoute\x12\x30\n\x03tls\x18\x05 \x03(\x0b\x32#.istio.networking.v1alpha3.TLSRoute\x12\x30\n\x03tcp\x18\x04 \x03(\x0b\x32#.istio.networking.v1alpha3.TCPRoute\"b\n\x0b\x44\x65stination\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0e\n\x06subset\x18\x02 \x01(\t\x12\x35\n\x04port\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\"\xb4\x08\n\tHTTPRoute\x12:\n\x05match\x18\x01 \x03(\x0b\x32+.istio.networking.v1alpha3.HTTPMatchRequest\x12>\n\x05route\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.HTTPRouteDestination\x12\x39\n\x08redirect\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.HTTPRedirect\x12\x37\n\x07rewrite\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.HTTPRewrite\x12\x19\n\x11websocket_upgrade\x18\x05 \x01(\x08\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x07retries\x18\x07 \x01(\x0b\x32$.istio.networking.v1alpha3.HTTPRetry\x12<\n\x05\x66\x61ult\x18\x08 \x01(\x0b\x32-.istio.networking.v1alpha3.HTTPFaultInjection\x12\x36\n\x06mirror\x18\t \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12:\n\x0b\x63ors_policy\x18\n \x01(\x0b\x32%.istio.networking.v1alpha3.CorsPolicy\x12S\n\x0e\x61ppend_headers\x18\x0b \x03(\x0b\x32\x37.istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntryB\x02\x18\x01\x12\x1f\n\x17remove_response_headers\x18\x0c \x03(\t\x12`\n\x17\x61ppend_response_headers\x18\r \x03(\x0b\x32?.istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntry\x12\x1e\n\x16remove_request_headers\x18\x0e \x03(\t\x12^\n\x16\x61ppend_request_headers\x18\x0f \x03(\x0b\x32>.istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntry\x1a\x34\n\x12\x41ppendHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x84\x01\n\x08TLSRoute\x12<\n\x05match\x18\x01 \x03(\x0b\x32-.istio.networking.v1alpha3.TLSMatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\x83\x01\n\x08TCPRoute\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.networking.v1alpha3.L4MatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\xc0\x04\n\x10HTTPMatchRequest\x12\x33\n\x03uri\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06scheme\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06method\x18\x03 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x39\n\tauthority\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry\x12\x0c\n\x04port\x18\x06 \x01(\r\x12T\n\rsource_labels\x18\x07 \x03(\x0b\x32=.istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x08 \x03(\t\x1aV\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch:\x02\x38\x01\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf7\x03\n\x14HTTPRouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12\x1f\n\x17remove_response_headers\x18\x03 \x03(\t\x12k\n\x17\x61ppend_response_headers\x18\x04 \x03(\x0b\x32J.istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntry\x12\x1e\n\x16remove_request_headers\x18\x05 \x03(\t\x12i\n\x16\x61ppend_request_headers\x18\x06 \x03(\x0b\x32I.istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntry\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\x10RouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"\xf3\x01\n\x11L4MatchAttributes\x12\x1b\n\x13\x64\x65stination_subnets\x18\x01 \x03(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x15\n\rsource_subnet\x18\x03 \x01(\t\x12U\n\rsource_labels\x18\x04 \x03(\x0b\x32>.istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x05 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x88\x02\n\x12TLSMatchAttributes\x12\x11\n\tsni_hosts\x18\x01 \x03(\t\x12\x1b\n\x13\x64\x65stination_subnets\x18\x02 \x03(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x15\n\rsource_subnet\x18\x04 \x01(\t\x12V\n\rsource_labels\x18\x05 \x03(\x0b\x32?.istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x06 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\".\n\x0cHTTPRedirect\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"-\n\x0bHTTPRewrite\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"c\n\tHTTPRetry\x12\x10\n\x08\x61ttempts\x18\x01 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08retry_on\x18\x03 \x01(\t\"\xcb\x01\n\nCorsPolicy\x12\x14\n\x0c\x61llow_origin\x18\x01 \x03(\t\x12\x15\n\rallow_methods\x18\x02 \x03(\t\x12\x15\n\rallow_headers\x18\x03 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x04 \x03(\t\x12*\n\x07max_age\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x11\x61llow_credentials\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"\x9a\x04\n\x12HTTPFaultInjection\x12\x42\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Delay\x12\x42\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Abort\x1a\xd1\x01\n\x05\x44\x65lay\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x30\n\x0b\x66ixed_delay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\x11\x65xponential_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x11\n\x0fhttp_delay_type\x1a\xa7\x01\n\x05\x41\x62ort\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x15\n\x0bhttp_status\x18\x02 \x01(\x05H\x00\x12\x15\n\x0bgrpc_status\x18\x03 \x01(\tH\x00\x12\x15\n\x0bhttp2_error\x18\x04 \x01(\tH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x0c\n\nerror_type\"8\n\x0cPortSelector\x12\x10\n\x06number\x18\x01 \x01(\rH\x00\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x42\x06\n\x04port\"\x18\n\x07Percent\x12\r\n\x05value\x18\x01 \x01(\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3') , dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,]) @@ -1124,6 +1124,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='retry_on', full_name='istio.networking.v1alpha3.HTTPRetry.retry_on', 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=[ ], @@ -1137,7 +1144,7 @@ oneofs=[ ], serialized_start=3659, - serialized_end=3740, + serialized_end=3758, ) @@ -1202,8 +1209,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3743, - serialized_end=3946, + serialized_start=3761, + serialized_end=3964, ) @@ -1257,8 +1264,8 @@ name='http_delay_type', full_name='istio.networking.v1alpha3.HTTPFaultInjection.Delay.http_delay_type', index=0, containing_type=None, fields=[]), ], - serialized_start=4108, - serialized_end=4317, + serialized_start=4126, + serialized_end=4335, ) _HTTPFAULTINJECTION_ABORT = _descriptor.Descriptor( @@ -1318,8 +1325,8 @@ name='error_type', full_name='istio.networking.v1alpha3.HTTPFaultInjection.Abort.error_type', index=0, containing_type=None, fields=[]), ], - serialized_start=4320, - serialized_end=4487, + serialized_start=4338, + serialized_end=4505, ) _HTTPFAULTINJECTION = _descriptor.Descriptor( @@ -1355,8 +1362,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3949, - serialized_end=4487, + serialized_start=3967, + serialized_end=4505, ) @@ -1396,8 +1403,8 @@ name='port', full_name='istio.networking.v1alpha3.PortSelector.port', index=0, containing_type=None, fields=[]), ], - serialized_start=4489, - serialized_end=4545, + serialized_start=4507, + serialized_end=4563, ) @@ -1427,8 +1434,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4547, - serialized_end=4571, + serialized_start=4565, + serialized_end=4589, ) _VIRTUALSERVICE.fields_by_name['http'].message_type = _HTTPROUTE
name string -

Required. Header name.

+

Required. Header name literal value.

values string[] -

Optional. Header values to replace or append.

+

Optional. Header value expressions.

REPLACE -

replaces the header with the given name

+

Replace a header by name.

REMOVE -

removes the header with the given name (the value is ignored)

+

Remove a header by name. Values are ignored.

APPEND -

appends the values to the existing values (preserving existing values)

+

Append values to the existing header values.