const ( Destination_Get_FullMethodName = "/io.linkerd.proxy.destination.Destination/Get" Destination_GetProfile_FullMethodName = "/io.linkerd.proxy.destination.Destination/GetProfile" )
Destination_ServiceDesc is the grpc.ServiceDesc for Destination service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var Destination_ServiceDesc = grpc.ServiceDesc{ ServiceName: "io.linkerd.proxy.destination.Destination", HandlerType: (*DestinationServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "Get", Handler: _Destination_Get_Handler, ServerStreams: true, }, { StreamName: "GetProfile", Handler: _Destination_GetProfile_Handler, ServerStreams: true, }, }, Metadata: "destination.proto", }
var File_destination_proto protoreflect.FileDescriptor
func RegisterDestinationServer(s grpc.ServiceRegistrar, srv DestinationServer)
type AddrSet struct { Addrs []*net.TcpAddress `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` // contains filtered or unexported fields }
func (*AddrSet) Descriptor() ([]byte, []int)
Deprecated: Use AddrSet.ProtoReflect.Descriptor instead.
func (x *AddrSet) GetAddrs() []*net.TcpAddress
func (*AddrSet) ProtoMessage()
func (x *AddrSet) ProtoReflect() protoreflect.Message
func (x *AddrSet) Reset()
func (x *AddrSet) String() string
type AuthorityOverride struct { AuthorityOverride string `protobuf:"bytes,1,opt,name=authority_override,json=authorityOverride,proto3" json:"authority_override,omitempty"` // contains filtered or unexported fields }
func (*AuthorityOverride) Descriptor() ([]byte, []int)
Deprecated: Use AuthorityOverride.ProtoReflect.Descriptor instead.
func (x *AuthorityOverride) GetAuthorityOverride() string
func (*AuthorityOverride) ProtoMessage()
func (x *AuthorityOverride) ProtoReflect() protoreflect.Message
func (x *AuthorityOverride) Reset()
func (x *AuthorityOverride) String() string
DestinationClient is the client API for Destination service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type DestinationClient interface { // Given a destination, return all addresses in that destination as a long- // running stream of updates. Get(ctx context.Context, in *GetDestination, opts ...grpc.CallOption) (Destination_GetClient, error) // Given a destination, return that destination's profile and send an update // whenever it changes. GetProfile(ctx context.Context, in *GetDestination, opts ...grpc.CallOption) (Destination_GetProfileClient, error) }
func NewDestinationClient(cc grpc.ClientConnInterface) DestinationClient
type DestinationProfile struct { // The fully-qualified service name, if one exists. // // When resolving (especially by IP), this field provides the fully-qualified // name of the resolved service, if one exists. This field does NOT include // any port information. E.g. a lookup for 10.2.3.4:8080 might have a name // like `foo.bar.svc.cluster.local`. // // Implementations MAY provide names for non-service IP-lookups (e.g., pod or // node dns names), but this is not required. // // If the lookup does not refer to a known named entity, this field MUST be // left empty. FullyQualifiedName string `protobuf:"bytes,5,opt,name=fully_qualified_name,json=fullyQualifiedName,proto3" json:"fully_qualified_name,omitempty"` // Indicates that connections on this service address should be handled as // opaque TCP streams. HTTP routes returned on for such services will be // ignored. OpaqueProtocol bool `protobuf:"varint,4,opt,name=opaque_protocol,json=opaqueProtocol,proto3" json:"opaque_protocol,omitempty"` // A list of routes, each with a RequestMatch. If a request matches // more than one route, the first match wins. Routes []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` // The retry budget controls how much additional load the proxy can generate // as retries. Failured requests on retryable routes will not be retried if // there is no available budget. RetryBudget *RetryBudget `protobuf:"bytes,2,opt,name=retry_budget,json=retryBudget,proto3" json:"retry_budget,omitempty"` // If this list is non-empty, requests to this destination should instead be // split between the destinations in this list. Each destination should // receive a portion of the requests proportional to its weight. If this // list is empty, requests should be sent to this destination as normal. DstOverrides []*WeightedDst `protobuf:"bytes,3,rep,name=dst_overrides,json=dstOverrides,proto3" json:"dst_overrides,omitempty"` // If this field is set, it indicates that the target is a known endpoint (and // not a service address). The values of `fully_qualified_name` and // `dst_overrides` will be ignored for the purposes of service discovery-- // traffic split and load balancing will be skipped and the single endpoint // are used. // // No endpoint should be set If the target is unknown. Endpoint *WeightedAddr `protobuf:"bytes,6,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // contains filtered or unexported fields }
func (*DestinationProfile) Descriptor() ([]byte, []int)
Deprecated: Use DestinationProfile.ProtoReflect.Descriptor instead.
func (x *DestinationProfile) GetDstOverrides() []*WeightedDst
func (x *DestinationProfile) GetEndpoint() *WeightedAddr
func (x *DestinationProfile) GetFullyQualifiedName() string
func (x *DestinationProfile) GetOpaqueProtocol() bool
func (x *DestinationProfile) GetRetryBudget() *RetryBudget
func (x *DestinationProfile) GetRoutes() []*Route
func (*DestinationProfile) ProtoMessage()
func (x *DestinationProfile) ProtoReflect() protoreflect.Message
func (x *DestinationProfile) Reset()
func (x *DestinationProfile) String() string
DestinationServer is the server API for Destination service. All implementations must embed UnimplementedDestinationServer for forward compatibility
type DestinationServer interface { // Given a destination, return all addresses in that destination as a long- // running stream of updates. Get(*GetDestination, Destination_GetServer) error // Given a destination, return that destination's profile and send an update // whenever it changes. GetProfile(*GetDestination, Destination_GetProfileServer) error // contains filtered or unexported methods }
type Destination_GetClient interface { Recv() (*Update, error) grpc.ClientStream }
type Destination_GetProfileClient interface { Recv() (*DestinationProfile, error) grpc.ClientStream }
type Destination_GetProfileServer interface { Send(*DestinationProfile) error grpc.ServerStream }
type Destination_GetServer interface { Send(*Update) error grpc.ServerStream }
type GetDestination struct { Scheme string `protobuf:"bytes,1,opt,name=scheme,proto3" json:"scheme,omitempty"` Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // An opaque value that is set at injection-time and sent with destintion // lookups. // // If, for instance, the token encodes a namespace or some locality // information, the service may alter its results to take this locality into // account. ContextToken string `protobuf:"bytes,3,opt,name=context_token,json=contextToken,proto3" json:"context_token,omitempty"` // contains filtered or unexported fields }
func (*GetDestination) Descriptor() ([]byte, []int)
Deprecated: Use GetDestination.ProtoReflect.Descriptor instead.
func (x *GetDestination) GetContextToken() string
func (x *GetDestination) GetPath() string
func (x *GetDestination) GetScheme() string
func (*GetDestination) ProtoMessage()
func (x *GetDestination) ProtoReflect() protoreflect.Message
func (x *GetDestination) Reset()
func (x *GetDestination) String() string
Configures the parameters used to initialize an HTTP/2 connection.
type Http2ClientParams struct { // Overrides the default client flow control settings. FlowControl *Http2ClientParams_FlowControl `protobuf:"bytes,1,opt,name=flow_control,json=flowControl,proto3" json:"flow_control,omitempty"` // Enables keep-alive timeouts. KeepAlive *Http2ClientParams_KeepAlive `protobuf:"bytes,2,opt,name=keep_alive,json=keepAlive,proto3" json:"keep_alive,omitempty"` // Configures Hyper internals. Internals *Http2ClientParams_Internals `protobuf:"bytes,3,opt,name=internals,proto3" json:"internals,omitempty"` // contains filtered or unexported fields }
func (*Http2ClientParams) Descriptor() ([]byte, []int)
Deprecated: Use Http2ClientParams.ProtoReflect.Descriptor instead.
func (x *Http2ClientParams) GetFlowControl() *Http2ClientParams_FlowControl
func (x *Http2ClientParams) GetInternals() *Http2ClientParams_Internals
func (x *Http2ClientParams) GetKeepAlive() *Http2ClientParams_KeepAlive
func (*Http2ClientParams) ProtoMessage()
func (x *Http2ClientParams) ProtoReflect() protoreflect.Message
func (x *Http2ClientParams) Reset()
func (x *Http2ClientParams) String() string
type Http2ClientParams_FlowControl struct { // Configures the maximum connection-level flow control window size. InitialConnectionWindowSize uint32 `protobuf:"varint,1,opt,name=initial_connection_window_size,json=initialConnectionWindowSize,proto3" json:"initial_connection_window_size,omitempty"` // Configures the maximum stream-level flow control window size. InitialStreamWindowSize uint32 `protobuf:"varint,2,opt,name=initial_stream_window_size,json=initialStreamWindowSize,proto3" json:"initial_stream_window_size,omitempty"` // Enables Hyper's adaptive flow control, ignoring other window settings. AdaptiveFlowControl bool `protobuf:"varint,3,opt,name=adaptive_flow_control,json=adaptiveFlowControl,proto3" json:"adaptive_flow_control,omitempty"` // contains filtered or unexported fields }
func (*Http2ClientParams_FlowControl) Descriptor() ([]byte, []int)
Deprecated: Use Http2ClientParams_FlowControl.ProtoReflect.Descriptor instead.
func (x *Http2ClientParams_FlowControl) GetAdaptiveFlowControl() bool
func (x *Http2ClientParams_FlowControl) GetInitialConnectionWindowSize() uint32
func (x *Http2ClientParams_FlowControl) GetInitialStreamWindowSize() uint32
func (*Http2ClientParams_FlowControl) ProtoMessage()
func (x *Http2ClientParams_FlowControl) ProtoReflect() protoreflect.Message
func (x *Http2ClientParams_FlowControl) Reset()
func (x *Http2ClientParams_FlowControl) String() string
type Http2ClientParams_Internals struct { MaxConcurrentResetStreams uint32 `protobuf:"varint,1,opt,name=max_concurrent_reset_streams,json=maxConcurrentResetStreams,proto3" json:"max_concurrent_reset_streams,omitempty"` MaxFrameSize uint32 `protobuf:"varint,2,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` MaxSendBufSize uint32 `protobuf:"varint,3,opt,name=max_send_buf_size,json=maxSendBufSize,proto3" json:"max_send_buf_size,omitempty"` // contains filtered or unexported fields }
func (*Http2ClientParams_Internals) Descriptor() ([]byte, []int)
Deprecated: Use Http2ClientParams_Internals.ProtoReflect.Descriptor instead.
func (x *Http2ClientParams_Internals) GetMaxConcurrentResetStreams() uint32
func (x *Http2ClientParams_Internals) GetMaxFrameSize() uint32
func (x *Http2ClientParams_Internals) GetMaxSendBufSize() uint32
func (*Http2ClientParams_Internals) ProtoMessage()
func (x *Http2ClientParams_Internals) ProtoReflect() protoreflect.Message
func (x *Http2ClientParams_Internals) Reset()
func (x *Http2ClientParams_Internals) String() string
type Http2ClientParams_KeepAlive struct { // The time between pings. Interval *duration.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"` // The time to wait for a ping response before considering the connection // dead. Timeout *duration.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"` // Whether to send pings when there is no other traffic. WhileIdle bool `protobuf:"varint,3,opt,name=while_idle,json=whileIdle,proto3" json:"while_idle,omitempty"` // contains filtered or unexported fields }
func (*Http2ClientParams_KeepAlive) Descriptor() ([]byte, []int)
Deprecated: Use Http2ClientParams_KeepAlive.ProtoReflect.Descriptor instead.
func (x *Http2ClientParams_KeepAlive) GetInterval() *duration.Duration
func (x *Http2ClientParams_KeepAlive) GetTimeout() *duration.Duration
func (x *Http2ClientParams_KeepAlive) GetWhileIdle() bool
func (*Http2ClientParams_KeepAlive) ProtoMessage()
func (x *Http2ClientParams_KeepAlive) ProtoReflect() protoreflect.Message
func (x *Http2ClientParams_KeepAlive) Reset()
func (x *Http2ClientParams_KeepAlive) String() string
If either a minimum or maximum is not specified, the range is considered to be over a discrete value.
type HttpStatusRange struct { // Minimum matching http status code (inclusive), if specified. Min uint32 `protobuf:"varint,1,opt,name=min,proto3" json:"min,omitempty"` // Maximum matching http status code (inclusive), if specified. Max uint32 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` // contains filtered or unexported fields }
func (*HttpStatusRange) Descriptor() ([]byte, []int)
Deprecated: Use HttpStatusRange.ProtoReflect.Descriptor instead.
func (x *HttpStatusRange) GetMax() uint32
func (x *HttpStatusRange) GetMin() uint32
func (*HttpStatusRange) ProtoMessage()
func (x *HttpStatusRange) ProtoReflect() protoreflect.Message
func (x *HttpStatusRange) Reset()
func (x *HttpStatusRange) String() string
type NoEndpoints struct { Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` // contains filtered or unexported fields }
func (*NoEndpoints) Descriptor() ([]byte, []int)
Deprecated: Use NoEndpoints.ProtoReflect.Descriptor instead.
func (x *NoEndpoints) GetExists() bool
func (*NoEndpoints) ProtoMessage()
func (x *NoEndpoints) ProtoReflect() protoreflect.Message
func (x *NoEndpoints) Reset()
func (x *NoEndpoints) String() string
type PathMatch struct { // Match if the request path matches this regex. Regex string `protobuf:"bytes,1,opt,name=regex,proto3" json:"regex,omitempty"` // contains filtered or unexported fields }
func (*PathMatch) Descriptor() ([]byte, []int)
Deprecated: Use PathMatch.ProtoReflect.Descriptor instead.
func (x *PathMatch) GetRegex() string
func (*PathMatch) ProtoMessage()
func (x *PathMatch) ProtoReflect() protoreflect.Message
func (x *PathMatch) Reset()
func (x *PathMatch) String() string
A hint of what protocol the service knows. The default value is for the `hint` field to be not be set, essentially meaning "unknown".
type ProtocolHint struct { // Types that are assignable to Protocol: // // *ProtocolHint_H2_ // *ProtocolHint_Opaque_ Protocol isProtocolHint_Protocol `protobuf_oneof:"protocol"` // When set, indicates that the target supports receiving opaque traffic // wrapped with the Linkerd connection header on the specified port. OpaqueTransport *ProtocolHint_OpaqueTransport `protobuf:"bytes,2,opt,name=opaque_transport,json=opaqueTransport,proto3" json:"opaque_transport,omitempty"` // contains filtered or unexported fields }
func (*ProtocolHint) Descriptor() ([]byte, []int)
Deprecated: Use ProtocolHint.ProtoReflect.Descriptor instead.
func (x *ProtocolHint) GetH2() *ProtocolHint_H2
func (x *ProtocolHint) GetOpaque() *ProtocolHint_Opaque
func (x *ProtocolHint) GetOpaqueTransport() *ProtocolHint_OpaqueTransport
func (m *ProtocolHint) GetProtocol() isProtocolHint_Protocol
func (*ProtocolHint) ProtoMessage()
func (x *ProtocolHint) ProtoReflect() protoreflect.Message
func (x *ProtocolHint) Reset()
func (x *ProtocolHint) String() string
type ProtocolHint_H2 struct {
// contains filtered or unexported fields
}
func (*ProtocolHint_H2) Descriptor() ([]byte, []int)
Deprecated: Use ProtocolHint_H2.ProtoReflect.Descriptor instead.
func (*ProtocolHint_H2) ProtoMessage()
func (x *ProtocolHint_H2) ProtoReflect() protoreflect.Message
func (x *ProtocolHint_H2) Reset()
func (x *ProtocolHint_H2) String() string
type ProtocolHint_H2_ struct { // Hints that the service understands HTTP2 and the proxy's internal // http2-upgrade mechanism. H2 *ProtocolHint_H2 `protobuf:"bytes,1,opt,name=h2,proto3,oneof"` }
type ProtocolHint_Opaque struct {
// contains filtered or unexported fields
}
func (*ProtocolHint_Opaque) Descriptor() ([]byte, []int)
Deprecated: Use ProtocolHint_Opaque.ProtoReflect.Descriptor instead.
func (*ProtocolHint_Opaque) ProtoMessage()
func (x *ProtocolHint_Opaque) ProtoReflect() protoreflect.Message
func (x *ProtocolHint_Opaque) Reset()
func (x *ProtocolHint_Opaque) String() string
type ProtocolHint_OpaqueTransport struct { // The target proxy's inbound port. InboundPort uint32 `protobuf:"varint,1,opt,name=inbound_port,json=inboundPort,proto3" json:"inbound_port,omitempty"` // contains filtered or unexported fields }
func (*ProtocolHint_OpaqueTransport) Descriptor() ([]byte, []int)
Deprecated: Use ProtocolHint_OpaqueTransport.ProtoReflect.Descriptor instead.
func (x *ProtocolHint_OpaqueTransport) GetInboundPort() uint32
func (*ProtocolHint_OpaqueTransport) ProtoMessage()
func (x *ProtocolHint_OpaqueTransport) ProtoReflect() protoreflect.Message
func (x *ProtocolHint_OpaqueTransport) Reset()
func (x *ProtocolHint_OpaqueTransport) String() string
type ProtocolHint_Opaque_ struct { // Hints that the destination will handle this connection as an opaque TCP // stream, and (if `opaque_transport` is set) that the proxy should not send // a `SessionProtocol` as part of its transport header. Opaque *ProtocolHint_Opaque `protobuf:"bytes,3,opt,name=opaque,proto3,oneof"` }
type RequestMatch struct { // Types that are assignable to Match: // // *RequestMatch_All // *RequestMatch_Any // *RequestMatch_Not // *RequestMatch_Path // *RequestMatch_Method Match isRequestMatch_Match `protobuf_oneof:"match"` // contains filtered or unexported fields }
func (*RequestMatch) Descriptor() ([]byte, []int)
Deprecated: Use RequestMatch.ProtoReflect.Descriptor instead.
func (x *RequestMatch) GetAll() *RequestMatch_Seq
func (x *RequestMatch) GetAny() *RequestMatch_Seq
func (m *RequestMatch) GetMatch() isRequestMatch_Match
func (x *RequestMatch) GetMethod() *http_types.HttpMethod
func (x *RequestMatch) GetNot() *RequestMatch
func (x *RequestMatch) GetPath() *PathMatch
func (*RequestMatch) ProtoMessage()
func (x *RequestMatch) ProtoReflect() protoreflect.Message
func (x *RequestMatch) Reset()
func (x *RequestMatch) String() string
type RequestMatch_All struct { All *RequestMatch_Seq `protobuf:"bytes,1,opt,name=all,proto3,oneof"` }
type RequestMatch_Any struct { Any *RequestMatch_Seq `protobuf:"bytes,2,opt,name=any,proto3,oneof"` }
type RequestMatch_Method struct { Method *http_types.HttpMethod `protobuf:"bytes,5,opt,name=method,proto3,oneof"` // TODO: match on arbitrary header }
type RequestMatch_Not struct { Not *RequestMatch `protobuf:"bytes,3,opt,name=not,proto3,oneof"` }
type RequestMatch_Path struct { Path *PathMatch `protobuf:"bytes,4,opt,name=path,proto3,oneof"` }
type RequestMatch_Seq struct { Matches []*RequestMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` // contains filtered or unexported fields }
func (*RequestMatch_Seq) Descriptor() ([]byte, []int)
Deprecated: Use RequestMatch_Seq.ProtoReflect.Descriptor instead.
func (x *RequestMatch_Seq) GetMatches() []*RequestMatch
func (*RequestMatch_Seq) ProtoMessage()
func (x *RequestMatch_Seq) ProtoReflect() protoreflect.Message
func (x *RequestMatch_Seq) Reset()
func (x *RequestMatch_Seq) String() string
type ResponseClass struct { // This class contains responses which match this condition. Condition *ResponseMatch `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` // If responses in this class should be considered failures. This defaults // to false (success). IsFailure bool `protobuf:"varint,2,opt,name=is_failure,json=isFailure,proto3" json:"is_failure,omitempty"` // contains filtered or unexported fields }
func (*ResponseClass) Descriptor() ([]byte, []int)
Deprecated: Use ResponseClass.ProtoReflect.Descriptor instead.
func (x *ResponseClass) GetCondition() *ResponseMatch
func (x *ResponseClass) GetIsFailure() bool
func (*ResponseClass) ProtoMessage()
func (x *ResponseClass) ProtoReflect() protoreflect.Message
func (x *ResponseClass) Reset()
func (x *ResponseClass) String() string
type ResponseMatch struct { // Types that are assignable to Match: // // *ResponseMatch_All // *ResponseMatch_Any // *ResponseMatch_Not // *ResponseMatch_Status Match isResponseMatch_Match `protobuf_oneof:"match"` // contains filtered or unexported fields }
func (*ResponseMatch) Descriptor() ([]byte, []int)
Deprecated: Use ResponseMatch.ProtoReflect.Descriptor instead.
func (x *ResponseMatch) GetAll() *ResponseMatch_Seq
func (x *ResponseMatch) GetAny() *ResponseMatch_Seq
func (m *ResponseMatch) GetMatch() isResponseMatch_Match
func (x *ResponseMatch) GetNot() *ResponseMatch
func (x *ResponseMatch) GetStatus() *HttpStatusRange
func (*ResponseMatch) ProtoMessage()
func (x *ResponseMatch) ProtoReflect() protoreflect.Message
func (x *ResponseMatch) Reset()
func (x *ResponseMatch) String() string
type ResponseMatch_All struct { All *ResponseMatch_Seq `protobuf:"bytes,1,opt,name=all,proto3,oneof"` }
type ResponseMatch_Any struct { Any *ResponseMatch_Seq `protobuf:"bytes,2,opt,name=any,proto3,oneof"` }
type ResponseMatch_Not struct { Not *ResponseMatch `protobuf:"bytes,3,opt,name=not,proto3,oneof"` }
type ResponseMatch_Seq struct { Matches []*ResponseMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` // contains filtered or unexported fields }
func (*ResponseMatch_Seq) Descriptor() ([]byte, []int)
Deprecated: Use ResponseMatch_Seq.ProtoReflect.Descriptor instead.
func (x *ResponseMatch_Seq) GetMatches() []*ResponseMatch
func (*ResponseMatch_Seq) ProtoMessage()
func (x *ResponseMatch_Seq) ProtoReflect() protoreflect.Message
func (x *ResponseMatch_Seq) Reset()
func (x *ResponseMatch_Seq) String() string
type ResponseMatch_Status struct { Status *HttpStatusRange `protobuf:"bytes,4,opt,name=status,proto3,oneof"` // TODO: match on arbitrary header or trailer }
type RetryBudget struct { // The ratio of additional traffic that may be added by retries. A // retry_ratio of 0.1 means that 1 retry may be attempted for every 10 regular // requests. A retry_ratio of 1.0 means that 1 retry may be attempted for // every 1 regular request (in other words, total request load may be doubled // as a result of retries). RetryRatio float32 `protobuf:"fixed32,1,opt,name=retry_ratio,json=retryRatio,proto3" json:"retry_ratio,omitempty"` // The proxy may always attempt this number of retries per second, even if it // would violate the retry_ratio. This is to allow retries to happen even // when the request rate is very low. MinRetriesPerSecond uint32 `protobuf:"varint,2,opt,name=min_retries_per_second,json=minRetriesPerSecond,proto3" json:"min_retries_per_second,omitempty"` // This duration indicates for how long requests should be considered for the // purposes of enforcing the retry_ratio. A higher value considers a larger // window and therefore allows burstier retries. Ttl *duration.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"` // contains filtered or unexported fields }
func (*RetryBudget) Descriptor() ([]byte, []int)
Deprecated: Use RetryBudget.ProtoReflect.Descriptor instead.
func (x *RetryBudget) GetMinRetriesPerSecond() uint32
func (x *RetryBudget) GetRetryRatio() float32
func (x *RetryBudget) GetTtl() *duration.Duration
func (*RetryBudget) ProtoMessage()
func (x *RetryBudget) ProtoReflect() protoreflect.Message
func (x *RetryBudget) Reset()
func (x *RetryBudget) String() string
type Route struct { // This route contains requests which match this condition. Condition *RequestMatch `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` // A list of response classes for this route. If a response matches // more than one ResponseClass, the first match wins. If a response does not // match any ResponseClasses, it is considered to be a successful response. ResponseClasses []*ResponseClass `protobuf:"bytes,2,rep,name=response_classes,json=responseClasses,proto3" json:"response_classes,omitempty"` // Metric labels to attach to requests and responses that match this route. MetricsLabels map[string]string `protobuf:"bytes,3,rep,name=metrics_labels,json=metricsLabels,proto3" json:"metrics_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // If a route is retryable, any failed requests on that route may be retried // by the proxy. IsRetryable bool `protobuf:"varint,4,opt,name=is_retryable,json=isRetryable,proto3" json:"is_retryable,omitempty"` // After this time has elapsed since receiving the initial request, any // outstanding request will be cancelled, a timeout error response will be // returned, and no more retries will be attempted. Timeout *duration.Duration `protobuf:"bytes,5,opt,name=timeout,proto3" json:"timeout,omitempty"` // contains filtered or unexported fields }
func (*Route) Descriptor() ([]byte, []int)
Deprecated: Use Route.ProtoReflect.Descriptor instead.
func (x *Route) GetCondition() *RequestMatch
func (x *Route) GetIsRetryable() bool
func (x *Route) GetMetricsLabels() map[string]string
func (x *Route) GetResponseClasses() []*ResponseClass
func (x *Route) GetTimeout() *duration.Duration
func (*Route) ProtoMessage()
func (x *Route) ProtoReflect() protoreflect.Message
func (x *Route) Reset()
func (x *Route) String() string
type TlsIdentity struct { // Types that are assignable to Strategy: // // *TlsIdentity_DnsLikeIdentity_ // *TlsIdentity_UriLikeIdentity_ Strategy isTlsIdentity_Strategy `protobuf_oneof:"strategy"` // The server name of the endpoint. This is the value that needs to be included // by clients in the ClientHello SNI extension of the TLS handshake when they // initiate TLS connections to servers. ServerName *TlsIdentity_DnsLikeIdentity `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` // contains filtered or unexported fields }
func (*TlsIdentity) Descriptor() ([]byte, []int)
Deprecated: Use TlsIdentity.ProtoReflect.Descriptor instead.
func (x *TlsIdentity) GetDnsLikeIdentity() *TlsIdentity_DnsLikeIdentity
func (x *TlsIdentity) GetServerName() *TlsIdentity_DnsLikeIdentity
func (m *TlsIdentity) GetStrategy() isTlsIdentity_Strategy
func (x *TlsIdentity) GetUriLikeIdentity() *TlsIdentity_UriLikeIdentity
func (*TlsIdentity) ProtoMessage()
func (x *TlsIdentity) ProtoReflect() protoreflect.Message
func (x *TlsIdentity) Reset()
func (x *TlsIdentity) String() string
Verify the certificate based on the Kubernetes pod identity.
type TlsIdentity_DnsLikeIdentity struct { // A DNS-like name that encodes workload coordinates. // // For example: // // {name}.{namespace}.{type}.identity.{control-namespace}.{trust-domain...} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // contains filtered or unexported fields }
func (*TlsIdentity_DnsLikeIdentity) Descriptor() ([]byte, []int)
Deprecated: Use TlsIdentity_DnsLikeIdentity.ProtoReflect.Descriptor instead.
func (x *TlsIdentity_DnsLikeIdentity) GetName() string
func (*TlsIdentity_DnsLikeIdentity) ProtoMessage()
func (x *TlsIdentity_DnsLikeIdentity) ProtoReflect() protoreflect.Message
func (x *TlsIdentity_DnsLikeIdentity) Reset()
func (x *TlsIdentity_DnsLikeIdentity) String() string
type TlsIdentity_DnsLikeIdentity_ struct { DnsLikeIdentity *TlsIdentity_DnsLikeIdentity `protobuf:"bytes,1,opt,name=dns_like_identity,json=dnsLikeIdentity,proto3,oneof"` }
Verify the certificate based on an URI identity.
type TlsIdentity_UriLikeIdentity struct { // A URI name that encodes workload identity. // // For example: // // spiffe://trust-domain/workload-dentifier Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` // contains filtered or unexported fields }
func (*TlsIdentity_UriLikeIdentity) Descriptor() ([]byte, []int)
Deprecated: Use TlsIdentity_UriLikeIdentity.ProtoReflect.Descriptor instead.
func (x *TlsIdentity_UriLikeIdentity) GetUri() string
func (*TlsIdentity_UriLikeIdentity) ProtoMessage()
func (x *TlsIdentity_UriLikeIdentity) ProtoReflect() protoreflect.Message
func (x *TlsIdentity_UriLikeIdentity) Reset()
func (x *TlsIdentity_UriLikeIdentity) String() string
type TlsIdentity_UriLikeIdentity_ struct { UriLikeIdentity *TlsIdentity_UriLikeIdentity `protobuf:"bytes,3,opt,name=uri_like_identity,json=uriLikeIdentity,proto3,oneof"` }
UnimplementedDestinationServer must be embedded to have forward compatible implementations.
type UnimplementedDestinationServer struct { }
func (UnimplementedDestinationServer) Get(*GetDestination, Destination_GetServer) error
func (UnimplementedDestinationServer) GetProfile(*GetDestination, Destination_GetProfileServer) error
UnsafeDestinationServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to DestinationServer will result in compilation errors.
type UnsafeDestinationServer interface {
// contains filtered or unexported methods
}
type Update struct { // Types that are assignable to Update: // // *Update_Add // *Update_Remove // *Update_NoEndpoints Update isUpdate_Update `protobuf_oneof:"update"` // contains filtered or unexported fields }
func (*Update) Descriptor() ([]byte, []int)
Deprecated: Use Update.ProtoReflect.Descriptor instead.
func (x *Update) GetAdd() *WeightedAddrSet
func (x *Update) GetNoEndpoints() *NoEndpoints
func (x *Update) GetRemove() *AddrSet
func (m *Update) GetUpdate() isUpdate_Update
func (*Update) ProtoMessage()
func (x *Update) ProtoReflect() protoreflect.Message
func (x *Update) Reset()
func (x *Update) String() string
type Update_Add struct { // A new set of endpoints are available for the service. The set might be // empty. Add *WeightedAddrSet `protobuf:"bytes,1,opt,name=add,proto3,oneof"` }
type Update_NoEndpoints struct { // `no_endpoints{exists: false}` indicates that the service does not exist // and the client MAY try an alternate service discovery method (e.g. DNS). // // `no_endpoints(exists: true)` indicates that the service does exist and // the client MUST NOT fall back to an alternate service discovery method. NoEndpoints *NoEndpoints `protobuf:"bytes,3,opt,name=no_endpoints,json=noEndpoints,proto3,oneof"` }
type Update_Remove struct { // Some endpoints have been removed from the service. Remove *AddrSet `protobuf:"bytes,2,opt,name=remove,proto3,oneof"` }
type WeightedAddr struct { Addr *net.TcpAddress `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` Weight uint32 `protobuf:"varint,3,opt,name=weight,proto3" json:"weight,omitempty"` MetricLabels map[string]string `protobuf:"bytes,4,rep,name=metric_labels,json=metricLabels,proto3" json:"metric_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` TlsIdentity *TlsIdentity `protobuf:"bytes,5,opt,name=tls_identity,json=tlsIdentity,proto3" json:"tls_identity,omitempty"` ProtocolHint *ProtocolHint `protobuf:"bytes,6,opt,name=protocol_hint,json=protocolHint,proto3" json:"protocol_hint,omitempty"` AuthorityOverride *AuthorityOverride `protobuf:"bytes,7,opt,name=authority_override,json=authorityOverride,proto3" json:"authority_override,omitempty"` // The HTTP/2 parameters to use when connecting to the destination, if HTTP/2 // is used. These parameters are used by proxies when the application traffic // is HTTP/2 or when the H2 ProtocolHint is used to transport HTTP/1 // connections over HTTP/2. Http2 *Http2ClientParams `protobuf:"bytes,8,opt,name=http2,proto3" json:"http2,omitempty"` // contains filtered or unexported fields }
func (*WeightedAddr) Descriptor() ([]byte, []int)
Deprecated: Use WeightedAddr.ProtoReflect.Descriptor instead.
func (x *WeightedAddr) GetAddr() *net.TcpAddress
func (x *WeightedAddr) GetAuthorityOverride() *AuthorityOverride
func (x *WeightedAddr) GetHttp2() *Http2ClientParams
func (x *WeightedAddr) GetMetricLabels() map[string]string
func (x *WeightedAddr) GetProtocolHint() *ProtocolHint
func (x *WeightedAddr) GetTlsIdentity() *TlsIdentity
func (x *WeightedAddr) GetWeight() uint32
func (*WeightedAddr) ProtoMessage()
func (x *WeightedAddr) ProtoReflect() protoreflect.Message
func (x *WeightedAddr) Reset()
func (x *WeightedAddr) String() string
type WeightedAddrSet struct { Addrs []*WeightedAddr `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` MetricLabels map[string]string `protobuf:"bytes,2,rep,name=metric_labels,json=metricLabels,proto3" json:"metric_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // contains filtered or unexported fields }
func (*WeightedAddrSet) Descriptor() ([]byte, []int)
Deprecated: Use WeightedAddrSet.ProtoReflect.Descriptor instead.
func (x *WeightedAddrSet) GetAddrs() []*WeightedAddr
func (x *WeightedAddrSet) GetMetricLabels() map[string]string
func (*WeightedAddrSet) ProtoMessage()
func (x *WeightedAddrSet) ProtoReflect() protoreflect.Message
func (x *WeightedAddrSet) Reset()
func (x *WeightedAddrSet) String() string
type WeightedDst struct { // This authority will be used as the `path` in a call to the Destination.Get // rpc. Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` // The proportion of requests to send to this destination. This value is // relative to other weights in the same dst_overrides list. Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` // contains filtered or unexported fields }
func (*WeightedDst) Descriptor() ([]byte, []int)
Deprecated: Use WeightedDst.ProtoReflect.Descriptor instead.
func (x *WeightedDst) GetAuthority() string
func (x *WeightedDst) GetWeight() uint32
func (*WeightedDst) ProtoMessage()
func (x *WeightedDst) ProtoReflect() protoreflect.Message
func (x *WeightedDst) Reset()
func (x *WeightedDst) String() string