diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go
index 33e9b4b7f5..9113cf2515 100644
--- a/mesh/v1alpha1/config.pb.go
+++ b/mesh/v1alpha1/config.pb.go
@@ -23,7 +23,7 @@ import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import google_protobuf "github.com/gogo/protobuf/types"
-import istio_networking_v1alpha32 "istio.io/api/networking/v1alpha3"
+import istio_networking_v1alpha33 "istio.io/api/networking/v1alpha3"
import io "io"
@@ -125,24 +125,21 @@ func (MeshConfig_AccessLogEncoding) EnumDescriptor() ([]byte, []int) {
type MeshConfig_OutboundTrafficPolicy_Mode int32
const (
- // outbound traffic will be restricted to services defined in the service registry as well as those defined
- // through ServiceEntries
+ // outbound traffic will be restricted to services defined in the
+ // service registry as well as those defined through ServiceEntries
MeshConfig_OutboundTrafficPolicy_REGISTRY_ONLY MeshConfig_OutboundTrafficPolicy_Mode = 0
- // outbound traffic to unknown destinations will be allowed, in case there are no services or ServiceEntries for the destination port
+ // outbound traffic to unknown destinations will be allowed, in case
+ // there are no services or ServiceEntries for the destination port
MeshConfig_OutboundTrafficPolicy_ALLOW_ANY MeshConfig_OutboundTrafficPolicy_Mode = 1
- // not implemented. outbound traffic will be restricted to destinations defined in VirtualServices only
- MeshConfig_OutboundTrafficPolicy_VIRTUAL_SERVICE_ONLY MeshConfig_OutboundTrafficPolicy_Mode = 2
)
var MeshConfig_OutboundTrafficPolicy_Mode_name = map[int32]string{
0: "REGISTRY_ONLY",
1: "ALLOW_ANY",
- 2: "VIRTUAL_SERVICE_ONLY",
}
var MeshConfig_OutboundTrafficPolicy_Mode_value = map[string]int32{
- "REGISTRY_ONLY": 0,
- "ALLOW_ANY": 1,
- "VIRTUAL_SERVICE_ONLY": 2,
+ "REGISTRY_ONLY": 0,
+ "ALLOW_ANY": 1,
}
func (x MeshConfig_OutboundTrafficPolicy_Mode) String() string {
@@ -152,34 +149,6 @@ func (MeshConfig_OutboundTrafficPolicy_Mode) EnumDescriptor() ([]byte, []int) {
return fileDescriptorConfig, []int{0, 0, 0}
}
-type MeshConfig_DefaultServiceDependency_Mode int32
-
-const (
- // Configure routes to services in all namespaces, i.e. import
- // services from all namespaces.
- MeshConfig_DefaultServiceDependency_ALL_NAMESPACES MeshConfig_DefaultServiceDependency_Mode = 0
- // Only configure routes to services that are in the same namespace
- // as the workload as well as services in namespaces specified in
- // importNamespaces.
- MeshConfig_DefaultServiceDependency_SAME_NAMESPACE MeshConfig_DefaultServiceDependency_Mode = 1
-)
-
-var MeshConfig_DefaultServiceDependency_Mode_name = map[int32]string{
- 0: "ALL_NAMESPACES",
- 1: "SAME_NAMESPACE",
-}
-var MeshConfig_DefaultServiceDependency_Mode_value = map[string]int32{
- "ALL_NAMESPACES": 0,
- "SAME_NAMESPACE": 1,
-}
-
-func (x MeshConfig_DefaultServiceDependency_Mode) String() string {
- return proto.EnumName(MeshConfig_DefaultServiceDependency_Mode_name, int32(x))
-}
-func (MeshConfig_DefaultServiceDependency_Mode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptorConfig, []int{0, 1, 0}
-}
-
// MeshConfig defines mesh-wide variables shared by all Envoy instances in the
// Istio service mesh.
//
@@ -211,7 +180,7 @@ type MeshConfig struct {
PolicyCheckFailOpen bool `protobuf:"varint,25,opt,name=policy_check_fail_open,json=policyCheckFailOpen,proto3" json:"policy_check_fail_open,omitempty"`
// Enable session affinity for envoy mixer reports so that calls from a proxy will
// always target the same mixer instance.
- SidecarToTelemetrySessionAffinity bool `protobuf:"varint,31,opt,name=sidecar_to_telemetry_session_affinity,json=sidecarToTelemetrySessionAffinity,proto3" json:"sidecar_to_telemetry_session_affinity,omitempty"`
+ SidecarToTelemetrySessionAffinity bool `protobuf:"varint,30,opt,name=sidecar_to_telemetry_session_affinity,json=sidecarToTelemetrySessionAffinity,proto3" json:"sidecar_to_telemetry_session_affinity,omitempty"`
// Port on which Envoy should listen for incoming connections from
// other services.
ProxyListenPort int32 `protobuf:"varint,4,opt,name=proxy_listen_port,json=proxyListenPort,proto3" json:"proxy_listen_port,omitempty"`
@@ -220,7 +189,7 @@ type MeshConfig struct {
// Connection timeout used by Envoy. (MUST BE >=1ms)
ConnectTimeout *google_protobuf.Duration `protobuf:"bytes,6,opt,name=connect_timeout,json=connectTimeout" json:"connect_timeout,omitempty"`
// If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
- TcpKeepalive *istio_networking_v1alpha32.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"`
+ TcpKeepalive *istio_networking_v1alpha33.ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,28,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"`
// Class of ingress resources to be processed by Istio ingress
// controller. This corresponds to the value of
// "kubernetes.io/ingress.class" annotation.
@@ -253,12 +222,14 @@ type MeshConfig struct {
DefaultConfig *ProxyConfig `protobuf:"bytes,14,opt,name=default_config,json=defaultConfig" json:"default_config,omitempty"`
// $hide_from_docs
MixerAddress string `protobuf:"bytes,16,opt,name=mixer_address,json=mixerAddress,proto3" json:"mixer_address,omitempty"`
- // Set the default behavior of the sidecar for handling outbound traffic from the application.
- // While the default mode should work out of the box, if your application uses one or more external services that
- // are not known apriori, setting the policy to ALLOW_ANY will cause the sidecars to route traffic to the any
- // requested destination.
- // Users are strongly encouraged to use ServiceEntries to explicitly declare any external dependencies,
- // instead of using allow_any.
+ // Set the default behavior of the sidecar for handling outbound traffic
+ // from the application. If your application uses one or more external
+ // services that are not known apriori, setting the policy to ALLOW_ANY
+ // will cause the sidecars to route any unknown traffic originating from
+ // the application to its requested destination. Users are strongly
+ // encouraged to use ServiceEntries to explicitly declare any external
+ // dependencies, instead of using allow_any, so that traffic to these
+ // services can be monitored.
OutboundTrafficPolicy *MeshConfig_OutboundTrafficPolicy `protobuf:"bytes,17,opt,name=outbound_traffic_policy,json=outboundTrafficPolicy" json:"outbound_traffic_policy,omitempty"`
// Enables clide side policy checks.
EnableClientSidePolicyCheck bool `protobuf:"varint,19,opt,name=enable_client_side_policy_check,json=enableClientSidePolicyCheck,proto3" json:"enable_client_side_policy_check,omitempty"`
@@ -285,17 +256,11 @@ type MeshConfig struct {
// and pass to sds server, which will be used to request key/cert eventually.
// If both enable_sds_token_mount and sds_use_k8s_sa_jwt are set to true, enable_sds_token_mount(trustworthy jwt) takes precedence.
// This isn't supported for non-k8s case.
- SdsUseK8SSaJwt bool `protobuf:"varint,30,opt,name=sds_use_k8s_sa_jwt,json=sdsUseK8sSaJwt,proto3" json:"sds_use_k8s_sa_jwt,omitempty"`
+ SdsUseK8SSaJwt bool `protobuf:"varint,29,opt,name=sds_use_k8s_sa_jwt,json=sdsUseK8sSaJwt,proto3" json:"sds_use_k8s_sa_jwt,omitempty"`
// The trust domain corresponds to the trust root of a system.
// Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain
// Fallback to old identity format(without trust domain) if not set.
TrustDomain string `protobuf:"bytes,26,opt,name=trust_domain,json=trustDomain,proto3" json:"trust_domain,omitempty"`
- // The default service dependency setting associated with every workload
- // in the mesh. Pilot will program the routes in the sidecars and
- // gateways accordingly. If omitted, sidecars will be configured to reach
- // every service in the mesh. The default scope can be overridden by
- // supplying a ServiceDependency resource per namespace.
- DefaultServiceDependency *MeshConfig_DefaultServiceDependency `protobuf:"bytes,29,opt,name=default_service_dependency,json=defaultServiceDependency" json:"default_service_dependency,omitempty"`
}
func (m *MeshConfig) Reset() { *m = MeshConfig{} }
@@ -359,7 +324,7 @@ func (m *MeshConfig) GetConnectTimeout() *google_protobuf.Duration {
return nil
}
-func (m *MeshConfig) GetTcpKeepalive() *istio_networking_v1alpha32.ConnectionPoolSettings_TCPSettings_TcpKeepalive {
+func (m *MeshConfig) GetTcpKeepalive() *istio_networking_v1alpha33.ConnectionPoolSettings_TCPSettings_TcpKeepalive {
if m != nil {
return m.TcpKeepalive
}
@@ -499,13 +464,6 @@ func (m *MeshConfig) GetTrustDomain() string {
return ""
}
-func (m *MeshConfig) GetDefaultServiceDependency() *MeshConfig_DefaultServiceDependency {
- if m != nil {
- return m.DefaultServiceDependency
- }
- return nil
-}
-
type MeshConfig_OutboundTrafficPolicy struct {
Mode MeshConfig_OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode" json:"mode,omitempty"`
}
@@ -524,41 +482,6 @@ func (m *MeshConfig_OutboundTrafficPolicy) GetMode() MeshConfig_OutboundTrafficP
return MeshConfig_OutboundTrafficPolicy_REGISTRY_ONLY
}
-// Default service dependency settings for each workload in the
-// mesh. ServiceDependencycontrols the reachability of workloads to other
-// services in the mesh.
-type MeshConfig_DefaultServiceDependency struct {
- // REQUIRED: The default import setting for every workload in the mesh.
- ImportMode MeshConfig_DefaultServiceDependency_Mode `protobuf:"varint,1,opt,name=import_mode,json=importMode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_DefaultServiceDependency_Mode" json:"import_mode,omitempty"`
- // Specifies one or more namespaces that should be imported by default
- // in all user defined ServiceDependency resources in addition to the
- // namespaces explicitly specified by the end user. Use this setting to
- // automatically import services/resources from namespaces such as
- // istio-system that all workloads in the mesh depend upon.
- ImportNamespaces []string `protobuf:"bytes,2,rep,name=import_namespaces,json=importNamespaces" json:"import_namespaces,omitempty"`
-}
-
-func (m *MeshConfig_DefaultServiceDependency) Reset() { *m = MeshConfig_DefaultServiceDependency{} }
-func (m *MeshConfig_DefaultServiceDependency) String() string { return proto.CompactTextString(m) }
-func (*MeshConfig_DefaultServiceDependency) ProtoMessage() {}
-func (*MeshConfig_DefaultServiceDependency) Descriptor() ([]byte, []int) {
- return fileDescriptorConfig, []int{0, 1}
-}
-
-func (m *MeshConfig_DefaultServiceDependency) GetImportMode() MeshConfig_DefaultServiceDependency_Mode {
- if m != nil {
- return m.ImportMode
- }
- return MeshConfig_DefaultServiceDependency_ALL_NAMESPACES
-}
-
-func (m *MeshConfig_DefaultServiceDependency) GetImportNamespaces() []string {
- if m != nil {
- return m.ImportNamespaces
- }
- return nil
-}
-
// ConfigSource describes information about a configuration store inside a
// mesh. A single control plane instance can interact with one or more data
// sources.
@@ -570,7 +493,7 @@ type ConfigSource struct {
// Use the tls_settings to specify the tls mode to use. If the MCP server
// uses Istio MTLS and shares the root CA with Pilot, specify the TLS
// mode as ISTIO_MUTUAL.
- TlsSettings *istio_networking_v1alpha32.TLSSettings `protobuf:"bytes,2,opt,name=tls_settings,json=tlsSettings" json:"tls_settings,omitempty"`
+ TlsSettings *istio_networking_v1alpha33.TLSSettings `protobuf:"bytes,2,opt,name=tls_settings,json=tlsSettings" json:"tls_settings,omitempty"`
}
func (m *ConfigSource) Reset() { *m = ConfigSource{} }
@@ -585,7 +508,7 @@ func (m *ConfigSource) GetAddress() string {
return ""
}
-func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha32.TLSSettings {
+func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha33.TLSSettings {
if m != nil {
return m.TlsSettings
}
@@ -595,13 +518,11 @@ func (m *ConfigSource) GetTlsSettings() *istio_networking_v1alpha32.TLSSettings
func init() {
proto.RegisterType((*MeshConfig)(nil), "istio.mesh.v1alpha1.MeshConfig")
proto.RegisterType((*MeshConfig_OutboundTrafficPolicy)(nil), "istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy")
- proto.RegisterType((*MeshConfig_DefaultServiceDependency)(nil), "istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency")
proto.RegisterType((*ConfigSource)(nil), "istio.mesh.v1alpha1.ConfigSource")
proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_IngressControllerMode", MeshConfig_IngressControllerMode_name, MeshConfig_IngressControllerMode_value)
proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AuthPolicy", MeshConfig_AuthPolicy_name, MeshConfig_AuthPolicy_value)
proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_AccessLogEncoding", MeshConfig_AccessLogEncoding_name, MeshConfig_AccessLogEncoding_value)
proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode", MeshConfig_OutboundTrafficPolicy_Mode_name, MeshConfig_OutboundTrafficPolicy_Mode_value)
- proto.RegisterEnum("istio.mesh.v1alpha1.MeshConfig_DefaultServiceDependency_Mode", MeshConfig_DefaultServiceDependency_Mode_name, MeshConfig_DefaultServiceDependency_Mode_value)
}
func (m *MeshConfig) Marshal() (dAtA []byte, err error) {
size := m.Size()
@@ -843,20 +764,8 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) {
}
i += n6
}
- if m.DefaultServiceDependency != nil {
- dAtA[i] = 0xea
- i++
- dAtA[i] = 0x1
- i++
- i = encodeVarintConfig(dAtA, i, uint64(m.DefaultServiceDependency.Size()))
- n7, err := m.DefaultServiceDependency.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n7
- }
if m.SdsUseK8SSaJwt {
- dAtA[i] = 0xf0
+ dAtA[i] = 0xe8
i++
dAtA[i] = 0x1
i++
@@ -868,7 +777,7 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) {
i++
}
if m.SidecarToTelemetrySessionAffinity {
- dAtA[i] = 0xf8
+ dAtA[i] = 0xf0
i++
dAtA[i] = 0x1
i++
@@ -905,44 +814,6 @@ func (m *MeshConfig_OutboundTrafficPolicy) MarshalTo(dAtA []byte) (int, error) {
return i, nil
}
-func (m *MeshConfig_DefaultServiceDependency) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *MeshConfig_DefaultServiceDependency) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if m.ImportMode != 0 {
- dAtA[i] = 0x8
- i++
- i = encodeVarintConfig(dAtA, i, uint64(m.ImportMode))
- }
- if len(m.ImportNamespaces) > 0 {
- for _, s := range m.ImportNamespaces {
- dAtA[i] = 0x12
- i++
- l = len(s)
- for l >= 1<<7 {
- dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
- l >>= 7
- i++
- }
- dAtA[i] = uint8(l)
- i++
- i += copy(dAtA[i:], s)
- }
- }
- return i, nil
-}
-
func (m *ConfigSource) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -968,11 +839,11 @@ func (m *ConfigSource) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintConfig(dAtA, i, uint64(m.TlsSettings.Size()))
- n8, err := m.TlsSettings.MarshalTo(dAtA[i:])
+ n7, err := m.TlsSettings.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
- i += n8
+ i += n7
}
return i, nil
}
@@ -1085,10 +956,6 @@ func (m *MeshConfig) Size() (n int) {
l = m.TcpKeepalive.Size()
n += 2 + l + sovConfig(uint64(l))
}
- if m.DefaultServiceDependency != nil {
- l = m.DefaultServiceDependency.Size()
- n += 2 + l + sovConfig(uint64(l))
- }
if m.SdsUseK8SSaJwt {
n += 3
}
@@ -1107,21 +974,6 @@ func (m *MeshConfig_OutboundTrafficPolicy) Size() (n int) {
return n
}
-func (m *MeshConfig_DefaultServiceDependency) Size() (n int) {
- var l int
- _ = l
- if m.ImportMode != 0 {
- n += 1 + sovConfig(uint64(m.ImportMode))
- }
- if len(m.ImportNamespaces) > 0 {
- for _, s := range m.ImportNamespaces {
- l = len(s)
- n += 1 + l + sovConfig(uint64(l))
- }
- }
- return n
-}
-
func (m *ConfigSource) Size() (n int) {
var l int
_ = l
@@ -1857,46 +1709,13 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error {
return io.ErrUnexpectedEOF
}
if m.TcpKeepalive == nil {
- m.TcpKeepalive = &istio_networking_v1alpha32.ConnectionPoolSettings_TCPSettings_TcpKeepalive{}
+ m.TcpKeepalive = &istio_networking_v1alpha33.ConnectionPoolSettings_TCPSettings_TcpKeepalive{}
}
if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 29:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DefaultServiceDependency", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowConfig
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthConfig
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.DefaultServiceDependency == nil {
- m.DefaultServiceDependency = &MeshConfig_DefaultServiceDependency{}
- }
- if err := m.DefaultServiceDependency.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 30:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field SdsUseK8SSaJwt", wireType)
}
@@ -1916,7 +1735,7 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error {
}
}
m.SdsUseK8SSaJwt = bool(v != 0)
- case 31:
+ case 30:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field SidecarToTelemetrySessionAffinity", wireType)
}
@@ -2026,104 +1845,6 @@ func (m *MeshConfig_OutboundTrafficPolicy) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *MeshConfig_DefaultServiceDependency) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowConfig
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: DefaultServiceDependency: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: DefaultServiceDependency: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field ImportMode", wireType)
- }
- m.ImportMode = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowConfig
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.ImportMode |= (MeshConfig_DefaultServiceDependency_Mode(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ImportNamespaces", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowConfig
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthConfig
- }
- postIndex := iNdEx + intStringLen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.ImportNamespaces = append(m.ImportNamespaces, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipConfig(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthConfig
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
func (m *ConfigSource) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -2209,7 +1930,7 @@ func (m *ConfigSource) Unmarshal(dAtA []byte) error {
return io.ErrUnexpectedEOF
}
if m.TlsSettings == nil {
- m.TlsSettings = &istio_networking_v1alpha32.TLSSettings{}
+ m.TlsSettings = &istio_networking_v1alpha33.TLSSettings{}
}
if err := m.TlsSettings.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
@@ -2344,87 +2065,80 @@ var (
func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) }
var fileDescriptorConfig = []byte{
- // 1303 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x5f, 0x6f, 0xdb, 0xb6,
- 0x16, 0x8f, 0x92, 0xb4, 0x49, 0x8f, 0xff, 0x44, 0x66, 0x9a, 0x96, 0x75, 0x7b, 0x53, 0x37, 0x17,
- 0x6d, 0x83, 0xdc, 0x0b, 0x07, 0x4d, 0x30, 0xa0, 0x1b, 0xb0, 0x07, 0xd7, 0x76, 0x5a, 0xa7, 0x8e,
- 0x6d, 0x48, 0x4a, 0xb7, 0xee, 0x61, 0x84, 0x22, 0xd1, 0x36, 0x17, 0x59, 0x14, 0x44, 0x3a, 0x6d,
- 0x3e, 0xd5, 0xbe, 0xc6, 0x1e, 0xf7, 0xb6, 0xd7, 0xa1, 0xfb, 0x22, 0x03, 0x49, 0x29, 0x76, 0x5b,
- 0x77, 0x19, 0xfa, 0x26, 0xfd, 0xce, 0xef, 0x9c, 0x43, 0xfe, 0x0e, 0xcf, 0x21, 0xa1, 0x3a, 0xa1,
- 0x62, 0xbc, 0x7f, 0xf1, 0xcc, 0x8f, 0x92, 0xb1, 0xff, 0x6c, 0x3f, 0xe0, 0xf1, 0x90, 0x8d, 0xea,
- 0x49, 0xca, 0x25, 0x47, 0x9b, 0x4c, 0x48, 0xc6, 0xeb, 0x8a, 0x51, 0xcf, 0x19, 0xd5, 0xed, 0x11,
- 0xe7, 0xa3, 0x88, 0xee, 0x6b, 0xca, 0xd9, 0x74, 0xb8, 0x1f, 0x4e, 0x53, 0x5f, 0x32, 0x1e, 0x1b,
- 0xa7, 0xea, 0xbd, 0x8f, 0x03, 0x26, 0x29, 0x7f, 0x7f, 0x99, 0x99, 0xf6, 0x62, 0x2a, 0xdf, 0xf1,
- 0xf4, 0x9c, 0xc5, 0xa3, 0x9c, 0x70, 0xb8, 0x1f, 0x52, 0x21, 0x59, 0xac, 0x23, 0x90, 0x74, 0x1a,
- 0x51, 0xc3, 0xdd, 0xf9, 0x0b, 0x01, 0x9c, 0x50, 0x31, 0x6e, 0xea, 0x05, 0xa1, 0xff, 0x03, 0x9a,
- 0xb0, 0xf7, 0x34, 0x25, 0xc1, 0x98, 0x06, 0xe7, 0x44, 0xd0, 0xf4, 0x82, 0xa6, 0xd8, 0xaa, 0x59,
- 0xbb, 0xb7, 0x1c, 0x5b, 0x5b, 0x9a, 0xca, 0xe0, 0x6a, 0x1c, 0xd5, 0x61, 0xd3, 0xb0, 0x53, 0x9a,
- 0xf0, 0x54, 0xe6, 0xf4, 0x65, 0x4d, 0xaf, 0x68, 0x93, 0xa3, 0x2d, 0x19, 0xff, 0x00, 0xb6, 0x42,
- 0x26, 0xfc, 0xb3, 0x88, 0x92, 0x84, 0x47, 0x2c, 0xb8, 0x34, 0x69, 0x04, 0x5e, 0xa9, 0x59, 0xbb,
- 0xeb, 0xce, 0x66, 0x66, 0x1c, 0x68, 0x9b, 0x4e, 0x24, 0xd0, 0x1e, 0x54, 0xf4, 0xde, 0x48, 0xc4,
- 0x84, 0xa4, 0x31, 0x51, 0xe1, 0xf0, 0x6a, 0xcd, 0xda, 0xbd, 0xe1, 0x6c, 0x68, 0x43, 0x57, 0xe3,
- 0x03, 0x9e, 0x4a, 0xf4, 0x04, 0x0c, 0x44, 0xc6, 0x52, 0x26, 0x86, 0x79, 0x43, 0x33, 0x4b, 0x1a,
- 0x7e, 0x25, 0x65, 0xa2, 0x79, 0x2f, 0x60, 0x23, 0xe0, 0x71, 0x4c, 0x03, 0x49, 0x24, 0x9b, 0x50,
- 0x3e, 0x95, 0xf8, 0x66, 0xcd, 0xda, 0x2d, 0x1c, 0xdc, 0xab, 0x1b, 0xd5, 0xeb, 0xb9, 0xea, 0xf5,
- 0x56, 0xa6, 0xba, 0x53, 0xce, 0x3c, 0x3c, 0xe3, 0x80, 0xfe, 0x0b, 0x25, 0x16, 0x8f, 0x52, 0x2a,
- 0x04, 0x09, 0x22, 0x5f, 0x08, 0xbc, 0xa6, 0x77, 0x5d, 0xcc, 0xc0, 0xa6, 0xc2, 0xd0, 0x53, 0xd8,
- 0xc8, 0x49, 0x4a, 0x1b, 0x16, 0x50, 0xbc, 0xae, 0x69, 0xe5, 0x0c, 0x76, 0x0d, 0x8a, 0x26, 0x70,
- 0xf7, 0x2a, 0x1a, 0x8f, 0x65, 0xca, 0xa3, 0x88, 0xa6, 0x64, 0xc2, 0x43, 0x8a, 0x6f, 0xd5, 0xac,
- 0xdd, 0xf2, 0xc1, 0x37, 0xf5, 0x05, 0x87, 0xa4, 0x3e, 0xab, 0x5c, 0xbd, 0x93, 0xe5, 0xbd, 0xf2,
- 0x3e, 0xe1, 0x21, 0x75, 0xb6, 0xd8, 0x22, 0x18, 0xf5, 0xa1, 0xe0, 0x4f, 0xe5, 0x38, 0xab, 0x02,
- 0x06, 0x9d, 0x62, 0xef, 0xba, 0x14, 0x8d, 0xa9, 0x1c, 0x9b, 0xda, 0xbc, 0x58, 0xc6, 0x96, 0x03,
- 0xfe, 0xd5, 0x3f, 0xea, 0x40, 0x25, 0x0d, 0x05, 0x49, 0xe9, 0x30, 0xa5, 0x62, 0x4c, 0x42, 0x1a,
- 0xf9, 0x97, 0xb8, 0x70, 0x8d, 0xa6, 0x3a, 0xca, 0x46, 0x1a, 0x0a, 0xc7, 0xb8, 0xb5, 0x94, 0x17,
- 0x7a, 0x0c, 0x65, 0x1a, 0xeb, 0x33, 0x22, 0x53, 0x3f, 0x60, 0xf1, 0x08, 0x17, 0xf5, 0xe9, 0x28,
- 0x19, 0xd4, 0x33, 0xa0, 0xaa, 0xb5, 0x1f, 0x04, 0x4a, 0xb0, 0x88, 0x8f, 0xc8, 0x90, 0x45, 0x14,
- 0x97, 0xb4, 0xb4, 0x25, 0x03, 0x77, 0xf9, 0xe8, 0x88, 0x45, 0x14, 0xbd, 0x84, 0x72, 0x48, 0x87,
- 0xfe, 0x34, 0x92, 0xc4, 0x34, 0x1d, 0x2e, 0xeb, 0x65, 0xd5, 0x16, 0xee, 0x76, 0xa0, 0xce, 0x89,
- 0xd9, 0xae, 0x53, 0xca, 0xfc, 0xb2, 0xd6, 0x78, 0x0a, 0x25, 0x73, 0xd8, 0xfd, 0x30, 0x54, 0x92,
- 0x62, 0x5b, 0xa5, 0xd3, 0x7b, 0x28, 0x6a, 0x43, 0xc3, 0xe0, 0xaa, 0x96, 0x7c, 0x2a, 0xcf, 0xf8,
- 0x34, 0x0e, 0xd5, 0x16, 0x86, 0x43, 0x16, 0xe4, 0x42, 0x57, 0x74, 0xea, 0x6b, 0x6b, 0xd9, 0xcf,
- 0xdc, 0x3d, 0xe3, 0x6d, 0x34, 0x76, 0xb6, 0xf8, 0x22, 0x18, 0xb5, 0xe0, 0x61, 0xa6, 0x57, 0x10,
- 0x31, 0x1a, 0x4b, 0x22, 0x58, 0xf8, 0x71, 0x7f, 0xe1, 0x4d, 0x2d, 0xe0, 0x7d, 0x43, 0x6b, 0x6a,
- 0x96, 0xcb, 0xc2, 0xf9, 0x3e, 0x43, 0x35, 0x28, 0x8a, 0x50, 0x90, 0x69, 0x28, 0x48, 0xe2, 0xcb,
- 0x31, 0xbe, 0xad, 0xb5, 0x04, 0x11, 0x8a, 0xd3, 0x50, 0x0c, 0x7c, 0x39, 0x56, 0x25, 0x16, 0x9f,
- 0x95, 0x78, 0xeb, 0x5f, 0x95, 0x58, 0x7c, 0x52, 0xe2, 0x57, 0x50, 0x36, 0xb5, 0x20, 0x82, 0x4f,
- 0xd3, 0x80, 0x0a, 0x7c, 0xa7, 0xb6, 0xb2, 0x5b, 0x38, 0x78, 0xb4, 0x50, 0x18, 0x23, 0x8a, 0xab,
- 0x99, 0x4e, 0x29, 0x98, 0xfb, 0x13, 0xe8, 0x10, 0xee, 0x64, 0x9b, 0x57, 0x6b, 0x93, 0xfc, 0x9c,
- 0xc6, 0x64, 0xc2, 0xa7, 0xb1, 0xc4, 0x77, 0xcd, 0x48, 0x31, 0x56, 0x37, 0x14, 0x9e, 0xb2, 0x9d,
- 0x28, 0x93, 0x1a, 0x29, 0xf3, 0x47, 0x87, 0xa7, 0x13, 0x5f, 0x62, 0xac, 0x37, 0xbc, 0x31, 0x3b,
- 0x3c, 0x1a, 0x56, 0x09, 0xe6, 0xa5, 0x24, 0x43, 0x9f, 0x45, 0x84, 0x27, 0x34, 0xc6, 0xf7, 0x4c,
- 0x82, 0x64, 0x26, 0xe2, 0x91, 0xcf, 0xa2, 0x7e, 0x42, 0x63, 0xf4, 0x08, 0x8a, 0x32, 0x9d, 0x0a,
- 0x49, 0x42, 0x3e, 0xf1, 0x59, 0x8c, 0xab, 0x3a, 0x76, 0x41, 0x63, 0x2d, 0x0d, 0x21, 0x1f, 0x36,
- 0xe7, 0xd6, 0x40, 0xe3, 0x80, 0x87, 0xea, 0xa8, 0xdf, 0xd7, 0x9d, 0xf8, 0xec, 0xda, 0x4e, 0xcc,
- 0x57, 0xd9, 0xce, 0x1c, 0x9d, 0x8a, 0xff, 0x29, 0x84, 0x38, 0x94, 0x64, 0x90, 0x90, 0x73, 0x4a,
- 0x13, 0x3f, 0x62, 0x17, 0x14, 0x3f, 0xd0, 0xc5, 0x3a, 0xce, 0x82, 0xcf, 0x2e, 0x89, 0x3c, 0xc5,
- 0xa1, 0x92, 0x5a, 0xcd, 0x38, 0xc6, 0xe3, 0x01, 0xe7, 0x91, 0x4b, 0xa5, 0x64, 0xf1, 0x48, 0xd4,
- 0xbd, 0xe6, 0x60, 0xf6, 0x1d, 0x24, 0xaf, 0xf3, 0x88, 0x4e, 0x51, 0xce, 0xfd, 0xa1, 0x0b, 0xa8,
- 0xe6, 0xad, 0x96, 0x4d, 0x3b, 0x12, 0xd2, 0x84, 0xc6, 0x21, 0x8d, 0x83, 0x4b, 0xfc, 0x1f, 0x9d,
- 0xfd, 0xf9, 0x75, 0x5b, 0x6b, 0x99, 0x08, 0xd9, 0x60, 0x6c, 0x5d, 0xf9, 0x3b, 0x38, 0xfc, 0x82,
- 0x05, 0xed, 0x01, 0xd2, 0x67, 0x57, 0x50, 0x72, 0xfe, 0x5c, 0x10, 0xe1, 0x93, 0x5f, 0xde, 0x49,
- 0xbc, 0xad, 0xeb, 0x53, 0x56, 0x27, 0x58, 0xd0, 0xd7, 0xcf, 0x85, 0xeb, 0x1f, 0xbf, 0x93, 0x68,
- 0x00, 0x8f, 0x55, 0x7f, 0x04, 0x7e, 0x4a, 0x24, 0x27, 0x92, 0x46, 0x74, 0x42, 0x65, 0x7a, 0x49,
- 0x04, 0x15, 0x42, 0x5d, 0x8d, 0xaa, 0xb3, 0x62, 0x26, 0x2f, 0xf1, 0x43, 0xed, 0xfe, 0x28, 0x23,
- 0x7b, 0xdc, 0xcb, 0xa9, 0xae, 0x61, 0x36, 0x32, 0x62, 0xf5, 0x57, 0x0b, 0xb6, 0x16, 0x36, 0x2c,
- 0xea, 0xc1, 0xaa, 0x9e, 0xe0, 0x96, 0x2e, 0xea, 0x77, 0x5f, 0xd5, 0xf5, 0x75, 0x3d, 0xc6, 0x75,
- 0x9c, 0x9d, 0x23, 0x58, 0xd5, 0xd3, 0xbb, 0x02, 0x25, 0xa7, 0xfd, 0xb2, 0xe3, 0x7a, 0xce, 0x5b,
- 0xd2, 0xef, 0x75, 0xdf, 0xda, 0x4b, 0xa8, 0x04, 0xb7, 0x1a, 0xdd, 0x6e, 0xff, 0x07, 0xd2, 0xe8,
- 0xbd, 0xb5, 0x2d, 0xf4, 0x00, 0x6e, 0xbf, 0xe9, 0x38, 0xde, 0x69, 0xa3, 0x4b, 0xdc, 0xb6, 0xf3,
- 0xa6, 0xd3, 0x6c, 0x1b, 0xe2, 0x72, 0x75, 0x79, 0xdd, 0xaa, 0xfe, 0x61, 0x01, 0xfe, 0x92, 0xcc,
- 0xe8, 0x67, 0x28, 0xb0, 0x89, 0xbe, 0xcd, 0xe7, 0xd6, 0xfe, 0xfd, 0xd7, 0x56, 0xcd, 0x2c, 0x1f,
- 0x4c, 0x44, 0xbd, 0xf8, 0xff, 0x41, 0x25, 0x8b, 0x1f, 0xfb, 0x13, 0x2a, 0x12, 0x5f, 0xb5, 0xff,
- 0x72, 0x6d, 0x45, 0x3d, 0x30, 0x8c, 0xa1, 0x77, 0x85, 0xef, 0xd4, 0xb3, 0x1d, 0x23, 0x28, 0x37,
- 0xba, 0x5d, 0xd2, 0x6b, 0x9c, 0xb4, 0xdd, 0x41, 0xa3, 0xd9, 0x76, 0xed, 0x25, 0x85, 0xb9, 0x8d,
- 0x93, 0xf6, 0x0c, 0xb4, 0xad, 0x9d, 0x6f, 0x61, 0x6b, 0xe1, 0x3d, 0x88, 0xd6, 0x60, 0xa5, 0x7f,
- 0x74, 0x64, 0x2f, 0xa1, 0x02, 0xac, 0xb5, 0xda, 0x47, 0x8d, 0xd3, 0xae, 0x67, 0x5b, 0x08, 0xe0,
- 0xa6, 0xeb, 0x39, 0x9d, 0xa6, 0x67, 0x2f, 0xef, 0x3c, 0x01, 0x98, 0xdd, 0x6f, 0x68, 0x1d, 0x56,
- 0x7b, 0xfd, 0x5e, 0xdb, 0x5e, 0x42, 0x65, 0x80, 0x93, 0x53, 0xad, 0xa4, 0xd7, 0x75, 0x6d, 0x6b,
- 0xe7, 0x29, 0x54, 0x3e, 0xeb, 0x3e, 0x45, 0xf7, 0xda, 0x3f, 0x7a, 0xf6, 0x92, 0xfa, 0x3a, 0x76,
- 0xfb, 0x3d, 0xdb, 0x3a, 0x5e, 0x5d, 0xdf, 0xb0, 0xed, 0xe3, 0xd5, 0x75, 0x64, 0x6f, 0xee, 0x08,
- 0x28, 0xce, 0x4f, 0x31, 0x84, 0x61, 0x2d, 0xbf, 0x45, 0xcc, 0xdb, 0x2a, 0xff, 0x45, 0x1d, 0x28,
- 0xca, 0x48, 0xbd, 0x16, 0x4c, 0xbb, 0xe9, 0xb7, 0x54, 0xe1, 0xe0, 0xc9, 0x3f, 0xf4, 0xac, 0xd7,
- 0x75, 0xf3, 0xe6, 0x74, 0x0a, 0x32, 0x12, 0xf9, 0xcf, 0x8b, 0xdd, 0xdf, 0x3e, 0x6c, 0x5b, 0xbf,
- 0x7f, 0xd8, 0xb6, 0xfe, 0xfc, 0xb0, 0x6d, 0xfd, 0x54, 0x35, 0x11, 0x18, 0xdf, 0xf7, 0x13, 0xb6,
- 0xff, 0xd1, 0xe3, 0xf1, 0xec, 0xa6, 0x9e, 0xdb, 0x87, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xb0,
- 0x28, 0x52, 0xaf, 0xa5, 0x0a, 0x00, 0x00,
+ // 1186 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdf, 0x6e, 0xdb, 0xb6,
+ 0x17, 0x8e, 0x52, 0xb7, 0x49, 0xe9, 0x3f, 0x91, 0x99, 0xa6, 0x65, 0xd3, 0xdf, 0x2f, 0x73, 0x3d,
+ 0xb4, 0x35, 0x82, 0xc1, 0x46, 0x13, 0x0c, 0xe8, 0x76, 0xe7, 0x3a, 0x4e, 0xeb, 0xd4, 0x89, 0x0d,
+ 0x49, 0xe9, 0xd6, 0xdd, 0x10, 0x8a, 0x44, 0xdb, 0x5c, 0x64, 0x51, 0x10, 0xa9, 0xb6, 0x79, 0x8a,
+ 0x3d, 0xc9, 0xde, 0x63, 0x97, 0x7b, 0x84, 0xa1, 0x4f, 0x32, 0xf0, 0x50, 0xaa, 0x9d, 0xd6, 0x58,
+ 0x86, 0xdd, 0x99, 0xdf, 0xf9, 0xce, 0x39, 0xe4, 0x77, 0xfe, 0xc8, 0x68, 0x77, 0xce, 0xe4, 0xac,
+ 0xf3, 0xfe, 0xb9, 0x1f, 0x25, 0x33, 0xff, 0x79, 0x27, 0x10, 0xf1, 0x84, 0x4f, 0xdb, 0x49, 0x2a,
+ 0x94, 0xc0, 0xdb, 0x5c, 0x2a, 0x2e, 0xda, 0x9a, 0xd1, 0x2e, 0x18, 0xbb, 0x7b, 0x53, 0x21, 0xa6,
+ 0x11, 0xeb, 0x00, 0xe5, 0x22, 0x9b, 0x74, 0xc2, 0x2c, 0xf5, 0x15, 0x17, 0xb1, 0x71, 0xda, 0x7d,
+ 0x78, 0x3d, 0x60, 0x92, 0x8a, 0x8f, 0x57, 0xb9, 0x69, 0x3f, 0x66, 0xea, 0x83, 0x48, 0x2f, 0x79,
+ 0x3c, 0x2d, 0x08, 0x87, 0x9d, 0x90, 0x49, 0xc5, 0x63, 0x88, 0x40, 0xd3, 0x2c, 0x62, 0x86, 0xdb,
+ 0xfc, 0xcd, 0x46, 0xe8, 0x94, 0xc9, 0x59, 0x0f, 0x2e, 0x84, 0xbf, 0x43, 0x78, 0xce, 0x3f, 0xb2,
+ 0x94, 0x06, 0x33, 0x16, 0x5c, 0x52, 0xc9, 0xd2, 0xf7, 0x2c, 0x25, 0x56, 0xc3, 0x6a, 0xdd, 0x75,
+ 0x6c, 0xb0, 0xf4, 0xb4, 0xc1, 0x05, 0x1c, 0xb7, 0xd1, 0xb6, 0x61, 0xa7, 0x2c, 0x11, 0xa9, 0x2a,
+ 0xe8, 0xeb, 0x40, 0xaf, 0x83, 0xc9, 0x01, 0x4b, 0xce, 0x3f, 0x40, 0x3b, 0x21, 0x97, 0xfe, 0x45,
+ 0xc4, 0x68, 0x22, 0x22, 0x1e, 0x5c, 0x99, 0x34, 0x92, 0xdc, 0x6a, 0x58, 0xad, 0x4d, 0x67, 0x3b,
+ 0x37, 0x8e, 0xc1, 0x06, 0x89, 0x24, 0xde, 0x47, 0x75, 0x78, 0x1b, 0x8d, 0xb8, 0x54, 0x2c, 0xa6,
+ 0x3a, 0x1c, 0x29, 0x35, 0xac, 0xd6, 0x6d, 0x67, 0x0b, 0x0c, 0x43, 0xc0, 0xc7, 0x22, 0x55, 0xf8,
+ 0x29, 0x32, 0x10, 0x9d, 0x29, 0x95, 0x18, 0xe6, 0x6d, 0x60, 0x56, 0x01, 0x7e, 0xad, 0x54, 0x02,
+ 0xbc, 0x97, 0x68, 0x2b, 0x10, 0x71, 0xcc, 0x02, 0x45, 0x15, 0x9f, 0x33, 0x91, 0x29, 0x72, 0xa7,
+ 0x61, 0xb5, 0xca, 0x07, 0x0f, 0xdb, 0x46, 0xf5, 0x76, 0xa1, 0x7a, 0xfb, 0x28, 0x57, 0xdd, 0xa9,
+ 0xe5, 0x1e, 0x9e, 0x71, 0xc0, 0xdf, 0xa2, 0x2a, 0x8f, 0xa7, 0x29, 0x93, 0x92, 0x06, 0x91, 0x2f,
+ 0x25, 0xd9, 0x80, 0x57, 0x57, 0x72, 0xb0, 0xa7, 0x31, 0xfc, 0x0c, 0x6d, 0x15, 0x24, 0xad, 0x0d,
+ 0x0f, 0x18, 0xd9, 0x04, 0x5a, 0x2d, 0x87, 0x5d, 0x83, 0xe2, 0x39, 0x7a, 0xf0, 0x39, 0x9a, 0x88,
+ 0x55, 0x2a, 0xa2, 0x88, 0xa5, 0x74, 0x2e, 0x42, 0x46, 0xee, 0x36, 0xac, 0x56, 0xed, 0xe0, 0xfb,
+ 0xf6, 0x8a, 0x26, 0x69, 0x2f, 0x2a, 0xd7, 0x1e, 0xe4, 0x79, 0x3f, 0x7b, 0x9f, 0x8a, 0x90, 0x39,
+ 0x3b, 0x7c, 0x15, 0x8c, 0x47, 0xa8, 0xec, 0x67, 0x6a, 0x96, 0x57, 0x81, 0x20, 0x48, 0xb1, 0x7f,
+ 0x53, 0x8a, 0x6e, 0xa6, 0x66, 0xa6, 0x36, 0x2f, 0xd7, 0x89, 0xe5, 0x20, 0xff, 0xf3, 0x19, 0x0f,
+ 0x50, 0x3d, 0x0d, 0x25, 0x4d, 0xd9, 0x24, 0x65, 0x72, 0x46, 0x43, 0x16, 0xf9, 0x57, 0xa4, 0x7c,
+ 0x83, 0xa6, 0x10, 0x65, 0x2b, 0x0d, 0xa5, 0x63, 0xdc, 0x8e, 0xb4, 0x17, 0x7e, 0x82, 0x6a, 0x2c,
+ 0x86, 0x1e, 0x51, 0xa9, 0x1f, 0xf0, 0x78, 0x4a, 0x2a, 0xd0, 0x1d, 0x55, 0x83, 0x7a, 0x06, 0xd4,
+ 0xb5, 0xf6, 0x83, 0x40, 0x0b, 0x16, 0x89, 0x29, 0x9d, 0xf0, 0x88, 0x91, 0x2a, 0x48, 0x5b, 0x35,
+ 0xf0, 0x50, 0x4c, 0x8f, 0x79, 0xc4, 0xf0, 0x2b, 0x54, 0x0b, 0xd9, 0xc4, 0xcf, 0x22, 0x45, 0xcd,
+ 0xd0, 0x91, 0x1a, 0x5c, 0xab, 0xb1, 0xf2, 0xb5, 0x63, 0xdd, 0x27, 0xe6, 0xb9, 0x4e, 0x35, 0xf7,
+ 0xcb, 0x47, 0xe3, 0x19, 0xaa, 0x9a, 0x66, 0xf7, 0xc3, 0x50, 0x4b, 0x4a, 0x6c, 0x9d, 0x0e, 0xde,
+ 0x50, 0x01, 0x43, 0xd7, 0xe0, 0xba, 0x96, 0x22, 0x53, 0x17, 0x22, 0x8b, 0x43, 0xfd, 0x84, 0xc9,
+ 0x84, 0x07, 0x85, 0xd0, 0x75, 0x48, 0x7d, 0x63, 0x2d, 0x47, 0xb9, 0xbb, 0x67, 0xbc, 0x8d, 0xc6,
+ 0xce, 0x8e, 0x58, 0x05, 0xe3, 0x23, 0xf4, 0x4d, 0xae, 0x57, 0x10, 0x71, 0x16, 0x2b, 0x2a, 0x79,
+ 0x78, 0x7d, 0xbe, 0xc8, 0x36, 0x08, 0xf8, 0xc8, 0xd0, 0x7a, 0xc0, 0x72, 0x79, 0xb8, 0x3c, 0x67,
+ 0xb8, 0x81, 0x2a, 0x32, 0x94, 0x34, 0x0b, 0x25, 0x4d, 0x7c, 0x35, 0x23, 0xf7, 0x40, 0x4b, 0x24,
+ 0x43, 0x79, 0x1e, 0xca, 0xb1, 0xaf, 0x66, 0xba, 0xc4, 0xf2, 0xab, 0x12, 0xef, 0xfc, 0xab, 0x12,
+ 0xcb, 0x2f, 0x4a, 0xfc, 0x1a, 0xd5, 0x4c, 0x2d, 0xa8, 0x14, 0x59, 0x1a, 0x30, 0x49, 0xee, 0x37,
+ 0x6e, 0xb5, 0xca, 0x07, 0x8f, 0x57, 0x0a, 0x63, 0x44, 0x71, 0x81, 0xe9, 0x54, 0x83, 0xa5, 0x93,
+ 0xc4, 0x87, 0xe8, 0x7e, 0xfe, 0x78, 0x7d, 0x37, 0x25, 0x2e, 0x59, 0x4c, 0xe7, 0x22, 0x8b, 0x15,
+ 0x79, 0x60, 0x56, 0x8a, 0xb1, 0xba, 0xa1, 0xf4, 0xb4, 0xed, 0x54, 0x9b, 0xf4, 0x4a, 0x59, 0x6e,
+ 0x1d, 0x91, 0xce, 0x7d, 0x45, 0x08, 0x3c, 0x78, 0x6b, 0xd1, 0x3c, 0x00, 0xeb, 0x04, 0xcb, 0x52,
+ 0xd2, 0x89, 0xcf, 0x23, 0x2a, 0x12, 0x16, 0x93, 0x87, 0x26, 0x41, 0xb2, 0x10, 0xf1, 0xd8, 0xe7,
+ 0xd1, 0x28, 0x61, 0x31, 0x7e, 0x8c, 0x2a, 0x2a, 0xcd, 0xa4, 0xa2, 0xa1, 0x98, 0xfb, 0x3c, 0x26,
+ 0xbb, 0x10, 0xbb, 0x0c, 0xd8, 0x11, 0x40, 0xd8, 0x47, 0xdb, 0x4b, 0x77, 0x60, 0x71, 0x20, 0x42,
+ 0xdd, 0xea, 0x8f, 0x60, 0x12, 0x9f, 0xdf, 0x38, 0x89, 0xc5, 0x2d, 0xfb, 0xb9, 0xa3, 0x53, 0xf7,
+ 0xbf, 0x84, 0xb0, 0x40, 0x55, 0x15, 0x24, 0xf4, 0x92, 0xb1, 0xc4, 0x8f, 0xf8, 0x7b, 0x46, 0xfe,
+ 0x07, 0xc5, 0x3a, 0xc9, 0x83, 0x2f, 0x3e, 0x12, 0x45, 0x8a, 0x43, 0x2d, 0xb5, 0xde, 0x71, 0x5c,
+ 0xc4, 0x63, 0x21, 0x22, 0x97, 0x29, 0xc5, 0xe3, 0xa9, 0x6c, 0x7b, 0xbd, 0xf1, 0xe2, 0x77, 0x90,
+ 0xbc, 0x29, 0x22, 0x3a, 0x15, 0xb5, 0x74, 0xc2, 0xfb, 0x08, 0x43, 0x0f, 0x49, 0x46, 0x2f, 0x5f,
+ 0x48, 0x2a, 0x7d, 0xfa, 0xeb, 0x07, 0x45, 0xfe, 0x0f, 0x3a, 0xd5, 0x74, 0x27, 0x49, 0xf6, 0xe6,
+ 0x85, 0x74, 0xfd, 0x93, 0x0f, 0x0a, 0x8f, 0xd1, 0x13, 0xdd, 0xa7, 0x81, 0x9f, 0x52, 0x25, 0xa8,
+ 0x62, 0x11, 0x9b, 0x33, 0x95, 0x5e, 0x51, 0xc9, 0xa4, 0xd4, 0x9f, 0x28, 0xdd, 0xe1, 0x31, 0x57,
+ 0x57, 0x64, 0x0f, 0xdc, 0x1f, 0xe7, 0x64, 0x4f, 0x78, 0x05, 0xd5, 0x35, 0xcc, 0x6e, 0x4e, 0xdc,
+ 0xfd, 0xdd, 0x42, 0x3b, 0x2b, 0x07, 0x07, 0x9f, 0xa1, 0x12, 0x6c, 0x52, 0x0b, 0xc4, 0xfd, 0xf1,
+ 0x3f, 0x4d, 0x5f, 0x1b, 0xd6, 0x29, 0xc4, 0x69, 0x1e, 0xa1, 0x12, 0x6c, 0xd1, 0x3a, 0xaa, 0x3a,
+ 0xfd, 0x57, 0x03, 0xd7, 0x73, 0xde, 0xd1, 0xd1, 0xd9, 0xf0, 0x9d, 0xbd, 0x86, 0xab, 0xe8, 0x6e,
+ 0x77, 0x38, 0x1c, 0xfd, 0x44, 0xbb, 0x67, 0xef, 0x6c, 0xab, 0x59, 0xda, 0x5c, 0xb7, 0xd7, 0xf7,
+ 0xef, 0xbd, 0x1d, 0x38, 0xde, 0x79, 0x77, 0x48, 0xdd, 0xbe, 0xf3, 0x76, 0xd0, 0xeb, 0x03, 0xb9,
+ 0xf9, 0x03, 0xda, 0x59, 0xb9, 0xb3, 0xf1, 0x06, 0xba, 0x35, 0x3a, 0x3e, 0xb6, 0xd7, 0x70, 0x19,
+ 0x6d, 0x1c, 0xf5, 0x8f, 0xbb, 0xe7, 0x43, 0xcf, 0xb6, 0x30, 0x42, 0x77, 0x5c, 0xcf, 0x19, 0xf4,
+ 0x3c, 0x7b, 0xbd, 0xf9, 0x14, 0xa1, 0xc5, 0x2e, 0xc6, 0x9b, 0xa8, 0x74, 0x36, 0x3a, 0xeb, 0xdb,
+ 0x6b, 0xb8, 0x86, 0xd0, 0xe9, 0x39, 0x64, 0xf2, 0x86, 0xae, 0x6d, 0x35, 0x9f, 0xa1, 0xfa, 0x57,
+ 0x9d, 0xa2, 0xe9, 0x5e, 0xff, 0x67, 0xcf, 0x5e, 0xd3, 0xbf, 0x4e, 0xdc, 0xd1, 0x99, 0x6d, 0x9d,
+ 0x94, 0x36, 0xb7, 0x6c, 0xfb, 0xa4, 0xb4, 0x89, 0xed, 0xed, 0xa6, 0x44, 0x95, 0xe5, 0x89, 0xc3,
+ 0x04, 0x6d, 0x14, 0x1b, 0xcf, 0xfc, 0x0f, 0x28, 0x8e, 0x78, 0x80, 0x2a, 0x2a, 0xd2, 0x5f, 0x36,
+ 0xd3, 0x1a, 0xf0, 0xdd, 0x2f, 0x1f, 0x3c, 0xfd, 0x87, 0xfe, 0xf2, 0x86, 0x6e, 0xd1, 0x48, 0x4e,
+ 0x59, 0x45, 0xb2, 0x38, 0xbc, 0x6c, 0xfd, 0xf1, 0x69, 0xcf, 0xfa, 0xf3, 0xd3, 0x9e, 0xf5, 0xd7,
+ 0xa7, 0x3d, 0xeb, 0x97, 0x5d, 0x13, 0x81, 0x8b, 0x8e, 0x9f, 0xf0, 0xce, 0xb5, 0x3f, 0x3a, 0x17,
+ 0x77, 0x60, 0xc7, 0x1c, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x7a, 0x45, 0xbf, 0x51, 0x09,
+ 0x00, 0x00,
}
diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto
index 5ec49566cc..80e9590ffb 100644
--- a/mesh/v1alpha1/config.proto
+++ b/mesh/v1alpha1/config.proto
@@ -63,7 +63,7 @@ message MeshConfig {
// Enable session affinity for envoy mixer reports so that calls from a proxy will
// always target the same mixer instance.
- bool sidecar_to_telemetry_session_affinity = 31;
+ bool sidecar_to_telemetry_session_affinity = 30;
// Port on which Envoy should listen for incoming connections from
// other services.
@@ -155,23 +155,27 @@ message MeshConfig {
message OutboundTrafficPolicy {
enum Mode {
- // outbound traffic will be restricted to services defined in the service registry as well as those defined
- // through ServiceEntries
+ // outbound traffic will be restricted to services defined in the
+ // service registry as well as those defined through ServiceEntries
REGISTRY_ONLY = 0;
- // outbound traffic to unknown destinations will be allowed, in case there are no services or ServiceEntries for the destination port
+ // outbound traffic to unknown destinations will be allowed, in case
+ // there are no services or ServiceEntries for the destination port
ALLOW_ANY = 1;
- // not implemented. outbound traffic will be restricted to destinations defined in VirtualServices only
- VIRTUAL_SERVICE_ONLY = 2 [deprecated=true];
+
+ reserved 2;
+ reserved "VIRTUAL_SERVICE_ONLY";
}
Mode mode = 1;
}
- // Set the default behavior of the sidecar for handling outbound traffic from the application.
- // While the default mode should work out of the box, if your application uses one or more external services that
- // are not known apriori, setting the policy to ALLOW_ANY will cause the sidecars to route traffic to the any
- // requested destination.
- // Users are strongly encouraged to use ServiceEntries to explicitly declare any external dependencies,
- // instead of using allow_any.
+ // Set the default behavior of the sidecar for handling outbound traffic
+ // from the application. If your application uses one or more external
+ // services that are not known apriori, setting the policy to ALLOW_ANY
+ // will cause the sidecars to route any unknown traffic originating from
+ // the application to its requested destination. Users are strongly
+ // encouraged to use ServiceEntries to explicitly declare any external
+ // dependencies, instead of using allow_any, so that traffic to these
+ // services can be monitored.
OutboundTrafficPolicy outbound_traffic_policy = 17;
reserved 18;
@@ -206,48 +210,15 @@ message MeshConfig {
// and pass to sds server, which will be used to request key/cert eventually.
// If both enable_sds_token_mount and sds_use_k8s_sa_jwt are set to true, enable_sds_token_mount(trustworthy jwt) takes precedence.
// This isn't supported for non-k8s case.
- bool sds_use_k8s_sa_jwt = 30;
+ bool sds_use_k8s_sa_jwt = 29;
// The trust domain corresponds to the trust root of a system.
// Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain
// Fallback to old identity format(without trust domain) if not set.
string trust_domain = 26;
- // Default service dependency settings for each workload in the
- // mesh. ServiceDependencycontrols the reachability of workloads to other
- // services in the mesh.
- message DefaultServiceDependency {
- enum Mode {
- // Configure routes to services in all namespaces, i.e. import
- // services from all namespaces.
- ALL_NAMESPACES = 0;
-
- // Only configure routes to services that are in the same namespace
- // as the workload as well as services in namespaces specified in
- // importNamespaces.
- SAME_NAMESPACE = 1;
- }
-
- // REQUIRED: The default import setting for every workload in the mesh.
- Mode import_mode = 1;
-
- // Specifies one or more namespaces that should be imported by default
- // in all user defined ServiceDependency resources in addition to the
- // namespaces explicitly specified by the end user. Use this setting to
- // automatically import services/resources from namespaces such as
- // istio-system that all workloads in the mesh depend upon.
- repeated string import_namespaces = 2;
- }
-
- // The default service dependency setting associated with every workload
- // in the mesh. Pilot will program the routes in the sidecars and
- // gateways accordingly. If omitted, sidecars will be configured to reach
- // every service in the mesh. The default scope can be overridden by
- // supplying a ServiceDependency resource per namespace.
- DefaultServiceDependency default_service_dependency = 29;
-
// $hide_from_docs
- // Next available field number: 32
+ // Next available field number: 31
}
// ConfigSource describes information about a configuration store inside a
diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
index 58bb0ebab7..a581ca038b 100644
--- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
+++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
@@ -4,7 +4,7 @@
generator: protoc-gen-docs
aliases:
- /docs/reference/config/service-mesh.html
-number_of_entries: 18
+number_of_entries: 16
---
AuthenticationPolicy
@@ -268,12 +268,14 @@ MeshConfig
outboundTrafficPolicy |
MeshConfig.OutboundTrafficPolicy |
- Set the default behavior of the sidecar for handling outbound traffic from the application.
-While the default mode should work out of the box, if your application uses one or more external services that
-are not known apriori, setting the policy to ALLOWANY will cause the sidecars to route traffic to the any
-requested destination.
-Users are strongly encouraged to use ServiceEntries to explicitly declare any external dependencies,
-instead of using allowany.
+Set the default behavior of the sidecar for handling outbound traffic
+from the application. If your application uses one or more external
+services that are not known apriori, setting the policy to ALLOWANY
+will cause the sidecars to route any unknown traffic originating from
+the application to its requested destination. Users are strongly
+encouraged to use ServiceEntries to explicitly declare any external
+dependencies, instead of using allowany, so that traffic to these
+services can be monitored.
|
@@ -312,18 +314,6 @@ MeshConfig
Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain
Fallback to old identity format(without trust domain) if not set.
-
-
-
-defaultServiceDependency |
-MeshConfig.DefaultServiceDependency |
-
- The default service dependency setting associated with every workload
-in the mesh. Pilot will program the routes in the sidecars and
-gateways accordingly. If omitted, sidecars will be configured to reach
-every service in the mesh. The default scope can be overridden by
-supplying a ServiceDependency resource per namespace.
-
|
@@ -347,74 +337,6 @@ MeshConfig.AccessLogEncoding
JSON |
- |
-
-
-
-
-MeshConfig.DefaultServiceDependency
-
-Default service dependency settings for each workload in the
-mesh. ServiceDependencycontrols the reachability of workloads to other
-services in the mesh.
-
-
-
-
-| Field |
-Type |
-Description |
-
-
-
-
-importMode |
-MeshConfig.DefaultServiceDependency.Mode |
-
- REQUIRED: The default import setting for every workload in the mesh.
-
- |
-
-
-importNamespaces |
-string[] |
-
- Specifies one or more namespaces that should be imported by default
-in all user defined ServiceDependency resources in addition to the
-namespaces explicitly specified by the end user. Use this setting to
-automatically import services/resources from namespaces such as
-istio-system that all workloads in the mesh depend upon.
-
- |
-
-
-
-
-MeshConfig.DefaultServiceDependency.Mode
-
-
-
-
-| Name |
-Description |
-
-
-
-
-ALL_NAMESPACES |
-
- Configure routes to services in all namespaces, i.e. import
-services from all namespaces.
-
- |
-
-
-SAME_NAMESPACE |
-
- Only configure routes to services that are in the same namespace
-as the workload as well as services in namespaces specified in
-importNamespaces.
-
|
@@ -495,22 +417,16 @@ MeshConfig.OutboundTrafficPolicy.
REGISTRY_ONLY |
- outbound traffic will be restricted to services defined in the service registry as well as those defined
-through ServiceEntries
+outbound traffic will be restricted to services defined in the
+service registry as well as those defined through ServiceEntries
|
ALLOW_ANY |
- outbound traffic to unknown destinations will be allowed, in case there are no services or ServiceEntries for the destination port
-
- |
-
-
-VIRTUAL_SERVICE_ONLY |
-
- not implemented. outbound traffic will be restricted to destinations defined in VirtualServices only
+outbound traffic to unknown destinations will be allowed, in case
+there are no services or ServiceEntries for the destination port
|
diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go
index 33824eba8f..7788ca4ef0 100644
--- a/networking/v1alpha3/destination_rule.pb.go
+++ b/networking/v1alpha3/destination_rule.pb.go
@@ -8,8 +8,8 @@
networking/v1alpha3/destination_rule.proto
networking/v1alpha3/envoy_filter.proto
networking/v1alpha3/gateway.proto
- networking/v1alpha3/service_dependency.proto
networking/v1alpha3/service_entry.proto
+ networking/v1alpha3/sidecar.proto
networking/v1alpha3/virtual_service.proto
It has these top-level messages:
@@ -24,8 +24,11 @@
Gateway
Server
Port
- ServiceDependency
ServiceEntry
+ Sidecar
+ IstioIngressListener
+ IstioEgressListener
+ WorkloadSelector
VirtualService
Destination
HTTPRoute
@@ -4869,100 +4872,100 @@ func init() {
}
var fileDescriptorDestinationRule = []byte{
- // 1511 bytes of a gzipped FileDescriptorProto
+ // 1506 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x6f, 0x1b, 0x37,
- 0x16, 0xb6, 0x7e, 0x58, 0xb6, 0x9f, 0x6c, 0x59, 0xe6, 0x7a, 0xb3, 0x8a, 0x16, 0x70, 0xbc, 0xc2,
- 0x62, 0xe3, 0xcd, 0x26, 0xa3, 0xb5, 0x83, 0x00, 0x69, 0x82, 0x14, 0xb1, 0x6c, 0x21, 0x72, 0x23,
+ 0x16, 0xb6, 0x7e, 0x58, 0xb6, 0x9f, 0x6c, 0x59, 0xe6, 0x7a, 0xb3, 0x8a, 0x16, 0x70, 0x1c, 0x61,
+ 0xb1, 0xf1, 0x66, 0x37, 0xa3, 0xb5, 0x83, 0x00, 0x69, 0x82, 0x14, 0xb1, 0x6c, 0x21, 0x72, 0x23,
0x5b, 0x02, 0x25, 0xa3, 0x45, 0x80, 0x62, 0x40, 0x8d, 0x68, 0x89, 0xf1, 0x68, 0x38, 0x1d, 0x72,
0x14, 0x3b, 0x97, 0xfe, 0x03, 0x3d, 0x07, 0xbd, 0xf6, 0x4f, 0xe9, 0xad, 0xe8, 0xa9, 0xd7, 0xf6,
0xd2, 0x22, 0xd7, 0x1e, 0x7a, 0xea, 0xa5, 0x87, 0xa2, 0x20, 0x87, 0x23, 0xc9, 0x89, 0x62, 0xc7,
- 0x48, 0x72, 0xe3, 0xf0, 0x7d, 0xdf, 0x23, 0xf9, 0xde, 0xc7, 0xc7, 0x37, 0x70, 0xc3, 0xa3, 0xf2,
+ 0x48, 0x72, 0xe3, 0xf0, 0x7d, 0xdf, 0x23, 0xf9, 0xde, 0xc7, 0xc7, 0x37, 0x70, 0xd3, 0xa3, 0xf2,
0x19, 0x0f, 0x8e, 0x99, 0xd7, 0x2b, 0x0f, 0x37, 0x89, 0xeb, 0xf7, 0xc9, 0xed, 0x72, 0x97, 0x0a,
0xc9, 0x3c, 0x22, 0x19, 0xf7, 0xec, 0x20, 0x74, 0xa9, 0xe5, 0x07, 0x5c, 0x72, 0x74, 0x95, 0x09,
0xc9, 0xb8, 0x35, 0x66, 0x58, 0x31, 0xa3, 0xb8, 0xd6, 0xe3, 0xbc, 0xe7, 0xd2, 0xb2, 0x06, 0x76,
- 0xc2, 0xa3, 0x72, 0x37, 0x0c, 0x34, 0x3f, 0xa2, 0x16, 0xff, 0x3b, 0x6d, 0x99, 0x21, 0x0b, 0x64,
- 0x48, 0x5c, 0x5b, 0xd0, 0x60, 0xc8, 0x1c, 0xb3, 0x4a, 0xf1, 0xe6, 0x34, 0xa8, 0x81, 0xd8, 0x5d,
- 0xea, 0x53, 0xaf, 0x4b, 0x3d, 0xe7, 0xd4, 0xa0, 0x57, 0x7b, 0xbc, 0xc7, 0xf5, 0xb0, 0xac, 0x46,
- 0xd1, 0x6c, 0xe9, 0xcf, 0x04, 0x2c, 0xef, 0x8e, 0x0f, 0x81, 0x43, 0x97, 0x22, 0x04, 0xe9, 0x3e,
- 0x17, 0xb2, 0x90, 0x58, 0x4f, 0x6c, 0x2c, 0x60, 0x3d, 0x46, 0x0d, 0xc8, 0xc9, 0x80, 0x1c, 0x1d,
- 0x31, 0xc7, 0xf6, 0xb9, 0xcb, 0x9c, 0xd3, 0x42, 0x72, 0x3d, 0xb1, 0x91, 0xdd, 0xda, 0xb0, 0xde,
- 0x78, 0x54, 0xab, 0x1d, 0x11, 0x9a, 0x1a, 0x8f, 0x97, 0xe4, 0xe4, 0x27, 0xba, 0x0f, 0x73, 0x22,
- 0xec, 0x08, 0x2a, 0x45, 0x21, 0xb5, 0x9e, 0xda, 0xc8, 0x6e, 0xfd, 0xeb, 0x1c, 0x4f, 0x2d, 0x8d,
- 0xc4, 0x31, 0x03, 0xed, 0xc1, 0xa2, 0xc3, 0xbd, 0x23, 0xd6, 0xb3, 0x85, 0xc3, 0x7d, 0x5a, 0x48,
- 0xaf, 0x27, 0x36, 0x72, 0x5b, 0xff, 0x39, 0xc7, 0xc3, 0x8e, 0x86, 0xb7, 0x14, 0x1a, 0x67, 0x9d,
- 0xf1, 0x47, 0xe9, 0xa7, 0x0c, 0x2c, 0x9d, 0xd9, 0x28, 0x6a, 0xc3, 0x92, 0xcb, 0x49, 0xd7, 0xee,
- 0x10, 0x97, 0x78, 0x0e, 0x0d, 0x74, 0x1c, 0xb2, 0x5b, 0xe5, 0x73, 0xbc, 0xd7, 0x39, 0xe9, 0x56,
- 0x0c, 0xbc, 0x45, 0xa5, 0x64, 0x5e, 0x4f, 0xe0, 0x45, 0x77, 0x62, 0x16, 0x3d, 0x81, 0x65, 0x87,
- 0x7b, 0x1e, 0x75, 0xb4, 0x56, 0x7c, 0xce, 0x5d, 0x13, 0xc1, 0xcd, 0xf3, 0x77, 0x6d, 0x18, 0x4d,
- 0xce, 0xdd, 0x91, 0xe7, 0x9c, 0x73, 0x66, 0x1e, 0x7d, 0x06, 0x2b, 0x3c, 0x94, 0x2e, 0xa3, 0x81,
- 0xdd, 0xa5, 0x32, 0x32, 0x14, 0x52, 0xda, 0xfb, 0xff, 0xce, 0xf1, 0xde, 0x88, 0x38, 0xbb, 0x31,
- 0x05, 0xe7, 0xf9, 0x2b, 0x33, 0xe8, 0x2e, 0xa4, 0xa4, 0x2b, 0x74, 0x7c, 0xb3, 0xe7, 0xc6, 0xb7,
- 0x5d, 0x6f, 0x8d, 0xb6, 0xa7, 0x28, 0xe8, 0x29, 0xfc, 0xcd, 0xe7, 0x81, 0xb4, 0x5d, 0x3a, 0xa4,
- 0x4a, 0xb8, 0x91, 0xad, 0x30, 0xab, 0x73, 0x7d, 0xef, 0x6d, 0x55, 0x63, 0x35, 0x79, 0x20, 0xcf,
- 0xea, 0x68, 0x45, 0xb9, 0xad, 0x2b, 0xaf, 0xf1, 0x82, 0xc5, 0x17, 0x29, 0x58, 0x79, 0x0d, 0x88,
- 0xee, 0x43, 0x5a, 0x41, 0x4d, 0xfa, 0xae, 0x9f, 0xb3, 0xa4, 0xe2, 0xb6, 0xa8, 0x4b, 0x1d, 0xc9,
- 0x03, 0xac, 0x49, 0xaf, 0x8b, 0x20, 0xf9, 0x81, 0x44, 0x90, 0xfa, 0xa0, 0x22, 0x48, 0xbf, 0x47,
- 0x11, 0xcc, 0x5e, 0x5a, 0x04, 0xa5, 0xdf, 0x12, 0x90, 0x89, 0xee, 0xae, 0x2a, 0x2a, 0x1e, 0x19,
- 0xd0, 0xb8, 0xa8, 0xa8, 0x31, 0xaa, 0x42, 0xc6, 0x25, 0x1d, 0xea, 0x8a, 0x42, 0x52, 0xcb, 0xe2,
- 0xd6, 0x85, 0x25, 0xc0, 0xaa, 0x6b, 0x7c, 0xd5, 0x93, 0xc1, 0x29, 0x36, 0xe4, 0x29, 0xb5, 0x29,
- 0xf5, 0x4e, 0xb5, 0xa9, 0xf8, 0x11, 0x64, 0x27, 0xd6, 0x41, 0x79, 0x48, 0x1d, 0xd3, 0x53, 0xb3,
- 0x73, 0x35, 0x44, 0xab, 0x30, 0x3b, 0x24, 0x6e, 0x48, 0xb5, 0x2a, 0x16, 0x70, 0xf4, 0x71, 0x2f,
- 0x79, 0x37, 0x51, 0xfa, 0x75, 0x0e, 0x56, 0xa7, 0x09, 0x01, 0x61, 0xc8, 0x08, 0x36, 0xf0, 0xdd,
- 0x28, 0x02, 0xb9, 0xad, 0xbb, 0x97, 0x54, 0x92, 0xd5, 0xd2, 0xec, 0x7a, 0xa5, 0x36, 0x83, 0x8d,
- 0x27, 0x74, 0xac, 0xe5, 0x24, 0x98, 0x90, 0xd4, 0x93, 0x76, 0x9f, 0x88, 0xbe, 0x91, 0xe9, 0xc3,
- 0xcb, 0x3a, 0xdf, 0x19, 0xb9, 0xa9, 0x11, 0xd1, 0xd7, 0x8b, 0xe4, 0x9c, 0x33, 0x73, 0xe8, 0x4b,
- 0x28, 0xb8, 0xdc, 0x21, 0x2e, 0x93, 0xa7, 0xf6, 0x33, 0xca, 0x7a, 0x7d, 0x39, 0xbe, 0xd5, 0x51,
- 0x05, 0xaf, 0x5e, 0x76, 0xd5, 0xba, 0xf1, 0xf7, 0xa9, 0x76, 0x67, 0xa6, 0xf1, 0x15, 0x77, 0xda,
- 0xb4, 0x28, 0xfe, 0x9e, 0x84, 0xfc, 0xab, 0xfb, 0x44, 0x37, 0x20, 0xdf, 0x97, 0xd2, 0xb7, 0xfb,
- 0x94, 0x74, 0x69, 0x60, 0x8f, 0x25, 0xa6, 0x4e, 0xa0, 0x2c, 0x35, 0x6d, 0x38, 0x50, 0x72, 0xf3,
- 0x20, 0xab, 0xb1, 0x0e, 0xe7, 0xc7, 0x8c, 0x9a, 0x50, 0x3d, 0x7e, 0xd7, 0x50, 0x59, 0xb5, 0x76,
- 0xbb, 0xb9, 0xa3, 0x5d, 0xd6, 0x66, 0x30, 0xa8, 0x15, 0xa2, 0x2f, 0xf4, 0x6f, 0x58, 0x0a, 0x05,
- 0xb5, 0x05, 0x0f, 0x03, 0x87, 0xda, 0xcc, 0xd7, 0xb2, 0x9c, 0xaf, 0xcd, 0xe0, 0x6c, 0x28, 0x68,
- 0x4b, 0xcf, 0xee, 0xf9, 0xe8, 0x06, 0xac, 0x0c, 0x98, 0xc7, 0x06, 0xe1, 0xc0, 0x0e, 0x98, 0xd7,
- 0xb3, 0x05, 0x7b, 0x1e, 0x3d, 0x68, 0x69, 0xbc, 0x6c, 0x0c, 0x98, 0x79, 0xbd, 0x16, 0x7b, 0x4e,
- 0x8b, 0x3d, 0x80, 0xf1, 0x6a, 0x53, 0xaf, 0x14, 0x82, 0xb4, 0x4f, 0x64, 0xdf, 0x08, 0x53, 0x8f,
- 0xd1, 0x26, 0xa4, 0xa4, 0x8c, 0x2b, 0xcd, 0x55, 0x2b, 0x6a, 0x40, 0xac, 0xb8, 0x01, 0xb1, 0x76,
- 0x4d, 0x03, 0x52, 0x49, 0x7f, 0xfd, 0xf3, 0xb5, 0x04, 0x56, 0xd8, 0x0a, 0xc0, 0xbc, 0x92, 0x93,
- 0x7d, 0x4c, 0x4f, 0x8b, 0xdf, 0x26, 0xe0, 0xef, 0x53, 0x33, 0xa5, 0x16, 0x3b, 0x0a, 0xf8, 0x20,
- 0xde, 0x80, 0x1a, 0xa3, 0xcf, 0x21, 0x29, 0xb9, 0xb9, 0xcf, 0xfb, 0xef, 0x45, 0x10, 0x56, 0x9b,
- 0x47, 0xf7, 0x3d, 0x29, 0x79, 0xf1, 0x0e, 0xcc, 0x99, 0xcf, 0x8b, 0xae, 0xe5, 0xd2, 0xe4, 0xb5,
- 0xac, 0xc1, 0x7c, 0x7c, 0x7f, 0xd0, 0x32, 0x64, 0x71, 0xe3, 0xf0, 0x60, 0xd7, 0xc6, 0x8d, 0xca,
- 0xde, 0x41, 0x7e, 0x06, 0xe5, 0x00, 0xea, 0xd5, 0xed, 0x56, 0xdb, 0xde, 0x69, 0x1c, 0x1c, 0xe4,
- 0x13, 0x08, 0x20, 0x83, 0xb7, 0x0f, 0x76, 0x1b, 0xfb, 0xf9, 0xa4, 0x02, 0x37, 0xb7, 0x5b, 0xad,
- 0x76, 0x0d, 0x37, 0x0e, 0x1f, 0xd5, 0xf2, 0xa9, 0x4a, 0x16, 0x16, 0xdc, 0x8e, 0xa9, 0x33, 0xa5,
- 0x17, 0x19, 0xb8, 0x32, 0xbd, 0x3c, 0xa3, 0x06, 0xa4, 0xa4, 0xe3, 0x9b, 0xc7, 0xe7, 0xc1, 0xa5,
- 0xcb, 0xbb, 0xd5, 0xde, 0x69, 0x4e, 0xd4, 0x52, 0xc7, 0x47, 0x18, 0xd2, 0x4a, 0x5b, 0x46, 0xb6,
- 0x1f, 0x5f, 0xde, 0xa3, 0x52, 0xce, 0xc8, 0xa5, 0xf6, 0x55, 0xfc, 0x23, 0x09, 0xd9, 0x89, 0x85,
- 0xd0, 0x75, 0x58, 0x1e, 0x90, 0x13, 0x7b, 0xfc, 0xb2, 0x08, 0x7d, 0x80, 0x59, 0x9c, 0x1b, 0x90,
- 0x93, 0xb1, 0x5b, 0x81, 0x2a, 0xa3, 0x87, 0xcc, 0x96, 0x6c, 0x40, 0x79, 0x28, 0xcd, 0xbe, 0xde,
- 0x2c, 0xaf, 0xd1, 0x83, 0xd5, 0x8e, 0x08, 0x88, 0xc3, 0x92, 0x74, 0x7c, 0xfb, 0x98, 0x52, 0x9f,
- 0xb8, 0x6c, 0x48, 0x8d, 0x40, 0x3f, 0x79, 0xa7, 0x58, 0x59, 0x6d, 0xc7, 0x7f, 0x1c, 0x7b, 0xc4,
- 0x8b, 0x72, 0xe2, 0xab, 0xf8, 0x55, 0x02, 0x16, 0x27, 0xcd, 0xe8, 0x0a, 0x64, 0xfc, 0x80, 0x77,
- 0x68, 0x74, 0xca, 0x25, 0x6c, 0xbe, 0xd0, 0x2d, 0x48, 0xab, 0x53, 0x5d, 0x7c, 0x24, 0x0d, 0x43,
- 0x77, 0x60, 0x9e, 0x79, 0x92, 0x06, 0x43, 0x72, 0xf1, 0x25, 0xc3, 0x23, 0x68, 0xf1, 0xc7, 0x04,
- 0x2c, 0x4e, 0xe6, 0x04, 0xdd, 0x87, 0xa2, 0xca, 0xca, 0xa6, 0xad, 0x72, 0xa0, 0xba, 0x77, 0x55,
- 0x0e, 0x02, 0xfa, 0x45, 0x48, 0x85, 0x8c, 0x13, 0xf1, 0x0f, 0x8d, 0xd8, 0x27, 0x27, 0xcd, 0xc8,
- 0x8e, 0x8d, 0x19, 0xdd, 0x04, 0xa4, 0x4c, 0x5b, 0x9a, 0x3c, 0x22, 0x25, 0x35, 0x49, 0x97, 0xc8,
- 0xad, 0x7d, 0x72, 0x32, 0x42, 0x3f, 0x80, 0x7f, 0x4e, 0xe2, 0x6c, 0x9f, 0x06, 0x13, 0x59, 0xd7,
- 0xa7, 0x98, 0xc5, 0x85, 0xc1, 0x98, 0xd1, 0xa4, 0xc1, 0x38, 0xf8, 0xe8, 0x1a, 0x64, 0x23, 0xba,
- 0x0c, 0x18, 0x8d, 0xda, 0xc3, 0x59, 0x0c, 0x1a, 0xae, 0x67, 0x4a, 0xdf, 0x24, 0x21, 0xff, 0x6a,
- 0x67, 0x81, 0x6e, 0x01, 0x52, 0x6f, 0x0a, 0x75, 0x42, 0xc9, 0x86, 0xd4, 0xa6, 0x41, 0xc0, 0x83,
- 0xf8, 0x5c, 0x2b, 0x13, 0x96, 0xaa, 0x36, 0x9c, 0x09, 0x6b, 0xf2, 0xad, 0xc3, 0x8a, 0x1e, 0x01,
- 0xea, 0x10, 0x41, 0x6d, 0xfa, 0xd4, 0xb4, 0x59, 0x3a, 0x95, 0x17, 0xe6, 0x25, 0xaf, 0x48, 0x55,
- 0xc3, 0x51, 0x12, 0x45, 0xff, 0x87, 0x55, 0x75, 0xc8, 0x91, 0x1f, 0x9f, 0x06, 0x0e, 0xf5, 0xa4,
- 0x39, 0x2d, 0x1a, 0x90, 0x93, 0x18, 0xde, 0x8c, 0x2c, 0x2a, 0x07, 0x03, 0xe6, 0xa9, 0xb7, 0xc8,
- 0x95, 0xfd, 0x11, 0x7e, 0x36, 0xca, 0xc1, 0x80, 0x79, 0x35, 0x6d, 0x30, 0xe8, 0xd2, 0xf7, 0xea,
- 0xf2, 0x8d, 0x3b, 0x26, 0x54, 0x81, 0xf4, 0x80, 0x77, 0xe3, 0xfe, 0xc0, 0x7a, 0xbb, 0x3e, 0x4b,
- 0x8d, 0x15, 0x0b, 0x6b, 0xae, 0x0e, 0xb1, 0xcb, 0x54, 0x37, 0xe0, 0xd0, 0x40, 0xb2, 0x23, 0xe6,
- 0x10, 0x19, 0x77, 0x29, 0x2b, 0x91, 0x65, 0x67, 0x6c, 0x50, 0x79, 0xf4, 0x03, 0x36, 0x24, 0x92,
- 0xaa, 0x4a, 0xaf, 0x83, 0xb4, 0x80, 0xc1, 0x4c, 0x3d, 0xa6, 0xa7, 0xaa, 0x20, 0x38, 0x64, 0xd2,
- 0x57, 0x94, 0xec, 0x05, 0x9c, 0x73, 0xc8, 0x84, 0x23, 0xa1, 0x5e, 0x31, 0x11, 0x76, 0x54, 0x3c,
- 0x6c, 0xe2, 0x4a, 0xfd, 0x0e, 0x47, 0xcd, 0xfe, 0x02, 0x5e, 0x36, 0x86, 0x6d, 0x57, 0xaa, 0x67,
- 0x58, 0xa8, 0xc2, 0x2d, 0x3c, 0x56, 0xc8, 0x44, 0x85, 0x5b, 0x78, 0xac, 0xf4, 0x10, 0xe6, 0xcc,
- 0x39, 0x50, 0x16, 0xe6, 0x76, 0xf7, 0x5a, 0xdb, 0x95, 0x7a, 0x35, 0x3f, 0xa3, 0x2a, 0x71, 0x6b,
- 0x6f, 0xbf, 0x59, 0xaf, 0x46, 0x55, 0x79, 0xff, 0xb0, 0x7d, 0xb8, 0x5d, 0xcf, 0x27, 0x51, 0x1e,
- 0x16, 0xf7, 0x5a, 0xed, 0xbd, 0x86, 0x6d, 0x66, 0x52, 0x15, 0xeb, 0xbb, 0x97, 0x6b, 0x89, 0x1f,
- 0x5e, 0xae, 0x25, 0x7e, 0x79, 0xb9, 0x96, 0x78, 0xb2, 0x1e, 0xc5, 0x8e, 0xf1, 0x32, 0xf1, 0x59,
- 0x79, 0xca, 0x6f, 0x72, 0x27, 0xa3, 0x15, 0x70, 0xfb, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf9,
- 0xac, 0x46, 0x5e, 0xd6, 0x0f, 0x00, 0x00,
+ 0xc2, 0xa3, 0x72, 0x37, 0x0c, 0x34, 0x3f, 0xa2, 0x16, 0xff, 0x33, 0x6d, 0x99, 0x21, 0x0b, 0x64,
+ 0x48, 0x5c, 0x5b, 0xd0, 0x60, 0xc8, 0x1c, 0xb3, 0x4a, 0xf1, 0xfa, 0x34, 0xa8, 0x60, 0x5d, 0xea,
+ 0x90, 0xc0, 0x40, 0x56, 0x7b, 0xbc, 0xc7, 0xf5, 0xb0, 0xac, 0x46, 0xd1, 0x6c, 0xe9, 0xcf, 0x04,
+ 0x2c, 0xef, 0x8e, 0x77, 0x8e, 0x43, 0x97, 0x22, 0x04, 0xe9, 0x3e, 0x17, 0xb2, 0x90, 0x58, 0x4f,
+ 0x6c, 0x2c, 0x60, 0x3d, 0x46, 0x0d, 0xc8, 0xc9, 0x80, 0x1c, 0x1d, 0x31, 0xc7, 0xf6, 0xb9, 0xcb,
+ 0x9c, 0xd3, 0x42, 0x72, 0x3d, 0xb1, 0x91, 0xdd, 0xda, 0xb0, 0xde, 0x78, 0x3e, 0xab, 0x1d, 0x11,
+ 0x9a, 0x1a, 0x8f, 0x97, 0xe4, 0xe4, 0x27, 0xba, 0x0f, 0x73, 0x22, 0xec, 0x08, 0x2a, 0x45, 0x21,
+ 0xb5, 0x9e, 0xda, 0xc8, 0x6e, 0x5d, 0x3f, 0xc7, 0x53, 0x4b, 0x23, 0x71, 0xcc, 0x40, 0x7b, 0xb0,
+ 0xe8, 0x70, 0xef, 0x88, 0xf5, 0x6c, 0xe1, 0x70, 0x9f, 0x16, 0xd2, 0xeb, 0x89, 0x8d, 0xdc, 0xd6,
+ 0xbf, 0xcf, 0xf1, 0xb0, 0xa3, 0xe1, 0x2d, 0x85, 0xc6, 0x59, 0x67, 0xfc, 0x51, 0xfa, 0x29, 0x03,
+ 0x4b, 0x67, 0x36, 0x8a, 0xda, 0xb0, 0xe4, 0x72, 0xd2, 0xb5, 0x3b, 0xc4, 0x25, 0x9e, 0x43, 0x03,
+ 0x1d, 0x87, 0xec, 0x56, 0xf9, 0x1c, 0xef, 0x75, 0x4e, 0xba, 0x15, 0x03, 0x6f, 0x51, 0x29, 0x99,
+ 0xd7, 0x13, 0x78, 0xd1, 0x9d, 0x98, 0x45, 0x4f, 0x60, 0xd9, 0xe1, 0x9e, 0x47, 0x1d, 0x2d, 0x10,
+ 0x9f, 0x73, 0xd7, 0x44, 0x70, 0xf3, 0xfc, 0x5d, 0x1b, 0x46, 0x93, 0x73, 0x77, 0xe4, 0x39, 0xe7,
+ 0x9c, 0x99, 0x47, 0x9f, 0xc1, 0x0a, 0x0f, 0xa5, 0xcb, 0x68, 0x60, 0x77, 0xa9, 0x8c, 0x0c, 0x85,
+ 0x94, 0xf6, 0xfe, 0xdf, 0x73, 0xbc, 0x37, 0x22, 0xce, 0x6e, 0x4c, 0xc1, 0x79, 0xfe, 0xca, 0x0c,
+ 0xba, 0x0b, 0x29, 0xe9, 0x0a, 0x1d, 0xdf, 0xec, 0xb9, 0xf1, 0x6d, 0xd7, 0x5b, 0xa3, 0xed, 0x29,
+ 0x0a, 0x7a, 0x0a, 0x7f, 0xf3, 0x79, 0x20, 0x6d, 0x97, 0x0e, 0xa9, 0x52, 0x6b, 0x64, 0x2b, 0xcc,
+ 0xea, 0x5c, 0xdf, 0x7b, 0x5b, 0xd5, 0x58, 0x4d, 0x1e, 0xc8, 0xb3, 0x3a, 0x5a, 0x51, 0x6e, 0xeb,
+ 0xca, 0x6b, 0xbc, 0x60, 0xf1, 0x45, 0x0a, 0x56, 0x5e, 0x03, 0xa2, 0xfb, 0x90, 0x56, 0x50, 0x93,
+ 0xbe, 0x1b, 0xe7, 0x2c, 0xa9, 0xb8, 0x2d, 0xea, 0x52, 0x47, 0xf2, 0x00, 0x6b, 0xd2, 0xeb, 0x22,
+ 0x48, 0x7e, 0x20, 0x11, 0xa4, 0x3e, 0xa8, 0x08, 0xd2, 0xef, 0x51, 0x04, 0xb3, 0x97, 0x16, 0x41,
+ 0xe9, 0xb7, 0x04, 0x64, 0xa2, 0xbb, 0xab, 0x8a, 0x8a, 0x47, 0x06, 0x34, 0x2e, 0x2a, 0x6a, 0x8c,
+ 0xaa, 0x90, 0x71, 0x49, 0x87, 0xba, 0xa2, 0x90, 0xd4, 0xb2, 0xb8, 0x75, 0x61, 0x09, 0xb0, 0xea,
+ 0x1a, 0x5f, 0xf5, 0x64, 0x70, 0x8a, 0x0d, 0x79, 0x4a, 0x6d, 0x4a, 0xbd, 0x53, 0x6d, 0x2a, 0x7e,
+ 0x04, 0xd9, 0x89, 0x75, 0x50, 0x1e, 0x52, 0xc7, 0xf4, 0xd4, 0xec, 0x5c, 0x0d, 0xd1, 0x2a, 0xcc,
+ 0x0e, 0x89, 0x1b, 0x52, 0xad, 0x8a, 0x05, 0x1c, 0x7d, 0xdc, 0x4b, 0xde, 0x4d, 0x94, 0x7e, 0x9d,
+ 0x83, 0xd5, 0x69, 0x42, 0x40, 0x18, 0x32, 0x82, 0x0d, 0x7c, 0x37, 0x8a, 0x40, 0x6e, 0xeb, 0xee,
+ 0x25, 0x95, 0x64, 0xb5, 0x34, 0xbb, 0x5e, 0xa9, 0xcd, 0x60, 0xe3, 0x09, 0x1d, 0x6b, 0x39, 0x09,
+ 0x26, 0x24, 0xf5, 0xa4, 0xdd, 0x27, 0xa2, 0x6f, 0x64, 0xfa, 0xf0, 0xb2, 0xce, 0x77, 0x46, 0x6e,
+ 0x6a, 0x44, 0xf4, 0xf5, 0x22, 0x39, 0xe7, 0xcc, 0x1c, 0xfa, 0x12, 0x0a, 0x2e, 0x77, 0x88, 0xcb,
+ 0xe4, 0xa9, 0xfd, 0x8c, 0xb2, 0x5e, 0x5f, 0x8e, 0x6f, 0x75, 0x54, 0xc1, 0xab, 0x97, 0x5d, 0xb5,
+ 0x6e, 0xfc, 0x7d, 0xaa, 0xdd, 0x99, 0x69, 0x7c, 0xc5, 0x9d, 0x36, 0x2d, 0x8a, 0xbf, 0x27, 0x21,
+ 0xff, 0xea, 0x3e, 0xd1, 0x4d, 0xc8, 0xf7, 0xa5, 0xf4, 0xed, 0x3e, 0x25, 0x5d, 0x1a, 0xd8, 0x63,
+ 0x89, 0xa9, 0x13, 0x28, 0x4b, 0x4d, 0x1b, 0x0e, 0x94, 0xdc, 0x3c, 0xc8, 0x6a, 0xac, 0xc3, 0xf9,
+ 0x31, 0xa3, 0x26, 0x54, 0x8f, 0xdf, 0x35, 0x54, 0x56, 0xad, 0xdd, 0x6e, 0xee, 0x68, 0x97, 0xb5,
+ 0x19, 0x0c, 0x6a, 0x85, 0xe8, 0x0b, 0xfd, 0x0b, 0x96, 0x42, 0x41, 0x6d, 0xc1, 0xc3, 0xc0, 0xa1,
+ 0x36, 0xf3, 0xb5, 0x2c, 0xe7, 0x6b, 0x33, 0x38, 0x1b, 0x0a, 0xda, 0xd2, 0xb3, 0x7b, 0x3e, 0xba,
+ 0x09, 0x2b, 0x03, 0xe6, 0xb1, 0x41, 0x38, 0xb0, 0x03, 0xe6, 0xf5, 0x6c, 0xc1, 0x9e, 0x47, 0x0f,
+ 0x5a, 0x1a, 0x2f, 0x1b, 0x03, 0x66, 0x5e, 0xaf, 0xc5, 0x9e, 0xd3, 0x62, 0x0f, 0x60, 0xbc, 0xda,
+ 0xd4, 0x2b, 0x85, 0x20, 0xed, 0x13, 0xd9, 0x37, 0xc2, 0xd4, 0x63, 0xb4, 0x09, 0x29, 0x29, 0xe3,
+ 0x4a, 0x73, 0xd5, 0x8a, 0xba, 0x0e, 0x2b, 0xee, 0x3a, 0xac, 0x5d, 0xd3, 0x75, 0x54, 0xd2, 0x5f,
+ 0xff, 0x7c, 0x2d, 0x81, 0x15, 0xb6, 0x02, 0x30, 0xaf, 0xe4, 0x64, 0x1f, 0xd3, 0xd3, 0xe2, 0xb7,
+ 0x09, 0xf8, 0xfb, 0xd4, 0x4c, 0xa9, 0xc5, 0x8e, 0x02, 0x3e, 0x88, 0x37, 0xa0, 0xc6, 0xe8, 0x73,
+ 0x48, 0x4a, 0x6e, 0xee, 0xf3, 0xfe, 0x7b, 0x11, 0x84, 0xd5, 0xe6, 0xd1, 0x7d, 0x4f, 0x4a, 0x5e,
+ 0xbc, 0x03, 0x73, 0xe6, 0xf3, 0xa2, 0x6b, 0xb9, 0x34, 0x79, 0x2d, 0x6b, 0x30, 0x1f, 0xdf, 0x1f,
+ 0xb4, 0x0c, 0x59, 0xdc, 0x38, 0x3c, 0xd8, 0xb5, 0x71, 0xa3, 0xb2, 0x77, 0x90, 0x9f, 0x41, 0x39,
+ 0x80, 0x7a, 0x75, 0xbb, 0xd5, 0xb6, 0x77, 0x1a, 0x07, 0x07, 0xf9, 0x04, 0x02, 0xc8, 0xe0, 0xed,
+ 0x83, 0xdd, 0xc6, 0x7e, 0x3e, 0xa9, 0xc0, 0xcd, 0xed, 0x56, 0xab, 0x5d, 0xc3, 0x8d, 0xc3, 0x47,
+ 0xb5, 0x7c, 0xaa, 0x92, 0x85, 0x05, 0xb7, 0x63, 0xea, 0x4c, 0xe9, 0x45, 0x06, 0xae, 0x4c, 0x2f,
+ 0xcf, 0xa8, 0x01, 0x29, 0xe9, 0xf8, 0xe6, 0xf1, 0x79, 0x70, 0xe9, 0xf2, 0x6e, 0xb5, 0x77, 0x9a,
+ 0x13, 0xb5, 0xd4, 0xf1, 0x11, 0x86, 0xb4, 0xd2, 0x96, 0x91, 0xed, 0xc7, 0x97, 0xf7, 0xa8, 0x94,
+ 0x33, 0x72, 0xa9, 0x7d, 0x15, 0xff, 0x48, 0x42, 0x76, 0x62, 0x21, 0x74, 0x03, 0x96, 0x07, 0xe4,
+ 0xc4, 0x1e, 0xbf, 0x2c, 0x42, 0x1f, 0x60, 0x16, 0xe7, 0x06, 0xe4, 0x64, 0xec, 0x56, 0xa0, 0xca,
+ 0xe8, 0x21, 0xb3, 0x25, 0x1b, 0x50, 0x1e, 0x4a, 0xb3, 0xaf, 0x37, 0xcb, 0x6b, 0xf4, 0x60, 0xb5,
+ 0x23, 0x02, 0xe2, 0xb0, 0x24, 0x1d, 0xdf, 0x3e, 0xa6, 0xd4, 0x27, 0x2e, 0x1b, 0x52, 0x23, 0xd0,
+ 0x4f, 0xde, 0x29, 0x56, 0x56, 0xdb, 0xf1, 0x1f, 0xc7, 0x1e, 0xf1, 0xa2, 0x9c, 0xf8, 0x2a, 0x7e,
+ 0x95, 0x80, 0xc5, 0x49, 0x33, 0xba, 0x02, 0x19, 0x3f, 0xe0, 0x1d, 0x1a, 0x9d, 0x72, 0x09, 0x9b,
+ 0x2f, 0x74, 0x0b, 0xd2, 0xea, 0x54, 0x17, 0x1f, 0x49, 0xc3, 0xd0, 0x1d, 0x98, 0x67, 0x9e, 0xa4,
+ 0xc1, 0x90, 0x5c, 0x7c, 0xc9, 0xf0, 0x08, 0x5a, 0xfc, 0x31, 0x01, 0x8b, 0x93, 0x39, 0x41, 0xf7,
+ 0xa1, 0xa8, 0xb2, 0xb2, 0x69, 0xab, 0x1c, 0xf8, 0xd4, 0xeb, 0xaa, 0x72, 0x10, 0xd0, 0x2f, 0x42,
+ 0x2a, 0x64, 0x9c, 0x88, 0x7f, 0x68, 0xc4, 0x3e, 0x39, 0x69, 0x46, 0x76, 0x6c, 0xcc, 0xe8, 0x7f,
+ 0x80, 0x94, 0x69, 0x4b, 0x93, 0x47, 0xa4, 0xa4, 0x26, 0xe9, 0x12, 0xb9, 0xb5, 0x4f, 0x4e, 0x46,
+ 0xe8, 0x07, 0xf0, 0xcf, 0x49, 0x9c, 0xed, 0xd3, 0x60, 0x22, 0xeb, 0xfa, 0x14, 0xb3, 0xb8, 0x30,
+ 0x18, 0x33, 0x9a, 0x34, 0x18, 0x07, 0x1f, 0x5d, 0x83, 0x6c, 0x44, 0x97, 0x01, 0xa3, 0x51, 0x7b,
+ 0x38, 0x8b, 0x41, 0xc3, 0xf5, 0x4c, 0xe9, 0x9b, 0x24, 0xe4, 0x5f, 0xed, 0x2c, 0xd0, 0x2d, 0x40,
+ 0xea, 0x4d, 0xa1, 0x4e, 0x28, 0xd9, 0x90, 0xda, 0x34, 0x08, 0x78, 0x10, 0x9f, 0x6b, 0x65, 0xc2,
+ 0x52, 0xd5, 0x86, 0x33, 0x61, 0x4d, 0xbe, 0x75, 0x58, 0xd1, 0x23, 0x40, 0x1d, 0x22, 0xa8, 0x4d,
+ 0x9f, 0x9a, 0x36, 0x4b, 0xa7, 0xf2, 0xc2, 0xbc, 0xe4, 0x15, 0xa9, 0x6a, 0x38, 0x4a, 0xa2, 0xe8,
+ 0xff, 0xb0, 0xaa, 0x0e, 0x39, 0xf2, 0xe3, 0xd3, 0xc0, 0xa1, 0x9e, 0x34, 0xa7, 0x45, 0x03, 0x72,
+ 0x12, 0xc3, 0x9b, 0x91, 0x45, 0xe5, 0x60, 0xc0, 0x3c, 0xf5, 0x16, 0xb9, 0xb2, 0x3f, 0xc2, 0xcf,
+ 0x46, 0x39, 0x18, 0x30, 0xaf, 0xa6, 0x0d, 0x06, 0x5d, 0xfa, 0x5e, 0x5d, 0xbe, 0x71, 0xc7, 0x84,
+ 0x2a, 0x90, 0x1e, 0xf0, 0x6e, 0xdc, 0x1f, 0x58, 0x6f, 0xd7, 0x67, 0xa9, 0xb1, 0x62, 0x61, 0xcd,
+ 0xd5, 0x21, 0x76, 0x99, 0xea, 0x06, 0x1c, 0x1a, 0x48, 0x76, 0xc4, 0x1c, 0x22, 0xe3, 0x2e, 0x65,
+ 0x25, 0xb2, 0xec, 0x8c, 0x0d, 0x2a, 0x8f, 0x7e, 0xc0, 0x86, 0x44, 0x52, 0x55, 0xe9, 0x75, 0x90,
+ 0x16, 0x30, 0x98, 0xa9, 0xc7, 0xf4, 0x54, 0x15, 0x04, 0x87, 0x4c, 0xfa, 0x8a, 0x92, 0xbd, 0x80,
+ 0x73, 0x0e, 0x99, 0x70, 0x24, 0xd4, 0x2b, 0x26, 0xc2, 0x8e, 0x8a, 0x87, 0x4d, 0x5c, 0xa9, 0xdf,
+ 0xe1, 0xa8, 0xd9, 0x5f, 0xc0, 0xcb, 0xc6, 0xb0, 0xed, 0x4a, 0xf5, 0x0c, 0x0b, 0x55, 0xb8, 0x85,
+ 0xc7, 0x0a, 0x99, 0xa8, 0x70, 0x0b, 0x8f, 0x95, 0x1e, 0xc2, 0x9c, 0x39, 0x07, 0xca, 0xc2, 0xdc,
+ 0xee, 0x5e, 0x6b, 0xbb, 0x52, 0xaf, 0xe6, 0x67, 0x54, 0x25, 0x6e, 0xed, 0xed, 0x37, 0xeb, 0xd5,
+ 0xa8, 0x2a, 0xef, 0x1f, 0xb6, 0x0f, 0xb7, 0xeb, 0xf9, 0x24, 0xca, 0xc3, 0xe2, 0x5e, 0xab, 0xbd,
+ 0xd7, 0xb0, 0xcd, 0x4c, 0xaa, 0x62, 0x7d, 0xf7, 0x72, 0x2d, 0xf1, 0xc3, 0xcb, 0xb5, 0xc4, 0x2f,
+ 0x2f, 0xd7, 0x12, 0x4f, 0xd6, 0xa3, 0xd8, 0x31, 0x5e, 0x26, 0x3e, 0x2b, 0x4f, 0xf9, 0x37, 0xee,
+ 0x64, 0xb4, 0x02, 0x6e, 0xff, 0x15, 0x00, 0x00, 0xff, 0xff, 0xa6, 0xbb, 0x7b, 0xfa, 0xcb, 0x0f,
+ 0x00, 0x00,
}
diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto
index bef39882ee..757bca7c73 100644
--- a/networking/v1alpha3/destination_rule.proto
+++ b/networking/v1alpha3/destination_rule.proto
@@ -15,7 +15,7 @@ syntax = "proto3";
import "google/protobuf/duration.proto";
import "networking/v1alpha3/virtual_service.proto";
-import "networking/v1alpha3/service_dependency.proto";
+import "networking/v1alpha3/sidecar.proto";
import "gogoproto/gogo.proto";
package istio.networking.v1alpha3;
diff --git a/networking/v1alpha3/gateway.pb.go b/networking/v1alpha3/gateway.pb.go
index 2ae532566e..37c3bcf532 100644
--- a/networking/v1alpha3/gateway.pb.go
+++ b/networking/v1alpha3/gateway.pb.go
@@ -237,10 +237,10 @@ type Gateway struct {
// REQUIRED: A list of server specifications.
Servers []*Server `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"`
// REQUIRED: One or more labels that indicate a specific set of pods/VMs
- // on which this gateway configuration should be applied.
- // The scope of label search is platform dependent.
- // On Kubernetes, for example, the scope includes pods running in
- // all reachable namespaces.
+ // on which this gateway configuration should be applied. The scope of
+ // label search is restricted to the configuration namespace in which the
+ // the resource is present. In other words, the Gateway resource must
+ // reside in the same namespace as the gateway workload.
Selector map[string]string `protobuf:"bytes,2,rep,name=selector" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
@@ -326,8 +326,14 @@ func (m *Gateway) GetSelector() map[string]string {
// ```
type Server struct {
// REQUIRED: The Port on which the proxy should listen for incoming
- // connections
+ // connections. If using unix domain socket, use 0 as the port number,
+ // with a valid protocol and port name, along with the bind parameter.
Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"`
+ // $hide_from_docs
+ // The ip or the unix domain socket to which the listener should be bound
+ // to. Format: x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux
+ // abstract namespace).
+ Bind string `protobuf:"bytes,4,opt,name=bind,proto3" json:"bind,omitempty"`
// REQUIRED. A list of hosts exposed by this gateway. At least one
// host is required. While typically applicable to
// HTTP services, it can also be used for TCP services using TLS with
@@ -347,6 +353,10 @@ type Server struct {
// these options to control if all http requests should be redirected to
// https, and the TLS modes to use.
Tls *Server_TLSOptions `protobuf:"bytes,3,opt,name=tls" json:"tls,omitempty"`
+ // The loopback IP endpoint or unix domain socket to which traffic should
+ // be forwarded to by default. Format should be 127.0.0.1:PORT or
+ // unix:///path/to/socket or unix://@foobar (Linux abstract namespace).
+ DefaultEndpoint string `protobuf:"bytes,5,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"`
}
func (m *Server) Reset() { *m = Server{} }
@@ -361,6 +371,13 @@ func (m *Server) GetPort() *Port {
return nil
}
+func (m *Server) GetBind() string {
+ if m != nil {
+ return m.Bind
+ }
+ return ""
+}
+
func (m *Server) GetHosts() []string {
if m != nil {
return m.Hosts
@@ -375,6 +392,13 @@ func (m *Server) GetTls() *Server_TLSOptions {
return nil
}
+func (m *Server) GetDefaultEndpoint() string {
+ if m != nil {
+ return m.DefaultEndpoint
+ }
+ return ""
+}
+
type Server_TLSOptions struct {
// If set to true, the load balancer will send a 301 redirect for all
// http connections, asking the clients to use HTTPS.
@@ -617,6 +641,18 @@ func (m *Server) MarshalTo(dAtA []byte) (int, error) {
}
i += n2
}
+ if len(m.Bind) > 0 {
+ dAtA[i] = 0x22
+ i++
+ i = encodeVarintGateway(dAtA, i, uint64(len(m.Bind)))
+ i += copy(dAtA[i:], m.Bind)
+ }
+ if len(m.DefaultEndpoint) > 0 {
+ dAtA[i] = 0x2a
+ i++
+ i = encodeVarintGateway(dAtA, i, uint64(len(m.DefaultEndpoint)))
+ i += copy(dAtA[i:], m.DefaultEndpoint)
+ }
return i, nil
}
@@ -792,6 +828,14 @@ func (m *Server) Size() (n int) {
l = m.Tls.Size()
n += 1 + l + sovGateway(uint64(l))
}
+ l = len(m.Bind)
+ if l > 0 {
+ n += 1 + l + sovGateway(uint64(l))
+ }
+ l = len(m.DefaultEndpoint)
+ if l > 0 {
+ n += 1 + l + sovGateway(uint64(l))
+ }
return n
}
@@ -1190,6 +1234,64 @@ func (m *Server) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGateway
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGateway
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Bind = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 5:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DefaultEndpoint", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGateway
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGateway
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.DefaultEndpoint = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGateway(dAtA[iNdEx:])
@@ -1718,44 +1820,47 @@ var (
func init() { proto.RegisterFile("networking/v1alpha3/gateway.proto", fileDescriptorGateway) }
var fileDescriptorGateway = []byte{
- // 623 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x5d, 0x4f, 0xdb, 0x3c,
- 0x18, 0x25, 0x6d, 0xe9, 0xc7, 0x53, 0x0a, 0xc1, 0x42, 0xaf, 0xf2, 0x72, 0xc1, 0x47, 0xa7, 0x69,
- 0x68, 0xda, 0x52, 0x68, 0x77, 0x81, 0x86, 0x34, 0xa9, 0x9b, 0x10, 0x9d, 0x56, 0x68, 0xe5, 0xb4,
- 0x5c, 0xec, 0x26, 0x32, 0xc1, 0xa3, 0x86, 0x34, 0x8e, 0x6c, 0xb7, 0xd0, 0xbf, 0xb6, 0x5f, 0xb0,
- 0x4b, 0xf6, 0x0f, 0x26, 0x7e, 0xc9, 0x64, 0x27, 0xa5, 0xdd, 0x17, 0x13, 0xda, 0x9d, 0xcf, 0xf1,
- 0x39, 0xe7, 0xf1, 0xf3, 0xd8, 0x09, 0x6c, 0x47, 0x54, 0x5d, 0x73, 0x71, 0xc5, 0xa2, 0x8b, 0xda,
- 0x78, 0x8f, 0x84, 0xf1, 0x80, 0x34, 0x6a, 0x17, 0x44, 0xd1, 0x6b, 0x32, 0x71, 0x63, 0xc1, 0x15,
- 0x47, 0xff, 0x33, 0xa9, 0x18, 0x77, 0x67, 0x42, 0x77, 0x2a, 0xac, 0x7e, 0xb5, 0xa0, 0x70, 0x94,
- 0x88, 0xd1, 0x01, 0x14, 0x24, 0x15, 0x63, 0x2a, 0xa4, 0x63, 0x6d, 0x65, 0x77, 0xca, 0xf5, 0x6d,
- 0xf7, 0x8f, 0x46, 0xd7, 0x33, 0x4a, 0x3c, 0x75, 0xa0, 0x36, 0x14, 0x25, 0x0d, 0x69, 0xa0, 0xb8,
- 0x70, 0x32, 0xc6, 0xbd, 0xfb, 0x80, 0x3b, 0x2d, 0xe9, 0x7a, 0xa9, 0xe5, 0x30, 0x52, 0x62, 0x82,
- 0xef, 0x13, 0xd6, 0x0f, 0xa0, 0xf2, 0xc3, 0x16, 0xb2, 0x21, 0x7b, 0x45, 0x27, 0x8e, 0xb5, 0x65,
- 0xed, 0x94, 0xb0, 0x5e, 0xa2, 0x35, 0x58, 0x1c, 0x93, 0x70, 0x44, 0x9d, 0x8c, 0xe1, 0x12, 0xf0,
- 0x3a, 0xb3, 0x6f, 0x55, 0x6f, 0xf3, 0x90, 0x4f, 0x8e, 0x87, 0x1a, 0x90, 0x8b, 0xb9, 0x50, 0xc6,
- 0x57, 0xae, 0x6f, 0x3e, 0x70, 0xa2, 0x2e, 0x17, 0x0a, 0x1b, 0xb1, 0x4e, 0x1e, 0x70, 0xa9, 0xa4,
- 0xe9, 0xa3, 0x84, 0x13, 0x80, 0xde, 0x40, 0x56, 0x85, 0xd2, 0xc9, 0x9a, 0xa4, 0x17, 0x7f, 0x9d,
- 0x8c, 0xdb, 0x6b, 0x7b, 0x9d, 0x58, 0x31, 0x1e, 0x49, 0xac, 0x8d, 0xeb, 0x9f, 0x17, 0x01, 0x66,
- 0x1c, 0x7a, 0x0a, 0xcb, 0x03, 0xa5, 0x62, 0xe9, 0x0b, 0x7a, 0xce, 0x04, 0x0d, 0x92, 0x33, 0x16,
- 0x71, 0xc5, 0xb0, 0x38, 0x25, 0x51, 0x0b, 0x72, 0x43, 0x7e, 0x9e, 0x34, 0xb9, 0x5c, 0x7f, 0xf5,
- 0x98, 0xb2, 0x7a, 0xa9, 0xbd, 0xd8, 0x24, 0xa0, 0x97, 0x80, 0x92, 0xbb, 0xf2, 0x03, 0x2a, 0x14,
- 0xfb, 0xc4, 0x02, 0xa2, 0xa8, 0x69, 0xa7, 0x84, 0x57, 0x93, 0x9d, 0x77, 0xb3, 0x0d, 0xb4, 0x09,
- 0xe5, 0x58, 0xb0, 0x31, 0x51, 0xd4, 0xd7, 0x83, 0xcf, 0x19, 0x1d, 0xa4, 0xd4, 0x07, 0x3a, 0x41,
- 0xcf, 0x60, 0x25, 0x20, 0xf3, 0x59, 0xd2, 0x59, 0x34, 0xa2, 0xe5, 0x80, 0xcc, 0x05, 0x49, 0xf4,
- 0x1c, 0x56, 0xe5, 0xe8, 0xec, 0x92, 0x06, 0xca, 0x27, 0xa1, 0xf2, 0x23, 0x32, 0xa4, 0xd2, 0xc9,
- 0x9b, 0xd1, 0xae, 0xa4, 0x1b, 0xcd, 0x50, 0x9d, 0x68, 0x1a, 0x5d, 0xc2, 0xda, 0x90, 0x45, 0xbe,
- 0x79, 0xb6, 0x01, 0x0f, 0x7d, 0xfd, 0xb4, 0x18, 0x8f, 0x9c, 0x82, 0x69, 0x7f, 0xff, 0xb1, 0xed,
- 0x77, 0xd3, 0x1c, 0x8c, 0x86, 0x2c, 0x9a, 0x82, 0xd3, 0x24, 0xd3, 0xd4, 0x22, 0x37, 0xbf, 0xd6,
- 0x2a, 0xfe, 0x73, 0x2d, 0x72, 0xf3, 0x73, 0xad, 0x27, 0x50, 0x09, 0x58, 0x3c, 0xa0, 0xc2, 0x97,
- 0x23, 0xa6, 0x47, 0x55, 0x32, 0xfd, 0x2f, 0x25, 0xa4, 0x67, 0xb8, 0x6a, 0x0b, 0x0a, 0xe9, 0x95,
- 0xa1, 0x15, 0x28, 0x77, 0x9b, 0x9e, 0xd7, 0x6b, 0xe1, 0x4e, 0xff, 0xa8, 0x65, 0x2f, 0x20, 0x80,
- 0xbc, 0xf7, 0xfe, 0xb8, 0xdb, 0x3e, 0xb4, 0x2d, 0xbd, 0x3e, 0xee, 0xf7, 0xfa, 0xcd, 0xb6, 0x9d,
- 0x41, 0x6b, 0x60, 0x37, 0xfb, 0xbd, 0x8e, 0x3f, 0xaf, 0xce, 0x56, 0x3b, 0x50, 0x9e, 0x3b, 0x11,
- 0x5a, 0x82, 0x62, 0xaf, 0xed, 0xf9, 0x5a, 0x68, 0x2f, 0xa0, 0xb2, 0x29, 0x73, 0xba, 0xe7, 0xef,
- 0xda, 0xd6, 0x0c, 0xec, 0xd9, 0x99, 0x19, 0xa8, 0xdb, 0xd9, 0x19, 0x68, 0xd8, 0xb9, 0xea, 0x09,
- 0xe4, 0xf4, 0x07, 0x82, 0xfe, 0x83, 0x7c, 0x34, 0x1a, 0x9e, 0x51, 0x61, 0x5e, 0x6b, 0x05, 0xa7,
- 0x08, 0xad, 0x43, 0x71, 0x3a, 0xc7, 0xf4, 0x7b, 0xbc, 0xc7, 0x08, 0x41, 0x4e, 0xdf, 0x79, 0xfa,
- 0xd4, 0xcc, 0xfa, 0xad, 0xfb, 0xe5, 0x6e, 0xc3, 0xba, 0xbd, 0xdb, 0xb0, 0xbe, 0xdd, 0x6d, 0x58,
- 0x1f, 0xb7, 0x92, 0x51, 0x33, 0x5e, 0x23, 0x31, 0xab, 0xfd, 0xe6, 0x7f, 0x76, 0x96, 0x37, 0x69,
- 0x8d, 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x60, 0xb9, 0xea, 0xae, 0xed, 0x04, 0x00, 0x00,
+ // 657 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xcb, 0x4e, 0xdb, 0x4c,
+ 0x14, 0xc6, 0x49, 0xc8, 0xe5, 0x84, 0x10, 0x33, 0x42, 0xbf, 0xfc, 0xb3, 0xe0, 0x92, 0xaa, 0x2a,
+ 0xad, 0x5a, 0x07, 0x92, 0x2e, 0x50, 0x91, 0x2a, 0xa5, 0x15, 0x22, 0x55, 0x03, 0x89, 0xec, 0x84,
+ 0x45, 0x37, 0xd6, 0xc4, 0x19, 0xc8, 0x80, 0xe3, 0xb1, 0x66, 0x26, 0x81, 0x3c, 0x45, 0xdf, 0xa7,
+ 0x4f, 0xd0, 0x65, 0xfb, 0x06, 0x15, 0x4f, 0x52, 0xcd, 0xd8, 0x21, 0xe9, 0x8d, 0x0a, 0x75, 0x77,
+ 0xce, 0x77, 0xce, 0xf7, 0x9d, 0xdb, 0xd8, 0xb0, 0x13, 0x12, 0x79, 0xcd, 0xf8, 0x15, 0x0d, 0x2f,
+ 0xaa, 0x93, 0x7d, 0x1c, 0x44, 0x43, 0x5c, 0xaf, 0x5e, 0x60, 0x49, 0xae, 0xf1, 0xd4, 0x8e, 0x38,
+ 0x93, 0x0c, 0xfd, 0x4f, 0x85, 0xa4, 0xcc, 0x9e, 0x27, 0xda, 0xb3, 0xc4, 0xca, 0x57, 0x03, 0x72,
+ 0xc7, 0x71, 0x32, 0x3a, 0x84, 0x9c, 0x20, 0x7c, 0x42, 0xb8, 0xb0, 0x8c, 0xed, 0xf4, 0x6e, 0xb1,
+ 0xb6, 0x63, 0xff, 0x91, 0x68, 0xbb, 0x3a, 0xd3, 0x99, 0x31, 0x50, 0x0b, 0xf2, 0x82, 0x04, 0xc4,
+ 0x97, 0x8c, 0x5b, 0x29, 0xcd, 0xde, 0xbb, 0x87, 0x9d, 0x94, 0xb4, 0xdd, 0x84, 0x72, 0x14, 0x4a,
+ 0x3e, 0x75, 0xee, 0x14, 0x36, 0x0e, 0xa1, 0xf4, 0x43, 0x08, 0x99, 0x90, 0xbe, 0x22, 0x53, 0xcb,
+ 0xd8, 0x36, 0x76, 0x0b, 0x8e, 0x32, 0xd1, 0x3a, 0x2c, 0x4f, 0x70, 0x30, 0x26, 0x56, 0x4a, 0x63,
+ 0xb1, 0xf3, 0x2a, 0x75, 0x60, 0x54, 0x3e, 0xe6, 0x20, 0x1b, 0xb7, 0x87, 0xea, 0x90, 0x89, 0x18,
+ 0x97, 0x9a, 0x57, 0xac, 0x6d, 0xdd, 0xd3, 0x51, 0x87, 0x71, 0xe9, 0xe8, 0x64, 0xa5, 0x3c, 0x64,
+ 0x42, 0x0a, 0x3d, 0x47, 0xc1, 0x89, 0x1d, 0xf4, 0x1a, 0xd2, 0x32, 0x10, 0x56, 0x5a, 0x2b, 0x3d,
+ 0xff, 0xeb, 0x66, 0xec, 0x6e, 0xcb, 0x6d, 0x47, 0x92, 0xb2, 0x50, 0x38, 0x8a, 0x88, 0x10, 0x64,
+ 0xfa, 0x34, 0x1c, 0x58, 0x19, 0xdd, 0xae, 0xb6, 0xd1, 0x53, 0x30, 0x07, 0xe4, 0x1c, 0x8f, 0x03,
+ 0xe9, 0x91, 0x70, 0x10, 0x31, 0x1a, 0x4a, 0x6b, 0x59, 0xc7, 0xcb, 0x09, 0x7e, 0x94, 0xc0, 0x1b,
+ 0x9f, 0x96, 0x01, 0xe6, 0x92, 0xe8, 0x31, 0xac, 0x0e, 0xa5, 0x8c, 0x84, 0xc7, 0xc9, 0x80, 0x72,
+ 0xe2, 0xc7, 0x23, 0xe6, 0x9d, 0x92, 0x46, 0x9d, 0x04, 0x44, 0x4d, 0xc8, 0x8c, 0xd8, 0x20, 0xde,
+ 0xd1, 0x6a, 0xed, 0xe5, 0x43, 0xba, 0x56, 0xa6, 0xe2, 0x3a, 0x5a, 0x01, 0xbd, 0x00, 0x14, 0x9f,
+ 0xda, 0xf3, 0x09, 0x97, 0xf4, 0x9c, 0xfa, 0x58, 0x12, 0xbd, 0x8d, 0x82, 0xb3, 0x16, 0x47, 0xde,
+ 0xce, 0x03, 0x68, 0x0b, 0x8a, 0x11, 0xa7, 0x13, 0x2c, 0x89, 0xa7, 0xee, 0x16, 0x0f, 0x0d, 0x09,
+ 0xf4, 0x9e, 0x4c, 0xd1, 0x13, 0x28, 0xfb, 0x78, 0x51, 0x4b, 0x24, 0x93, 0xaf, 0xfa, 0x78, 0x41,
+ 0x48, 0xa0, 0x67, 0xb0, 0x26, 0xc6, 0xfd, 0x4b, 0xe2, 0x4b, 0x0f, 0x07, 0xd2, 0x0b, 0xf1, 0x88,
+ 0x08, 0x2b, 0xab, 0x2f, 0x53, 0x4e, 0x02, 0x8d, 0x40, 0x9e, 0x2a, 0x18, 0x5d, 0xc2, 0xfa, 0x88,
+ 0x86, 0x9e, 0x7e, 0xf5, 0x3e, 0x0b, 0x3c, 0xf5, 0x32, 0x29, 0x0b, 0xad, 0x9c, 0x1e, 0xff, 0xe0,
+ 0xa1, 0xe3, 0x77, 0x12, 0x1d, 0x07, 0x8d, 0x68, 0x38, 0x73, 0xce, 0x62, 0x4d, 0x5d, 0x0b, 0xdf,
+ 0xfc, 0x5a, 0x2b, 0xff, 0xcf, 0xb5, 0xf0, 0xcd, 0xcf, 0xb5, 0x1e, 0x41, 0xc9, 0xa7, 0xd1, 0x90,
+ 0x70, 0x4f, 0x8c, 0xa9, 0x5a, 0x55, 0x41, 0xcf, 0xbf, 0x12, 0x83, 0xae, 0xc6, 0x2a, 0x4d, 0xc8,
+ 0x25, 0x27, 0x43, 0x65, 0x28, 0x76, 0x1a, 0xae, 0xdb, 0x6d, 0x3a, 0xed, 0xde, 0x71, 0xd3, 0x5c,
+ 0x42, 0x00, 0x59, 0xf7, 0xdd, 0x49, 0xa7, 0x75, 0x64, 0x1a, 0xca, 0x3e, 0xe9, 0x75, 0x7b, 0x8d,
+ 0x96, 0x99, 0x42, 0xeb, 0x60, 0x36, 0x7a, 0xdd, 0xb6, 0xb7, 0x98, 0x9d, 0xae, 0xb4, 0xa1, 0xb8,
+ 0xd0, 0x11, 0x5a, 0x81, 0x7c, 0xb7, 0xe5, 0x7a, 0x2a, 0xd1, 0x5c, 0x42, 0x45, 0x5d, 0xe6, 0x6c,
+ 0xdf, 0xdb, 0x33, 0x8d, 0xb9, 0xb3, 0x6f, 0xa6, 0xe6, 0x4e, 0xcd, 0x4c, 0xcf, 0x9d, 0xba, 0x99,
+ 0xa9, 0x9c, 0x42, 0x46, 0x7d, 0x5f, 0xe8, 0x3f, 0xc8, 0x86, 0xe3, 0x51, 0x9f, 0x70, 0xfd, 0x5a,
+ 0x4b, 0x4e, 0xe2, 0xa1, 0x0d, 0xc8, 0xcf, 0xf6, 0x98, 0x7c, 0xce, 0x77, 0xbe, 0xfa, 0x6e, 0xd4,
+ 0xcd, 0x93, 0xa7, 0xa6, 0xed, 0x37, 0xf6, 0xe7, 0xdb, 0x4d, 0xe3, 0xcb, 0xed, 0xa6, 0xf1, 0xed,
+ 0x76, 0xd3, 0xf8, 0xb0, 0x1d, 0xaf, 0x9a, 0xb2, 0x2a, 0x8e, 0x68, 0xf5, 0x37, 0xbf, 0xc3, 0x7e,
+ 0x56, 0xab, 0xd5, 0xbf, 0x07, 0x00, 0x00, 0xff, 0xff, 0x3a, 0x88, 0xe5, 0x6d, 0x2c, 0x05, 0x00,
+ 0x00,
}
diff --git a/networking/v1alpha3/gateway.proto b/networking/v1alpha3/gateway.proto
index 4f857dd8d2..0cfb8bcefc 100644
--- a/networking/v1alpha3/gateway.proto
+++ b/networking/v1alpha3/gateway.proto
@@ -158,10 +158,10 @@ message Gateway {
repeated Server servers = 1;
// REQUIRED: One or more labels that indicate a specific set of pods/VMs
- // on which this gateway configuration should be applied.
- // The scope of label search is platform dependent.
- // On Kubernetes, for example, the scope includes pods running in
- // all reachable namespaces.
+ // on which this gateway configuration should be applied. The scope of
+ // label search is restricted to the configuration namespace in which the
+ // the resource is present. In other words, the Gateway resource must
+ // reside in the same namespace as the gateway workload.
map selector = 2;
}
@@ -228,9 +228,16 @@ message Gateway {
// ```
message Server {
// REQUIRED: The Port on which the proxy should listen for incoming
- // connections
+ // connections. If using unix domain socket, use 0 as the port number,
+ // with a valid protocol and port name, along with the bind parameter.
Port port = 1;
+ // $hide_from_docs
+ // The ip or the unix domain socket to which the listener should be bound
+ // to. Format: x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux
+ // abstract namespace).
+ string bind = 4;
+
// REQUIRED. A list of hosts exposed by this gateway. At least one
// host is required. While typically applicable to
// HTTP services, it can also be used for TCP services using TLS with
@@ -334,6 +341,11 @@ message Server {
// these options to control if all http requests should be redirected to
// https, and the TLS modes to use.
TLSOptions tls = 3;
+
+ // The loopback IP endpoint or unix domain socket to which traffic should
+ // be forwarded to by default. Format should be 127.0.0.1:PORT or
+ // unix:///path/to/socket or unix://@foobar (Linux abstract namespace).
+ string default_endpoint = 5;
}
// Port describes the properties of a specific port of a service.
diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html
index b301c39578..a035e74a5c 100644
--- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html
+++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html
@@ -43,7 +43,7 @@ ConfigScope
a namespace when the namespace is imported. By default all
configuration artifacts are public. Configurations with private scope
will not be imported when the namespace containing the configuration is
-imported in a ServiceDependency.
+imported in a Sidecar.
@@ -1228,10 +1228,10 @@ Gateway
map<string, string> |
REQUIRED: One or more labels that indicate a specific set of pods/VMs
-on which this gateway configuration should be applied.
-The scope of label search is platform dependent.
-On Kubernetes, for example, the scope includes pods running in
-all reachable namespaces.
+on which this gateway configuration should be applied. The scope of
+label search is restricted to the configuration namespace in which the
+the resource is present. In other words, the Gateway resource must
+reside in the same namespace as the gateway workload.
|
@@ -2132,6 +2132,57 @@
Remove a the specified headers
+ |
+
+
+
+
+IstioEgressListener
+
+IstioEgressListener specifies the properties of an outbound traffic
+listener on the sidecar proxy attached to a workload.
+
+
+
+
+| Field |
+Type |
+Description |
+
+
+
+
+captureMode |
+CaptureMode |
+
+ When the bind address is an IP, the captureMode option dictates
+how traffic to the listener is expected to be captured (or not).
+
+ |
+
+
+hosts |
+string[] |
+
+ One or more services/virtualServices exposed by the listener in
+namespace/dnsName format. Publicly scoped services and
+VirtualServices from remote namespaces corresponding to the specified
+hosts will be imported. The service in a namespace can be a service in
+the service registry (e.g., a kubernetes or cloud foundry service) or
+a service specified via ServiceEntry configuration. In addition, any
+publicly scoped DestinationRule associated with the imported services
+will also be imported.
+
+Set the namespace to * to import a particular service from any
+available namespace (e.g., “*/foo.example.com”). Set the dnsName field
+to * to import all services from the specified namespace (e.g.,
+“prod/*”). The services should be specified using FQDN format.
+
+NOTE: Only exported services and configuration artifacts from a
+namespace can be imported. Private services/configuration will not be
+imported. Refer to the scope setting associated with VirtualService,
+DestinationRule, ServiceEntry, etc. for details.
+
|
@@ -2782,7 +2833,8 @@ Server
Port |
REQUIRED: The Port on which the proxy should listen for incoming
-connections
+connections. If using unix domain socket, use 0 as the port number,
+with a valid protocol and port name, along with the bind parameter.
|
@@ -2815,6 +2867,16 @@ Server
these options to control if all http requests should be redirected to
https, and the TLS modes to use.
+
+
+
+defaultEndpoint |
+string |
+
+ The loopback IP endpoint or unix domain socket to which traffic should
+be forwarded to by default. Format should be 127.0.0.1:PORT or
+unix:///path/to/socket or unix://@foobar (Linux abstract namespace).
+
|
@@ -3015,186 +3077,6 @@ Server.TLSOptions.TLSmode
their respective endpoints. Use of this mode assumes that both the
source and the destination are using Istio mTLS to secure traffic.
-
-
-
-
-
-ServiceDependency
-
-ServiceDependency describes the set of services that a workload depends on
-for its operation. In other words, it describes the properties of
-outgoing traffic from a given workload. By default, the service mesh
-established by Istio will have a full mesh connectivity - i.e. every
-workload will have proxy configuration required to reach every other
-workload in the mesh. However most connectivity graphs are sparse in
-practice. The ServiceDependency provides a way to declare the service
-dependencies associated with each workload such that the amount of
-configuration sent to the sidecars can be scoped to the requisite
-dependencies.
-
-Services and configuration in a mesh are organized into one or more
-namespaces (e.g., a Kubernetes namespace or a CF org/space). Workloads
-in a namespace have an implicit dependency on other workloads in the
-same namespace. In addition, to declare dependencies on workloads in
-other namespaces, a ServiceDependency resource has to be specified in the
-current namespace. Each namespace MUST have only one ServiceDependency
-resource named “default”. The behavior of the system is undefined if
-more than one ServiceDependency resource exists in a given namespace. The set
-of dependencies specified in a ServiceDependency resource will be used to
-compute the sidecar configuration for every workload in the namespace.
-
-NOTE 1: If workloads in the mesh depend only on other workloads in the
-same namespace, set defaultServiceDependency.importMode to SAME_NAMESPACE
-in the mesh global config map (in values.yaml).
-
-NOTE 2: To facilitate incremental pruning of the` sidecar
-configuration, the default import mode for the mesh is set to
-ALL_NAMESPACES. In other words, every workload will be able to reach
-every other workload. Adding a ServiceDependency resource in a namespace will
-automatically prune the configuration for the workloads in that
-namespace.
-
-The following examples illustrate a few specific use cases of ServiceDependency.
-
-The example below declares a ServiceDependency resource in the prod-us1
-namespace that specifies that workloads in the namespace will be able to
-reach the services in the prod-apis namespace only.
-
-apiVersion: networking.istio.io/v1alpha3
-kind: ServiceDependency
-metadata:
- name: default
- namespace: prod-us1
-spec:
- dependencies:
- - imports:
- - namespace: prod-apis
-
-
-In a mesh where the default service dependency is set to SAME_NAMESPACE
-only, if one or more workloads need to be able to reach every other
-service in the mesh (e.g., metrics collection server), the following
-ServiceDependency resource can be used to specify such a dependency:
-
-apiVersion: networking.istio.io/v1alpha3
-kind: ServiceDependency
-metadata:
- name: default
- namespace: metrics-collection
-spec:
- dependencies:
- - imports:
- - namespace: '*'
-
-
-The configuration above will allow workloads in the metrics-collection
-namespace to access service in any namespace while workloads in other
-namespaces will be configured for namespace local access as per the
-global default service dependency (SAME_NAMESPACE).
-
-
-
-
-| Field |
-Type |
-Description |
-
-
-
-
-dependencies |
-ServiceDependency.Dependency[] |
-
- REQUIRED. The set of services that workloads in this namespace are
-expected to talk to, in addition to other workloads in the same
-namespace. Dependencies describe the properties of outbound traffic from
-a given workload.
-
- |
-
-
-
-
-ServiceDependency.Dependency
-
-Dependency describes a workload and the set of service dependencies
-for the workload.
-
-
-
-
-| Field |
-Type |
-Description |
-
-
-
-
-imports |
-ServiceDependency.Import[] |
-
- REQUIRED: Import describes the set of namespaces whose exported
-services will be accessed by the workloads selected by the
-sourceWorkloadLabels. The sidecars attached to the workloads will be
-configured with information required to reach other services in the
-same namespace and the imported services. In addition to the
-explicitly specified namespaces, namespaces specified in the global
-mesh config (through defaultServiceDependency.importNamespaces) will also be
-imported.
-
- |
-
-
-
-
-ServiceDependency.Import
-
-Import describes the set of namespaces whose exported services
-(real/virtual) will be accessed by workloads in a given namespace. The
-sidecars attached to the workloads will be configured with information
-required to reach the imported services only. The gateways in the
-current namespace will only honor imported VirtualServices instead of
-every VirtualService that binds itself to the gateway.
-
-Importing a service from a namespace will automatically import the
-exported configuration artifacts associated with the service, such as
-VirtualService, DestinationRule, etc. The service in a namespace can be
-a service in the service registry (e.g., a kubernetes or cloud foundry
-service) or a service specified via ServiceEntry configuration.
-
-NOTE: Only exported services and configuration artifacts from a
-namespace can be imported. Private services/configuration will not be
-imported. See the scope setting associated with VirtualService,
-DestinationRule, ServiceEntry, etc.
-
-
-
-
-| Field |
-Type |
-Description |
-
-
-
-
-namespace |
-string |
-
- The configuration namespace whose services need to be imported.
-Specify * to import all namespaces. The import can be scoped further
-by specifying individual hosts.
-
- |
-
-
-host |
-string |
-
- A FQDN or wildcard prefixed DNS name of the host to import from the
-specified namespace. The hostnames include names of services from the
-service registry as well as those specified in a VirtualService.
-
|
@@ -3735,6 +3617,75 @@ ServiceEntry.Resolution
the destination IP address. DNS resolution cannot be used with unix
domain socket endpoints.
+
+
+
+
+
+Sidecar
+
+Sidecar describes the configuration of the sidecar proxy that mediates
+inbound and outbound communication to the workload it is attached to. By
+default, Istio will program all sidecar proxies in the mesh with the
+necessary configuration required to reach every workload in the mesh, as
+well as accept traffic on all the ports associated with the
+workload. The Sidecar resource provides a way to fine tune the set of
+ports, protocols that the proxy will accept when forwarding traffic to
+and from the workload. In addition, it is possible to restrict the set
+of services that the proxy can reach when forwarding outbound traffic
+from the workload.
+
+Services and configuration in a mesh are organized into one or more
+namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar
+resource in a namespace will apply to one or more workloads in the same
+namespace, selected using the workloadSelector. In the absence of a
+workloadSelector, it will apply to all workloads in the same
+namespace. When determining the Sidecar resource to be applied to a
+workload, preference will be given to the resource with a
+workloadSelector that selects this workload, over a Sidecar resource
+without any workloadSelector.
+
+NOTE: Each namespace can have only one Sidecar resource without any
+workload selector. The behavior of the system is undefined if more
+than one selector-less Sidecar resources exist in a given namespace. The
+behavior of the system is undefined if two or more Sidecar resources
+with a workload selector select the same workload.
+
+The example below delcares a Sidecar resource in the prod-us1 namespace
+that configures the sidecar to allow egress traffic to public services
+in the prod-us1, prod-apis, and the istio-system namespaces.
+
+apiVersion: networking.istio.io/v1alpha3
+kind: Sidecar
+metadata:
+ name: default
+ namespace: prod-us1
+spec:
+ egress:
+ - hosts:
+ - "prod-us1/*"
+ - "prod-apis/*"
+ - "istio-system/*"
+
+
+
+
+
+| Field |
+Type |
+Description |
+
+
+
+
+egress |
+IstioEgressListener[] |
+
+ Egress specifies the configuration of the sidecar for processing
+outbound traffic from the attached workload to other services in the
+mesh. If omitted, Istio will autoconfigure the sidecar to be able to
+reach every service in the mesh that is visible to this namespace.
+
|
@@ -4505,3 +4456,36 @@ VirtualService
+WorkloadSelector
+
+WorkloadSelector specifies the criteria used to determine if the Gateway
+or Sidecar resource can be applied to a proxy. The matching criteria
+includes the metadata associated with a proxy, workload info such as
+labels attached to the pod/VM, or any other info that the proxy provides
+to Istio during the initial handshake. If multiple conditions are
+specified, all conditions need to match in order for the workload to be
+selected. Currently, only label based selection mechanism is supported.
+
+
+
+
+| Field |
+Type |
+Description |
+
+
+
+
+labels |
+map<string, string> |
+
+ One or more labels that indicate a specific set of pods/VMs on which
+this sidecar configuration should be applied. The scope of label
+search is restricted to the configuration namespace in which the the
+resource is present.
+
+ |
+
+
+
+
diff --git a/networking/v1alpha3/service_dependency.pb.go b/networking/v1alpha3/service_dependency.pb.go
deleted file mode 100644
index 9056219e7b..0000000000
--- a/networking/v1alpha3/service_dependency.pb.go
+++ /dev/null
@@ -1,938 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: networking/v1alpha3/service_dependency.proto
-
-package v1alpha3
-
-import proto "github.com/gogo/protobuf/proto"
-import fmt "fmt"
-import math "math"
-
-import io "io"
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// ConfigScope defines the visibility of an Istio configuration artifact in
-// a namespace when the namespace is imported. By default all
-// configuration artifacts are public. Configurations with private scope
-// will not be imported when the namespace containing the configuration is
-// imported in a ServiceDependency.
-type ConfigScope int32
-
-const (
- // Config with this scope are visible to all workloads in the mesh
- ConfigScope_PUBLIC ConfigScope = 0
- // Configs with this scope are visible to only workloads in the same
- // namespace as the configuration resource.
- ConfigScope_PRIVATE ConfigScope = 1
-)
-
-var ConfigScope_name = map[int32]string{
- 0: "PUBLIC",
- 1: "PRIVATE",
-}
-var ConfigScope_value = map[string]int32{
- "PUBLIC": 0,
- "PRIVATE": 1,
-}
-
-func (x ConfigScope) String() string {
- return proto.EnumName(ConfigScope_name, int32(x))
-}
-func (ConfigScope) EnumDescriptor() ([]byte, []int) { return fileDescriptorServiceDependency, []int{0} }
-
-// `ServiceDependency` describes the set of services that a workload depends on
-// for its operation. In other words, it describes the properties of
-// outgoing traffic from a given workload. By default, the service mesh
-// established by Istio will have a full mesh connectivity - i.e. every
-// workload will have proxy configuration required to reach every other
-// workload in the mesh. However most connectivity graphs are sparse in
-// practice. The ServiceDependency provides a way to declare the service
-// dependencies associated with each workload such that the amount of
-// configuration sent to the sidecars can be scoped to the requisite
-// dependencies.
-//
-// Services and configuration in a mesh are organized into one or more
-// namespaces (e.g., a Kubernetes namespace or a CF org/space). Workloads
-// in a namespace have an implicit dependency on other workloads in the
-// same namespace. In addition, to declare dependencies on workloads in
-// other namespaces, a ServiceDependency resource has to be specified in the
-// current namespace. *_Each namespace MUST have only one ServiceDependency
-// resource named "default"_*. The behavior of the system is undefined if
-// more than one ServiceDependency resource exists in a given namespace. The set
-// of dependencies specified in a ServiceDependency resource will be used to
-// compute the sidecar configuration for every workload in the namespace.
-//
-// NOTE 1: If workloads in the mesh depend only on other workloads in the
-// same namespace, set defaultServiceDependency.importMode to SAME_NAMESPACE
-// in the mesh global config map (in values.yaml).
-//
-// NOTE 2: To facilitate incremental pruning of the` sidecar
-// configuration, the default import mode for the mesh is set to
-// ALL_NAMESPACES. In other words, every workload will be able to reach
-// every other workload. Adding a ServiceDependency resource in a namespace will
-// automatically prune the configuration for the workloads in that
-// namespace.
-//
-// The following examples illustrate a few specific use cases of ServiceDependency.
-//
-// The example below declares a ServiceDependency resource in the prod-us1
-// namespace that specifies that workloads in the namespace will be able to
-// reach the services in the prod-apis namespace only.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceDependency
-// metadata:
-// name: default
-// namespace: prod-us1
-// spec:
-// dependencies:
-// - imports:
-// - namespace: prod-apis
-// ```
-//
-// In a mesh where the default service dependency is set to SAME_NAMESPACE
-// only, if one or more workloads need to be able to reach every other
-// service in the mesh (e.g., metrics collection server), the following
-// ServiceDependency resource can be used to specify such a dependency:
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceDependency
-// metadata:
-// name: default
-// namespace: metrics-collection
-// spec:
-// dependencies:
-// - imports:
-// - namespace: '*'
-// ```
-//
-// The configuration above will allow workloads in the metrics-collection
-// namespace to access service in any namespace while workloads in other
-// namespaces will be configured for namespace local access as per the
-// global default service dependency (SAME_NAMESPACE).
-//
-type ServiceDependency struct {
- // REQUIRED. The set of services that workloads in this namespace are
- // expected to talk to, in addition to other workloads in the same
- // namespace. Dependencies describe the properties of outbound traffic from
- // a given workload.
- Dependencies []*ServiceDependency_Dependency `protobuf:"bytes,1,rep,name=dependencies" json:"dependencies,omitempty"`
-}
-
-func (m *ServiceDependency) Reset() { *m = ServiceDependency{} }
-func (m *ServiceDependency) String() string { return proto.CompactTextString(m) }
-func (*ServiceDependency) ProtoMessage() {}
-func (*ServiceDependency) Descriptor() ([]byte, []int) {
- return fileDescriptorServiceDependency, []int{0}
-}
-
-func (m *ServiceDependency) GetDependencies() []*ServiceDependency_Dependency {
- if m != nil {
- return m.Dependencies
- }
- return nil
-}
-
-// Import describes the set of namespaces whose exported services
-// (real/virtual) will be accessed by workloads in a given namespace. The
-// sidecars attached to the workloads will be configured with information
-// required to reach the imported services only. The gateways in the
-// current namespace will only honor imported VirtualServices instead of
-// every VirtualService that binds itself to the gateway.
-//
-// Importing a service from a namespace will automatically import the
-// exported configuration artifacts associated with the service, such as
-// VirtualService, DestinationRule, etc. The service in a namespace can be
-// a service in the service registry (e.g., a kubernetes or cloud foundry
-// service) or a service specified via ServiceEntry configuration.
-//
-// NOTE: Only exported services and configuration artifacts from a
-// namespace can be imported. Private services/configuration will not be
-// imported. See the scope setting associated with VirtualService,
-// DestinationRule, ServiceEntry, etc.
-type ServiceDependency_Import struct {
- // The configuration namespace whose services need to be imported.
- // Specify * to import all namespaces. The import can be scoped further
- // by specifying individual hosts.
- Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
- // A FQDN or wildcard prefixed DNS name of the host to import from the
- // specified namespace. The hostnames include names of services from the
- // service registry as well as those specified in a VirtualService.
- Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
-}
-
-func (m *ServiceDependency_Import) Reset() { *m = ServiceDependency_Import{} }
-func (m *ServiceDependency_Import) String() string { return proto.CompactTextString(m) }
-func (*ServiceDependency_Import) ProtoMessage() {}
-func (*ServiceDependency_Import) Descriptor() ([]byte, []int) {
- return fileDescriptorServiceDependency, []int{0, 0}
-}
-
-func (m *ServiceDependency_Import) GetNamespace() string {
- if m != nil {
- return m.Namespace
- }
- return ""
-}
-
-func (m *ServiceDependency_Import) GetHost() string {
- if m != nil {
- return m.Host
- }
- return ""
-}
-
-// Dependency describes a workload and the set of service dependencies
-// for the workload.
-type ServiceDependency_Dependency struct {
- // [#not-implemented-hide:]
- // One or more labels that indicate a specific set of pods/VMs on which
- // this dependency configuration should be applied. The scope of label
- // search is platform dependent. On Kubernetes, for example, the scope
- // includes pods running in the namespace in which the ServiceDependency
- // resource is present. If the sourceWorkloadLabels are omitted, the
- // imports specified will be applicable to all workloads in the current
- // configuration namespace.
- // NOTE: source_workload_labels are currently not supported.
- SourceWorkloadLabels map[string]string `protobuf:"bytes,1,rep,name=source_workload_labels,json=sourceWorkloadLabels" json:"source_workload_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // REQUIRED: Import describes the set of namespaces whose exported
- // services will be accessed by the workloads selected by the
- // sourceWorkloadLabels. The sidecars attached to the workloads will be
- // configured with information required to reach other services in the
- // same namespace and the imported services. In addition to the
- // explicitly specified namespaces, namespaces specified in the global
- // mesh config (through defaultServiceDependency.importNamespaces) will also be
- // imported.
- Imports []*ServiceDependency_Import `protobuf:"bytes,2,rep,name=imports" json:"imports,omitempty"`
-}
-
-func (m *ServiceDependency_Dependency) Reset() { *m = ServiceDependency_Dependency{} }
-func (m *ServiceDependency_Dependency) String() string { return proto.CompactTextString(m) }
-func (*ServiceDependency_Dependency) ProtoMessage() {}
-func (*ServiceDependency_Dependency) Descriptor() ([]byte, []int) {
- return fileDescriptorServiceDependency, []int{0, 1}
-}
-
-func (m *ServiceDependency_Dependency) GetSourceWorkloadLabels() map[string]string {
- if m != nil {
- return m.SourceWorkloadLabels
- }
- return nil
-}
-
-func (m *ServiceDependency_Dependency) GetImports() []*ServiceDependency_Import {
- if m != nil {
- return m.Imports
- }
- return nil
-}
-
-func init() {
- proto.RegisterType((*ServiceDependency)(nil), "istio.networking.v1alpha3.ServiceDependency")
- proto.RegisterType((*ServiceDependency_Import)(nil), "istio.networking.v1alpha3.ServiceDependency.Import")
- proto.RegisterType((*ServiceDependency_Dependency)(nil), "istio.networking.v1alpha3.ServiceDependency.Dependency")
- proto.RegisterEnum("istio.networking.v1alpha3.ConfigScope", ConfigScope_name, ConfigScope_value)
-}
-func (m *ServiceDependency) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ServiceDependency) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if len(m.Dependencies) > 0 {
- for _, msg := range m.Dependencies {
- dAtA[i] = 0xa
- i++
- i = encodeVarintServiceDependency(dAtA, i, uint64(msg.Size()))
- n, err := msg.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n
- }
- }
- return i, nil
-}
-
-func (m *ServiceDependency_Import) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ServiceDependency_Import) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if len(m.Namespace) > 0 {
- dAtA[i] = 0xa
- i++
- i = encodeVarintServiceDependency(dAtA, i, uint64(len(m.Namespace)))
- i += copy(dAtA[i:], m.Namespace)
- }
- if len(m.Host) > 0 {
- dAtA[i] = 0x12
- i++
- i = encodeVarintServiceDependency(dAtA, i, uint64(len(m.Host)))
- i += copy(dAtA[i:], m.Host)
- }
- return i, nil
-}
-
-func (m *ServiceDependency_Dependency) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ServiceDependency_Dependency) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if len(m.SourceWorkloadLabels) > 0 {
- for k, _ := range m.SourceWorkloadLabels {
- dAtA[i] = 0xa
- i++
- v := m.SourceWorkloadLabels[k]
- mapSize := 1 + len(k) + sovServiceDependency(uint64(len(k))) + 1 + len(v) + sovServiceDependency(uint64(len(v)))
- i = encodeVarintServiceDependency(dAtA, i, uint64(mapSize))
- dAtA[i] = 0xa
- i++
- i = encodeVarintServiceDependency(dAtA, i, uint64(len(k)))
- i += copy(dAtA[i:], k)
- dAtA[i] = 0x12
- i++
- i = encodeVarintServiceDependency(dAtA, i, uint64(len(v)))
- i += copy(dAtA[i:], v)
- }
- }
- if len(m.Imports) > 0 {
- for _, msg := range m.Imports {
- dAtA[i] = 0x12
- i++
- i = encodeVarintServiceDependency(dAtA, i, uint64(msg.Size()))
- n, err := msg.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n
- }
- }
- return i, nil
-}
-
-func encodeVarintServiceDependency(dAtA []byte, offset int, v uint64) int {
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return offset + 1
-}
-func (m *ServiceDependency) Size() (n int) {
- var l int
- _ = l
- if len(m.Dependencies) > 0 {
- for _, e := range m.Dependencies {
- l = e.Size()
- n += 1 + l + sovServiceDependency(uint64(l))
- }
- }
- return n
-}
-
-func (m *ServiceDependency_Import) Size() (n int) {
- var l int
- _ = l
- l = len(m.Namespace)
- if l > 0 {
- n += 1 + l + sovServiceDependency(uint64(l))
- }
- l = len(m.Host)
- if l > 0 {
- n += 1 + l + sovServiceDependency(uint64(l))
- }
- return n
-}
-
-func (m *ServiceDependency_Dependency) Size() (n int) {
- var l int
- _ = l
- if len(m.SourceWorkloadLabels) > 0 {
- for k, v := range m.SourceWorkloadLabels {
- _ = k
- _ = v
- mapEntrySize := 1 + len(k) + sovServiceDependency(uint64(len(k))) + 1 + len(v) + sovServiceDependency(uint64(len(v)))
- n += mapEntrySize + 1 + sovServiceDependency(uint64(mapEntrySize))
- }
- }
- if len(m.Imports) > 0 {
- for _, e := range m.Imports {
- l = e.Size()
- n += 1 + l + sovServiceDependency(uint64(l))
- }
- }
- return n
-}
-
-func sovServiceDependency(x uint64) (n int) {
- for {
- n++
- x >>= 7
- if x == 0 {
- break
- }
- }
- return n
-}
-func sozServiceDependency(x uint64) (n int) {
- return sovServiceDependency(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *ServiceDependency) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ServiceDependency: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ServiceDependency: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Dependencies", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthServiceDependency
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Dependencies = append(m.Dependencies, &ServiceDependency_Dependency{})
- if err := m.Dependencies[len(m.Dependencies)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipServiceDependency(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthServiceDependency
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ServiceDependency_Import) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: Import: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Import: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthServiceDependency
- }
- postIndex := iNdEx + intStringLen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Namespace = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthServiceDependency
- }
- postIndex := iNdEx + intStringLen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Host = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipServiceDependency(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthServiceDependency
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ServiceDependency_Dependency) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: Dependency: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: Dependency: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field SourceWorkloadLabels", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthServiceDependency
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.SourceWorkloadLabels == nil {
- m.SourceWorkloadLabels = make(map[string]string)
- }
- var mapkey string
- var mapvalue string
- for iNdEx < postIndex {
- entryPreIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- if fieldNum == 1 {
- var stringLenmapkey uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapkey |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapkey := int(stringLenmapkey)
- if intStringLenmapkey < 0 {
- return ErrInvalidLengthServiceDependency
- }
- postStringIndexmapkey := iNdEx + intStringLenmapkey
- if postStringIndexmapkey > l {
- return io.ErrUnexpectedEOF
- }
- mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
- iNdEx = postStringIndexmapkey
- } else if fieldNum == 2 {
- var stringLenmapvalue uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLenmapvalue |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLenmapvalue := int(stringLenmapvalue)
- if intStringLenmapvalue < 0 {
- return ErrInvalidLengthServiceDependency
- }
- postStringIndexmapvalue := iNdEx + intStringLenmapvalue
- if postStringIndexmapvalue > l {
- return io.ErrUnexpectedEOF
- }
- mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
- iNdEx = postStringIndexmapvalue
- } else {
- iNdEx = entryPreIndex
- skippy, err := skipServiceDependency(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthServiceDependency
- }
- if (iNdEx + skippy) > postIndex {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- m.SourceWorkloadLabels[mapkey] = mapvalue
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Imports", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthServiceDependency
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Imports = append(m.Imports, &ServiceDependency_Import{})
- if err := m.Imports[len(m.Imports)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipServiceDependency(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthServiceDependency
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipServiceDependency(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- return iNdEx, nil
- case 1:
- iNdEx += 8
- return iNdEx, nil
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- iNdEx += length
- if length < 0 {
- return 0, ErrInvalidLengthServiceDependency
- }
- return iNdEx, nil
- case 3:
- for {
- var innerWire uint64
- var start int = iNdEx
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowServiceDependency
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- innerWire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- innerWireType := int(innerWire & 0x7)
- if innerWireType == 4 {
- break
- }
- next, err := skipServiceDependency(dAtA[start:])
- if err != nil {
- return 0, err
- }
- iNdEx = start + next
- }
- return iNdEx, nil
- case 4:
- return iNdEx, nil
- case 5:
- iNdEx += 4
- return iNdEx, nil
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- }
- panic("unreachable")
-}
-
-var (
- ErrInvalidLengthServiceDependency = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowServiceDependency = fmt.Errorf("proto: integer overflow")
-)
-
-func init() {
- proto.RegisterFile("networking/v1alpha3/service_dependency.proto", fileDescriptorServiceDependency)
-}
-
-var fileDescriptorServiceDependency = []byte{
- // 357 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xc9, 0x4b, 0x2d, 0x29,
- 0xcf, 0x2f, 0xca, 0xce, 0xcc, 0x4b, 0xd7, 0x2f, 0x33, 0x4c, 0xcc, 0x29, 0xc8, 0x48, 0x34, 0xd6,
- 0x2f, 0x4e, 0x2d, 0x2a, 0xcb, 0x4c, 0x4e, 0x8d, 0x4f, 0x49, 0x2d, 0x48, 0xcd, 0x4b, 0x49, 0xcd,
- 0x4b, 0xae, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0xcc, 0x2c, 0x2e, 0xc9, 0xcc, 0xd7,
- 0x43, 0xe8, 0xd1, 0x83, 0xe9, 0x51, 0xba, 0xcb, 0xcc, 0x25, 0x18, 0x0c, 0xd1, 0xe7, 0x02, 0xd7,
- 0x26, 0x14, 0xcd, 0xc5, 0x03, 0x37, 0x24, 0x33, 0xb5, 0x58, 0x82, 0x51, 0x81, 0x59, 0x83, 0xdb,
- 0xc8, 0x5c, 0x0f, 0xa7, 0x39, 0x7a, 0x18, 0x66, 0xe8, 0x21, 0x98, 0x41, 0x28, 0x86, 0x49, 0x59,
- 0x71, 0xb1, 0x79, 0xe6, 0x16, 0xe4, 0x17, 0x95, 0x08, 0xc9, 0x70, 0x71, 0xe6, 0x25, 0xe6, 0xa6,
- 0x16, 0x17, 0x24, 0x26, 0xa7, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x21, 0x04, 0x84, 0x84,
- 0xb8, 0x58, 0x32, 0xf2, 0x8b, 0x4b, 0x24, 0x98, 0xc0, 0x12, 0x60, 0xb6, 0xd4, 0x3a, 0x26, 0x2e,
- 0x2e, 0x24, 0x77, 0xb6, 0x33, 0x72, 0x89, 0x15, 0xe7, 0x97, 0x16, 0x25, 0xa7, 0xc6, 0x83, 0x5c,
- 0x94, 0x93, 0x9f, 0x98, 0x12, 0x9f, 0x93, 0x98, 0x94, 0x9a, 0x03, 0x73, 0x72, 0x20, 0x99, 0x4e,
- 0xd6, 0x0b, 0x06, 0x9b, 0x1a, 0x0e, 0x35, 0xd4, 0x07, 0x6c, 0xa6, 0x6b, 0x5e, 0x49, 0x51, 0x65,
- 0x90, 0x48, 0x31, 0x16, 0x29, 0x21, 0x5f, 0x2e, 0xf6, 0x4c, 0xb0, 0xa7, 0x8a, 0x25, 0x98, 0xc0,
- 0x36, 0x1b, 0x93, 0x64, 0x33, 0x24, 0x40, 0x82, 0x60, 0x66, 0x48, 0xb9, 0x73, 0x49, 0xe2, 0x74,
- 0x81, 0x90, 0x00, 0x17, 0x73, 0x76, 0x6a, 0x25, 0x34, 0xc0, 0x40, 0x4c, 0x21, 0x11, 0x2e, 0xd6,
- 0xb2, 0xc4, 0x9c, 0xd2, 0x54, 0x68, 0x58, 0x41, 0x38, 0x56, 0x4c, 0x16, 0x8c, 0x5a, 0x6a, 0x5c,
- 0xdc, 0xce, 0xf9, 0x79, 0x69, 0x99, 0xe9, 0xc1, 0xc9, 0xf9, 0x05, 0xa9, 0x42, 0x5c, 0x5c, 0x6c,
- 0x01, 0xa1, 0x4e, 0x3e, 0x9e, 0xce, 0x02, 0x0c, 0x42, 0xdc, 0x5c, 0xec, 0x01, 0x41, 0x9e, 0x61,
- 0x8e, 0x21, 0xae, 0x02, 0x8c, 0x4e, 0x7a, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8,
- 0xe0, 0x91, 0x1c, 0x63, 0x94, 0x02, 0xc4, 0xed, 0x99, 0xf9, 0xfa, 0x89, 0x05, 0x99, 0xfa, 0x58,
- 0xd2, 0x5a, 0x12, 0x1b, 0x38, 0x65, 0x19, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x25, 0xbe,
- 0xb4, 0x89, 0x02, 0x00, 0x00,
-}
diff --git a/networking/v1alpha3/service_dependency.proto b/networking/v1alpha3/service_dependency.proto
deleted file mode 100644
index a5c5de84b7..0000000000
--- a/networking/v1alpha3/service_dependency.proto
+++ /dev/null
@@ -1,168 +0,0 @@
-// Copyright 2018 Istio Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package istio.networking.v1alpha3;
-
-option go_package = "istio.io/api/networking/v1alpha3";
-
-// `ServiceDependency` describes the set of services that a workload depends on
-// for its operation. In other words, it describes the properties of
-// outgoing traffic from a given workload. By default, the service mesh
-// established by Istio will have a full mesh connectivity - i.e. every
-// workload will have proxy configuration required to reach every other
-// workload in the mesh. However most connectivity graphs are sparse in
-// practice. The ServiceDependency provides a way to declare the service
-// dependencies associated with each workload such that the amount of
-// configuration sent to the sidecars can be scoped to the requisite
-// dependencies.
-//
-// Services and configuration in a mesh are organized into one or more
-// namespaces (e.g., a Kubernetes namespace or a CF org/space). Workloads
-// in a namespace have an implicit dependency on other workloads in the
-// same namespace. In addition, to declare dependencies on workloads in
-// other namespaces, a ServiceDependency resource has to be specified in the
-// current namespace. *_Each namespace MUST have only one ServiceDependency
-// resource named "default"_*. The behavior of the system is undefined if
-// more than one ServiceDependency resource exists in a given namespace. The set
-// of dependencies specified in a ServiceDependency resource will be used to
-// compute the sidecar configuration for every workload in the namespace.
-//
-// NOTE 1: If workloads in the mesh depend only on other workloads in the
-// same namespace, set defaultServiceDependency.importMode to SAME_NAMESPACE
-// in the mesh global config map (in values.yaml).
-//
-// NOTE 2: To facilitate incremental pruning of the` sidecar
-// configuration, the default import mode for the mesh is set to
-// ALL_NAMESPACES. In other words, every workload will be able to reach
-// every other workload. Adding a ServiceDependency resource in a namespace will
-// automatically prune the configuration for the workloads in that
-// namespace.
-//
-// The following examples illustrate a few specific use cases of ServiceDependency.
-//
-// The example below declares a ServiceDependency resource in the prod-us1
-// namespace that specifies that workloads in the namespace will be able to
-// reach the services in the prod-apis namespace only.
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceDependency
-// metadata:
-// name: default
-// namespace: prod-us1
-// spec:
-// dependencies:
-// - imports:
-// - namespace: prod-apis
-// ```
-//
-// In a mesh where the default service dependency is set to SAME_NAMESPACE
-// only, if one or more workloads need to be able to reach every other
-// service in the mesh (e.g., metrics collection server), the following
-// ServiceDependency resource can be used to specify such a dependency:
-//
-// ```yaml
-// apiVersion: networking.istio.io/v1alpha3
-// kind: ServiceDependency
-// metadata:
-// name: default
-// namespace: metrics-collection
-// spec:
-// dependencies:
-// - imports:
-// - namespace: '*'
-// ```
-//
-// The configuration above will allow workloads in the metrics-collection
-// namespace to access service in any namespace while workloads in other
-// namespaces will be configured for namespace local access as per the
-// global default service dependency (SAME_NAMESPACE).
-//
-message ServiceDependency {
- // Import describes the set of namespaces whose exported services
- // (real/virtual) will be accessed by workloads in a given namespace. The
- // sidecars attached to the workloads will be configured with information
- // required to reach the imported services only. The gateways in the
- // current namespace will only honor imported VirtualServices instead of
- // every VirtualService that binds itself to the gateway.
- //
- // Importing a service from a namespace will automatically import the
- // exported configuration artifacts associated with the service, such as
- // VirtualService, DestinationRule, etc. The service in a namespace can be
- // a service in the service registry (e.g., a kubernetes or cloud foundry
- // service) or a service specified via ServiceEntry configuration.
- //
- // NOTE: Only exported services and configuration artifacts from a
- // namespace can be imported. Private services/configuration will not be
- // imported. See the scope setting associated with VirtualService,
- // DestinationRule, ServiceEntry, etc.
- message Import {
- // The configuration namespace whose services need to be imported.
- // Specify * to import all namespaces. The import can be scoped further
- // by specifying individual hosts.
- string namespace = 1;
-
- // A FQDN or wildcard prefixed DNS name of the host to import from the
- // specified namespace. The hostnames include names of services from the
- // service registry as well as those specified in a VirtualService.
- string host = 2;
- };
-
- // Dependency describes a workload and the set of service dependencies
- // for the workload.
- message Dependency {
- // [#not-implemented-hide:]
- // One or more labels that indicate a specific set of pods/VMs on which
- // this dependency configuration should be applied. The scope of label
- // search is platform dependent. On Kubernetes, for example, the scope
- // includes pods running in the namespace in which the ServiceDependency
- // resource is present. If the sourceWorkloadLabels are omitted, the
- // imports specified will be applicable to all workloads in the current
- // configuration namespace.
- // NOTE: source_workload_labels are currently not supported.
- map source_workload_labels = 1;
-
- // REQUIRED: Import describes the set of namespaces whose exported
- // services will be accessed by the workloads selected by the
- // sourceWorkloadLabels. The sidecars attached to the workloads will be
- // configured with information required to reach other services in the
- // same namespace and the imported services. In addition to the
- // explicitly specified namespaces, namespaces specified in the global
- // mesh config (through defaultServiceDependency.importNamespaces) will also be
- // imported.
- repeated Import imports = 2;
- };
-
- // REQUIRED. The set of services that workloads in this namespace are
- // expected to talk to, in addition to other workloads in the same
- // namespace. Dependencies describe the properties of outbound traffic from
- // a given workload.
- repeated Dependency dependencies = 1;
-}
-
-// ConfigScope defines the visibility of an Istio configuration artifact in
-// a namespace when the namespace is imported. By default all
-// configuration artifacts are public. Configurations with private scope
-// will not be imported when the namespace containing the configuration is
-// imported in a ServiceDependency.
-enum ConfigScope {
- // Config with this scope are visible to all workloads in the mesh
- PUBLIC = 0;
-
- // Configs with this scope are visible to only workloads in the same
- // namespace as the configuration resource.
- PRIVATE = 1;
-}
diff --git a/networking/v1alpha3/service_entry.pb.go b/networking/v1alpha3/service_entry.pb.go
index ba15812abd..2642cde348 100644
--- a/networking/v1alpha3/service_entry.pb.go
+++ b/networking/v1alpha3/service_entry.pb.go
@@ -1538,38 +1538,38 @@ var (
func init() { proto.RegisterFile("networking/v1alpha3/service_entry.proto", fileDescriptorServiceEntry) }
var fileDescriptorServiceEntry = []byte{
- // 524 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xdd, 0x6e, 0xd3, 0x30,
- 0x14, 0x9e, 0x9b, 0x2d, 0x6d, 0x4e, 0x37, 0x54, 0x2c, 0x84, 0x42, 0x84, 0x4a, 0xe8, 0x05, 0x54,
- 0x02, 0xa5, 0xa3, 0x13, 0xd2, 0xf8, 0xb9, 0x19, 0x23, 0x12, 0x95, 0x4a, 0x00, 0xb7, 0x17, 0x88,
- 0x9b, 0x2a, 0x4b, 0x4d, 0x6b, 0x2d, 0x8a, 0xa3, 0xd8, 0x6b, 0xd5, 0xb7, 0xe0, 0x31, 0x78, 0x14,
- 0x2e, 0x79, 0x04, 0xd4, 0x27, 0x41, 0x71, 0x9c, 0xa6, 0x17, 0xa3, 0x6c, 0x77, 0xf9, 0x4e, 0xce,
- 0xf7, 0xf9, 0x3b, 0xfe, 0x8e, 0xe1, 0x69, 0x42, 0xe5, 0x92, 0x67, 0x97, 0x2c, 0x99, 0xf5, 0x16,
- 0x2f, 0xc2, 0x38, 0x9d, 0x87, 0x27, 0x3d, 0x41, 0xb3, 0x05, 0x8b, 0xe8, 0x84, 0x26, 0x32, 0x5b,
- 0x79, 0x69, 0xc6, 0x25, 0xc7, 0x0f, 0x98, 0x90, 0x8c, 0x7b, 0x55, 0xbb, 0x57, 0xb6, 0x3b, 0x8f,
- 0xaf, 0xd3, 0x98, 0x85, 0x92, 0x2e, 0x43, 0xcd, 0x76, 0x9e, 0xef, 0x3a, 0x66, 0x4a, 0x53, 0x9a,
- 0x4c, 0x69, 0x12, 0xe9, 0xee, 0xce, 0xcf, 0x3a, 0x1c, 0x8e, 0x8a, 0x9f, 0x7e, 0x6e, 0x01, 0xdf,
- 0x83, 0x83, 0x39, 0x17, 0x52, 0xd8, 0xc8, 0x35, 0xba, 0x16, 0x29, 0x00, 0x7e, 0x08, 0x56, 0x38,
- 0x9d, 0x66, 0x54, 0x08, 0x2a, 0xec, 0x9a, 0xfa, 0x53, 0x15, 0xf0, 0x4b, 0x38, 0x48, 0x79, 0x26,
- 0x85, 0x6d, 0xb8, 0x46, 0xb7, 0xd9, 0x7f, 0xe4, 0xfd, 0x73, 0x00, 0xef, 0x33, 0xcf, 0x24, 0x29,
- 0xba, 0xf1, 0x10, 0x1a, 0x31, 0x8f, 0x42, 0xc9, 0x78, 0x62, 0xef, 0xbb, 0xa8, 0x7b, 0xa7, 0x7f,
- 0xbc, 0x83, 0xb9, 0xed, 0xd2, 0x1b, 0x6a, 0x1e, 0xd9, 0x28, 0x60, 0x02, 0x90, 0x51, 0xc1, 0xe3,
- 0x2b, 0xa5, 0x77, 0xa0, 0xf4, 0xfa, 0x37, 0xd5, 0x23, 0x1b, 0x26, 0xd9, 0x52, 0xc1, 0x01, 0x58,
- 0x34, 0x99, 0xa6, 0x9c, 0x25, 0x52, 0xd8, 0xa6, 0x1a, 0xee, 0xc6, 0x16, 0x7d, 0x4d, 0x24, 0x95,
- 0x04, 0x1e, 0xc0, 0x61, 0xc4, 0x93, 0xef, 0x6c, 0x36, 0x11, 0x11, 0x4f, 0xa9, 0x5d, 0x57, 0x2e,
- 0x9f, 0xec, 0x90, 0x3c, 0x57, 0xed, 0xa3, 0xbc, 0x9b, 0x34, 0xa3, 0x0a, 0x38, 0x3f, 0x0c, 0x68,
- 0x94, 0x47, 0x60, 0x1b, 0xea, 0x3a, 0x0d, 0x1b, 0xb9, 0xa8, 0x6b, 0x91, 0x12, 0xe2, 0x2f, 0x65,
- 0x34, 0x35, 0xe5, 0xfe, 0xcd, 0x6d, 0xdd, 0xab, 0xc0, 0x84, 0xaa, 0x95, 0xb1, 0x8d, 0xc1, 0x8c,
- 0xc3, 0x0b, 0x1a, 0x97, 0x71, 0xbf, 0xbd, 0xb5, 0xe6, 0x50, 0xd1, 0x0b, 0x51, 0xad, 0x95, 0x8f,
- 0xa0, 0x05, 0xd4, 0x2e, 0x58, 0xa4, 0x84, 0xd8, 0x29, 0xd6, 0x24, 0x66, 0x72, 0xa5, 0x62, 0xb5,
- 0xc8, 0x06, 0xe3, 0xfb, 0x60, 0x2e, 0x29, 0x9b, 0xcd, 0xa5, 0x6d, 0xba, 0xa8, 0x7b, 0x44, 0x34,
- 0x72, 0x4e, 0x01, 0x2a, 0xe3, 0xb8, 0x05, 0xc6, 0x25, 0x5d, 0xe9, 0xab, 0xc9, 0x3f, 0xf3, 0x2d,
- 0x5f, 0x84, 0xf1, 0x15, 0xb5, 0x6b, 0x8a, 0x56, 0x80, 0xd7, 0xb5, 0x53, 0xe4, 0xbc, 0x82, 0xe6,
- 0x96, 0xbd, 0xff, 0x51, 0xad, 0x2d, 0x6a, 0xe7, 0x18, 0x1a, 0xe5, 0x5e, 0xe2, 0xbb, 0x70, 0xf4,
- 0xd1, 0x1f, 0x7d, 0x98, 0xf8, 0x5f, 0xc7, 0x3e, 0x09, 0xce, 0x86, 0xad, 0xbd, 0x4d, 0x69, 0x10,
- 0xe8, 0x12, 0xea, 0x3c, 0x03, 0xa8, 0x36, 0x0f, 0x37, 0x60, 0x3f, 0xf8, 0x14, 0xf8, 0xad, 0x3d,
- 0x0c, 0x60, 0x8e, 0xc6, 0x67, 0xe3, 0xc1, 0x79, 0x0b, 0xe1, 0x3a, 0x18, 0xef, 0x83, 0x51, 0xab,
- 0xf6, 0xce, 0xfb, 0xb5, 0x6e, 0xa3, 0xdf, 0xeb, 0x36, 0xfa, 0xb3, 0x6e, 0xa3, 0x6f, 0x6e, 0x71,
- 0xe9, 0x8c, 0xf7, 0xc2, 0x94, 0xf5, 0xae, 0x79, 0xf3, 0x17, 0xa6, 0x7a, 0xe1, 0x27, 0x7f, 0x03,
- 0x00, 0x00, 0xff, 0xff, 0xe4, 0x0f, 0x29, 0x22, 0x78, 0x04, 0x00, 0x00,
+ // 521 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xcd, 0x6e, 0xd3, 0x4c,
+ 0x14, 0xed, 0xc4, 0x8d, 0x13, 0xdf, 0xb4, 0x9f, 0xf2, 0x8d, 0x10, 0x1a, 0x22, 0x14, 0x4c, 0x16,
+ 0x10, 0x09, 0xc9, 0x29, 0xa9, 0x90, 0xca, 0xcf, 0xa6, 0x14, 0x4b, 0x44, 0x0a, 0x06, 0x26, 0x59,
+ 0x20, 0x36, 0xd1, 0xd4, 0x19, 0x92, 0x51, 0x2d, 0x8f, 0xe5, 0x99, 0x26, 0xca, 0x5b, 0xf0, 0x18,
+ 0x3c, 0x0a, 0x4b, 0x1e, 0x01, 0xe5, 0x49, 0x50, 0xc6, 0x76, 0x9c, 0x45, 0x28, 0xed, 0xce, 0xe7,
+ 0xfa, 0x9c, 0x73, 0xcf, 0xcc, 0xbd, 0x03, 0x4f, 0x63, 0xae, 0x97, 0x32, 0xbd, 0x12, 0xf1, 0xac,
+ 0xb7, 0x78, 0xce, 0xa2, 0x64, 0xce, 0x4e, 0x7b, 0x8a, 0xa7, 0x0b, 0x11, 0xf2, 0x09, 0x8f, 0x75,
+ 0xba, 0xf2, 0x92, 0x54, 0x6a, 0x89, 0x1f, 0x08, 0xa5, 0x85, 0xf4, 0x4a, 0xba, 0x57, 0xd0, 0x5b,
+ 0x8f, 0xf7, 0x79, 0xcc, 0x98, 0xe6, 0x4b, 0x96, 0xab, 0xf7, 0x53, 0x94, 0x98, 0xf2, 0x90, 0xa5,
+ 0x19, 0xa5, 0xf3, 0xa3, 0x06, 0x47, 0xa3, 0xac, 0xb1, 0xbf, 0xe9, 0x8b, 0xef, 0x41, 0x75, 0x2e,
+ 0x95, 0x56, 0x04, 0xb9, 0x56, 0xd7, 0xa1, 0x19, 0xc0, 0x0f, 0xc1, 0x61, 0xd3, 0x69, 0xca, 0x95,
+ 0xe2, 0x8a, 0x54, 0xcc, 0x9f, 0xb2, 0x80, 0x5f, 0x40, 0x35, 0x91, 0xa9, 0x56, 0xc4, 0x72, 0xad,
+ 0x6e, 0xa3, 0xff, 0xc8, 0xfb, 0x6b, 0x6a, 0xef, 0x93, 0x4c, 0x35, 0xcd, 0xd8, 0x78, 0x08, 0xf5,
+ 0x48, 0x86, 0x4c, 0x0b, 0x19, 0x93, 0x43, 0x17, 0x75, 0xff, 0xeb, 0x9f, 0xdc, 0xa0, 0xdc, 0x4d,
+ 0xe9, 0x0d, 0x73, 0x1d, 0xdd, 0x3a, 0x60, 0x0a, 0x90, 0x72, 0x25, 0xa3, 0x6b, 0xe3, 0x57, 0x35,
+ 0x7e, 0xfd, 0xdb, 0xfa, 0xd1, 0xad, 0x92, 0xee, 0xb8, 0xe0, 0x00, 0x1c, 0x1e, 0x4f, 0x13, 0x29,
+ 0x62, 0xad, 0x88, 0x6d, 0x0e, 0x77, 0xeb, 0x88, 0x7e, 0x2e, 0xa4, 0xa5, 0x05, 0x1e, 0xc0, 0x51,
+ 0x28, 0xe3, 0x6f, 0x62, 0x36, 0x51, 0xa1, 0x4c, 0x38, 0xa9, 0x99, 0x94, 0x4f, 0x6e, 0xb0, 0xbc,
+ 0x30, 0xf4, 0xd1, 0x86, 0x4d, 0x1b, 0x61, 0x09, 0x5a, 0xdf, 0x2d, 0xa8, 0x17, 0x2d, 0x30, 0x81,
+ 0x5a, 0x3e, 0x0d, 0x82, 0x5c, 0xd4, 0x75, 0x68, 0x01, 0xf1, 0xe7, 0x62, 0x34, 0x15, 0x93, 0xfe,
+ 0xf5, 0x5d, 0xd3, 0x9b, 0x81, 0x29, 0x53, 0x2b, 0xc6, 0x36, 0x06, 0x3b, 0x62, 0x97, 0x3c, 0x2a,
+ 0xc6, 0xfd, 0xe6, 0xce, 0x9e, 0x43, 0x23, 0xcf, 0x4c, 0x73, 0xaf, 0xcd, 0x11, 0x72, 0x03, 0xb3,
+ 0x0b, 0x0e, 0x2d, 0x20, 0x6e, 0x65, 0x6b, 0x12, 0x09, 0xbd, 0x32, 0x63, 0x75, 0xe8, 0x16, 0xe3,
+ 0xfb, 0x60, 0x2f, 0xb9, 0x98, 0xcd, 0x35, 0xb1, 0x5d, 0xd4, 0x3d, 0xa6, 0x39, 0x6a, 0x9d, 0x01,
+ 0x94, 0xc1, 0x71, 0x13, 0xac, 0x2b, 0xbe, 0xca, 0xaf, 0x66, 0xf3, 0xb9, 0xd9, 0xf2, 0x05, 0x8b,
+ 0xae, 0x39, 0xa9, 0x18, 0x59, 0x06, 0x5e, 0x55, 0xce, 0x50, 0xeb, 0x25, 0x34, 0x76, 0xe2, 0xfd,
+ 0x4b, 0xea, 0xec, 0x48, 0x3b, 0x27, 0x50, 0x2f, 0xf6, 0x12, 0xff, 0x0f, 0xc7, 0x1f, 0xfc, 0xd1,
+ 0xfb, 0x89, 0xff, 0x65, 0xec, 0xd3, 0xe0, 0x7c, 0xd8, 0x3c, 0xd8, 0x96, 0x06, 0x41, 0x5e, 0x42,
+ 0x9d, 0x67, 0x00, 0xe5, 0xe6, 0xe1, 0x3a, 0x1c, 0x06, 0x1f, 0x03, 0xbf, 0x79, 0x80, 0x01, 0xec,
+ 0xd1, 0xf8, 0x7c, 0x3c, 0xb8, 0x68, 0x22, 0x5c, 0x03, 0xeb, 0x5d, 0x30, 0x6a, 0x56, 0xde, 0x7a,
+ 0x3f, 0xd7, 0x6d, 0xf4, 0x6b, 0xdd, 0x46, 0xbf, 0xd7, 0x6d, 0xf4, 0xd5, 0xcd, 0x2e, 0x5d, 0xc8,
+ 0x1e, 0x4b, 0x44, 0x6f, 0xcf, 0x43, 0xbf, 0xb4, 0xcd, 0x0b, 0x3f, 0xfd, 0x13, 0x00, 0x00, 0xff,
+ 0xff, 0x52, 0x1f, 0x71, 0x64, 0x6d, 0x04, 0x00, 0x00,
}
diff --git a/networking/v1alpha3/service_entry.proto b/networking/v1alpha3/service_entry.proto
index c1f233f260..b4f16f8b34 100644
--- a/networking/v1alpha3/service_entry.proto
+++ b/networking/v1alpha3/service_entry.proto
@@ -15,7 +15,7 @@
syntax = "proto3";
import "networking/v1alpha3/gateway.proto";
-import "networking/v1alpha3/service_dependency.proto";
+import "networking/v1alpha3/sidecar.proto";
package istio.networking.v1alpha3;
diff --git a/networking/v1alpha3/sidecar.pb.go b/networking/v1alpha3/sidecar.pb.go
new file mode 100644
index 0000000000..6c4e074c0f
--- /dev/null
+++ b/networking/v1alpha3/sidecar.pb.go
@@ -0,0 +1,1405 @@
+// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// source: networking/v1alpha3/sidecar.proto
+
+package v1alpha3
+
+import proto "github.com/gogo/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+import io "io"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// ConfigScope defines the visibility of an Istio configuration artifact in
+// a namespace when the namespace is imported. By default all
+// configuration artifacts are public. Configurations with private scope
+// will not be imported when the namespace containing the configuration is
+// imported in a Sidecar.
+type ConfigScope int32
+
+const (
+ // Config with this scope are visible to all workloads in the mesh
+ ConfigScope_PUBLIC ConfigScope = 0
+ // Configs with this scope are visible to only workloads in the same
+ // namespace as the configuration resource.
+ ConfigScope_PRIVATE ConfigScope = 1
+)
+
+var ConfigScope_name = map[int32]string{
+ 0: "PUBLIC",
+ 1: "PRIVATE",
+}
+var ConfigScope_value = map[string]int32{
+ "PUBLIC": 0,
+ "PRIVATE": 1,
+}
+
+func (x ConfigScope) String() string {
+ return proto.EnumName(ConfigScope_name, int32(x))
+}
+func (ConfigScope) EnumDescriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{0} }
+
+// $hide_from_docs
+// CaptureMode describes how traffic to a listener is expected to be
+// captured. Applicable only when the listener is bound to an IP.
+type CaptureMode int32
+
+const (
+ // The default capture mode defined by the environment
+ CaptureMode_DEFAULT CaptureMode = 0
+ // Capture traffic using IPtables redirection
+ CaptureMode_IPTABLES CaptureMode = 1
+ // No traffic capture. When used in egress listener, the application is
+ // expected to explicitly communicate with the listener port/unix
+ // domain socket. When used in ingress listener, care needs to be taken
+ // to ensure that the listener port is not in use by other processes on
+ // the host.
+ CaptureMode_NONE CaptureMode = 2
+)
+
+var CaptureMode_name = map[int32]string{
+ 0: "DEFAULT",
+ 1: "IPTABLES",
+ 2: "NONE",
+}
+var CaptureMode_value = map[string]int32{
+ "DEFAULT": 0,
+ "IPTABLES": 1,
+ "NONE": 2,
+}
+
+func (x CaptureMode) String() string {
+ return proto.EnumName(CaptureMode_name, int32(x))
+}
+func (CaptureMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{1} }
+
+// `Sidecar` describes the configuration of the sidecar proxy that mediates
+// inbound and outbound communication to the workload it is attached to. By
+// default, Istio will program all sidecar proxies in the mesh with the
+// necessary configuration required to reach every workload in the mesh, as
+// well as accept traffic on all the ports associated with the
+// workload. The Sidecar resource provides a way to fine tune the set of
+// ports, protocols that the proxy will accept when forwarding traffic to
+// and from the workload. In addition, it is possible to restrict the set
+// of services that the proxy can reach when forwarding outbound traffic
+// from the workload.
+//
+// Services and configuration in a mesh are organized into one or more
+// namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar
+// resource in a namespace will apply to one or more workloads in the same
+// namespace, selected using the workloadSelector. In the absence of a
+// workloadSelector, it will apply to all workloads in the same
+// namespace. When determining the Sidecar resource to be applied to a
+// workload, preference will be given to the resource with a
+// workloadSelector that selects this workload, over a Sidecar resource
+// without any workloadSelector.
+//
+// NOTE: *_Each namespace can have only one Sidecar resource without any
+// workload selector_*. The behavior of the system is undefined if more
+// than one selector-less Sidecar resources exist in a given namespace. The
+// behavior of the system is undefined if two or more Sidecar resources
+// with a workload selector select the same workload.
+//
+// The example below delcares a Sidecar resource in the prod-us1 namespace
+// that configures the sidecar to allow egress traffic to public services
+// in the prod-us1, prod-apis, and the istio-system namespaces.
+//
+// ```yaml
+// apiVersion: networking.istio.io/v1alpha3
+// kind: Sidecar
+// metadata:
+// name: default
+// namespace: prod-us1
+// spec:
+// egress:
+// - hosts:
+// - "prod-us1/*"
+// - "prod-apis/*"
+// - "istio-system/*"
+// ```
+//
+type Sidecar struct {
+ // $hide_from_docs
+ // Criteria used to select the specific set of pods/VMs on which this
+ // sidecar configuration should be applied. If omitted, the sidecar
+ // configuration will be applied to all workloads in the current config
+ // namespace.
+ WorkloadSelector *WorkloadSelector `protobuf:"bytes,1,opt,name=workload_selector,json=workloadSelector" json:"workload_selector,omitempty"`
+ // $hide_from_docs
+ // Ingress specifies the configuration of the sidecar for processing
+ // inbound traffic to the attached workload. If omitted, Istio will
+ // autoconfigure the sidecar based on the information about the workload
+ // obtained from the orchestration platform (e.g., exposed ports, services,
+ // etc.).
+ Ingress []*IstioIngressListener `protobuf:"bytes,2,rep,name=ingress" json:"ingress,omitempty"`
+ // Egress specifies the configuration of the sidecar for processing
+ // outbound traffic from the attached workload to other services in the
+ // mesh. If omitted, Istio will autoconfigure the sidecar to be able to
+ // reach every service in the mesh that is visible to this namespace.
+ Egress []*IstioEgressListener `protobuf:"bytes,3,rep,name=egress" json:"egress,omitempty"`
+}
+
+func (m *Sidecar) Reset() { *m = Sidecar{} }
+func (m *Sidecar) String() string { return proto.CompactTextString(m) }
+func (*Sidecar) ProtoMessage() {}
+func (*Sidecar) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{0} }
+
+func (m *Sidecar) GetWorkloadSelector() *WorkloadSelector {
+ if m != nil {
+ return m.WorkloadSelector
+ }
+ return nil
+}
+
+func (m *Sidecar) GetIngress() []*IstioIngressListener {
+ if m != nil {
+ return m.Ingress
+ }
+ return nil
+}
+
+func (m *Sidecar) GetEgress() []*IstioEgressListener {
+ if m != nil {
+ return m.Egress
+ }
+ return nil
+}
+
+// $hide_from_docs
+// IstioIngressListener specifies the properties of an inbound
+// traffic listener on the sidecar proxy attached to a workload.
+type IstioIngressListener struct {
+ // REQUIRED. The port associated with the listener. If using
+ // unix domain socket, use 0 as the port number, with a valid
+ // protocol.
+ Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"`
+ // The ip or the unix domain socket to which the listener should be bound
+ // to. Format: x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux
+ // abstract namespace). If omitted, Istio will autoconfigure the defaults
+ // based on imported services and the workload to which this
+ // configuration is applied to.
+ Bind string `protobuf:"bytes,2,opt,name=bind,proto3" json:"bind,omitempty"`
+ // When the bind address is an IP, the captureMode option dictates
+ // how traffic to the listener is expected to be captured (or not).
+ CaptureMode CaptureMode `protobuf:"varint,3,opt,name=capture_mode,json=captureMode,proto3,enum=istio.networking.v1alpha3.CaptureMode" json:"capture_mode,omitempty"`
+ // The loopback IP endpoint or unix domain socket to which traffic should
+ // be forwarded to by default. This configuration can be used to redirect
+ // traffic arriving at the bind point on the sidecar to a port or unix
+ // domain socket where the application workload is listening for
+ // connections. Format should be 127.0.0.1:PORT or unix:///path/to/socket
+ DefaultEndpoint string `protobuf:"bytes,4,opt,name=default_endpoint,json=defaultEndpoint,proto3" json:"default_endpoint,omitempty"`
+}
+
+func (m *IstioIngressListener) Reset() { *m = IstioIngressListener{} }
+func (m *IstioIngressListener) String() string { return proto.CompactTextString(m) }
+func (*IstioIngressListener) ProtoMessage() {}
+func (*IstioIngressListener) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{1} }
+
+func (m *IstioIngressListener) GetPort() *Port {
+ if m != nil {
+ return m.Port
+ }
+ return nil
+}
+
+func (m *IstioIngressListener) GetBind() string {
+ if m != nil {
+ return m.Bind
+ }
+ return ""
+}
+
+func (m *IstioIngressListener) GetCaptureMode() CaptureMode {
+ if m != nil {
+ return m.CaptureMode
+ }
+ return CaptureMode_DEFAULT
+}
+
+func (m *IstioIngressListener) GetDefaultEndpoint() string {
+ if m != nil {
+ return m.DefaultEndpoint
+ }
+ return ""
+}
+
+// IstioEgressListener specifies the properties of an outbound traffic
+// listener on the sidecar proxy attached to a workload.
+type IstioEgressListener struct {
+ // $hide_from_docs
+ // The port associated with the listener. If using unix domain socket,
+ // use 0 as the port number, with a valid protocol. The port if
+ // specified, will be used as the default destination port associated
+ // with the imported hosts. If the port is omitted, Istio will infer the
+ // listener ports based on the imported hosts. Note that when multiple
+ // egress listeners are specified, where one or more listeners have
+ // specific ports while others have no port, the hosts exposed on a
+ // listener port will be based on the listener with the most specific
+ // port.
+ Port *Port `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"`
+ // $hide_from_docs
+ // The ip or the unix domain socket to which the listener should be bound
+ // to. Port MUST be specified if bind is not empty. Format:
+ // x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux abstract
+ // namespace). If omitted, Istio will autoconfigure the defaults based on
+ // imported services and the workload to which this configuration is
+ // applied to.
+ Bind string `protobuf:"bytes,2,opt,name=bind,proto3" json:"bind,omitempty"`
+ // When the bind address is an IP, the captureMode option dictates
+ // how traffic to the listener is expected to be captured (or not).
+ CaptureMode CaptureMode `protobuf:"varint,3,opt,name=capture_mode,json=captureMode,proto3,enum=istio.networking.v1alpha3.CaptureMode" json:"capture_mode,omitempty"`
+ // One or more services/virtualServices exposed by the listener in
+ // namespace/dnsName format. Publicly scoped services and
+ // VirtualServices from remote namespaces corresponding to the specified
+ // hosts will be imported. The service in a namespace can be a service in
+ // the service registry (e.g., a kubernetes or cloud foundry service) or
+ // a service specified via ServiceEntry configuration. In addition, any
+ // publicly scoped DestinationRule associated with the imported services
+ // will also be imported.
+ //
+ // Set the namespace to * to import a particular service from any
+ // available namespace (e.g., "*/foo.example.com"). Set the dnsName field
+ // to * to import all services from the specified namespace (e.g.,
+ // "prod/*"). The services should be specified using FQDN format.
+ //
+ // NOTE: Only exported services and configuration artifacts from a
+ // namespace can be imported. Private services/configuration will not be
+ // imported. Refer to the scope setting associated with VirtualService,
+ // DestinationRule, ServiceEntry, etc. for details.
+ Hosts []string `protobuf:"bytes,4,rep,name=hosts" json:"hosts,omitempty"`
+}
+
+func (m *IstioEgressListener) Reset() { *m = IstioEgressListener{} }
+func (m *IstioEgressListener) String() string { return proto.CompactTextString(m) }
+func (*IstioEgressListener) ProtoMessage() {}
+func (*IstioEgressListener) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{2} }
+
+func (m *IstioEgressListener) GetPort() *Port {
+ if m != nil {
+ return m.Port
+ }
+ return nil
+}
+
+func (m *IstioEgressListener) GetBind() string {
+ if m != nil {
+ return m.Bind
+ }
+ return ""
+}
+
+func (m *IstioEgressListener) GetCaptureMode() CaptureMode {
+ if m != nil {
+ return m.CaptureMode
+ }
+ return CaptureMode_DEFAULT
+}
+
+func (m *IstioEgressListener) GetHosts() []string {
+ if m != nil {
+ return m.Hosts
+ }
+ return nil
+}
+
+// WorkloadSelector specifies the criteria used to determine if the Gateway
+// or Sidecar resource can be applied to a proxy. The matching criteria
+// includes the metadata associated with a proxy, workload info such as
+// labels attached to the pod/VM, or any other info that the proxy provides
+// to Istio during the initial handshake. If multiple conditions are
+// specified, all conditions need to match in order for the workload to be
+// selected. Currently, only label based selection mechanism is supported.
+type WorkloadSelector struct {
+ // One or more labels that indicate a specific set of pods/VMs on which
+ // this sidecar configuration should be applied. The scope of label
+ // search is restricted to the configuration namespace in which the the
+ // resource is present.
+ Labels map[string]string `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (m *WorkloadSelector) Reset() { *m = WorkloadSelector{} }
+func (m *WorkloadSelector) String() string { return proto.CompactTextString(m) }
+func (*WorkloadSelector) ProtoMessage() {}
+func (*WorkloadSelector) Descriptor() ([]byte, []int) { return fileDescriptorSidecar, []int{3} }
+
+func (m *WorkloadSelector) GetLabels() map[string]string {
+ if m != nil {
+ return m.Labels
+ }
+ return nil
+}
+
+func init() {
+ proto.RegisterType((*Sidecar)(nil), "istio.networking.v1alpha3.Sidecar")
+ proto.RegisterType((*IstioIngressListener)(nil), "istio.networking.v1alpha3.IstioIngressListener")
+ proto.RegisterType((*IstioEgressListener)(nil), "istio.networking.v1alpha3.IstioEgressListener")
+ proto.RegisterType((*WorkloadSelector)(nil), "istio.networking.v1alpha3.WorkloadSelector")
+ proto.RegisterEnum("istio.networking.v1alpha3.ConfigScope", ConfigScope_name, ConfigScope_value)
+ proto.RegisterEnum("istio.networking.v1alpha3.CaptureMode", CaptureMode_name, CaptureMode_value)
+}
+func (m *Sidecar) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *Sidecar) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if m.WorkloadSelector != nil {
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(m.WorkloadSelector.Size()))
+ n1, err := m.WorkloadSelector.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
+ }
+ i += n1
+ }
+ if len(m.Ingress) > 0 {
+ for _, msg := range m.Ingress {
+ dAtA[i] = 0x12
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(msg.Size()))
+ n, err := msg.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
+ }
+ i += n
+ }
+ }
+ if len(m.Egress) > 0 {
+ for _, msg := range m.Egress {
+ dAtA[i] = 0x1a
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(msg.Size()))
+ n, err := msg.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
+ }
+ i += n
+ }
+ }
+ return i, nil
+}
+
+func (m *IstioIngressListener) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *IstioIngressListener) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if m.Port != nil {
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(m.Port.Size()))
+ n2, err := m.Port.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
+ }
+ i += n2
+ }
+ if len(m.Bind) > 0 {
+ dAtA[i] = 0x12
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(len(m.Bind)))
+ i += copy(dAtA[i:], m.Bind)
+ }
+ if m.CaptureMode != 0 {
+ dAtA[i] = 0x18
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(m.CaptureMode))
+ }
+ if len(m.DefaultEndpoint) > 0 {
+ dAtA[i] = 0x22
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(len(m.DefaultEndpoint)))
+ i += copy(dAtA[i:], m.DefaultEndpoint)
+ }
+ return i, nil
+}
+
+func (m *IstioEgressListener) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *IstioEgressListener) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if m.Port != nil {
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(m.Port.Size()))
+ n3, err := m.Port.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
+ }
+ i += n3
+ }
+ if len(m.Bind) > 0 {
+ dAtA[i] = 0x12
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(len(m.Bind)))
+ i += copy(dAtA[i:], m.Bind)
+ }
+ if m.CaptureMode != 0 {
+ dAtA[i] = 0x18
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(m.CaptureMode))
+ }
+ if len(m.Hosts) > 0 {
+ for _, s := range m.Hosts {
+ dAtA[i] = 0x22
+ i++
+ l = len(s)
+ for l >= 1<<7 {
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
+ l >>= 7
+ i++
+ }
+ dAtA[i] = uint8(l)
+ i++
+ i += copy(dAtA[i:], s)
+ }
+ }
+ return i, nil
+}
+
+func (m *WorkloadSelector) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *WorkloadSelector) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if len(m.Labels) > 0 {
+ for k, _ := range m.Labels {
+ dAtA[i] = 0xa
+ i++
+ v := m.Labels[k]
+ mapSize := 1 + len(k) + sovSidecar(uint64(len(k))) + 1 + len(v) + sovSidecar(uint64(len(v)))
+ i = encodeVarintSidecar(dAtA, i, uint64(mapSize))
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(len(k)))
+ i += copy(dAtA[i:], k)
+ dAtA[i] = 0x12
+ i++
+ i = encodeVarintSidecar(dAtA, i, uint64(len(v)))
+ i += copy(dAtA[i:], v)
+ }
+ }
+ return i, nil
+}
+
+func encodeVarintSidecar(dAtA []byte, offset int, v uint64) int {
+ for v >= 1<<7 {
+ dAtA[offset] = uint8(v&0x7f | 0x80)
+ v >>= 7
+ offset++
+ }
+ dAtA[offset] = uint8(v)
+ return offset + 1
+}
+func (m *Sidecar) Size() (n int) {
+ var l int
+ _ = l
+ if m.WorkloadSelector != nil {
+ l = m.WorkloadSelector.Size()
+ n += 1 + l + sovSidecar(uint64(l))
+ }
+ if len(m.Ingress) > 0 {
+ for _, e := range m.Ingress {
+ l = e.Size()
+ n += 1 + l + sovSidecar(uint64(l))
+ }
+ }
+ if len(m.Egress) > 0 {
+ for _, e := range m.Egress {
+ l = e.Size()
+ n += 1 + l + sovSidecar(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *IstioIngressListener) Size() (n int) {
+ var l int
+ _ = l
+ if m.Port != nil {
+ l = m.Port.Size()
+ n += 1 + l + sovSidecar(uint64(l))
+ }
+ l = len(m.Bind)
+ if l > 0 {
+ n += 1 + l + sovSidecar(uint64(l))
+ }
+ if m.CaptureMode != 0 {
+ n += 1 + sovSidecar(uint64(m.CaptureMode))
+ }
+ l = len(m.DefaultEndpoint)
+ if l > 0 {
+ n += 1 + l + sovSidecar(uint64(l))
+ }
+ return n
+}
+
+func (m *IstioEgressListener) Size() (n int) {
+ var l int
+ _ = l
+ if m.Port != nil {
+ l = m.Port.Size()
+ n += 1 + l + sovSidecar(uint64(l))
+ }
+ l = len(m.Bind)
+ if l > 0 {
+ n += 1 + l + sovSidecar(uint64(l))
+ }
+ if m.CaptureMode != 0 {
+ n += 1 + sovSidecar(uint64(m.CaptureMode))
+ }
+ if len(m.Hosts) > 0 {
+ for _, s := range m.Hosts {
+ l = len(s)
+ n += 1 + l + sovSidecar(uint64(l))
+ }
+ }
+ return n
+}
+
+func (m *WorkloadSelector) Size() (n int) {
+ var l int
+ _ = l
+ if len(m.Labels) > 0 {
+ for k, v := range m.Labels {
+ _ = k
+ _ = v
+ mapEntrySize := 1 + len(k) + sovSidecar(uint64(len(k))) + 1 + len(v) + sovSidecar(uint64(len(v)))
+ n += mapEntrySize + 1 + sovSidecar(uint64(mapEntrySize))
+ }
+ }
+ return n
+}
+
+func sovSidecar(x uint64) (n int) {
+ for {
+ n++
+ x >>= 7
+ if x == 0 {
+ break
+ }
+ }
+ return n
+}
+func sozSidecar(x uint64) (n int) {
+ return sovSidecar(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+}
+func (m *Sidecar) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: Sidecar: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: Sidecar: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field WorkloadSelector", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.WorkloadSelector == nil {
+ m.WorkloadSelector = &WorkloadSelector{}
+ }
+ if err := m.WorkloadSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Ingress", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Ingress = append(m.Ingress, &IstioIngressListener{})
+ if err := m.Ingress[len(m.Ingress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Egress", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Egress = append(m.Egress, &IstioEgressListener{})
+ if err := m.Egress[len(m.Egress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipSidecar(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *IstioIngressListener) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: IstioIngressListener: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: IstioIngressListener: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Port == nil {
+ m.Port = &Port{}
+ }
+ if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Bind = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field CaptureMode", wireType)
+ }
+ m.CaptureMode = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.CaptureMode |= (CaptureMode(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DefaultEndpoint", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.DefaultEndpoint = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipSidecar(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *IstioEgressListener) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: IstioEgressListener: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: IstioEgressListener: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Port == nil {
+ m.Port = &Port{}
+ }
+ if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Bind", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Bind = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field CaptureMode", wireType)
+ }
+ m.CaptureMode = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.CaptureMode |= (CaptureMode(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Hosts", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Hosts = append(m.Hosts, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipSidecar(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *WorkloadSelector) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: WorkloadSelector: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: WorkloadSelector: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Labels == nil {
+ m.Labels = make(map[string]string)
+ }
+ var mapkey string
+ var mapvalue string
+ for iNdEx < postIndex {
+ entryPreIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ if fieldNum == 1 {
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ } else if fieldNum == 2 {
+ var stringLenmapvalue uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapvalue |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapvalue := int(stringLenmapvalue)
+ if intStringLenmapvalue < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ postStringIndexmapvalue := iNdEx + intStringLenmapvalue
+ if postStringIndexmapvalue > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
+ iNdEx = postStringIndexmapvalue
+ } else {
+ iNdEx = entryPreIndex
+ skippy, err := skipSidecar(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ if (iNdEx + skippy) > postIndex {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+ m.Labels[mapkey] = mapvalue
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipSidecar(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthSidecar
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func skipSidecar(dAtA []byte) (n int, err error) {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return 0, ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return 0, io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ wireType := int(wire & 0x7)
+ switch wireType {
+ case 0:
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return 0, ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return 0, io.ErrUnexpectedEOF
+ }
+ iNdEx++
+ if dAtA[iNdEx-1] < 0x80 {
+ break
+ }
+ }
+ return iNdEx, nil
+ case 1:
+ iNdEx += 8
+ return iNdEx, nil
+ case 2:
+ var length int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return 0, ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return 0, io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ length |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ iNdEx += length
+ if length < 0 {
+ return 0, ErrInvalidLengthSidecar
+ }
+ return iNdEx, nil
+ case 3:
+ for {
+ var innerWire uint64
+ var start int = iNdEx
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return 0, ErrIntOverflowSidecar
+ }
+ if iNdEx >= l {
+ return 0, io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ innerWire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ innerWireType := int(innerWire & 0x7)
+ if innerWireType == 4 {
+ break
+ }
+ next, err := skipSidecar(dAtA[start:])
+ if err != nil {
+ return 0, err
+ }
+ iNdEx = start + next
+ }
+ return iNdEx, nil
+ case 4:
+ return iNdEx, nil
+ case 5:
+ iNdEx += 4
+ return iNdEx, nil
+ default:
+ return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
+ }
+ }
+ panic("unreachable")
+}
+
+var (
+ ErrInvalidLengthSidecar = fmt.Errorf("proto: negative length found during unmarshaling")
+ ErrIntOverflowSidecar = fmt.Errorf("proto: integer overflow")
+)
+
+func init() { proto.RegisterFile("networking/v1alpha3/sidecar.proto", fileDescriptorSidecar) }
+
+var fileDescriptorSidecar = []byte{
+ // 496 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x93, 0x3f, 0x6f, 0xd3, 0x40,
+ 0x18, 0xc6, 0x7b, 0xb1, 0x49, 0x9a, 0xd7, 0x15, 0x98, 0xa3, 0x83, 0xe9, 0x10, 0x4c, 0x86, 0xca,
+ 0x14, 0xc9, 0x16, 0xc9, 0xc0, 0x9f, 0x2d, 0x09, 0xae, 0x64, 0xc9, 0xb4, 0x91, 0x93, 0x02, 0x62,
+ 0x89, 0x2e, 0xf6, 0x35, 0x3d, 0xd5, 0xf8, 0xac, 0xf3, 0xa5, 0x51, 0xbe, 0x0c, 0x5f, 0x85, 0x95,
+ 0x91, 0x85, 0x1d, 0xe5, 0x43, 0x30, 0x23, 0xff, 0xa9, 0x5a, 0xa2, 0x10, 0xc4, 0xd6, 0xed, 0xde,
+ 0xf7, 0x9e, 0xe7, 0xf7, 0xfa, 0xf1, 0xdd, 0xc1, 0xd3, 0x84, 0xca, 0x05, 0x17, 0x97, 0x2c, 0x99,
+ 0x39, 0x57, 0x2f, 0x48, 0x9c, 0x5e, 0x90, 0xae, 0x93, 0xb1, 0x88, 0x86, 0x44, 0xd8, 0xa9, 0xe0,
+ 0x92, 0xe3, 0xc7, 0x2c, 0x93, 0x8c, 0xdb, 0x37, 0x42, 0xfb, 0x5a, 0x78, 0xb0, 0xd1, 0x3d, 0x23,
+ 0x92, 0x2e, 0xc8, 0xb2, 0x74, 0xb7, 0x7f, 0x21, 0x68, 0x8c, 0x4a, 0x1e, 0xfe, 0x08, 0x0f, 0x73,
+ 0x75, 0xcc, 0x49, 0x34, 0xc9, 0x68, 0x4c, 0x43, 0xc9, 0x85, 0x81, 0x4c, 0x64, 0x69, 0x9d, 0xe7,
+ 0xf6, 0x5f, 0xa7, 0xd8, 0x1f, 0x2a, 0xcf, 0xa8, 0xb2, 0x04, 0xfa, 0x62, 0xad, 0x83, 0x3d, 0x68,
+ 0xb0, 0x64, 0x26, 0x68, 0x96, 0x19, 0x35, 0x53, 0xb1, 0xb4, 0x8e, 0xb3, 0x85, 0xe7, 0xe5, 0x3b,
+ 0x5e, 0x29, 0xf7, 0x59, 0x26, 0x69, 0x42, 0x45, 0x70, 0xed, 0xc7, 0xc7, 0x50, 0xa7, 0x25, 0x49,
+ 0x29, 0x48, 0xf6, 0xbf, 0x48, 0xee, 0x9f, 0xa0, 0xca, 0xdd, 0xfe, 0x81, 0x60, 0x7f, 0xd3, 0x24,
+ 0xdc, 0x05, 0x35, 0xe5, 0x42, 0x56, 0xc1, 0x9f, 0x6c, 0xc1, 0x0f, 0xb9, 0x90, 0x41, 0x21, 0xc6,
+ 0x18, 0xd4, 0x29, 0x4b, 0x22, 0xa3, 0x66, 0x22, 0xab, 0x19, 0x14, 0x6b, 0xec, 0xc1, 0x5e, 0x48,
+ 0x52, 0x39, 0x17, 0x74, 0xf2, 0x99, 0x47, 0xd4, 0x50, 0x4c, 0x64, 0xdd, 0xef, 0x1c, 0x6e, 0x01,
+ 0x0e, 0x4a, 0xf9, 0x3b, 0x1e, 0xd1, 0x40, 0x0b, 0x6f, 0x0a, 0xfc, 0x0c, 0xf4, 0x88, 0x9e, 0x93,
+ 0x79, 0x2c, 0x27, 0x34, 0x89, 0x52, 0xce, 0x12, 0x69, 0xa8, 0xc5, 0xa8, 0x07, 0x55, 0xdf, 0xad,
+ 0xda, 0xed, 0xaf, 0x08, 0x1e, 0x6d, 0xc8, 0x7d, 0x27, 0x63, 0xed, 0xc3, 0xbd, 0x0b, 0x9e, 0xc9,
+ 0xcc, 0x50, 0x4d, 0xc5, 0x6a, 0x06, 0x65, 0xd1, 0xfe, 0x82, 0x40, 0x5f, 0xbf, 0x53, 0xf8, 0x14,
+ 0xea, 0x31, 0x99, 0xd2, 0x38, 0x33, 0x50, 0x71, 0xec, 0x2f, 0xff, 0xe3, 0x42, 0xda, 0x7e, 0xe1,
+ 0x74, 0x13, 0x29, 0x96, 0x41, 0x85, 0x39, 0x78, 0x0d, 0xda, 0xad, 0x36, 0xd6, 0x41, 0xb9, 0xa4,
+ 0xcb, 0xe2, 0xef, 0x34, 0x83, 0x7c, 0x99, 0x7f, 0xdc, 0x15, 0x89, 0xe7, 0xb4, 0x0a, 0x5f, 0x16,
+ 0x6f, 0x6a, 0xaf, 0xd0, 0xd1, 0x21, 0x68, 0x03, 0x9e, 0x9c, 0xb3, 0xd9, 0x28, 0xe4, 0x29, 0xc5,
+ 0x00, 0xf5, 0xe1, 0x59, 0xdf, 0xf7, 0x06, 0xfa, 0x0e, 0xd6, 0xa0, 0x31, 0x0c, 0xbc, 0xf7, 0xbd,
+ 0xb1, 0xab, 0xa3, 0xa3, 0x0e, 0x68, 0xb7, 0xa2, 0xe7, 0x7b, 0x6f, 0xdd, 0xe3, 0xde, 0x99, 0x3f,
+ 0xd6, 0x77, 0xf0, 0x1e, 0xec, 0x7a, 0xc3, 0x71, 0xaf, 0xef, 0xbb, 0x23, 0x1d, 0xe1, 0x5d, 0x50,
+ 0x4f, 0x4e, 0x4f, 0x5c, 0xbd, 0xd6, 0xb7, 0xbf, 0xad, 0x5a, 0xe8, 0xfb, 0xaa, 0x85, 0x7e, 0xae,
+ 0x5a, 0xe8, 0x93, 0x59, 0x86, 0x64, 0xdc, 0x21, 0x29, 0x73, 0x36, 0xbc, 0xe6, 0x69, 0xbd, 0x78,
+ 0xc6, 0xdd, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x62, 0xef, 0x1c, 0x27, 0x29, 0x04, 0x00, 0x00,
+}
diff --git a/networking/v1alpha3/sidecar.proto b/networking/v1alpha3/sidecar.proto
new file mode 100644
index 0000000000..369b6be38c
--- /dev/null
+++ b/networking/v1alpha3/sidecar.proto
@@ -0,0 +1,251 @@
+// Copyright 2018 Istio Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+import "networking/v1alpha3/gateway.proto";
+
+package istio.networking.v1alpha3;
+
+option go_package = "istio.io/api/networking/v1alpha3";
+
+// `Sidecar` describes the configuration of the sidecar proxy that mediates
+// inbound and outbound communication to the workload it is attached to. By
+// default, Istio will program all sidecar proxies in the mesh with the
+// necessary configuration required to reach every workload in the mesh, as
+// well as accept traffic on all the ports associated with the
+// workload. The Sidecar resource provides a way to fine tune the set of
+// ports, protocols that the proxy will accept when forwarding traffic to
+// and from the workload. In addition, it is possible to restrict the set
+// of services that the proxy can reach when forwarding outbound traffic
+// from the workload.
+//
+// Services and configuration in a mesh are organized into one or more
+// namespaces (e.g., a Kubernetes namespace or a CF org/space). A Sidecar
+// resource in a namespace will apply to one or more workloads in the same
+// namespace, selected using the workloadSelector. In the absence of a
+// workloadSelector, it will apply to all workloads in the same
+// namespace. When determining the Sidecar resource to be applied to a
+// workload, preference will be given to the resource with a
+// workloadSelector that selects this workload, over a Sidecar resource
+// without any workloadSelector.
+//
+// NOTE: *_Each namespace can have only one Sidecar resource without any
+// workload selector_*. The behavior of the system is undefined if more
+// than one selector-less Sidecar resources exist in a given namespace. The
+// behavior of the system is undefined if two or more Sidecar resources
+// with a workload selector select the same workload.
+//
+// The example below delcares a Sidecar resource in the prod-us1 namespace
+// that configures the sidecar to allow egress traffic to public services
+// in the prod-us1, prod-apis, and the istio-system namespaces.
+//
+// ```yaml
+// apiVersion: networking.istio.io/v1alpha3
+// kind: Sidecar
+// metadata:
+// name: default
+// namespace: prod-us1
+// spec:
+// egress:
+// - hosts:
+// - "prod-us1/*"
+// - "prod-apis/*"
+// - "istio-system/*"
+// ```
+//
+message Sidecar {
+ // $hide_from_docs
+ // Criteria used to select the specific set of pods/VMs on which this
+ // sidecar configuration should be applied. If omitted, the sidecar
+ // configuration will be applied to all workloads in the current config
+ // namespace.
+ WorkloadSelector workload_selector = 1;
+
+ // $hide_from_docs
+ // Ingress specifies the configuration of the sidecar for processing
+ // inbound traffic to the attached workload. If omitted, Istio will
+ // autoconfigure the sidecar based on the information about the workload
+ // obtained from the orchestration platform (e.g., exposed ports, services,
+ // etc.).
+ repeated IstioIngressListener ingress = 2;
+
+ // Egress specifies the configuration of the sidecar for processing
+ // outbound traffic from the attached workload to other services in the
+ // mesh. If omitted, Istio will autoconfigure the sidecar to be able to
+ // reach every service in the mesh that is visible to this namespace.
+ repeated IstioEgressListener egress = 3;
+}
+
+// $hide_from_docs
+// IstioIngressListener specifies the properties of an inbound
+// traffic listener on the sidecar proxy attached to a workload.
+message IstioIngressListener {
+ // REQUIRED. The port associated with the listener. If using
+ // unix domain socket, use 0 as the port number, with a valid
+ // protocol.
+ Port port = 1;
+
+ // The ip or the unix domain socket to which the listener should be bound
+ // to. Format: x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux
+ // abstract namespace). If omitted, Istio will autoconfigure the defaults
+ // based on imported services and the workload to which this
+ // configuration is applied to.
+ string bind = 2;
+
+ // When the bind address is an IP, the captureMode option dictates
+ // how traffic to the listener is expected to be captured (or not).
+ CaptureMode capture_mode = 3;
+
+ // The loopback IP endpoint or unix domain socket to which traffic should
+ // be forwarded to by default. This configuration can be used to redirect
+ // traffic arriving at the bind point on the sidecar to a port or unix
+ // domain socket where the application workload is listening for
+ // connections. Format should be 127.0.0.1:PORT or unix:///path/to/socket
+ string default_endpoint = 4;
+}
+
+// IstioEgressListener specifies the properties of an outbound traffic
+// listener on the sidecar proxy attached to a workload.
+message IstioEgressListener {
+ // $hide_from_docs
+ // The port associated with the listener. If using unix domain socket,
+ // use 0 as the port number, with a valid protocol. The port if
+ // specified, will be used as the default destination port associated
+ // with the imported hosts. If the port is omitted, Istio will infer the
+ // listener ports based on the imported hosts. Note that when multiple
+ // egress listeners are specified, where one or more listeners have
+ // specific ports while others have no port, the hosts exposed on a
+ // listener port will be based on the listener with the most specific
+ // port.
+ Port port = 1;
+
+ // $hide_from_docs
+ // The ip or the unix domain socket to which the listener should be bound
+ // to. Port MUST be specified if bind is not empty. Format:
+ // x.x.x.x or unix:///path/to/uds or unix://@foobar (Linux abstract
+ // namespace). If omitted, Istio will autoconfigure the defaults based on
+ // imported services and the workload to which this configuration is
+ // applied to.
+ string bind = 2;
+
+ // When the bind address is an IP, the captureMode option dictates
+ // how traffic to the listener is expected to be captured (or not).
+ CaptureMode capture_mode = 3;
+
+ // One or more services/virtualServices exposed by the listener in
+ // namespace/dnsName format. Publicly scoped services and
+ // VirtualServices from remote namespaces corresponding to the specified
+ // hosts will be imported. The service in a namespace can be a service in
+ // the service registry (e.g., a kubernetes or cloud foundry service) or
+ // a service specified via ServiceEntry configuration. In addition, any
+ // publicly scoped DestinationRule associated with the imported services
+ // will also be imported.
+ //
+ // Set the namespace to * to import a particular service from any
+ // available namespace (e.g., "*/foo.example.com"). Set the dnsName field
+ // to * to import all services from the specified namespace (e.g.,
+ // "prod/*"). The services should be specified using FQDN format.
+ //
+ // NOTE: Only exported services and configuration artifacts from a
+ // namespace can be imported. Private services/configuration will not be
+ // imported. Refer to the scope setting associated with VirtualService,
+ // DestinationRule, ServiceEntry, etc. for details.
+ repeated string hosts = 4;
+}
+
+// ConfigScope defines the visibility of an Istio configuration artifact in
+// a namespace when the namespace is imported. By default all
+// configuration artifacts are public. Configurations with private scope
+// will not be imported when the namespace containing the configuration is
+// imported in a Sidecar.
+enum ConfigScope {
+ // Config with this scope are visible to all workloads in the mesh
+ PUBLIC = 0;
+
+ // Configs with this scope are visible to only workloads in the same
+ // namespace as the configuration resource.
+ PRIVATE = 1;
+}
+
+// WorkloadSelector specifies the criteria used to determine if the Gateway
+// or Sidecar resource can be applied to a proxy. The matching criteria
+// includes the metadata associated with a proxy, workload info such as
+// labels attached to the pod/VM, or any other info that the proxy provides
+// to Istio during the initial handshake. If multiple conditions are
+// specified, all conditions need to match in order for the workload to be
+// selected. Currently, only label based selection mechanism is supported.
+message WorkloadSelector {
+ // One or more labels that indicate a specific set of pods/VMs on which
+ // this sidecar configuration should be applied. The scope of label
+ // search is restricted to the configuration namespace in which the the
+ // resource is present.
+ map labels = 1;
+
+ // $hide_from_docs
+ // other forms of identification supplied by the proxy
+ // when connecting to Pilot, such as X509 fields, tenant IDs, JWT,
+ // etc. This has nothing to do with the request level authN etc.
+}
+
+// $hide_from_docs
+// CaptureMode describes how traffic to a listener is expected to be
+// captured. Applicable only when the listener is bound to an IP.
+enum CaptureMode {
+ // The default capture mode defined by the environment
+ DEFAULT = 0;
+
+ // Capture traffic using IPtables redirection
+ IPTABLES = 1;
+
+ // No traffic capture. When used in egress listener, the application is
+ // expected to explicitly communicate with the listener port/unix
+ // domain socket. When used in ingress listener, care needs to be taken
+ // to ensure that the listener port is not in use by other processes on
+ // the host.
+ NONE = 2;
+}
+
+// $hide_from_docs
+// The example below delcares a Sidecar resource in the prod-us1 namespace
+// that accepts inbound HTTP traffic on port 9080 and forwards
+// it to the attached workload listening on a unix domain socket. In the
+// egress direction, in addition to the istio-system namespace, the sidecar
+// proxies only HTTP traffic bound for port 9080 for services in the
+// prod-us1 namespace.
+//
+// ```yaml
+// apiVersion: networking.istio.io/v1alpha3
+// kind: Sidecar
+// metadata:
+// name: default
+// namespace: prod-us1
+// spec:
+// ingress:
+// - port:
+// number: 9080
+// protocol: HTTP
+// name: somename
+// defaultEndpoint: unix:///var/run/someuds.sock
+// egress:
+// - hosts:
+// - "istio-system/*"
+// - port:
+// number: 9080
+// protocol: HTTP
+// name: egresshttp
+// hosts:
+// - "prod-us1/*"
+// ```
+//
diff --git a/networking/v1alpha3/virtual_service.pb.go b/networking/v1alpha3/virtual_service.pb.go
index 6affd52148..0e2c10eb3c 100644
--- a/networking/v1alpha3/virtual_service.pb.go
+++ b/networking/v1alpha3/virtual_service.pb.go
@@ -9131,119 +9131,119 @@ func init() {
}
var fileDescriptorVirtualService = []byte{
- // 1818 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0xe3, 0x48,
- 0x15, 0x1f, 0xd9, 0x96, 0xff, 0x3c, 0x3b, 0x99, 0xa4, 0xc9, 0xce, 0x6a, 0xcc, 0xd6, 0x90, 0xf5,
- 0xb2, 0x4b, 0xa8, 0xdd, 0x75, 0x0a, 0x0f, 0x2c, 0xa9, 0x65, 0x76, 0x76, 0x93, 0xcc, 0xcc, 0x7a,
- 0xa8, 0x19, 0x26, 0x25, 0x87, 0x3d, 0x70, 0x51, 0xc9, 0xd2, 0x8b, 0x2d, 0x46, 0x96, 0x44, 0xab,
- 0x95, 0xc4, 0xc5, 0x91, 0x3f, 0x77, 0x28, 0xae, 0x14, 0x9f, 0x82, 0x0b, 0x17, 0xae, 0x9c, 0x28,
- 0x3e, 0x01, 0x35, 0x35, 0x07, 0xae, 0x7c, 0x05, 0xaa, 0xff, 0x48, 0x56, 0xe2, 0xc4, 0xb2, 0xc3,
- 0x40, 0xed, 0x29, 0xee, 0xee, 0xf7, 0x7b, 0xfd, 0xfa, 0x75, 0xbf, 0xf7, 0x7e, 0x7a, 0x81, 0xef,
- 0x06, 0xc8, 0xce, 0x42, 0xfa, 0xd2, 0x0b, 0x46, 0xbb, 0xa7, 0xdf, 0xb3, 0xfd, 0x68, 0x6c, 0xdf,
- 0xdf, 0x3d, 0xf5, 0x28, 0x4b, 0x6c, 0xdf, 0x8a, 0x91, 0x9e, 0x7a, 0x0e, 0x76, 0x23, 0x1a, 0xb2,
- 0x90, 0xdc, 0xf5, 0x62, 0xe6, 0x85, 0xdd, 0x19, 0xa0, 0x9b, 0x02, 0xda, 0xf7, 0x46, 0x61, 0x38,
- 0xf2, 0x71, 0x57, 0x08, 0x0e, 0x93, 0x93, 0x5d, 0x37, 0xa1, 0x36, 0xf3, 0xc2, 0x40, 0x42, 0xe7,
- 0xd7, 0xcf, 0xa8, 0x1d, 0x45, 0x48, 0x63, 0xb5, 0xfe, 0xd1, 0x55, 0x56, 0xa8, 0xdd, 0x2d, 0x17,
- 0x23, 0x0c, 0x5c, 0x0c, 0x9c, 0xa9, 0x94, 0xee, 0xfc, 0xb9, 0x04, 0xeb, 0x5f, 0x49, 0x13, 0x07,
- 0x52, 0x86, 0x6c, 0x81, 0x3e, 0x0e, 0x63, 0x16, 0x1b, 0xda, 0x76, 0x79, 0xa7, 0x61, 0xca, 0x01,
- 0x69, 0x43, 0x7d, 0x64, 0x33, 0x3c, 0xb3, 0xa7, 0xb1, 0x51, 0x12, 0x0b, 0xd9, 0x98, 0xec, 0x41,
- 0x65, 0xcc, 0x58, 0x64, 0x94, 0xb7, 0xcb, 0x3b, 0xcd, 0xde, 0xb7, 0xbb, 0xd7, 0x1e, 0xae, 0xdb,
- 0x3f, 0x3e, 0x3e, 0x32, 0xc3, 0x84, 0xa1, 0x29, 0x10, 0xe4, 0x07, 0x50, 0x66, 0x4e, 0x64, 0x54,
- 0x04, 0xf0, 0xbd, 0x05, 0xc0, 0xe3, 0x43, 0x85, 0xe3, 0xf2, 0x02, 0xe6, 0xc7, 0x86, 0x5e, 0x0c,
- 0x7b, 0x36, 0x48, 0x61, 0x7e, 0x4c, 0x9e, 0x42, 0xcb, 0x09, 0x83, 0x13, 0x6f, 0x64, 0xc5, 0x4e,
- 0x18, 0xa1, 0x51, 0xdd, 0xd6, 0x76, 0xd6, 0x7b, 0x1f, 0x2c, 0xc0, 0x1f, 0x0a, 0xf1, 0x01, 0x97,
- 0x36, 0x9b, 0xce, 0x6c, 0xd0, 0x39, 0x85, 0xe6, 0x23, 0x8c, 0x99, 0x17, 0x88, 0xab, 0x21, 0x04,
- 0x2a, 0xdc, 0x4d, 0x86, 0xb6, 0xad, 0xed, 0x34, 0x4c, 0xf1, 0x9b, 0xdc, 0x81, 0x6a, 0x9c, 0x0c,
- 0x63, 0x64, 0x46, 0x49, 0xcc, 0xaa, 0x11, 0xf9, 0x11, 0x54, 0xa2, 0x90, 0x32, 0xa3, 0xbc, 0xad,
- 0xed, 0x34, 0x7b, 0xdf, 0x59, 0xb0, 0xfb, 0x51, 0x48, 0xd9, 0x00, 0x7d, 0x74, 0x58, 0x48, 0x4d,
- 0x01, 0xea, 0xfc, 0x1b, 0xa0, 0x91, 0x39, 0x91, 0xec, 0x83, 0x3e, 0xb1, 0x99, 0x33, 0x16, 0x57,
- 0xd5, 0xec, 0x7d, 0x58, 0xe0, 0xf9, 0xe7, 0x5c, 0xd6, 0xc4, 0x5f, 0x24, 0x18, 0x33, 0x53, 0x22,
- 0xc9, 0x63, 0xd0, 0x29, 0xd7, 0x25, 0x2e, 0xb5, 0xd9, 0xdb, 0x5d, 0xe6, 0xf2, 0x72, 0x27, 0x37,
- 0x25, 0x9a, 0x1c, 0x42, 0x9d, 0xa2, 0xeb, 0x51, 0x74, 0x96, 0x39, 0x98, 0xd0, 0xa4, 0xc4, 0xcd,
- 0x0c, 0x48, 0xbe, 0x80, 0x1a, 0xc5, 0x33, 0xea, 0x31, 0x34, 0x2a, 0x42, 0xc7, 0x07, 0x85, 0x3a,
- 0x84, 0xb4, 0x99, 0xc2, 0xc8, 0x87, 0xb0, 0x79, 0x86, 0xc3, 0x38, 0x74, 0x5e, 0x22, 0xb3, 0x92,
- 0x68, 0x44, 0x6d, 0x17, 0x0d, 0x7d, 0x5b, 0xdb, 0xa9, 0x9b, 0x1b, 0xd9, 0xc2, 0x4f, 0xe5, 0x3c,
- 0xb9, 0x0f, 0x35, 0xe6, 0x4d, 0x30, 0x4c, 0x98, 0x78, 0x09, 0xcd, 0xde, 0xdd, 0xae, 0x8c, 0xad,
- 0x6e, 0x1a, 0x5b, 0xdd, 0x47, 0x2a, 0xf6, 0xcc, 0x54, 0x92, 0x3c, 0xe4, 0x36, 0x32, 0xea, 0x61,
- 0x6c, 0xd4, 0x04, 0xa8, 0xf0, 0xb9, 0x23, 0xa3, 0x53, 0x33, 0x05, 0x91, 0x43, 0xd0, 0x4f, 0xec,
- 0xc4, 0x67, 0x46, 0x5d, 0xa0, 0x3f, 0x2e, 0x40, 0x3f, 0xe1, 0xb2, 0x4f, 0x83, 0x9f, 0xa3, 0x23,
- 0xbd, 0x2d, 0xb0, 0xe4, 0x21, 0x54, 0x27, 0x1e, 0xa5, 0x21, 0x35, 0x1a, 0x85, 0x7e, 0xca, 0x5f,
- 0x96, 0x42, 0x91, 0x27, 0xd0, 0x74, 0x42, 0x1a, 0x5b, 0x51, 0xe8, 0x7b, 0xce, 0xd4, 0x00, 0xa1,
- 0xe4, 0xfd, 0x85, 0x71, 0x40, 0xe3, 0x23, 0x21, 0x6c, 0x82, 0x93, 0xfd, 0x26, 0x43, 0x58, 0xe7,
- 0xb9, 0x27, 0x70, 0xad, 0x31, 0xda, 0x2e, 0xd2, 0xd8, 0x68, 0x8a, 0x57, 0xf4, 0xc3, 0x65, 0x5e,
- 0x51, 0x77, 0x5f, 0x40, 0xfb, 0x12, 0xf9, 0x38, 0x60, 0x74, 0x7a, 0x50, 0x32, 0x34, 0x73, 0xcd,
- 0xce, 0xcf, 0x93, 0x4f, 0xe1, 0x6d, 0x8a, 0x93, 0xf0, 0x14, 0x2d, 0x8a, 0x71, 0x14, 0x06, 0x31,
- 0x66, 0x9b, 0xb5, 0x78, 0x1e, 0x12, 0x98, 0xb7, 0xa4, 0x88, 0xa9, 0x24, 0x52, 0xec, 0x2f, 0xe1,
- 0x6d, 0x65, 0xdf, 0x1c, 0x76, 0x4d, 0x18, 0xfa, 0xf9, 0x0a, 0x86, 0x5e, 0x52, 0x3e, 0x33, 0xf8,
- 0x2d, 0xfb, 0xaa, 0x75, 0xb2, 0x07, 0x77, 0x32, 0xc3, 0x45, 0xc8, 0x65, 0x7b, 0xaf, 0x67, 0x76,
- 0x6f, 0xa5, 0x76, 0x0b, 0x81, 0x14, 0x79, 0x0e, 0x77, 0x32, 0xb3, 0x2f, 0x22, 0x6f, 0x0b, 0xab,
- 0x1f, 0xae, 0x64, 0x75, 0x5e, 0xf5, 0xcc, 0xe8, 0x2d, 0xfb, 0x8a, 0x65, 0xf2, 0x00, 0x6a, 0xe9,
- 0x56, 0x1b, 0xe2, 0x51, 0x74, 0x16, 0x6d, 0x25, 0x25, 0xcd, 0x14, 0xd2, 0xfe, 0x02, 0xc8, 0xfc,
- 0x9d, 0x92, 0x0d, 0x28, 0xbf, 0xc4, 0xa9, 0x4a, 0x8d, 0xfc, 0x27, 0xaf, 0x30, 0xa7, 0xb6, 0x9f,
- 0xa0, 0x4a, 0x8c, 0x72, 0xf0, 0x69, 0x69, 0x4f, 0x6b, 0xf7, 0xa1, 0x7d, 0xbd, 0xb3, 0x57, 0xd2,
- 0xf4, 0x25, 0xdc, 0xbd, 0xd6, 0x01, 0xab, 0x28, 0xea, 0xfc, 0xab, 0x0c, 0xb5, 0xd4, 0x3d, 0xcf,
- 0x79, 0xf0, 0x0b, 0x75, 0x02, 0xdb, 0xec, 0xdd, 0x2f, 0x76, 0x8f, 0xfa, 0xfb, 0x22, 0x42, 0x99,
- 0x4a, 0x62, 0x33, 0xd5, 0x41, 0x5e, 0xf0, 0xa4, 0x29, 0xcf, 0x29, 0xf6, 0xbd, 0xa1, 0xbe, 0x4c,
- 0x49, 0xfb, 0x2f, 0x25, 0xd8, 0xb8, 0xbc, 0x4c, 0x7e, 0x02, 0x65, 0x5e, 0x84, 0x64, 0x89, 0x78,
- 0x70, 0x83, 0x0d, 0xba, 0x03, 0x64, 0xc2, 0x6f, 0x26, 0x57, 0xc4, 0xf5, 0xd9, 0xae, 0xab, 0xea,
- 0xc5, 0x8d, 0xf4, 0xed, 0xbb, 0xae, 0xd2, 0x67, 0xbb, 0x2e, 0xaf, 0x93, 0x32, 0x0a, 0x04, 0x7f,
- 0x68, 0x98, 0x6a, 0xd4, 0xfe, 0x04, 0xea, 0xe9, 0xc6, 0x2b, 0xdd, 0xfc, 0x27, 0x50, 0x4f, 0x37,
- 0x58, 0xe9, 0xa2, 0x7f, 0xaf, 0x41, 0x3d, 0xe5, 0x0b, 0x3c, 0x4d, 0xe7, 0x2b, 0xeb, 0xc7, 0x8b,
- 0x39, 0x86, 0x28, 0xac, 0xfb, 0x8c, 0x51, 0x6f, 0x98, 0x30, 0x8c, 0xd3, 0xda, 0xba, 0x7f, 0xb1,
- 0xb6, 0x2e, 0x2a, 0xcf, 0xd7, 0xd4, 0xd5, 0xce, 0xef, 0xb8, 0x51, 0x8a, 0xfb, 0x90, 0x83, 0x8b,
- 0x46, 0x7d, 0xb4, 0x40, 0xdf, 0xb3, 0xef, 0xff, 0xef, 0x6c, 0xfa, 0x93, 0x0e, 0x1b, 0x97, 0xe9,
- 0x04, 0xd9, 0x83, 0x72, 0x42, 0x3d, 0x15, 0x16, 0x8b, 0xea, 0xd1, 0x80, 0x51, 0x2f, 0x18, 0x49,
- 0x2c, 0x87, 0xf0, 0x62, 0x16, 0x3b, 0x63, 0x9c, 0xa4, 0x31, 0xb0, 0x2c, 0x58, 0xa1, 0x44, 0x31,
- 0x44, 0x36, 0x0e, 0x5d, 0x45, 0x3c, 0x96, 0xc6, 0x4b, 0x14, 0x79, 0x04, 0x0d, 0x3b, 0x61, 0xe3,
- 0x90, 0x7a, 0x6c, 0xba, 0x04, 0xef, 0xc8, 0xab, 0x98, 0x01, 0x89, 0x39, 0xcb, 0x9c, 0x92, 0x96,
- 0xee, 0xad, 0x40, 0xc6, 0xba, 0xf9, 0xec, 0x94, 0xe5, 0x53, 0xce, 0x2a, 0x05, 0x53, 0xe4, 0xec,
- 0x64, 0x4d, 0x12, 0x40, 0x32, 0x84, 0xb5, 0x38, 0x4c, 0xa8, 0x83, 0x96, 0x6f, 0x0f, 0xd1, 0xe7,
- 0x2c, 0x84, 0xef, 0xf6, 0xd9, 0x2a, 0xbb, 0x0d, 0x84, 0x82, 0x67, 0x02, 0x2f, 0xb7, 0x6c, 0xc5,
- 0xb9, 0xa9, 0x0b, 0x5c, 0xbf, 0x7e, 0x91, 0xeb, 0xb7, 0x87, 0xd0, 0x2a, 0x48, 0xa5, 0x0f, 0xf2,
- 0x11, 0xb6, 0xbc, 0x2f, 0x73, 0x11, 0xfc, 0x39, 0x6c, 0xce, 0x99, 0xb8, 0x52, 0x28, 0xff, 0x5d,
- 0x87, 0xad, 0xab, 0xd8, 0x2a, 0xe9, 0x43, 0xd3, 0x9d, 0x0d, 0x97, 0x78, 0xad, 0xf9, 0xe7, 0x9f,
- 0x87, 0xf2, 0xac, 0x75, 0x86, 0xde, 0x68, 0x2c, 0xd9, 0xbd, 0x6e, 0xaa, 0xd1, 0x22, 0xba, 0x52,
- 0x2e, 0xa2, 0x2b, 0xbf, 0xd5, 0xae, 0xe7, 0x2b, 0xf2, 0x13, 0xe9, 0xc7, 0x2b, 0xd2, 0xf3, 0x37,
- 0x4e, 0x5d, 0xf4, 0x02, 0xea, 0xf2, 0x2b, 0xed, 0x5a, 0xee, 0x52, 0x15, 0x27, 0x78, 0x7a, 0xd3,
- 0x13, 0xdc, 0x90, 0xc6, 0xd4, 0x56, 0xa7, 0x31, 0x5f, 0x43, 0x12, 0xc2, 0x60, 0xe3, 0xff, 0xff,
- 0x96, 0x3b, 0x7f, 0x2d, 0xc1, 0xe6, 0x5c, 0x21, 0x21, 0xbb, 0xf0, 0x8d, 0x1c, 0xd8, 0x8a, 0x93,
- 0x61, 0x80, 0x59, 0xb7, 0x80, 0xe4, 0x96, 0x06, 0x72, 0x25, 0x4b, 0x63, 0xa5, 0x5c, 0x1a, 0x7b,
- 0x2f, 0x4b, 0x63, 0x12, 0x2f, 0x72, 0x77, 0x23, 0xcd, 0x43, 0x12, 0x49, 0x9c, 0xcb, 0xb9, 0xae,
- 0x52, 0x48, 0x7f, 0xe7, 0xcc, 0x5d, 0x29, 0xd9, 0xe9, 0x97, 0x92, 0xdd, 0x7f, 0x9d, 0x88, 0xfe,
- 0x59, 0x02, 0x32, 0xcf, 0x0f, 0xc8, 0x37, 0xa1, 0x11, 0x07, 0x9e, 0x95, 0x6f, 0xb3, 0xd4, 0xe3,
- 0xc0, 0xeb, 0x8b, 0x4e, 0xcb, 0x35, 0xfe, 0x2d, 0x15, 0xfa, 0xb7, 0xbc, 0xc8, 0xbf, 0x95, 0x2b,
- 0xfc, 0xeb, 0x5e, 0xf6, 0xaf, 0x5e, 0xf8, 0x51, 0x34, 0x7f, 0x98, 0x95, 0x1c, 0x5c, 0x7d, 0xd3,
- 0x0e, 0x7e, 0x08, 0xad, 0x7c, 0x33, 0x81, 0x63, 0x53, 0x1a, 0xd2, 0x90, 0xf4, 0xe2, 0x9d, 0x7c,
- 0x79, 0x97, 0xf8, 0xd9, 0x44, 0xe7, 0x33, 0x68, 0xe6, 0x1a, 0x09, 0x2b, 0xc3, 0x11, 0x9a, 0xb9,
- 0x1a, 0x46, 0xee, 0x80, 0x8e, 0xe7, 0xb6, 0xa3, 0xfa, 0x40, 0xfd, 0x5b, 0xa6, 0x1c, 0x12, 0x03,
- 0xaa, 0x11, 0xc5, 0x13, 0xef, 0x5c, 0x6a, 0xe8, 0xdf, 0x32, 0xd5, 0x98, 0x23, 0x28, 0x8e, 0xf0,
- 0x5c, 0xbe, 0x7f, 0x8e, 0x10, 0xc3, 0x83, 0x16, 0x80, 0xe0, 0x6b, 0x16, 0x9b, 0x46, 0xd8, 0xf9,
- 0x8d, 0xa6, 0xba, 0x3e, 0xc8, 0xfd, 0xd3, 0x86, 0xba, 0xcd, 0x18, 0x4e, 0x22, 0xf1, 0x78, 0x78,
- 0xc0, 0x66, 0x63, 0xb2, 0x0f, 0xb7, 0x23, 0xa4, 0x16, 0xa3, 0x53, 0x2b, 0xed, 0x6d, 0x94, 0x8a,
- 0x7a, 0x1b, 0x6b, 0x11, 0xd2, 0x63, 0x3a, 0x3d, 0x56, 0x1d, 0x8e, 0xbb, 0xfc, 0xab, 0x84, 0x2b,
- 0x08, 0x03, 0x15, 0x95, 0xa2, 0x79, 0x31, 0x7d, 0x11, 0x74, 0xfe, 0x58, 0x02, 0x98, 0xb5, 0x02,
- 0xc8, 0xbb, 0xd0, 0xb2, 0x7d, 0x3f, 0x3c, 0xb3, 0x42, 0xea, 0x8d, 0xbc, 0x40, 0xbd, 0xe4, 0xa6,
- 0x98, 0x7b, 0x21, 0xa6, 0xf8, 0x3b, 0x94, 0x22, 0x92, 0x6c, 0xa5, 0xcf, 0x58, 0xe2, 0x9e, 0xcb,
- 0xb9, 0x99, 0xd0, 0x85, 0x4a, 0xa9, 0x84, 0xd2, 0x9c, 0xfe, 0x3e, 0xac, 0xe3, 0x79, 0x14, 0x5e,
- 0x2a, 0x89, 0x0d, 0x73, 0x4d, 0xce, 0xa6, 0x62, 0x3d, 0xa8, 0x4d, 0xec, 0x73, 0xcb, 0x1e, 0xc9,
- 0xbe, 0xcf, 0xc2, 0x83, 0x57, 0x27, 0xf6, 0xf9, 0xfe, 0x08, 0xc9, 0x97, 0xb0, 0x29, 0xf7, 0x77,
- 0x28, 0xba, 0x18, 0x30, 0xcf, 0xf6, 0x63, 0xd5, 0x12, 0x6a, 0xcf, 0xa1, 0x0f, 0xc2, 0xd0, 0xff,
- 0x8a, 0xbf, 0x3f, 0x73, 0x43, 0x80, 0x0e, 0x67, 0x98, 0xce, 0x1f, 0x74, 0x20, 0xf3, 0x5d, 0x1b,
- 0xf2, 0x14, 0x74, 0x17, 0x7d, 0x7b, 0xba, 0xcc, 0x47, 0xe3, 0x1c, 0xba, 0xfb, 0x88, 0x43, 0x4d,
- 0xa9, 0x81, 0xab, 0xb2, 0x87, 0x69, 0x32, 0x5d, 0x59, 0xd5, 0x3e, 0x87, 0x9a, 0x52, 0x43, 0xfb,
- 0xd7, 0x25, 0xd0, 0x85, 0x6e, 0xf2, 0x0e, 0xd4, 0x22, 0xa4, 0x0e, 0x06, 0xf2, 0xe1, 0xea, 0xa2,
- 0xb2, 0xa6, 0x53, 0xe4, 0x01, 0x34, 0x4f, 0xbc, 0x73, 0x74, 0x2d, 0x79, 0x86, 0xa2, 0xe7, 0xd4,
- 0xbf, 0x65, 0x82, 0x90, 0x97, 0xba, 0xfb, 0xb0, 0xc9, 0x2f, 0x28, 0x90, 0x2e, 0x52, 0x3a, 0xca,
- 0xc5, 0x3a, 0x36, 0x72, 0x28, 0xa9, 0xe9, 0x00, 0x40, 0x99, 0x34, 0xbb, 0xdc, 0x45, 0x75, 0xfd,
- 0x48, 0x0a, 0x9b, 0x39, 0xd4, 0xc1, 0x26, 0xdc, 0x1e, 0x33, 0x16, 0x49, 0x33, 0x44, 0x6c, 0xb5,
- 0x5f, 0x69, 0xa0, 0x0b, 0xbf, 0x14, 0xb8, 0xe1, 0x5d, 0x68, 0x0a, 0x68, 0xcc, 0x6c, 0x96, 0xc4,
- 0xb2, 0x52, 0xf2, 0xb3, 0xf2, 0xc9, 0x81, 0x98, 0xe3, 0x22, 0x23, 0x1a, 0x39, 0xa9, 0x48, 0x1a,
- 0xd2, 0xc0, 0x27, 0x67, 0x22, 0x1c, 0xd0, 0xb3, 0x50, 0xb4, 0xef, 0x2a, 0xa9, 0x88, 0x98, 0x7c,
- 0x2c, 0x9a, 0x73, 0x6f, 0xe2, 0x9c, 0x2d, 0x00, 0xb1, 0x81, 0x4c, 0x1f, 0x4f, 0xa0, 0x95, 0x6f,
- 0x25, 0xf3, 0x74, 0x14, 0x24, 0x93, 0x21, 0x52, 0x71, 0xce, 0x35, 0x9e, 0x8e, 0xe4, 0x98, 0x6c,
- 0x41, 0x25, 0xb0, 0xd5, 0x97, 0x18, 0xb7, 0x4b, 0x8c, 0x0e, 0xaa, 0xb2, 0xc0, 0x74, 0xbe, 0x05,
- 0x35, 0xb5, 0xd9, 0x2c, 0x23, 0x73, 0x0d, 0x9a, 0xca, 0xc8, 0x07, 0xdd, 0xbf, 0xbd, 0xbe, 0xa7,
- 0xfd, 0xe3, 0xf5, 0x3d, 0xed, 0xd5, 0xeb, 0x7b, 0xda, 0xcf, 0xb6, 0xa5, 0xcd, 0x5e, 0xb8, 0x6b,
- 0x47, 0xde, 0xee, 0x15, 0xff, 0x96, 0x18, 0x56, 0xc5, 0xcd, 0xdf, 0xff, 0x4f, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0x0d, 0x63, 0x49, 0x86, 0x3a, 0x19, 0x00, 0x00,
+ // 1812 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0x1b, 0x49,
+ 0x15, 0xcf, 0x48, 0x1a, 0xfd, 0x79, 0x92, 0x1d, 0xbb, 0xf1, 0x66, 0x27, 0x62, 0x2b, 0x38, 0x5a,
+ 0x76, 0x31, 0xb5, 0xac, 0x5c, 0x28, 0xb0, 0xb8, 0x96, 0x6c, 0x76, 0x6d, 0x27, 0x59, 0x85, 0x4a,
+ 0x88, 0x6b, 0x64, 0xf6, 0xc0, 0x65, 0xaa, 0x35, 0xd3, 0x96, 0x86, 0x8c, 0x66, 0x86, 0xee, 0x1e,
+ 0xdb, 0x2a, 0x8e, 0xfc, 0xb9, 0x43, 0x71, 0xa5, 0xf8, 0x14, 0x5c, 0xb8, 0x70, 0xe5, 0x44, 0xf1,
+ 0x09, 0xa8, 0x54, 0x0e, 0x5c, 0xf9, 0x0a, 0x54, 0xff, 0x99, 0xd1, 0xd8, 0xb2, 0x35, 0x92, 0x09,
+ 0x14, 0x27, 0xab, 0xbb, 0xdf, 0xef, 0xf5, 0xeb, 0xd7, 0xfd, 0xde, 0xfb, 0xcd, 0x33, 0x7c, 0x3b,
+ 0x24, 0xfc, 0x2c, 0xa2, 0xaf, 0xfc, 0x70, 0xb4, 0x7b, 0xfa, 0x5d, 0x1c, 0xc4, 0x63, 0xfc, 0x60,
+ 0xf7, 0xd4, 0xa7, 0x3c, 0xc1, 0x81, 0xc3, 0x08, 0x3d, 0xf5, 0x5d, 0xd2, 0x8d, 0x69, 0xc4, 0x23,
+ 0x74, 0xd7, 0x67, 0xdc, 0x8f, 0xba, 0x33, 0x40, 0x37, 0x05, 0xb4, 0xef, 0x8d, 0xa2, 0x68, 0x14,
+ 0x90, 0x5d, 0x29, 0x38, 0x4c, 0x4e, 0x76, 0xbd, 0x84, 0x62, 0xee, 0x47, 0xa1, 0x82, 0xce, 0xaf,
+ 0x9f, 0x51, 0x1c, 0xc7, 0x84, 0x32, 0xbd, 0x7e, 0xff, 0x2a, 0x2b, 0x98, 0xef, 0x11, 0x17, 0x53,
+ 0x25, 0xd2, 0xf9, 0x53, 0x09, 0xd6, 0xbf, 0x52, 0x76, 0x0d, 0x94, 0x59, 0x68, 0x0b, 0xcc, 0x71,
+ 0xc4, 0x38, 0xb3, 0x8c, 0xed, 0xf2, 0x4e, 0xc3, 0x56, 0x03, 0xd4, 0x86, 0xfa, 0x08, 0x73, 0x72,
+ 0x86, 0xa7, 0xcc, 0x2a, 0xc9, 0x85, 0x6c, 0x8c, 0xf6, 0xa0, 0x32, 0xe6, 0x3c, 0xb6, 0xca, 0xdb,
+ 0xe5, 0x9d, 0x66, 0xef, 0x9b, 0xdd, 0x6b, 0x4f, 0xd4, 0xed, 0x1f, 0x1f, 0x1f, 0xd9, 0x51, 0xc2,
+ 0x89, 0x2d, 0x11, 0xe8, 0xfb, 0x50, 0xe6, 0x6e, 0x6c, 0x55, 0x24, 0xf0, 0xfd, 0x05, 0xc0, 0xe3,
+ 0x43, 0x8d, 0x13, 0xf2, 0x12, 0x16, 0x30, 0xcb, 0x2c, 0x86, 0x3d, 0x1f, 0xa4, 0xb0, 0x80, 0xa1,
+ 0x67, 0xd0, 0x72, 0xa3, 0xf0, 0xc4, 0x1f, 0x39, 0xcc, 0x8d, 0x62, 0x62, 0x55, 0xb7, 0x8d, 0x9d,
+ 0xf5, 0xde, 0x87, 0x0b, 0xf0, 0x87, 0x52, 0x7c, 0x20, 0xa4, 0xed, 0xa6, 0x3b, 0x1b, 0x74, 0x4e,
+ 0xa1, 0xf9, 0x98, 0x30, 0xee, 0x87, 0xf2, 0x3e, 0x10, 0x82, 0x8a, 0x70, 0x93, 0x65, 0x6c, 0x1b,
+ 0x3b, 0x0d, 0x5b, 0xfe, 0x46, 0x77, 0xa0, 0xca, 0x92, 0x21, 0x23, 0xdc, 0x2a, 0xc9, 0x59, 0x3d,
+ 0x42, 0x3f, 0x84, 0x4a, 0x1c, 0x51, 0x6e, 0x95, 0xb7, 0x8d, 0x9d, 0x66, 0xef, 0x5b, 0x0b, 0x76,
+ 0x3f, 0x8a, 0x28, 0x1f, 0x90, 0x80, 0xb8, 0x3c, 0xa2, 0xb6, 0x04, 0x75, 0xfe, 0x05, 0xd0, 0xc8,
+ 0x9c, 0x88, 0xf6, 0xc1, 0x9c, 0x60, 0xee, 0x8e, 0xe5, 0x55, 0x35, 0x7b, 0x1f, 0x15, 0x78, 0xfe,
+ 0x85, 0x90, 0xb5, 0xc9, 0xcf, 0x13, 0xc2, 0xb8, 0xad, 0x90, 0xe8, 0x09, 0x98, 0x54, 0xe8, 0x92,
+ 0x97, 0xda, 0xec, 0xed, 0x2e, 0x73, 0x79, 0xb9, 0x93, 0xdb, 0x0a, 0x8d, 0x0e, 0xa1, 0x4e, 0x89,
+ 0xe7, 0x53, 0xe2, 0x2e, 0x73, 0x30, 0xa9, 0x49, 0x8b, 0xdb, 0x19, 0x10, 0x7d, 0x01, 0x35, 0x4a,
+ 0xce, 0xa8, 0xcf, 0x89, 0x55, 0x91, 0x3a, 0x3e, 0x2c, 0xd4, 0x21, 0xa5, 0xed, 0x14, 0x86, 0x3e,
+ 0x82, 0xcd, 0x33, 0x32, 0x64, 0x91, 0xfb, 0x8a, 0x70, 0x27, 0x89, 0x47, 0x14, 0x7b, 0xc4, 0x32,
+ 0xb7, 0x8d, 0x9d, 0xba, 0xbd, 0x91, 0x2d, 0xfc, 0x44, 0xcd, 0xa3, 0x07, 0x50, 0xe3, 0xfe, 0x84,
+ 0x44, 0x09, 0x97, 0x2f, 0xa1, 0xd9, 0xbb, 0xdb, 0x55, 0x01, 0xd5, 0x4d, 0x03, 0xaa, 0xfb, 0x58,
+ 0x07, 0x9c, 0x9d, 0x4a, 0xa2, 0x47, 0xc2, 0x46, 0x4e, 0x7d, 0xc2, 0xac, 0x9a, 0x04, 0x15, 0x3e,
+ 0x77, 0xc2, 0xe9, 0xd4, 0x4e, 0x41, 0xe8, 0x10, 0xcc, 0x13, 0x9c, 0x04, 0xdc, 0xaa, 0x4b, 0xf4,
+ 0xc7, 0x05, 0xe8, 0xa7, 0x42, 0xf6, 0x59, 0xf8, 0x33, 0xe2, 0x2a, 0x6f, 0x4b, 0x2c, 0x7a, 0x04,
+ 0xd5, 0x89, 0x4f, 0x69, 0x44, 0xad, 0x46, 0xa1, 0x9f, 0xf2, 0x97, 0xa5, 0x51, 0xe8, 0x29, 0x34,
+ 0xdd, 0x88, 0x32, 0x27, 0x8e, 0x02, 0xdf, 0x9d, 0x5a, 0x20, 0x95, 0x7c, 0xb0, 0x30, 0x0e, 0x28,
+ 0x3b, 0x92, 0xc2, 0x36, 0xb8, 0xd9, 0x6f, 0x34, 0x84, 0x75, 0x91, 0x70, 0x42, 0xcf, 0x19, 0x13,
+ 0xec, 0x11, 0xca, 0xac, 0xa6, 0x7c, 0x45, 0x3f, 0x58, 0xe6, 0x15, 0x75, 0xf7, 0x25, 0xb4, 0xaf,
+ 0x90, 0x4f, 0x42, 0x4e, 0xa7, 0x07, 0x25, 0xcb, 0xb0, 0xd7, 0x70, 0x7e, 0x1e, 0x7d, 0x0a, 0xef,
+ 0x52, 0x32, 0x89, 0x4e, 0x89, 0x43, 0x09, 0x8b, 0xa3, 0x90, 0x91, 0x6c, 0xb3, 0x96, 0xc8, 0x43,
+ 0x12, 0xf3, 0x8e, 0x12, 0xb1, 0xb5, 0x44, 0x8a, 0xfd, 0x05, 0xbc, 0xab, 0xed, 0x9b, 0xc3, 0xae,
+ 0x49, 0x43, 0x3f, 0x5f, 0xc1, 0xd0, 0x4b, 0xca, 0x67, 0x06, 0xbf, 0x83, 0xaf, 0x5a, 0x47, 0x7b,
+ 0x70, 0x27, 0x33, 0x5c, 0x86, 0x5c, 0xb6, 0xf7, 0x7a, 0x66, 0xf7, 0x56, 0x6a, 0xb7, 0x14, 0x48,
+ 0x91, 0xe7, 0x70, 0x27, 0x33, 0xfb, 0x22, 0xf2, 0xb6, 0xb4, 0xfa, 0xd1, 0x4a, 0x56, 0xe7, 0x55,
+ 0xcf, 0x8c, 0xde, 0xc2, 0x57, 0x2c, 0xa3, 0x87, 0x50, 0x4b, 0xb7, 0xda, 0x90, 0x8f, 0xa2, 0xb3,
+ 0x68, 0x2b, 0x25, 0x69, 0xa7, 0x90, 0xf6, 0x17, 0x80, 0xe6, 0xef, 0x14, 0x6d, 0x40, 0xf9, 0x15,
+ 0x99, 0xea, 0xd4, 0x28, 0x7e, 0x8a, 0x0a, 0x73, 0x8a, 0x83, 0x84, 0xe8, 0xc4, 0xa8, 0x06, 0x9f,
+ 0x96, 0xf6, 0x8c, 0x76, 0x1f, 0xda, 0xd7, 0x3b, 0x7b, 0x25, 0x4d, 0x5f, 0xc2, 0xdd, 0x6b, 0x1d,
+ 0xb0, 0x8a, 0xa2, 0xce, 0x3f, 0xcb, 0x50, 0x4b, 0xdd, 0xf3, 0x42, 0x04, 0xbf, 0x54, 0x27, 0xb1,
+ 0xcd, 0xde, 0x83, 0x62, 0xf7, 0xe8, 0xbf, 0x2f, 0x63, 0xa2, 0x52, 0x09, 0xb3, 0x53, 0x1d, 0xe8,
+ 0xa5, 0x48, 0x9a, 0xea, 0x9c, 0x72, 0xdf, 0x1b, 0xea, 0xcb, 0x94, 0xb4, 0xff, 0x5c, 0x82, 0x8d,
+ 0xcb, 0xcb, 0xe8, 0xc7, 0x50, 0x16, 0x45, 0x48, 0x95, 0x88, 0x87, 0x37, 0xd8, 0xa0, 0x3b, 0x20,
+ 0x5c, 0xfa, 0xcd, 0x16, 0x8a, 0x84, 0x3e, 0xec, 0x79, 0xba, 0x5e, 0xdc, 0x48, 0xdf, 0xbe, 0xe7,
+ 0x69, 0x7d, 0xd8, 0xf3, 0x44, 0x9d, 0x54, 0x51, 0x20, 0xf9, 0x43, 0xc3, 0xd6, 0xa3, 0xf6, 0x27,
+ 0x50, 0x4f, 0x37, 0x5e, 0xe9, 0xe6, 0x3f, 0x81, 0x7a, 0xba, 0xc1, 0x4a, 0x17, 0xfd, 0x3b, 0x03,
+ 0xea, 0x29, 0x5f, 0x10, 0x69, 0x3a, 0x5f, 0x59, 0x3f, 0x5e, 0xcc, 0x31, 0x64, 0x61, 0xdd, 0xe7,
+ 0x9c, 0xfa, 0xc3, 0x84, 0x13, 0x96, 0xd6, 0xd6, 0xfd, 0x8b, 0xb5, 0x75, 0x51, 0x79, 0xbe, 0xa6,
+ 0xae, 0x76, 0x7e, 0x2b, 0x8c, 0xd2, 0xdc, 0x07, 0x1d, 0x5c, 0x34, 0xea, 0x3b, 0x0b, 0xf4, 0x3d,
+ 0xff, 0xde, 0x7f, 0xcf, 0xa6, 0x3f, 0x9a, 0xb0, 0x71, 0x99, 0x4e, 0xa0, 0x3d, 0x28, 0x27, 0xd4,
+ 0xd7, 0x61, 0xb1, 0xa8, 0x1e, 0x0d, 0x38, 0xf5, 0xc3, 0x91, 0xc2, 0x0a, 0x88, 0x28, 0x66, 0xcc,
+ 0x1d, 0x93, 0x49, 0x1a, 0x03, 0xcb, 0x82, 0x35, 0x4a, 0x16, 0x43, 0xc2, 0xc7, 0x91, 0xa7, 0x89,
+ 0xc7, 0xd2, 0x78, 0x85, 0x42, 0x8f, 0xa1, 0x81, 0x13, 0x3e, 0x8e, 0xa8, 0xcf, 0xa7, 0x4b, 0xf0,
+ 0x8e, 0xbc, 0x8a, 0x19, 0x10, 0xd9, 0xb3, 0xcc, 0xa9, 0x68, 0xe9, 0xde, 0x0a, 0x64, 0xac, 0x9b,
+ 0xcf, 0x4e, 0x59, 0x3e, 0x15, 0xac, 0x52, 0x32, 0x45, 0xc1, 0x4e, 0xd6, 0x14, 0x01, 0x44, 0x43,
+ 0x58, 0x63, 0x51, 0x42, 0x5d, 0xe2, 0x04, 0x78, 0x48, 0x02, 0xc1, 0x42, 0xc4, 0x6e, 0x9f, 0xad,
+ 0xb2, 0xdb, 0x40, 0x2a, 0x78, 0x2e, 0xf1, 0x6a, 0xcb, 0x16, 0xcb, 0x4d, 0x5d, 0xe0, 0xfa, 0xf5,
+ 0x8b, 0x5c, 0xbf, 0x3d, 0x84, 0x56, 0x41, 0x2a, 0x7d, 0x98, 0x8f, 0xb0, 0xe5, 0x7d, 0x99, 0x8b,
+ 0xe0, 0xcf, 0x61, 0x73, 0xce, 0xc4, 0x95, 0x42, 0xf9, 0x6f, 0x26, 0x6c, 0x5d, 0xc5, 0x56, 0x51,
+ 0x1f, 0x9a, 0xde, 0x6c, 0xb8, 0xc4, 0x6b, 0xcd, 0x3f, 0xff, 0x3c, 0x54, 0x64, 0xad, 0x33, 0xe2,
+ 0x8f, 0xc6, 0x8a, 0xdd, 0x9b, 0xb6, 0x1e, 0x2d, 0xa2, 0x2b, 0xe5, 0x22, 0xba, 0xf2, 0x1b, 0xe3,
+ 0x7a, 0xbe, 0xa2, 0x3e, 0x91, 0x7e, 0xb4, 0x22, 0x3d, 0x7f, 0xeb, 0xd4, 0xc5, 0x2c, 0xa0, 0x2e,
+ 0xbf, 0x34, 0xae, 0xe5, 0x2e, 0x55, 0x79, 0x82, 0x67, 0x37, 0x3d, 0xc1, 0x0d, 0x69, 0x4c, 0x6d,
+ 0x75, 0x1a, 0xf3, 0x7f, 0x48, 0x42, 0x38, 0x6c, 0xfc, 0xef, 0xdf, 0x72, 0xe7, 0x2f, 0x25, 0xd8,
+ 0x9c, 0x2b, 0x24, 0x68, 0x17, 0xbe, 0x96, 0x03, 0x3b, 0x2c, 0x19, 0x86, 0x24, 0xeb, 0x16, 0xa0,
+ 0xdc, 0xd2, 0x40, 0xad, 0x64, 0x69, 0xac, 0x94, 0x4b, 0x63, 0xef, 0x67, 0x69, 0x4c, 0xe1, 0x65,
+ 0xee, 0x6e, 0xa4, 0x79, 0x48, 0x21, 0x91, 0x7b, 0x39, 0xd7, 0x55, 0x0a, 0xe9, 0xef, 0x9c, 0xb9,
+ 0x2b, 0x25, 0x3b, 0xf3, 0x52, 0xb2, 0xfb, 0x8f, 0x13, 0xd1, 0x3f, 0x4a, 0x80, 0xe6, 0xf9, 0x01,
+ 0xfa, 0x3a, 0x34, 0x58, 0xe8, 0x3b, 0xf9, 0x36, 0x4b, 0x9d, 0x85, 0x7e, 0x5f, 0x76, 0x5a, 0xae,
+ 0xf1, 0x6f, 0xa9, 0xd0, 0xbf, 0xe5, 0x45, 0xfe, 0xad, 0x5c, 0xe1, 0x5f, 0xef, 0xb2, 0x7f, 0xcd,
+ 0xc2, 0x8f, 0xa2, 0xf9, 0xc3, 0xac, 0xe4, 0xe0, 0xea, 0xdb, 0x76, 0xf0, 0x23, 0x68, 0xe5, 0x9b,
+ 0x09, 0x02, 0x9b, 0xd2, 0x90, 0x86, 0xa2, 0x17, 0xef, 0xe5, 0xcb, 0xbb, 0xc2, 0xcf, 0x26, 0x3a,
+ 0x9f, 0x41, 0x33, 0xd7, 0x48, 0x58, 0x19, 0x4e, 0xa0, 0x99, 0xab, 0x61, 0xe8, 0x0e, 0x98, 0xe4,
+ 0x1c, 0xbb, 0xba, 0x0f, 0xd4, 0xbf, 0x65, 0xab, 0x21, 0xb2, 0xa0, 0x1a, 0x53, 0x72, 0xe2, 0x9f,
+ 0x2b, 0x0d, 0xfd, 0x5b, 0xb6, 0x1e, 0x0b, 0x04, 0x25, 0x23, 0x72, 0xae, 0xde, 0xbf, 0x40, 0xc8,
+ 0xe1, 0x41, 0x0b, 0x40, 0xf2, 0x35, 0x87, 0x4f, 0x63, 0xd2, 0xf9, 0xb5, 0xa1, 0xbb, 0x3e, 0x44,
+ 0xf8, 0xa7, 0x0d, 0x75, 0xcc, 0x39, 0x99, 0xc4, 0xf2, 0xf1, 0x88, 0x80, 0xcd, 0xc6, 0x68, 0x1f,
+ 0x6e, 0xc7, 0x84, 0x3a, 0x9c, 0x4e, 0x9d, 0xb4, 0xb7, 0x51, 0x2a, 0xea, 0x6d, 0xac, 0xc5, 0x84,
+ 0x1e, 0xd3, 0xe9, 0xb1, 0xee, 0x70, 0xdc, 0x15, 0x5f, 0x25, 0x42, 0x41, 0x14, 0xea, 0xa8, 0x94,
+ 0xcd, 0x8b, 0xe9, 0xcb, 0xb0, 0xf3, 0x87, 0x12, 0xc0, 0xac, 0x15, 0x80, 0xee, 0x43, 0x0b, 0x07,
+ 0x41, 0x74, 0xe6, 0x44, 0xd4, 0x1f, 0xf9, 0xa1, 0x7e, 0xc9, 0x4d, 0x39, 0xf7, 0x52, 0x4e, 0x89,
+ 0x77, 0xa8, 0x44, 0x14, 0xd9, 0x4a, 0x9f, 0xb1, 0xc2, 0xbd, 0x50, 0x73, 0x33, 0xa1, 0x0b, 0x95,
+ 0x52, 0x0b, 0xa5, 0x39, 0xfd, 0x03, 0x58, 0x27, 0xe7, 0x71, 0x74, 0xa9, 0x24, 0x36, 0xec, 0x35,
+ 0x35, 0x9b, 0x8a, 0xf5, 0xa0, 0x36, 0xc1, 0xe7, 0x0e, 0x1e, 0xa9, 0xbe, 0xcf, 0xc2, 0x83, 0x57,
+ 0x27, 0xf8, 0x7c, 0x7f, 0x44, 0xd0, 0x97, 0xb0, 0xa9, 0xf6, 0x77, 0x29, 0xf1, 0x48, 0xc8, 0x7d,
+ 0x1c, 0x30, 0xdd, 0x12, 0x6a, 0xcf, 0xa1, 0x0f, 0xa2, 0x28, 0xf8, 0x4a, 0xbc, 0x3f, 0x7b, 0x43,
+ 0x82, 0x0e, 0x67, 0x98, 0xce, 0xef, 0x4d, 0x40, 0xf3, 0x5d, 0x1b, 0xf4, 0x0c, 0x4c, 0x8f, 0x04,
+ 0x78, 0xba, 0xcc, 0x47, 0xe3, 0x1c, 0xba, 0xfb, 0x58, 0x40, 0x6d, 0xa5, 0x41, 0xa8, 0xc2, 0xc3,
+ 0x34, 0x99, 0xae, 0xac, 0x6a, 0x5f, 0x40, 0x6d, 0xa5, 0xa1, 0xfd, 0xab, 0x12, 0x98, 0x52, 0x37,
+ 0x7a, 0x0f, 0x6a, 0x31, 0xa1, 0x2e, 0x09, 0xd5, 0xc3, 0x35, 0x65, 0x65, 0x4d, 0xa7, 0xd0, 0x43,
+ 0x68, 0x9e, 0xf8, 0xe7, 0xc4, 0x73, 0xd4, 0x19, 0x8a, 0x9e, 0x53, 0xff, 0x96, 0x0d, 0x52, 0x5e,
+ 0xe9, 0xee, 0xc3, 0xa6, 0xb8, 0xa0, 0x50, 0xb9, 0x48, 0xeb, 0x28, 0x17, 0xeb, 0xd8, 0xc8, 0xa1,
+ 0x94, 0xa6, 0x03, 0x00, 0x6d, 0xd2, 0xec, 0x72, 0x17, 0xd5, 0xf5, 0x23, 0x25, 0x6c, 0xe7, 0x50,
+ 0x07, 0x9b, 0x70, 0x7b, 0xcc, 0x79, 0xac, 0xcc, 0x90, 0xb1, 0xd5, 0x7e, 0x6d, 0x80, 0x29, 0xfd,
+ 0x52, 0xe0, 0x86, 0xfb, 0xd0, 0x94, 0x50, 0xc6, 0x31, 0x4f, 0x98, 0xaa, 0x94, 0xe2, 0xac, 0x62,
+ 0x72, 0x20, 0xe7, 0x84, 0xc8, 0x88, 0xc6, 0x6e, 0x2a, 0x92, 0x86, 0x34, 0x88, 0xc9, 0x99, 0x88,
+ 0x00, 0xf4, 0x1c, 0x22, 0xdb, 0x77, 0x95, 0x54, 0x44, 0x4e, 0x3e, 0x91, 0xcd, 0xb9, 0xb7, 0x71,
+ 0xce, 0x16, 0x80, 0xdc, 0x40, 0xa5, 0x8f, 0xa7, 0xd0, 0xca, 0xb7, 0x92, 0x45, 0x3a, 0x0a, 0x93,
+ 0xc9, 0x90, 0x50, 0x79, 0xce, 0x35, 0x91, 0x8e, 0xd4, 0x18, 0x6d, 0x41, 0x25, 0xc4, 0xfa, 0x4b,
+ 0x4c, 0xd8, 0x25, 0x47, 0x07, 0x55, 0x55, 0x60, 0x3a, 0xdf, 0x80, 0x9a, 0xde, 0x6c, 0x96, 0x91,
+ 0x85, 0x06, 0x43, 0x67, 0xe4, 0x83, 0xee, 0x5f, 0xdf, 0xdc, 0x33, 0xfe, 0xfe, 0xe6, 0x9e, 0xf1,
+ 0xfa, 0xcd, 0x3d, 0xe3, 0xa7, 0xdb, 0xca, 0x66, 0x3f, 0xda, 0xc5, 0xb1, 0xbf, 0x7b, 0xc5, 0xff,
+ 0x22, 0x86, 0x55, 0x79, 0xf3, 0x0f, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x2f, 0xaf, 0xea, 0xb9,
+ 0x2f, 0x19, 0x00, 0x00,
}
diff --git a/networking/v1alpha3/virtual_service.proto b/networking/v1alpha3/virtual_service.proto
index 34e60cb9ce..860c614246 100644
--- a/networking/v1alpha3/virtual_service.proto
+++ b/networking/v1alpha3/virtual_service.proto
@@ -16,7 +16,7 @@ syntax = "proto3";
import "google/protobuf/duration.proto";
import "google/protobuf/wrappers.proto";
-import "networking/v1alpha3/service_dependency.proto";
+import "networking/v1alpha3/sidecar.proto";
// $title: Traffic Routing
// $description: Configuration affecting traffic routing.
diff --git a/proto.lock b/proto.lock
index 62c8010adc..95cf510647 100644
--- a/proto.lock
+++ b/proto.lock
@@ -684,24 +684,13 @@
{
"name": "ALLOW_ANY",
"integer": 1
- },
- {
- "name": "VIRTUAL_SERVICE_ONLY",
- "integer": 2
- }
- ]
- },
- {
- "name": "DefaultServiceDependency.Mode",
- "enum_fields": [
- {
- "name": "ALL_NAMESPACES",
- "integer": 0
- },
- {
- "name": "SAME_NAMESPACE",
- "integer": 1
}
+ ],
+ "reserved_ids": [
+ 2
+ ],
+ "reserved_names": [
+ "VIRTUAL_SERVICE_ONLY"
]
}
],
@@ -730,7 +719,7 @@
"type": "bool"
},
{
- "id": 31,
+ "id": 30,
"name": "sidecar_to_telemetry_session_affinity",
"type": "bool"
},
@@ -841,7 +830,7 @@
"type": "bool"
},
{
- "id": 30,
+ "id": 29,
"name": "sds_use_k8s_sa_jwt",
"type": "bool"
},
@@ -849,11 +838,6 @@
"id": 26,
"name": "trust_domain",
"type": "string"
- },
- {
- "id": 29,
- "name": "default_service_dependency",
- "type": "DefaultServiceDependency"
}
],
"reserved_ids": [
@@ -870,22 +854,6 @@
"type": "Mode"
}
]
- },
- {
- "name": "DefaultServiceDependency",
- "fields": [
- {
- "id": 1,
- "name": "import_mode",
- "type": "Mode"
- },
- {
- "id": 2,
- "name": "import_namespaces",
- "type": "string",
- "is_repeated": true
- }
- ]
}
]
},
@@ -3095,6 +3063,11 @@
"name": "port",
"type": "Port"
},
+ {
+ "id": 4,
+ "name": "bind",
+ "type": "string"
+ },
{
"id": 2,
"name": "hosts",
@@ -3105,6 +3078,11 @@
"id": 3,
"name": "tls",
"type": "TLSOptions"
+ },
+ {
+ "id": 5,
+ "name": "default_endpoint",
+ "type": "string"
}
],
"messages": [
@@ -3185,77 +3163,6 @@
]
}
},
- {
- "protopath": "networking:/:v1alpha3:/:service_dependency.proto",
- "def": {
- "enums": [
- {
- "name": "ConfigScope",
- "enum_fields": [
- {
- "name": "PUBLIC",
- "integer": 0
- },
- {
- "name": "PRIVATE",
- "integer": 1
- }
- ]
- }
- ],
- "messages": [
- {
- "name": "ServiceDependency",
- "fields": [
- {
- "id": 1,
- "name": "dependencies",
- "type": "Dependency",
- "is_repeated": true
- }
- ],
- "messages": [
- {
- "name": "Import",
- "fields": [
- {
- "id": 1,
- "name": "namespace",
- "type": "string"
- },
- {
- "id": 2,
- "name": "host",
- "type": "string"
- }
- ]
- },
- {
- "name": "Dependency",
- "fields": [
- {
- "id": 2,
- "name": "imports",
- "type": "Import",
- "is_repeated": true
- }
- ],
- "maps": [
- {
- "key_type": "string",
- "field": {
- "id": 1,
- "name": "source_workload_labels",
- "type": "string"
- }
- }
- ]
- }
- ]
- }
- ]
- }
- },
{
"protopath": "networking:/:v1alpha3:/:service_entry.proto",
"def": {
@@ -3384,6 +3291,131 @@
]
}
},
+ {
+ "protopath": "networking:/:v1alpha3:/:sidecar.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "ConfigScope",
+ "enum_fields": [
+ {
+ "name": "PUBLIC",
+ "integer": 0
+ },
+ {
+ "name": "PRIVATE",
+ "integer": 1
+ }
+ ]
+ },
+ {
+ "name": "CaptureMode",
+ "enum_fields": [
+ {
+ "name": "DEFAULT",
+ "integer": 0
+ },
+ {
+ "name": "IPTABLES",
+ "integer": 1
+ },
+ {
+ "name": "NONE",
+ "integer": 2
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "Sidecar",
+ "fields": [
+ {
+ "id": 1,
+ "name": "workload_selector",
+ "type": "WorkloadSelector"
+ },
+ {
+ "id": 2,
+ "name": "ingress",
+ "type": "IstioIngressListener",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "egress",
+ "type": "IstioEgressListener",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "IstioIngressListener",
+ "fields": [
+ {
+ "id": 1,
+ "name": "port",
+ "type": "Port"
+ },
+ {
+ "id": 2,
+ "name": "bind",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "capture_mode",
+ "type": "CaptureMode"
+ },
+ {
+ "id": 4,
+ "name": "default_endpoint",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "IstioEgressListener",
+ "fields": [
+ {
+ "id": 1,
+ "name": "port",
+ "type": "Port"
+ },
+ {
+ "id": 2,
+ "name": "bind",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "capture_mode",
+ "type": "CaptureMode"
+ },
+ {
+ "id": 4,
+ "name": "hosts",
+ "type": "string",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "WorkloadSelector",
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 1,
+ "name": "labels",
+ "type": "string"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
{
"protopath": "networking:/:v1alpha3:/:virtual_service.proto",
"def": {
diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py
index 9567835eac..1893c3beda 100644
--- a/python/istio_api/mesh/v1alpha1/config_pb2.py
+++ b/python/istio_api/mesh/v1alpha1/config_pb2.py
@@ -22,7 +22,7 @@
name='mesh/v1alpha1/config.proto',
package='istio.mesh.v1alpha1',
syntax='proto3',
- serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xb2\x0e\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12-\n%sidecar_to_telemetry_session_affinity\x18\x1f \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x1c \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12V\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1e \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x12\\\n\x1a\x64\x65\x66\x61ult_service_dependency\x18\x1d \x01(\x0b\x32\x38.istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency\x1a\xa9\x01\n\x15OutboundTrafficPolicy\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode\"F\n\x04Mode\x12\x11\n\rREGISTRY_ONLY\x10\x00\x12\r\n\tALLOW_ANY\x10\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\x1a\xb9\x01\n\x18\x44\x65\x66\x61ultServiceDependency\x12R\n\x0bimport_mode\x18\x01 \x01(\x0e\x32=.istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency.Mode\x12\x19\n\x11import_namespaces\x18\x02 \x03(\t\".\n\x04Mode\x12\x12\n\x0e\x41LL_NAMESPACES\x10\x00\x12\x12\n\x0eSAME_NAMESPACE\x10\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3')
+ serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\x96\x0c\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12-\n%sidecar_to_telemetry_session_affinity\x18\x1e \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x1c \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12N\n\x13\x61\x63\x63\x65ss_log_encoding\x18\x1b \x01(\x0e\x32\x31.istio.mesh.v1alpha1.MeshConfig.AccessLogEncoding\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12V\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x1a\n\x12sds_use_k8s_sa_jwt\x18\x1d \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xa7\x01\n\x15OutboundTrafficPolicy\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.Mode\"D\n\x04Mode\x12\x11\n\rREGISTRY_ONLY\x10\x00\x12\r\n\tALLOW_ANY\x10\x01\"\x04\x08\x02\x10\x02*\x14VIRTUAL_SERVICE_ONLY\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01\"\'\n\x11\x41\x63\x63\x65ssLogEncoding\x12\x08\n\x04TEXT\x10\x00\x12\x08\n\x04JSON\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3')
,
dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mesh_dot_v1alpha1_dot_proxy__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_destination__rule__pb2.DESCRIPTOR,])
@@ -42,40 +42,14 @@
name='ALLOW_ANY', index=1, number=1,
options=None,
type=None),
- _descriptor.EnumValueDescriptor(
- name='VIRTUAL_SERVICE_ONLY', index=2, number=2,
- options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\010\001')),
- type=None),
],
containing_type=None,
options=None,
- serialized_start=1587,
- serialized_end=1657,
+ serialized_start=1493,
+ serialized_end=1561,
)
_sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE)
-_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE = _descriptor.EnumDescriptor(
- name='Mode',
- full_name='istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency.Mode',
- filename=None,
- file=DESCRIPTOR,
- values=[
- _descriptor.EnumValueDescriptor(
- name='ALL_NAMESPACES', index=0, number=0,
- options=None,
- type=None),
- _descriptor.EnumValueDescriptor(
- name='SAME_NAMESPACE', index=1, number=1,
- options=None,
- type=None),
- ],
- containing_type=None,
- options=None,
- serialized_start=1799,
- serialized_end=1845,
-)
-_sym_db.RegisterEnumDescriptor(_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE)
-
_MESHCONFIG_INGRESSCONTROLLERMODE = _descriptor.EnumDescriptor(
name='IngressControllerMode',
full_name='istio.mesh.v1alpha1.MeshConfig.IngressControllerMode',
@@ -97,8 +71,8 @@
],
containing_type=None,
options=None,
- serialized_start=1847,
- serialized_end=1904,
+ serialized_start=1563,
+ serialized_end=1620,
)
_sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE)
@@ -119,8 +93,8 @@
],
containing_type=None,
options=None,
- serialized_start=1906,
- serialized_end=1944,
+ serialized_start=1622,
+ serialized_end=1660,
)
_sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY)
@@ -141,8 +115,8 @@
],
containing_type=None,
options=None,
- serialized_start=1946,
- serialized_end=1985,
+ serialized_start=1662,
+ serialized_end=1701,
)
_sym_db.RegisterEnumDescriptor(_MESHCONFIG_ACCESSLOGENCODING)
@@ -174,46 +148,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1488,
- serialized_end=1657,
-)
-
-_MESHCONFIG_DEFAULTSERVICEDEPENDENCY = _descriptor.Descriptor(
- name='DefaultServiceDependency',
- full_name='istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency',
- filename=None,
- file=DESCRIPTOR,
- containing_type=None,
- fields=[
- _descriptor.FieldDescriptor(
- name='import_mode', full_name='istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency.import_mode', index=0,
- number=1, type=14, cpp_type=8, label=1,
- has_default_value=False, default_value=0,
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='import_namespaces', full_name='istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency.import_namespaces', index=1,
- number=2, type=9, cpp_type=9, label=3,
- has_default_value=False, default_value=[],
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
- ],
- extensions=[
- ],
- nested_types=[],
- enum_types=[
- _MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE,
- ],
- options=None,
- is_extendable=False,
- syntax='proto3',
- extension_ranges=[],
- oneofs=[
- ],
- serialized_start=1660,
- serialized_end=1845,
+ serialized_start=1394,
+ serialized_end=1561,
)
_MESHCONFIG = _descriptor.Descriptor(
@@ -253,7 +189,7 @@
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='sidecar_to_telemetry_session_affinity', full_name='istio.mesh.v1alpha1.MeshConfig.sidecar_to_telemetry_session_affinity', index=4,
- number=31, type=8, cpp_type=7, label=1,
+ number=30, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
@@ -407,7 +343,7 @@
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='sds_use_k8s_sa_jwt', full_name='istio.mesh.v1alpha1.MeshConfig.sds_use_k8s_sa_jwt', index=26,
- number=30, type=8, cpp_type=7, label=1,
+ number=29, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
@@ -419,17 +355,10 @@
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='default_service_dependency', full_name='istio.mesh.v1alpha1.MeshConfig.default_service_dependency', index=28,
- number=29, type=11, cpp_type=10, label=1,
- has_default_value=False, default_value=None,
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
],
extensions=[
],
- nested_types=[_MESHCONFIG_OUTBOUNDTRAFFICPOLICY, _MESHCONFIG_DEFAULTSERVICEDEPENDENCY, ],
+ nested_types=[_MESHCONFIG_OUTBOUNDTRAFFICPOLICY, ],
enum_types=[
_MESHCONFIG_INGRESSCONTROLLERMODE,
_MESHCONFIG_AUTHPOLICY,
@@ -442,7 +371,7 @@
oneofs=[
],
serialized_start=155,
- serialized_end=1997,
+ serialized_end=1713,
)
@@ -479,16 +408,13 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1999,
- serialized_end=2092,
+ serialized_start=1715,
+ serialized_end=1808,
)
_MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE
_MESHCONFIG_OUTBOUNDTRAFFICPOLICY.containing_type = _MESHCONFIG
_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.containing_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY
-_MESHCONFIG_DEFAULTSERVICEDEPENDENCY.fields_by_name['import_mode'].enum_type = _MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE
-_MESHCONFIG_DEFAULTSERVICEDEPENDENCY.containing_type = _MESHCONFIG
-_MESHCONFIG_DEFAULTSERVICEDEPENDENCY_MODE.containing_type = _MESHCONFIG_DEFAULTSERVICEDEPENDENCY
_MESHCONFIG.fields_by_name['connect_timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
_MESHCONFIG.fields_by_name['tcp_keepalive'].message_type = networking_dot_v1alpha3_dot_destination__rule__pb2._CONNECTIONPOOLSETTINGS_TCPSETTINGS_TCPKEEPALIVE
_MESHCONFIG.fields_by_name['ingress_controller_mode'].enum_type = _MESHCONFIG_INGRESSCONTROLLERMODE
@@ -499,7 +425,6 @@
_MESHCONFIG.fields_by_name['outbound_traffic_policy'].message_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY
_MESHCONFIG.fields_by_name['sds_refresh_delay'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
_MESHCONFIG.fields_by_name['config_sources'].message_type = _CONFIGSOURCE
-_MESHCONFIG.fields_by_name['default_service_dependency'].message_type = _MESHCONFIG_DEFAULTSERVICEDEPENDENCY
_MESHCONFIG_INGRESSCONTROLLERMODE.containing_type = _MESHCONFIG
_MESHCONFIG_AUTHPOLICY.containing_type = _MESHCONFIG
_MESHCONFIG_ACCESSLOGENCODING.containing_type = _MESHCONFIG
@@ -516,20 +441,12 @@
# @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy)
))
,
-
- DefaultServiceDependency = _reflection.GeneratedProtocolMessageType('DefaultServiceDependency', (_message.Message,), dict(
- DESCRIPTOR = _MESHCONFIG_DEFAULTSERVICEDEPENDENCY,
- __module__ = 'mesh.v1alpha1.config_pb2'
- # @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.MeshConfig.DefaultServiceDependency)
- ))
- ,
DESCRIPTOR = _MESHCONFIG,
__module__ = 'mesh.v1alpha1.config_pb2'
# @@protoc_insertion_point(class_scope:istio.mesh.v1alpha1.MeshConfig)
))
_sym_db.RegisterMessage(MeshConfig)
_sym_db.RegisterMessage(MeshConfig.OutboundTrafficPolicy)
-_sym_db.RegisterMessage(MeshConfig.DefaultServiceDependency)
ConfigSource = _reflection.GeneratedProtocolMessageType('ConfigSource', (_message.Message,), dict(
DESCRIPTOR = _CONFIGSOURCE,
@@ -541,8 +458,6 @@
DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\032istio.io/api/mesh/v1alpha1'))
-_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.values_by_name["VIRTUAL_SERVICE_ONLY"].has_options = True
-_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE.values_by_name["VIRTUAL_SERVICE_ONLY"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\010\001'))
_MESHCONFIG.fields_by_name['auth_policy'].has_options = True
_MESHCONFIG.fields_by_name['auth_policy']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
_MESHCONFIG.fields_by_name['rds_refresh_delay'].has_options = True
diff --git a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py
index 0d804386c9..461d8fcdfb 100644
--- a/python/istio_api/networking/v1alpha3/destination_rule_pb2.py
+++ b/python/istio_api/networking/v1alpha3/destination_rule_pb2.py
@@ -15,7 +15,7 @@
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from networking.v1alpha3 import virtual_service_pb2 as networking_dot_v1alpha3_dot_virtual__service__pb2
-from networking.v1alpha3 import service_dependency_pb2 as networking_dot_v1alpha3_dot_service__dependency__pb2
+from networking.v1alpha3 import sidecar_pb2 as networking_dot_v1alpha3_dot_sidecar__pb2
from gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2
@@ -23,9 +23,9 @@
name='networking/v1alpha3/destination_rule.proto',
package='istio.networking.v1alpha3',
syntax='proto3',
- serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a,networking/v1alpha3/service_dependency.proto\x1a\x14gogoproto/gogo.proto\"\xd3\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\x12<\n\x0c\x63onfig_scope\x18\x04 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xda\x06\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x12g\n\x18locality_weight_settings\x18\x03 \x03(\x0b\x32\x45.istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\x1a\xab\x01\n\x15LocalityWeightSetting\x12\x0c\n\x04\x66rom\x18\x01 \x01(\t\x12Y\n\x02to\x18\x02 \x03(\x0b\x32M.istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting.ToEntry\x1a)\n\x07ToEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\xf3\x04\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1a\xb3\x02\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x03 \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x1at\n\x0cTcpKeepalive\x12\x0e\n\x06probes\x18\x01 \x01(\r\x12\'\n\x04time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xcc\x01\n\x10OutlierDetection\x12\x1a\n\x12\x63onsecutive_errors\x18\x01 \x01(\x05\x12+\n\x08interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12\x62\x61se_ejection_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14max_ejection_percent\x18\x04 \x01(\x05\x12\x1a\n\x12min_health_percent\x18\x05 \x01(\x05\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3')
+ serialized_pb=_b('\n*networking/v1alpha3/destination_rule.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a)networking/v1alpha3/virtual_service.proto\x1a!networking/v1alpha3/sidecar.proto\x1a\x14gogoproto/gogo.proto\"\xd3\x01\n\x0f\x44\x65stinationRule\x12\x0c\n\x04host\x18\x01 \x01(\t\x12@\n\x0etraffic_policy\x18\x02 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x12\x32\n\x07subsets\x18\x03 \x03(\x0b\x32!.istio.networking.v1alpha3.Subset\x12<\n\x0c\x63onfig_scope\x18\x04 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\"\xd7\x05\n\rTrafficPolicy\x12\x46\n\rload_balancer\x18\x01 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x02 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x03 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\x12W\n\x13port_level_settings\x18\x05 \x03(\x0b\x32:.istio.networking.v1alpha3.TrafficPolicy.PortTrafficPolicy\x1a\xdb\x02\n\x11PortTrafficPolicy\x12\x35\n\x04port\x18\x01 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\x12\x46\n\rload_balancer\x18\x02 \x01(\x0b\x32/.istio.networking.v1alpha3.LoadBalancerSettings\x12J\n\x0f\x63onnection_pool\x18\x03 \x01(\x0b\x32\x31.istio.networking.v1alpha3.ConnectionPoolSettings\x12\x46\n\x11outlier_detection\x18\x04 \x01(\x0b\x32+.istio.networking.v1alpha3.OutlierDetection\x12\x33\n\x03tls\x18\x05 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettings\"\xc6\x01\n\x06Subset\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x06labels\x18\x02 \x03(\x0b\x32-.istio.networking.v1alpha3.Subset.LabelsEntry\x12@\n\x0etraffic_policy\x18\x03 \x01(\x0b\x32(.istio.networking.v1alpha3.TrafficPolicy\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xda\x06\n\x14LoadBalancerSettings\x12J\n\x06simple\x18\x01 \x01(\x0e\x32\x38.istio.networking.v1alpha3.LoadBalancerSettings.SimpleLBH\x00\x12[\n\x0f\x63onsistent_hash\x18\x02 \x01(\x0b\x32@.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLBH\x00\x12g\n\x18locality_weight_settings\x18\x03 \x03(\x0b\x32\x45.istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting\x1a\xaa\x02\n\x10\x43onsistentHashLB\x12\x1a\n\x10http_header_name\x18\x01 \x01(\tH\x00\x12\x62\n\x0bhttp_cookie\x18\x02 \x01(\x0b\x32K.istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.HTTPCookieH\x00\x12\x17\n\ruse_source_ip\x18\x03 \x01(\x08H\x00\x12\x19\n\x11minimum_ring_size\x18\x04 \x01(\x04\x1aV\n\nHTTPCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12,\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\x42\n\n\x08hash_key\x1a\xab\x01\n\x15LocalityWeightSetting\x12\x0c\n\x04\x66rom\x18\x01 \x01(\t\x12Y\n\x02to\x18\x02 \x03(\x0b\x32M.istio.networking.v1alpha3.LoadBalancerSettings.LocalityWeightSetting.ToEntry\x1a)\n\x07ToEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"H\n\x08SimpleLB\x12\x0f\n\x0bROUND_ROBIN\x10\x00\x12\x0e\n\nLEAST_CONN\x10\x01\x12\n\n\x06RANDOM\x10\x02\x12\x0f\n\x0bPASSTHROUGH\x10\x03\x42\x0b\n\tlb_policy\"\xf3\x04\n\x16\x43onnectionPoolSettings\x12J\n\x03tcp\x18\x01 \x01(\x0b\x32=.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings\x12L\n\x04http\x18\x02 \x01(\x0b\x32>.istio.networking.v1alpha3.ConnectionPoolSettings.HTTPSettings\x1a\xb3\x02\n\x0bTCPSettings\x12\x17\n\x0fmax_connections\x18\x01 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x61\n\rtcp_keepalive\x18\x03 \x01(\x0b\x32J.istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive\x1at\n\x0cTcpKeepalive\x12\x0e\n\x06probes\x18\x01 \x01(\r\x12\'\n\x04time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12+\n\x08interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x0cHTTPSettings\x12\"\n\x1ahttp1_max_pending_requests\x18\x01 \x01(\x05\x12\x1a\n\x12http2_max_requests\x18\x02 \x01(\x05\x12#\n\x1bmax_requests_per_connection\x18\x03 \x01(\x05\x12\x13\n\x0bmax_retries\x18\x04 \x01(\x05\"\xcc\x01\n\x10OutlierDetection\x12\x1a\n\x12\x63onsecutive_errors\x18\x01 \x01(\x05\x12+\n\x08interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12\x62\x61se_ejection_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14max_ejection_percent\x18\x04 \x01(\x05\x12\x1a\n\x12min_health_percent\x18\x05 \x01(\x05\"\xff\x01\n\x0bTLSSettings\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..istio.networking.v1alpha3.TLSSettings.TLSmode\x12\x1a\n\x12\x63lient_certificate\x18\x02 \x01(\t\x12\x13\n\x0bprivate_key\x18\x03 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x04 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x05 \x03(\t\x12\x0b\n\x03sni\x18\x06 \x01(\t\"@\n\x07TLSmode\x12\x0b\n\x07\x44ISABLE\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x10\n\x0cISTIO_MUTUAL\x10\x03\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3')
,
- dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_virtual__service__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_service__dependency__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,])
+ dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_virtual__service__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_sidecar__pb2.DESCRIPTOR,gogoproto_dot_gogo__pb2.DESCRIPTOR,])
@@ -54,8 +54,8 @@
],
containing_type=None,
options=None,
- serialized_start=2135,
- serialized_end=2207,
+ serialized_start=2124,
+ serialized_end=2196,
)
_sym_db.RegisterEnumDescriptor(_LOADBALANCERSETTINGS_SIMPLELB)
@@ -84,8 +84,8 @@
],
containing_type=None,
options=None,
- serialized_start=3251,
- serialized_end=3315,
+ serialized_start=3240,
+ serialized_end=3304,
)
_sym_db.RegisterEnumDescriptor(_TLSSETTINGS_TLSMODE)
@@ -137,8 +137,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=217,
- serialized_end=428,
+ serialized_start=206,
+ serialized_end=417,
)
@@ -196,8 +196,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=811,
- serialized_end=1158,
+ serialized_start=800,
+ serialized_end=1147,
)
_TRAFFICPOLICY = _descriptor.Descriptor(
@@ -254,8 +254,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=431,
- serialized_end=1158,
+ serialized_start=420,
+ serialized_end=1147,
)
@@ -292,8 +292,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1314,
- serialized_end=1359,
+ serialized_start=1303,
+ serialized_end=1348,
)
_SUBSET = _descriptor.Descriptor(
@@ -336,8 +336,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1161,
- serialized_end=1359,
+ serialized_start=1150,
+ serialized_end=1348,
)
@@ -381,8 +381,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1861,
- serialized_end=1947,
+ serialized_start=1850,
+ serialized_end=1936,
)
_LOADBALANCERSETTINGS_CONSISTENTHASHLB = _descriptor.Descriptor(
@@ -435,8 +435,8 @@
name='hash_key', full_name='istio.networking.v1alpha3.LoadBalancerSettings.ConsistentHashLB.hash_key',
index=0, containing_type=None, fields=[]),
],
- serialized_start=1661,
- serialized_end=1959,
+ serialized_start=1650,
+ serialized_end=1948,
)
_LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING_TOENTRY = _descriptor.Descriptor(
@@ -472,8 +472,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2092,
- serialized_end=2133,
+ serialized_start=2081,
+ serialized_end=2122,
)
_LOADBALANCERSETTINGS_LOCALITYWEIGHTSETTING = _descriptor.Descriptor(
@@ -509,8 +509,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1962,
- serialized_end=2133,
+ serialized_start=1951,
+ serialized_end=2122,
)
_LOADBALANCERSETTINGS = _descriptor.Descriptor(
@@ -557,8 +557,8 @@
name='lb_policy', full_name='istio.networking.v1alpha3.LoadBalancerSettings.lb_policy',
index=0, containing_type=None, fields=[]),
],
- serialized_start=1362,
- serialized_end=2220,
+ serialized_start=1351,
+ serialized_end=2209,
)
@@ -602,8 +602,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2595,
- serialized_end=2711,
+ serialized_start=2584,
+ serialized_end=2700,
)
_CONNECTIONPOOLSETTINGS_TCPSETTINGS = _descriptor.Descriptor(
@@ -646,8 +646,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2404,
- serialized_end=2711,
+ serialized_start=2393,
+ serialized_end=2700,
)
_CONNECTIONPOOLSETTINGS_HTTPSETTINGS = _descriptor.Descriptor(
@@ -697,8 +697,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2714,
- serialized_end=2850,
+ serialized_start=2703,
+ serialized_end=2839,
)
_CONNECTIONPOOLSETTINGS = _descriptor.Descriptor(
@@ -734,8 +734,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2223,
- serialized_end=2850,
+ serialized_start=2212,
+ serialized_end=2839,
)
@@ -793,8 +793,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2853,
- serialized_end=3057,
+ serialized_start=2842,
+ serialized_end=3046,
)
@@ -860,13 +860,13 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3060,
- serialized_end=3315,
+ serialized_start=3049,
+ serialized_end=3304,
)
_DESTINATIONRULE.fields_by_name['traffic_policy'].message_type = _TRAFFICPOLICY
_DESTINATIONRULE.fields_by_name['subsets'].message_type = _SUBSET
-_DESTINATIONRULE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_service__dependency__pb2._CONFIGSCOPE
+_DESTINATIONRULE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_sidecar__pb2._CONFIGSCOPE
_TRAFFICPOLICY_PORTTRAFFICPOLICY.fields_by_name['port'].message_type = networking_dot_v1alpha3_dot_virtual__service__pb2._PORTSELECTOR
_TRAFFICPOLICY_PORTTRAFFICPOLICY.fields_by_name['load_balancer'].message_type = _LOADBALANCERSETTINGS
_TRAFFICPOLICY_PORTTRAFFICPOLICY.fields_by_name['connection_pool'].message_type = _CONNECTIONPOOLSETTINGS
diff --git a/python/istio_api/networking/v1alpha3/gateway_pb2.py b/python/istio_api/networking/v1alpha3/gateway_pb2.py
index 3a492b02fd..991c4f8169 100644
--- a/python/istio_api/networking/v1alpha3/gateway_pb2.py
+++ b/python/istio_api/networking/v1alpha3/gateway_pb2.py
@@ -19,7 +19,7 @@
name='networking/v1alpha3/gateway.proto',
package='istio.networking.v1alpha3',
syntax='proto3',
- serialized_pb=_b('\n!networking/v1alpha3/gateway.proto\x12\x19istio.networking.v1alpha3\"\xb2\x01\n\x07Gateway\x12\x32\n\x07servers\x18\x01 \x03(\x0b\x32!.istio.networking.v1alpha3.Server\x12\x42\n\x08selector\x18\x02 \x03(\x0b\x32\x30.istio.networking.v1alpha3.Gateway.SelectorEntry\x1a/\n\rSelectorEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xb3\x05\n\x06Server\x12-\n\x04port\x18\x01 \x01(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\r\n\x05hosts\x18\x02 \x03(\t\x12\x39\n\x03tls\x18\x03 \x01(\x0b\x32,.istio.networking.v1alpha3.Server.TLSOptions\x1a\xaf\x04\n\nTLSOptions\x12\x16\n\x0ehttps_redirect\x18\x01 \x01(\x08\x12\x42\n\x04mode\x18\x02 \x01(\x0e\x32\x34.istio.networking.v1alpha3.Server.TLSOptions.TLSmode\x12\x1a\n\x12server_certificate\x18\x03 \x01(\t\x12\x13\n\x0bprivate_key\x18\x04 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x05 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x06 \x03(\t\x12V\n\x14min_protocol_version\x18\x07 \x01(\x0e\x32\x38.istio.networking.v1alpha3.Server.TLSOptions.TLSProtocol\x12V\n\x14max_protocol_version\x18\x08 \x01(\x0e\x32\x38.istio.networking.v1alpha3.Server.TLSOptions.TLSProtocol\x12\x15\n\rcipher_suites\x18\t \x03(\t\"H\n\x07TLSmode\x12\x0f\n\x0bPASSTHROUGH\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x14\n\x10\x41UTO_PASSTHROUGH\x10\x03\"O\n\x0bTLSProtocol\x12\x0c\n\x08TLS_AUTO\x10\x00\x12\x0b\n\x07TLSV1_0\x10\x01\x12\x0b\n\x07TLSV1_1\x10\x02\x12\x0b\n\x07TLSV1_2\x10\x03\x12\x0b\n\x07TLSV1_3\x10\x04\"6\n\x04Port\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x10\n\x08protocol\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\tB\"Z istio.io/api/networking/v1alpha3b\x06proto3')
+ serialized_pb=_b('\n!networking/v1alpha3/gateway.proto\x12\x19istio.networking.v1alpha3\"\xb2\x01\n\x07Gateway\x12\x32\n\x07servers\x18\x01 \x03(\x0b\x32!.istio.networking.v1alpha3.Server\x12\x42\n\x08selector\x18\x02 \x03(\x0b\x32\x30.istio.networking.v1alpha3.Gateway.SelectorEntry\x1a/\n\rSelectorEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xdb\x05\n\x06Server\x12-\n\x04port\x18\x01 \x01(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x0c\n\x04\x62ind\x18\x04 \x01(\t\x12\r\n\x05hosts\x18\x02 \x03(\t\x12\x39\n\x03tls\x18\x03 \x01(\x0b\x32,.istio.networking.v1alpha3.Server.TLSOptions\x12\x18\n\x10\x64\x65\x66\x61ult_endpoint\x18\x05 \x01(\t\x1a\xaf\x04\n\nTLSOptions\x12\x16\n\x0ehttps_redirect\x18\x01 \x01(\x08\x12\x42\n\x04mode\x18\x02 \x01(\x0e\x32\x34.istio.networking.v1alpha3.Server.TLSOptions.TLSmode\x12\x1a\n\x12server_certificate\x18\x03 \x01(\t\x12\x13\n\x0bprivate_key\x18\x04 \x01(\t\x12\x17\n\x0f\x63\x61_certificates\x18\x05 \x01(\t\x12\x19\n\x11subject_alt_names\x18\x06 \x03(\t\x12V\n\x14min_protocol_version\x18\x07 \x01(\x0e\x32\x38.istio.networking.v1alpha3.Server.TLSOptions.TLSProtocol\x12V\n\x14max_protocol_version\x18\x08 \x01(\x0e\x32\x38.istio.networking.v1alpha3.Server.TLSOptions.TLSProtocol\x12\x15\n\rcipher_suites\x18\t \x03(\t\"H\n\x07TLSmode\x12\x0f\n\x0bPASSTHROUGH\x10\x00\x12\n\n\x06SIMPLE\x10\x01\x12\n\n\x06MUTUAL\x10\x02\x12\x14\n\x10\x41UTO_PASSTHROUGH\x10\x03\"O\n\x0bTLSProtocol\x12\x0c\n\x08TLS_AUTO\x10\x00\x12\x0b\n\x07TLSV1_0\x10\x01\x12\x0b\n\x07TLSV1_1\x10\x02\x12\x0b\n\x07TLSV1_2\x10\x03\x12\x0b\n\x07TLSV1_3\x10\x04\"6\n\x04Port\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x10\n\x08protocol\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\tB\"Z istio.io/api/networking/v1alpha3b\x06proto3')
)
@@ -49,8 +49,8 @@
],
containing_type=None,
options=None,
- serialized_start=784,
- serialized_end=856,
+ serialized_start=824,
+ serialized_end=896,
)
_sym_db.RegisterEnumDescriptor(_SERVER_TLSOPTIONS_TLSMODE)
@@ -83,8 +83,8 @@
],
containing_type=None,
options=None,
- serialized_start=858,
- serialized_end=937,
+ serialized_start=898,
+ serialized_end=977,
)
_sym_db.RegisterEnumDescriptor(_SERVER_TLSOPTIONS_TLSPROTOCOL)
@@ -248,8 +248,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=378,
- serialized_end=937,
+ serialized_start=418,
+ serialized_end=977,
)
_SERVER = _descriptor.Descriptor(
@@ -267,19 +267,33 @@
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='hosts', full_name='istio.networking.v1alpha3.Server.hosts', index=1,
+ name='bind', full_name='istio.networking.v1alpha3.Server.bind', index=1,
+ number=4, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='hosts', full_name='istio.networking.v1alpha3.Server.hosts', index=2,
number=2, type=9, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='tls', full_name='istio.networking.v1alpha3.Server.tls', index=2,
+ name='tls', full_name='istio.networking.v1alpha3.Server.tls', index=3,
number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='default_endpoint', full_name='istio.networking.v1alpha3.Server.default_endpoint', index=4,
+ number=5, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
],
extensions=[
],
@@ -293,7 +307,7 @@
oneofs=[
],
serialized_start=246,
- serialized_end=937,
+ serialized_end=977,
)
@@ -337,8 +351,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=939,
- serialized_end=993,
+ serialized_start=979,
+ serialized_end=1033,
)
_GATEWAY_SELECTORENTRY.containing_type = _GATEWAY
diff --git a/python/istio_api/networking/v1alpha3/service_dependency_pb2.py b/python/istio_api/networking/v1alpha3/service_dependency_pb2.py
deleted file mode 100644
index 995a079b31..0000000000
--- a/python/istio_api/networking/v1alpha3/service_dependency_pb2.py
+++ /dev/null
@@ -1,241 +0,0 @@
-# Generated by the protocol buffer compiler. DO NOT EDIT!
-# source: networking/v1alpha3/service_dependency.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
-from google.protobuf.internal import enum_type_wrapper
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
- name='networking/v1alpha3/service_dependency.proto',
- package='istio.networking.v1alpha3',
- syntax='proto3',
- serialized_pb=_b('\n,networking/v1alpha3/service_dependency.proto\x12\x19istio.networking.v1alpha3\"\x92\x03\n\x11ServiceDependency\x12M\n\x0c\x64\x65pendencies\x18\x01 \x03(\x0b\x32\x37.istio.networking.v1alpha3.ServiceDependency.Dependency\x1a)\n\x06Import\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x1a\x82\x02\n\nDependency\x12q\n\x16source_workload_labels\x18\x01 \x03(\x0b\x32Q.istio.networking.v1alpha3.ServiceDependency.Dependency.SourceWorkloadLabelsEntry\x12\x44\n\x07imports\x18\x02 \x03(\x0b\x32\x33.istio.networking.v1alpha3.ServiceDependency.Import\x1a;\n\x19SourceWorkloadLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*&\n\x0b\x43onfigScope\x12\n\n\x06PUBLIC\x10\x00\x12\x0b\n\x07PRIVATE\x10\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3')
-)
-
-_CONFIGSCOPE = _descriptor.EnumDescriptor(
- name='ConfigScope',
- full_name='istio.networking.v1alpha3.ConfigScope',
- filename=None,
- file=DESCRIPTOR,
- values=[
- _descriptor.EnumValueDescriptor(
- name='PUBLIC', index=0, number=0,
- options=None,
- type=None),
- _descriptor.EnumValueDescriptor(
- name='PRIVATE', index=1, number=1,
- options=None,
- type=None),
- ],
- containing_type=None,
- options=None,
- serialized_start=480,
- serialized_end=518,
-)
-_sym_db.RegisterEnumDescriptor(_CONFIGSCOPE)
-
-ConfigScope = enum_type_wrapper.EnumTypeWrapper(_CONFIGSCOPE)
-PUBLIC = 0
-PRIVATE = 1
-
-
-
-_SERVICEDEPENDENCY_IMPORT = _descriptor.Descriptor(
- name='Import',
- full_name='istio.networking.v1alpha3.ServiceDependency.Import',
- filename=None,
- file=DESCRIPTOR,
- containing_type=None,
- fields=[
- _descriptor.FieldDescriptor(
- name='namespace', full_name='istio.networking.v1alpha3.ServiceDependency.Import.namespace', index=0,
- number=1, type=9, cpp_type=9, label=1,
- has_default_value=False, default_value=_b("").decode('utf-8'),
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='host', full_name='istio.networking.v1alpha3.ServiceDependency.Import.host', index=1,
- number=2, type=9, cpp_type=9, label=1,
- has_default_value=False, default_value=_b("").decode('utf-8'),
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
- ],
- extensions=[
- ],
- nested_types=[],
- enum_types=[
- ],
- options=None,
- is_extendable=False,
- syntax='proto3',
- extension_ranges=[],
- oneofs=[
- ],
- serialized_start=176,
- serialized_end=217,
-)
-
-_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY = _descriptor.Descriptor(
- name='SourceWorkloadLabelsEntry',
- full_name='istio.networking.v1alpha3.ServiceDependency.Dependency.SourceWorkloadLabelsEntry',
- filename=None,
- file=DESCRIPTOR,
- containing_type=None,
- fields=[
- _descriptor.FieldDescriptor(
- name='key', full_name='istio.networking.v1alpha3.ServiceDependency.Dependency.SourceWorkloadLabelsEntry.key', index=0,
- number=1, type=9, cpp_type=9, label=1,
- has_default_value=False, default_value=_b("").decode('utf-8'),
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='value', full_name='istio.networking.v1alpha3.ServiceDependency.Dependency.SourceWorkloadLabelsEntry.value', index=1,
- number=2, type=9, cpp_type=9, label=1,
- has_default_value=False, default_value=_b("").decode('utf-8'),
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
- ],
- extensions=[
- ],
- nested_types=[],
- enum_types=[
- ],
- options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
- is_extendable=False,
- syntax='proto3',
- extension_ranges=[],
- oneofs=[
- ],
- serialized_start=419,
- serialized_end=478,
-)
-
-_SERVICEDEPENDENCY_DEPENDENCY = _descriptor.Descriptor(
- name='Dependency',
- full_name='istio.networking.v1alpha3.ServiceDependency.Dependency',
- filename=None,
- file=DESCRIPTOR,
- containing_type=None,
- fields=[
- _descriptor.FieldDescriptor(
- name='source_workload_labels', full_name='istio.networking.v1alpha3.ServiceDependency.Dependency.source_workload_labels', index=0,
- number=1, type=11, cpp_type=10, label=3,
- has_default_value=False, default_value=[],
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='imports', full_name='istio.networking.v1alpha3.ServiceDependency.Dependency.imports', index=1,
- number=2, type=11, cpp_type=10, label=3,
- has_default_value=False, default_value=[],
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
- ],
- extensions=[
- ],
- nested_types=[_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY, ],
- enum_types=[
- ],
- options=None,
- is_extendable=False,
- syntax='proto3',
- extension_ranges=[],
- oneofs=[
- ],
- serialized_start=220,
- serialized_end=478,
-)
-
-_SERVICEDEPENDENCY = _descriptor.Descriptor(
- name='ServiceDependency',
- full_name='istio.networking.v1alpha3.ServiceDependency',
- filename=None,
- file=DESCRIPTOR,
- containing_type=None,
- fields=[
- _descriptor.FieldDescriptor(
- name='dependencies', full_name='istio.networking.v1alpha3.ServiceDependency.dependencies', index=0,
- number=1, type=11, cpp_type=10, label=3,
- has_default_value=False, default_value=[],
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
- ],
- extensions=[
- ],
- nested_types=[_SERVICEDEPENDENCY_IMPORT, _SERVICEDEPENDENCY_DEPENDENCY, ],
- enum_types=[
- ],
- options=None,
- is_extendable=False,
- syntax='proto3',
- extension_ranges=[],
- oneofs=[
- ],
- serialized_start=76,
- serialized_end=478,
-)
-
-_SERVICEDEPENDENCY_IMPORT.containing_type = _SERVICEDEPENDENCY
-_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY.containing_type = _SERVICEDEPENDENCY_DEPENDENCY
-_SERVICEDEPENDENCY_DEPENDENCY.fields_by_name['source_workload_labels'].message_type = _SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY
-_SERVICEDEPENDENCY_DEPENDENCY.fields_by_name['imports'].message_type = _SERVICEDEPENDENCY_IMPORT
-_SERVICEDEPENDENCY_DEPENDENCY.containing_type = _SERVICEDEPENDENCY
-_SERVICEDEPENDENCY.fields_by_name['dependencies'].message_type = _SERVICEDEPENDENCY_DEPENDENCY
-DESCRIPTOR.message_types_by_name['ServiceDependency'] = _SERVICEDEPENDENCY
-DESCRIPTOR.enum_types_by_name['ConfigScope'] = _CONFIGSCOPE
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-ServiceDependency = _reflection.GeneratedProtocolMessageType('ServiceDependency', (_message.Message,), dict(
-
- Import = _reflection.GeneratedProtocolMessageType('Import', (_message.Message,), dict(
- DESCRIPTOR = _SERVICEDEPENDENCY_IMPORT,
- __module__ = 'networking.v1alpha3.service_dependency_pb2'
- # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ServiceDependency.Import)
- ))
- ,
-
- Dependency = _reflection.GeneratedProtocolMessageType('Dependency', (_message.Message,), dict(
-
- SourceWorkloadLabelsEntry = _reflection.GeneratedProtocolMessageType('SourceWorkloadLabelsEntry', (_message.Message,), dict(
- DESCRIPTOR = _SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY,
- __module__ = 'networking.v1alpha3.service_dependency_pb2'
- # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ServiceDependency.Dependency.SourceWorkloadLabelsEntry)
- ))
- ,
- DESCRIPTOR = _SERVICEDEPENDENCY_DEPENDENCY,
- __module__ = 'networking.v1alpha3.service_dependency_pb2'
- # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ServiceDependency.Dependency)
- ))
- ,
- DESCRIPTOR = _SERVICEDEPENDENCY,
- __module__ = 'networking.v1alpha3.service_dependency_pb2'
- # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.ServiceDependency)
- ))
-_sym_db.RegisterMessage(ServiceDependency)
-_sym_db.RegisterMessage(ServiceDependency.Import)
-_sym_db.RegisterMessage(ServiceDependency.Dependency)
-_sym_db.RegisterMessage(ServiceDependency.Dependency.SourceWorkloadLabelsEntry)
-
-
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z istio.io/api/networking/v1alpha3'))
-_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY.has_options = True
-_SERVICEDEPENDENCY_DEPENDENCY_SOURCEWORKLOADLABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
-# @@protoc_insertion_point(module_scope)
diff --git a/python/istio_api/networking/v1alpha3/service_entry_pb2.py b/python/istio_api/networking/v1alpha3/service_entry_pb2.py
index c3c269209f..0375749f9a 100644
--- a/python/istio_api/networking/v1alpha3/service_entry_pb2.py
+++ b/python/istio_api/networking/v1alpha3/service_entry_pb2.py
@@ -14,16 +14,16 @@
from networking.v1alpha3 import gateway_pb2 as networking_dot_v1alpha3_dot_gateway__pb2
-from networking.v1alpha3 import service_dependency_pb2 as networking_dot_v1alpha3_dot_service__dependency__pb2
+from networking.v1alpha3 import sidecar_pb2 as networking_dot_v1alpha3_dot_sidecar__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
name='networking/v1alpha3/service_entry.proto',
package='istio.networking.v1alpha3',
syntax='proto3',
- serialized_pb=_b('\n\'networking/v1alpha3/service_entry.proto\x12\x19istio.networking.v1alpha3\x1a!networking/v1alpha3/gateway.proto\x1a,networking/v1alpha3/service_dependency.proto\"\x96\x06\n\x0cServiceEntry\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x11\n\taddresses\x18\x02 \x03(\t\x12.\n\x05ports\x18\x03 \x03(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x42\n\x08location\x18\x04 \x01(\x0e\x32\x30.istio.networking.v1alpha3.ServiceEntry.Location\x12\x46\n\nresolution\x18\x05 \x01(\x0e\x32\x32.istio.networking.v1alpha3.ServiceEntry.Resolution\x12\x43\n\tendpoints\x18\x06 \x03(\x0b\x32\x30.istio.networking.v1alpha3.ServiceEntry.Endpoint\x12<\n\x0c\x63onfig_scope\x18\x07 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\x1a\xc5\x02\n\x08\x45ndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12J\n\x05ports\x18\x02 \x03(\x0b\x32;.istio.networking.v1alpha3.ServiceEntry.Endpoint.PortsEntry\x12L\n\x06labels\x18\x03 \x03(\x0b\x32<.istio.networking.v1alpha3.ServiceEntry.Endpoint.LabelsEntry\x12\x0f\n\x07network\x18\x04 \x01(\t\x12\x10\n\x08locality\x18\x05 \x01(\t\x12\x0e\n\x06weight\x18\x06 \x01(\r\x1a,\n\nPortsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"0\n\x08Location\x12\x11\n\rMESH_EXTERNAL\x10\x00\x12\x11\n\rMESH_INTERNAL\x10\x01\"+\n\nResolution\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06STATIC\x10\x01\x12\x07\n\x03\x44NS\x10\x02\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3')
+ serialized_pb=_b('\n\'networking/v1alpha3/service_entry.proto\x12\x19istio.networking.v1alpha3\x1a!networking/v1alpha3/gateway.proto\x1a!networking/v1alpha3/sidecar.proto\"\x96\x06\n\x0cServiceEntry\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x11\n\taddresses\x18\x02 \x03(\t\x12.\n\x05ports\x18\x03 \x03(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x42\n\x08location\x18\x04 \x01(\x0e\x32\x30.istio.networking.v1alpha3.ServiceEntry.Location\x12\x46\n\nresolution\x18\x05 \x01(\x0e\x32\x32.istio.networking.v1alpha3.ServiceEntry.Resolution\x12\x43\n\tendpoints\x18\x06 \x03(\x0b\x32\x30.istio.networking.v1alpha3.ServiceEntry.Endpoint\x12<\n\x0c\x63onfig_scope\x18\x07 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\x1a\xc5\x02\n\x08\x45ndpoint\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12J\n\x05ports\x18\x02 \x03(\x0b\x32;.istio.networking.v1alpha3.ServiceEntry.Endpoint.PortsEntry\x12L\n\x06labels\x18\x03 \x03(\x0b\x32<.istio.networking.v1alpha3.ServiceEntry.Endpoint.LabelsEntry\x12\x0f\n\x07network\x18\x04 \x01(\t\x12\x10\n\x08locality\x18\x05 \x01(\t\x12\x0e\n\x06weight\x18\x06 \x01(\r\x1a,\n\nPortsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"0\n\x08Location\x12\x11\n\rMESH_EXTERNAL\x10\x00\x12\x11\n\rMESH_INTERNAL\x10\x01\"+\n\nResolution\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06STATIC\x10\x01\x12\x07\n\x03\x44NS\x10\x02\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3')
,
- dependencies=[networking_dot_v1alpha3_dot_gateway__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_service__dependency__pb2.DESCRIPTOR,])
+ dependencies=[networking_dot_v1alpha3_dot_gateway__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_sidecar__pb2.DESCRIPTOR,])
@@ -44,8 +44,8 @@
],
containing_type=None,
options=None,
- serialized_start=849,
- serialized_end=897,
+ serialized_start=838,
+ serialized_end=886,
)
_sym_db.RegisterEnumDescriptor(_SERVICEENTRY_LOCATION)
@@ -70,8 +70,8 @@
],
containing_type=None,
options=None,
- serialized_start=899,
- serialized_end=942,
+ serialized_start=888,
+ serialized_end=931,
)
_sym_db.RegisterEnumDescriptor(_SERVICEENTRY_RESOLUTION)
@@ -109,8 +109,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=756,
- serialized_end=800,
+ serialized_start=745,
+ serialized_end=789,
)
_SERVICEENTRY_ENDPOINT_LABELSENTRY = _descriptor.Descriptor(
@@ -146,8 +146,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=802,
- serialized_end=847,
+ serialized_start=791,
+ serialized_end=836,
)
_SERVICEENTRY_ENDPOINT = _descriptor.Descriptor(
@@ -211,8 +211,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=522,
- serialized_end=847,
+ serialized_start=511,
+ serialized_end=836,
)
_SERVICEENTRY = _descriptor.Descriptor(
@@ -285,8 +285,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=152,
- serialized_end=942,
+ serialized_start=141,
+ serialized_end=931,
)
_SERVICEENTRY_ENDPOINT_PORTSENTRY.containing_type = _SERVICEENTRY_ENDPOINT
@@ -298,7 +298,7 @@
_SERVICEENTRY.fields_by_name['location'].enum_type = _SERVICEENTRY_LOCATION
_SERVICEENTRY.fields_by_name['resolution'].enum_type = _SERVICEENTRY_RESOLUTION
_SERVICEENTRY.fields_by_name['endpoints'].message_type = _SERVICEENTRY_ENDPOINT
-_SERVICEENTRY.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_service__dependency__pb2._CONFIGSCOPE
+_SERVICEENTRY.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_sidecar__pb2._CONFIGSCOPE
_SERVICEENTRY_LOCATION.containing_type = _SERVICEENTRY
_SERVICEENTRY_RESOLUTION.containing_type = _SERVICEENTRY
DESCRIPTOR.message_types_by_name['ServiceEntry'] = _SERVICEENTRY
diff --git a/python/istio_api/networking/v1alpha3/sidecar_pb2.py b/python/istio_api/networking/v1alpha3/sidecar_pb2.py
new file mode 100644
index 0000000000..33b4779367
--- /dev/null
+++ b/python/istio_api/networking/v1alpha3/sidecar_pb2.py
@@ -0,0 +1,360 @@
+# Generated by the protocol buffer compiler. DO NOT EDIT!
+# source: networking/v1alpha3/sidecar.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf.internal import enum_type_wrapper
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+from google.protobuf import descriptor_pb2
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+from networking.v1alpha3 import gateway_pb2 as networking_dot_v1alpha3_dot_gateway__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+ name='networking/v1alpha3/sidecar.proto',
+ package='istio.networking.v1alpha3',
+ syntax='proto3',
+ serialized_pb=_b('\n!networking/v1alpha3/sidecar.proto\x12\x19istio.networking.v1alpha3\x1a!networking/v1alpha3/gateway.proto\"\xd3\x01\n\x07Sidecar\x12\x46\n\x11workload_selector\x18\x01 \x01(\x0b\x32+.istio.networking.v1alpha3.WorkloadSelector\x12@\n\x07ingress\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.IstioIngressListener\x12>\n\x06\x65gress\x18\x03 \x03(\x0b\x32..istio.networking.v1alpha3.IstioEgressListener\"\xab\x01\n\x14IstioIngressListener\x12-\n\x04port\x18\x01 \x01(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x0c\n\x04\x62ind\x18\x02 \x01(\t\x12<\n\x0c\x63\x61pture_mode\x18\x03 \x01(\x0e\x32&.istio.networking.v1alpha3.CaptureMode\x12\x18\n\x10\x64\x65\x66\x61ult_endpoint\x18\x04 \x01(\t\"\x9f\x01\n\x13IstioEgressListener\x12-\n\x04port\x18\x01 \x01(\x0b\x32\x1f.istio.networking.v1alpha3.Port\x12\x0c\n\x04\x62ind\x18\x02 \x01(\t\x12<\n\x0c\x63\x61pture_mode\x18\x03 \x01(\x0e\x32&.istio.networking.v1alpha3.CaptureMode\x12\r\n\x05hosts\x18\x04 \x03(\t\"\x8a\x01\n\x10WorkloadSelector\x12G\n\x06labels\x18\x01 \x03(\x0b\x32\x37.istio.networking.v1alpha3.WorkloadSelector.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*&\n\x0b\x43onfigScope\x12\n\n\x06PUBLIC\x10\x00\x12\x0b\n\x07PRIVATE\x10\x01*2\n\x0b\x43\x61ptureMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0c\n\x08IPTABLES\x10\x01\x12\x08\n\x04NONE\x10\x02\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3')
+ ,
+ dependencies=[networking_dot_v1alpha3_dot_gateway__pb2.DESCRIPTOR,])
+
+_CONFIGSCOPE = _descriptor.EnumDescriptor(
+ name='ConfigScope',
+ full_name='istio.networking.v1alpha3.ConfigScope',
+ filename=None,
+ file=DESCRIPTOR,
+ values=[
+ _descriptor.EnumValueDescriptor(
+ name='PUBLIC', index=0, number=0,
+ options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='PRIVATE', index=1, number=1,
+ options=None,
+ type=None),
+ ],
+ containing_type=None,
+ options=None,
+ serialized_start=790,
+ serialized_end=828,
+)
+_sym_db.RegisterEnumDescriptor(_CONFIGSCOPE)
+
+ConfigScope = enum_type_wrapper.EnumTypeWrapper(_CONFIGSCOPE)
+_CAPTUREMODE = _descriptor.EnumDescriptor(
+ name='CaptureMode',
+ full_name='istio.networking.v1alpha3.CaptureMode',
+ filename=None,
+ file=DESCRIPTOR,
+ values=[
+ _descriptor.EnumValueDescriptor(
+ name='DEFAULT', index=0, number=0,
+ options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='IPTABLES', index=1, number=1,
+ options=None,
+ type=None),
+ _descriptor.EnumValueDescriptor(
+ name='NONE', index=2, number=2,
+ options=None,
+ type=None),
+ ],
+ containing_type=None,
+ options=None,
+ serialized_start=830,
+ serialized_end=880,
+)
+_sym_db.RegisterEnumDescriptor(_CAPTUREMODE)
+
+CaptureMode = enum_type_wrapper.EnumTypeWrapper(_CAPTUREMODE)
+PUBLIC = 0
+PRIVATE = 1
+DEFAULT = 0
+IPTABLES = 1
+NONE = 2
+
+
+
+_SIDECAR = _descriptor.Descriptor(
+ name='Sidecar',
+ full_name='istio.networking.v1alpha3.Sidecar',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='workload_selector', full_name='istio.networking.v1alpha3.Sidecar.workload_selector', index=0,
+ number=1, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='ingress', full_name='istio.networking.v1alpha3.Sidecar.ingress', index=1,
+ number=2, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='egress', full_name='istio.networking.v1alpha3.Sidecar.egress', index=2,
+ number=3, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=100,
+ serialized_end=311,
+)
+
+
+_ISTIOINGRESSLISTENER = _descriptor.Descriptor(
+ name='IstioIngressListener',
+ full_name='istio.networking.v1alpha3.IstioIngressListener',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='port', full_name='istio.networking.v1alpha3.IstioIngressListener.port', index=0,
+ number=1, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='bind', full_name='istio.networking.v1alpha3.IstioIngressListener.bind', index=1,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='capture_mode', full_name='istio.networking.v1alpha3.IstioIngressListener.capture_mode', index=2,
+ number=3, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='default_endpoint', full_name='istio.networking.v1alpha3.IstioIngressListener.default_endpoint', index=3,
+ number=4, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=314,
+ serialized_end=485,
+)
+
+
+_ISTIOEGRESSLISTENER = _descriptor.Descriptor(
+ name='IstioEgressListener',
+ full_name='istio.networking.v1alpha3.IstioEgressListener',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='port', full_name='istio.networking.v1alpha3.IstioEgressListener.port', index=0,
+ number=1, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='bind', full_name='istio.networking.v1alpha3.IstioEgressListener.bind', index=1,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='capture_mode', full_name='istio.networking.v1alpha3.IstioEgressListener.capture_mode', index=2,
+ number=3, type=14, cpp_type=8, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='hosts', full_name='istio.networking.v1alpha3.IstioEgressListener.hosts', index=3,
+ number=4, type=9, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=488,
+ serialized_end=647,
+)
+
+
+_WORKLOADSELECTOR_LABELSENTRY = _descriptor.Descriptor(
+ name='LabelsEntry',
+ full_name='istio.networking.v1alpha3.WorkloadSelector.LabelsEntry',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='key', full_name='istio.networking.v1alpha3.WorkloadSelector.LabelsEntry.key', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='value', full_name='istio.networking.v1alpha3.WorkloadSelector.LabelsEntry.value', index=1,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=743,
+ serialized_end=788,
+)
+
+_WORKLOADSELECTOR = _descriptor.Descriptor(
+ name='WorkloadSelector',
+ full_name='istio.networking.v1alpha3.WorkloadSelector',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='labels', full_name='istio.networking.v1alpha3.WorkloadSelector.labels', index=0,
+ number=1, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[_WORKLOADSELECTOR_LABELSENTRY, ],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=650,
+ serialized_end=788,
+)
+
+_SIDECAR.fields_by_name['workload_selector'].message_type = _WORKLOADSELECTOR
+_SIDECAR.fields_by_name['ingress'].message_type = _ISTIOINGRESSLISTENER
+_SIDECAR.fields_by_name['egress'].message_type = _ISTIOEGRESSLISTENER
+_ISTIOINGRESSLISTENER.fields_by_name['port'].message_type = networking_dot_v1alpha3_dot_gateway__pb2._PORT
+_ISTIOINGRESSLISTENER.fields_by_name['capture_mode'].enum_type = _CAPTUREMODE
+_ISTIOEGRESSLISTENER.fields_by_name['port'].message_type = networking_dot_v1alpha3_dot_gateway__pb2._PORT
+_ISTIOEGRESSLISTENER.fields_by_name['capture_mode'].enum_type = _CAPTUREMODE
+_WORKLOADSELECTOR_LABELSENTRY.containing_type = _WORKLOADSELECTOR
+_WORKLOADSELECTOR.fields_by_name['labels'].message_type = _WORKLOADSELECTOR_LABELSENTRY
+DESCRIPTOR.message_types_by_name['Sidecar'] = _SIDECAR
+DESCRIPTOR.message_types_by_name['IstioIngressListener'] = _ISTIOINGRESSLISTENER
+DESCRIPTOR.message_types_by_name['IstioEgressListener'] = _ISTIOEGRESSLISTENER
+DESCRIPTOR.message_types_by_name['WorkloadSelector'] = _WORKLOADSELECTOR
+DESCRIPTOR.enum_types_by_name['ConfigScope'] = _CONFIGSCOPE
+DESCRIPTOR.enum_types_by_name['CaptureMode'] = _CAPTUREMODE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+Sidecar = _reflection.GeneratedProtocolMessageType('Sidecar', (_message.Message,), dict(
+ DESCRIPTOR = _SIDECAR,
+ __module__ = 'networking.v1alpha3.sidecar_pb2'
+ # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Sidecar)
+ ))
+_sym_db.RegisterMessage(Sidecar)
+
+IstioIngressListener = _reflection.GeneratedProtocolMessageType('IstioIngressListener', (_message.Message,), dict(
+ DESCRIPTOR = _ISTIOINGRESSLISTENER,
+ __module__ = 'networking.v1alpha3.sidecar_pb2'
+ # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.IstioIngressListener)
+ ))
+_sym_db.RegisterMessage(IstioIngressListener)
+
+IstioEgressListener = _reflection.GeneratedProtocolMessageType('IstioEgressListener', (_message.Message,), dict(
+ DESCRIPTOR = _ISTIOEGRESSLISTENER,
+ __module__ = 'networking.v1alpha3.sidecar_pb2'
+ # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.IstioEgressListener)
+ ))
+_sym_db.RegisterMessage(IstioEgressListener)
+
+WorkloadSelector = _reflection.GeneratedProtocolMessageType('WorkloadSelector', (_message.Message,), dict(
+
+ LabelsEntry = _reflection.GeneratedProtocolMessageType('LabelsEntry', (_message.Message,), dict(
+ DESCRIPTOR = _WORKLOADSELECTOR_LABELSENTRY,
+ __module__ = 'networking.v1alpha3.sidecar_pb2'
+ # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.WorkloadSelector.LabelsEntry)
+ ))
+ ,
+ DESCRIPTOR = _WORKLOADSELECTOR,
+ __module__ = 'networking.v1alpha3.sidecar_pb2'
+ # @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.WorkloadSelector)
+ ))
+_sym_db.RegisterMessage(WorkloadSelector)
+_sym_db.RegisterMessage(WorkloadSelector.LabelsEntry)
+
+
+DESCRIPTOR.has_options = True
+DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z istio.io/api/networking/v1alpha3'))
+_WORKLOADSELECTOR_LABELSENTRY.has_options = True
+_WORKLOADSELECTOR_LABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
+# @@protoc_insertion_point(module_scope)
diff --git a/python/istio_api/networking/v1alpha3/virtual_service_pb2.py b/python/istio_api/networking/v1alpha3/virtual_service_pb2.py
index 7df90ca370..4bff1527b2 100644
--- a/python/istio_api/networking/v1alpha3/virtual_service_pb2.py
+++ b/python/istio_api/networking/v1alpha3/virtual_service_pb2.py
@@ -15,16 +15,16 @@
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
-from networking.v1alpha3 import service_dependency_pb2 as networking_dot_v1alpha3_dot_service__dependency__pb2
+from networking.v1alpha3 import sidecar_pb2 as networking_dot_v1alpha3_dot_sidecar__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
name='networking/v1alpha3/virtual_service.proto',
package='istio.networking.v1alpha3',
syntax='proto3',
- serialized_pb=_b('\n)networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a,networking/v1alpha3/service_dependency.proto\"\x87\x02\n\x0eVirtualService\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x10\n\x08gateways\x18\x02 \x03(\t\x12\x32\n\x04http\x18\x03 \x03(\x0b\x32$.istio.networking.v1alpha3.HTTPRoute\x12\x30\n\x03tls\x18\x05 \x03(\x0b\x32#.istio.networking.v1alpha3.TLSRoute\x12\x30\n\x03tcp\x18\x04 \x03(\x0b\x32#.istio.networking.v1alpha3.TCPRoute\x12<\n\x0c\x63onfig_scope\x18\x06 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\"b\n\x0b\x44\x65stination\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0e\n\x06subset\x18\x02 \x01(\t\x12\x35\n\x04port\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\"\xf9\x08\n\tHTTPRoute\x12:\n\x05match\x18\x01 \x03(\x0b\x32+.istio.networking.v1alpha3.HTTPMatchRequest\x12>\n\x05route\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.HTTPRouteDestination\x12\x39\n\x08redirect\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.HTTPRedirect\x12\x37\n\x07rewrite\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.HTTPRewrite\x12\x19\n\x11websocket_upgrade\x18\x05 \x01(\x08\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x07retries\x18\x07 \x01(\x0b\x32$.istio.networking.v1alpha3.HTTPRetry\x12<\n\x05\x66\x61ult\x18\x08 \x01(\x0b\x32-.istio.networking.v1alpha3.HTTPFaultInjection\x12\x36\n\x06mirror\x18\t \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12:\n\x0b\x63ors_policy\x18\n \x01(\x0b\x32%.istio.networking.v1alpha3.CorsPolicy\x12S\n\x0e\x61ppend_headers\x18\x0b \x03(\x0b\x32\x37.istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntryB\x02\x18\x01\x12#\n\x17remove_response_headers\x18\x0c \x03(\tB\x02\x18\x01\x12\x64\n\x17\x61ppend_response_headers\x18\r \x03(\x0b\x32?.istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x0e \x03(\tB\x02\x18\x01\x12\x62\n\x16\x61ppend_request_headers\x18\x0f \x03(\x0b\x32>.istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x10 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a\x34\n\x12\x41ppendHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x03\n\x07Headers\x12\x44\n\x07request\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x12\x45\n\x08response\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x1a\x90\x02\n\x10HeaderOperations\x12I\n\x03set\x18\x01 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry\x12I\n\x03\x61\x64\x64\x18\x02 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry\x12\x0e\n\x06remove\x18\x03 \x03(\t\x1a*\n\x08SetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a*\n\x08\x41\x64\x64\x45ntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x84\x01\n\x08TLSRoute\x12<\n\x05match\x18\x01 \x03(\x0b\x32-.istio.networking.v1alpha3.TLSMatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\x83\x01\n\x08TCPRoute\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.networking.v1alpha3.L4MatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\xc0\x04\n\x10HTTPMatchRequest\x12\x33\n\x03uri\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06scheme\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06method\x18\x03 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x39\n\tauthority\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry\x12\x0c\n\x04port\x18\x06 \x01(\r\x12T\n\rsource_labels\x18\x07 \x03(\x0b\x32=.istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x08 \x03(\t\x1aV\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch:\x02\x38\x01\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbc\x04\n\x14HTTPRouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12#\n\x17remove_response_headers\x18\x03 \x03(\tB\x02\x18\x01\x12o\n\x17\x61ppend_response_headers\x18\x04 \x03(\x0b\x32J.istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x05 \x03(\tB\x02\x18\x01\x12m\n\x16\x61ppend_request_headers\x18\x06 \x03(\x0b\x32I.istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x07 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\x10RouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"\xf3\x01\n\x11L4MatchAttributes\x12\x1b\n\x13\x64\x65stination_subnets\x18\x01 \x03(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x15\n\rsource_subnet\x18\x03 \x01(\t\x12U\n\rsource_labels\x18\x04 \x03(\x0b\x32>.istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x05 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x88\x02\n\x12TLSMatchAttributes\x12\x11\n\tsni_hosts\x18\x01 \x03(\t\x12\x1b\n\x13\x64\x65stination_subnets\x18\x02 \x03(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x15\n\rsource_subnet\x18\x04 \x01(\t\x12V\n\rsource_labels\x18\x05 \x03(\x0b\x32?.istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x06 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\".\n\x0cHTTPRedirect\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"-\n\x0bHTTPRewrite\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"c\n\tHTTPRetry\x12\x10\n\x08\x61ttempts\x18\x01 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08retry_on\x18\x03 \x01(\t\"\xcb\x01\n\nCorsPolicy\x12\x14\n\x0c\x61llow_origin\x18\x01 \x03(\t\x12\x15\n\rallow_methods\x18\x02 \x03(\t\x12\x15\n\rallow_headers\x18\x03 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x04 \x03(\t\x12*\n\x07max_age\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x11\x61llow_credentials\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"\x9a\x04\n\x12HTTPFaultInjection\x12\x42\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Delay\x12\x42\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Abort\x1a\xd1\x01\n\x05\x44\x65lay\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x30\n\x0b\x66ixed_delay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\x11\x65xponential_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x11\n\x0fhttp_delay_type\x1a\xa7\x01\n\x05\x41\x62ort\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x15\n\x0bhttp_status\x18\x02 \x01(\x05H\x00\x12\x15\n\x0bgrpc_status\x18\x03 \x01(\tH\x00\x12\x15\n\x0bhttp2_error\x18\x04 \x01(\tH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x0c\n\nerror_type\"8\n\x0cPortSelector\x12\x10\n\x06number\x18\x01 \x01(\rH\x00\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x42\x06\n\x04port\"\x18\n\x07Percent\x12\r\n\x05value\x18\x01 \x01(\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3')
+ serialized_pb=_b('\n)networking/v1alpha3/virtual_service.proto\x12\x19istio.networking.v1alpha3\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a!networking/v1alpha3/sidecar.proto\"\x87\x02\n\x0eVirtualService\x12\r\n\x05hosts\x18\x01 \x03(\t\x12\x10\n\x08gateways\x18\x02 \x03(\t\x12\x32\n\x04http\x18\x03 \x03(\x0b\x32$.istio.networking.v1alpha3.HTTPRoute\x12\x30\n\x03tls\x18\x05 \x03(\x0b\x32#.istio.networking.v1alpha3.TLSRoute\x12\x30\n\x03tcp\x18\x04 \x03(\x0b\x32#.istio.networking.v1alpha3.TCPRoute\x12<\n\x0c\x63onfig_scope\x18\x06 \x01(\x0e\x32&.istio.networking.v1alpha3.ConfigScope\"b\n\x0b\x44\x65stination\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0e\n\x06subset\x18\x02 \x01(\t\x12\x35\n\x04port\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.PortSelector\"\xf9\x08\n\tHTTPRoute\x12:\n\x05match\x18\x01 \x03(\x0b\x32+.istio.networking.v1alpha3.HTTPMatchRequest\x12>\n\x05route\x18\x02 \x03(\x0b\x32/.istio.networking.v1alpha3.HTTPRouteDestination\x12\x39\n\x08redirect\x18\x03 \x01(\x0b\x32\'.istio.networking.v1alpha3.HTTPRedirect\x12\x37\n\x07rewrite\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.HTTPRewrite\x12\x19\n\x11websocket_upgrade\x18\x05 \x01(\x08\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x07retries\x18\x07 \x01(\x0b\x32$.istio.networking.v1alpha3.HTTPRetry\x12<\n\x05\x66\x61ult\x18\x08 \x01(\x0b\x32-.istio.networking.v1alpha3.HTTPFaultInjection\x12\x36\n\x06mirror\x18\t \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12:\n\x0b\x63ors_policy\x18\n \x01(\x0b\x32%.istio.networking.v1alpha3.CorsPolicy\x12S\n\x0e\x61ppend_headers\x18\x0b \x03(\x0b\x32\x37.istio.networking.v1alpha3.HTTPRoute.AppendHeadersEntryB\x02\x18\x01\x12#\n\x17remove_response_headers\x18\x0c \x03(\tB\x02\x18\x01\x12\x64\n\x17\x61ppend_response_headers\x18\r \x03(\x0b\x32?.istio.networking.v1alpha3.HTTPRoute.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x0e \x03(\tB\x02\x18\x01\x12\x62\n\x16\x61ppend_request_headers\x18\x0f \x03(\x0b\x32>.istio.networking.v1alpha3.HTTPRoute.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x10 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a\x34\n\x12\x41ppendHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x03\n\x07Headers\x12\x44\n\x07request\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x12\x45\n\x08response\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.Headers.HeaderOperations\x1a\x90\x02\n\x10HeaderOperations\x12I\n\x03set\x18\x01 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.SetEntry\x12I\n\x03\x61\x64\x64\x18\x02 \x03(\x0b\x32<.istio.networking.v1alpha3.Headers.HeaderOperations.AddEntry\x12\x0e\n\x06remove\x18\x03 \x03(\t\x1a*\n\x08SetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a*\n\x08\x41\x64\x64\x45ntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x84\x01\n\x08TLSRoute\x12<\n\x05match\x18\x01 \x03(\x0b\x32-.istio.networking.v1alpha3.TLSMatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\x83\x01\n\x08TCPRoute\x12;\n\x05match\x18\x01 \x03(\x0b\x32,.istio.networking.v1alpha3.L4MatchAttributes\x12:\n\x05route\x18\x02 \x03(\x0b\x32+.istio.networking.v1alpha3.RouteDestination\"\xc0\x04\n\x10HTTPMatchRequest\x12\x33\n\x03uri\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06scheme\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x36\n\x06method\x18\x03 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12\x39\n\tauthority\x18\x04 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.istio.networking.v1alpha3.HTTPMatchRequest.HeadersEntry\x12\x0c\n\x04port\x18\x06 \x01(\r\x12T\n\rsource_labels\x18\x07 \x03(\x0b\x32=.istio.networking.v1alpha3.HTTPMatchRequest.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x08 \x03(\t\x1aV\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.StringMatch:\x02\x38\x01\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbc\x04\n\x14HTTPRouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12#\n\x17remove_response_headers\x18\x03 \x03(\tB\x02\x18\x01\x12o\n\x17\x61ppend_response_headers\x18\x04 \x03(\x0b\x32J.istio.networking.v1alpha3.HTTPRouteDestination.AppendResponseHeadersEntryB\x02\x18\x01\x12\"\n\x16remove_request_headers\x18\x05 \x03(\tB\x02\x18\x01\x12m\n\x16\x61ppend_request_headers\x18\x06 \x03(\x0b\x32I.istio.networking.v1alpha3.HTTPRouteDestination.AppendRequestHeadersEntryB\x02\x18\x01\x12\x33\n\x07headers\x18\x07 \x01(\x0b\x32\".istio.networking.v1alpha3.Headers\x1a<\n\x1a\x41ppendResponseHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a;\n\x19\x41ppendRequestHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\x10RouteDestination\x12;\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32&.istio.networking.v1alpha3.Destination\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"\xf3\x01\n\x11L4MatchAttributes\x12\x1b\n\x13\x64\x65stination_subnets\x18\x01 \x03(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x15\n\rsource_subnet\x18\x03 \x01(\t\x12U\n\rsource_labels\x18\x04 \x03(\x0b\x32>.istio.networking.v1alpha3.L4MatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x05 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x88\x02\n\x12TLSMatchAttributes\x12\x11\n\tsni_hosts\x18\x01 \x03(\t\x12\x1b\n\x13\x64\x65stination_subnets\x18\x02 \x03(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x15\n\rsource_subnet\x18\x04 \x01(\t\x12V\n\rsource_labels\x18\x05 \x03(\x0b\x32?.istio.networking.v1alpha3.TLSMatchAttributes.SourceLabelsEntry\x12\x10\n\x08gateways\x18\x06 \x03(\t\x1a\x33\n\x11SourceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\".\n\x0cHTTPRedirect\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"-\n\x0bHTTPRewrite\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"c\n\tHTTPRetry\x12\x10\n\x08\x61ttempts\x18\x01 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x10\n\x08retry_on\x18\x03 \x01(\t\"\xcb\x01\n\nCorsPolicy\x12\x14\n\x0c\x61llow_origin\x18\x01 \x03(\t\x12\x15\n\rallow_methods\x18\x02 \x03(\t\x12\x15\n\rallow_headers\x18\x03 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x04 \x03(\t\x12*\n\x07max_age\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x11\x61llow_credentials\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"\x9a\x04\n\x12HTTPFaultInjection\x12\x42\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Delay\x12\x42\n\x05\x61\x62ort\x18\x02 \x01(\x0b\x32\x33.istio.networking.v1alpha3.HTTPFaultInjection.Abort\x1a\xd1\x01\n\x05\x44\x65lay\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x30\n\x0b\x66ixed_delay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\x11\x65xponential_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x11\n\x0fhttp_delay_type\x1a\xa7\x01\n\x05\x41\x62ort\x12\x13\n\x07percent\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x15\n\x0bhttp_status\x18\x02 \x01(\x05H\x00\x12\x15\n\x0bgrpc_status\x18\x03 \x01(\tH\x00\x12\x15\n\x0bhttp2_error\x18\x04 \x01(\tH\x00\x12\x36\n\npercentage\x18\x05 \x01(\x0b\x32\".istio.networking.v1alpha3.PercentB\x0c\n\nerror_type\"8\n\x0cPortSelector\x12\x10\n\x06number\x18\x01 \x01(\rH\x00\x12\x0e\n\x04name\x18\x02 \x01(\tH\x00\x42\x06\n\x04port\"\x18\n\x07Percent\x12\r\n\x05value\x18\x01 \x01(\x01\x42\"Z istio.io/api/networking/v1alpha3b\x06proto3')
,
- dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_service__dependency__pb2.DESCRIPTOR,])
+ dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_sidecar__pb2.DESCRIPTOR,])
@@ -90,8 +90,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=183,
- serialized_end=446,
+ serialized_start=172,
+ serialized_end=435,
)
@@ -135,8 +135,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=448,
- serialized_end=546,
+ serialized_start=437,
+ serialized_end=535,
)
@@ -173,8 +173,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1519,
- serialized_end=1571,
+ serialized_start=1508,
+ serialized_end=1560,
)
_HTTPROUTE_APPENDRESPONSEHEADERSENTRY = _descriptor.Descriptor(
@@ -210,8 +210,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1573,
- serialized_end=1633,
+ serialized_start=1562,
+ serialized_end=1622,
)
_HTTPROUTE_APPENDREQUESTHEADERSENTRY = _descriptor.Descriptor(
@@ -247,8 +247,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1635,
- serialized_end=1694,
+ serialized_start=1624,
+ serialized_end=1683,
)
_HTTPROUTE = _descriptor.Descriptor(
@@ -382,8 +382,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=549,
- serialized_end=1694,
+ serialized_start=538,
+ serialized_end=1683,
)
@@ -420,8 +420,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2036,
- serialized_end=2078,
+ serialized_start=2025,
+ serialized_end=2067,
)
_HEADERS_HEADEROPERATIONS_ADDENTRY = _descriptor.Descriptor(
@@ -457,8 +457,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2080,
- serialized_end=2122,
+ serialized_start=2069,
+ serialized_end=2111,
)
_HEADERS_HEADEROPERATIONS = _descriptor.Descriptor(
@@ -501,8 +501,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1850,
- serialized_end=2122,
+ serialized_start=1839,
+ serialized_end=2111,
)
_HEADERS = _descriptor.Descriptor(
@@ -538,8 +538,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1697,
- serialized_end=2122,
+ serialized_start=1686,
+ serialized_end=2111,
)
@@ -576,8 +576,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2125,
- serialized_end=2257,
+ serialized_start=2114,
+ serialized_end=2246,
)
@@ -614,8 +614,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2260,
- serialized_end=2391,
+ serialized_start=2249,
+ serialized_end=2380,
)
@@ -652,8 +652,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2831,
- serialized_end=2917,
+ serialized_start=2820,
+ serialized_end=2906,
)
_HTTPMATCHREQUEST_SOURCELABELSENTRY = _descriptor.Descriptor(
@@ -689,8 +689,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2919,
- serialized_end=2970,
+ serialized_start=2908,
+ serialized_end=2959,
)
_HTTPMATCHREQUEST = _descriptor.Descriptor(
@@ -768,8 +768,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2394,
- serialized_end=2970,
+ serialized_start=2383,
+ serialized_end=2959,
)
@@ -806,8 +806,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1573,
- serialized_end=1633,
+ serialized_start=1562,
+ serialized_end=1622,
)
_HTTPROUTEDESTINATION_APPENDREQUESTHEADERSENTRY = _descriptor.Descriptor(
@@ -843,8 +843,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1635,
- serialized_end=1694,
+ serialized_start=1624,
+ serialized_end=1683,
)
_HTTPROUTEDESTINATION = _descriptor.Descriptor(
@@ -915,8 +915,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2973,
- serialized_end=3545,
+ serialized_start=2962,
+ serialized_end=3534,
)
@@ -953,8 +953,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3547,
- serialized_end=3642,
+ serialized_start=3536,
+ serialized_end=3631,
)
@@ -991,8 +991,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2919,
- serialized_end=2970,
+ serialized_start=2908,
+ serialized_end=2959,
)
_L4MATCHATTRIBUTES = _descriptor.Descriptor(
@@ -1049,8 +1049,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3645,
- serialized_end=3888,
+ serialized_start=3634,
+ serialized_end=3877,
)
@@ -1087,8 +1087,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=2919,
- serialized_end=2970,
+ serialized_start=2908,
+ serialized_end=2959,
)
_TLSMATCHATTRIBUTES = _descriptor.Descriptor(
@@ -1152,8 +1152,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=3891,
- serialized_end=4155,
+ serialized_start=3880,
+ serialized_end=4144,
)
@@ -1190,8 +1190,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4157,
- serialized_end=4203,
+ serialized_start=4146,
+ serialized_end=4192,
)
@@ -1228,8 +1228,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4205,
- serialized_end=4250,
+ serialized_start=4194,
+ serialized_end=4239,
)
@@ -1276,8 +1276,8 @@
name='match_type', full_name='istio.networking.v1alpha3.StringMatch.match_type',
index=0, containing_type=None, fields=[]),
],
- serialized_start=4252,
- serialized_end=4331,
+ serialized_start=4241,
+ serialized_end=4320,
)
@@ -1321,8 +1321,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4333,
- serialized_end=4432,
+ serialized_start=4322,
+ serialized_end=4421,
)
@@ -1387,8 +1387,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4435,
- serialized_end=4638,
+ serialized_start=4424,
+ serialized_end=4627,
)
@@ -1442,8 +1442,8 @@
name='http_delay_type', full_name='istio.networking.v1alpha3.HTTPFaultInjection.Delay.http_delay_type',
index=0, containing_type=None, fields=[]),
],
- serialized_start=4800,
- serialized_end=5009,
+ serialized_start=4789,
+ serialized_end=4998,
)
_HTTPFAULTINJECTION_ABORT = _descriptor.Descriptor(
@@ -1503,8 +1503,8 @@
name='error_type', full_name='istio.networking.v1alpha3.HTTPFaultInjection.Abort.error_type',
index=0, containing_type=None, fields=[]),
],
- serialized_start=5012,
- serialized_end=5179,
+ serialized_start=5001,
+ serialized_end=5168,
)
_HTTPFAULTINJECTION = _descriptor.Descriptor(
@@ -1540,8 +1540,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=4641,
- serialized_end=5179,
+ serialized_start=4630,
+ serialized_end=5168,
)
@@ -1581,8 +1581,8 @@
name='port', full_name='istio.networking.v1alpha3.PortSelector.port',
index=0, containing_type=None, fields=[]),
],
- serialized_start=5181,
- serialized_end=5237,
+ serialized_start=5170,
+ serialized_end=5226,
)
@@ -1612,14 +1612,14 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=5239,
- serialized_end=5263,
+ serialized_start=5228,
+ serialized_end=5252,
)
_VIRTUALSERVICE.fields_by_name['http'].message_type = _HTTPROUTE
_VIRTUALSERVICE.fields_by_name['tls'].message_type = _TLSROUTE
_VIRTUALSERVICE.fields_by_name['tcp'].message_type = _TCPROUTE
-_VIRTUALSERVICE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_service__dependency__pb2._CONFIGSCOPE
+_VIRTUALSERVICE.fields_by_name['config_scope'].enum_type = networking_dot_v1alpha3_dot_sidecar__pb2._CONFIGSCOPE
_DESTINATION.fields_by_name['port'].message_type = _PORTSELECTOR
_HTTPROUTE_APPENDHEADERSENTRY.containing_type = _HTTPROUTE
_HTTPROUTE_APPENDRESPONSEHEADERSENTRY.containing_type = _HTTPROUTE