v1alpha1

package
v1.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2023 License: Apache-2.0 Imports: 10 Imported by: 2

Documentation

Overview

Code generated by protoc-gen-deepcopy. DO NOT EDIT.

Code generated by protoc-gen-jsonshim. DO NOT EDIT.

Code generated by protoc-gen-deepcopy. DO NOT EDIT.

Code generated by protoc-gen-jsonshim. DO NOT EDIT.

Index

Constants

This section is empty.

Variables

View Source
var (
	MetaprotocolApplicationProtocolMarshaler   = &jsonpb.Marshaler{}
	MetaprotocolApplicationProtocolUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
View Source
var (
	MetaprotocolMetarouterMarshaler   = &jsonpb.Marshaler{}
	MetaprotocolMetarouterUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
View Source
var File_metaprotocol_v1alpha1_metaprotocol_application_protocol_proto protoreflect.FileDescriptor
View Source
var File_metaprotocol_v1alpha1_metaprotocol_metarouter_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ApplicationProtocol

type ApplicationProtocol struct {
	Protocol string `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"`
	Codec    string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"`
	// contains filtered or unexported fields
}

ApplicationProtocol defines an application protocol built on top of MetaProtocol.

<!-- crd generation tags +cue-gen:ApplicationProtocol:groupName:metaprotocol.aeraki.io +cue-gen:ApplicationProtocol:version:v1alpha1 +cue-gen:ApplicationProtocol:storageVersion +cue-gen:ApplicationProtocol:annotations:helm.sh/resource-policy=keep +cue-gen:ApplicationProtocol:labels:app=aeraki,chart=aeraki,heritage=Tiller,release=aeraki +cue-gen:ApplicationProtocol:subresource:status +cue-gen:ApplicationProtocol:scope:Cluster +cue-gen:ApplicationProtocol:resource:categories=aeraki-io,metaprotocol-aeraki-io +cue-gen:ApplicationProtocol:preserveUnknownFields:false -->

<!-- go code generation tags +kubetype-gen +kubetype-gen:groupVersion=metaprotocol.aeraki.io/v1alpha1 +genclient +k8s:deepcopy-gen=true -->

func (*ApplicationProtocol) DeepCopy

func (in *ApplicationProtocol) DeepCopy() *ApplicationProtocol

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationProtocol. Required by controller-gen.

func (*ApplicationProtocol) DeepCopyInterface

func (in *ApplicationProtocol) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationProtocol. Required by controller-gen.

func (*ApplicationProtocol) DeepCopyInto

func (in *ApplicationProtocol) DeepCopyInto(out *ApplicationProtocol)

DeepCopyInto supports using ApplicationProtocol within kubernetes types, where deepcopy-gen is used.

func (*ApplicationProtocol) Descriptor deprecated

func (*ApplicationProtocol) Descriptor() ([]byte, []int)

Deprecated: Use ApplicationProtocol.ProtoReflect.Descriptor instead.

func (*ApplicationProtocol) GetCodec

func (x *ApplicationProtocol) GetCodec() string

func (*ApplicationProtocol) GetProtocol

func (x *ApplicationProtocol) GetProtocol() string

func (*ApplicationProtocol) MarshalJSON

func (this *ApplicationProtocol) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for ApplicationProtocol

func (*ApplicationProtocol) ProtoMessage

func (*ApplicationProtocol) ProtoMessage()

func (*ApplicationProtocol) ProtoReflect

func (x *ApplicationProtocol) ProtoReflect() protoreflect.Message

func (*ApplicationProtocol) Reset

func (x *ApplicationProtocol) Reset()

func (*ApplicationProtocol) String

func (x *ApplicationProtocol) String() string

func (*ApplicationProtocol) UnmarshalJSON

func (this *ApplicationProtocol) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for ApplicationProtocol

type Destination

type Destination struct {

	// The name of a service from the service registry. Service
	// names are looked up from the platform's service registry (e.g.,
	// Kubernetes services, Consul services, etc.) and from the hosts
	// declared by [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Traffic
	// forwarded to destinations that are not found in either of the two, will be dropped.
	//
	// *Note for Kubernetes users*: When short names are used (e.g. "reviews"
	// instead of "reviews.default.svc.cluster.local"), Istio will interpret
	// the short name based on the namespace of the rule, not the service. A
	// rule in the "default" namespace containing a host "reviews will be
	// interpreted as "reviews.default.svc.cluster.local", irrespective of
	// the actual namespace associated with the reviews service. To avoid
	// potential misconfiguration, it is recommended to always use fully
	// qualified domain names over short names.
	Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// The name of a subset within the service. Applicable only to services
	// within the mesh. The subset must be defined in a corresponding
	// DestinationRule.
	Subset string `protobuf:"bytes,2,opt,name=subset,proto3" json:"subset,omitempty"`
	// Specifies the port on the host that is being addressed. If a service
	// exposes only a single port it is not required to explicitly select the
	// port.
	Port *PortSelector `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

func (*Destination) DeepCopy

func (in *Destination) DeepCopy() *Destination

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Destination. Required by controller-gen.

func (*Destination) DeepCopyInterface

func (in *Destination) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Destination. Required by controller-gen.

func (*Destination) DeepCopyInto

func (in *Destination) DeepCopyInto(out *Destination)

DeepCopyInto supports using Destination within kubernetes types, where deepcopy-gen is used.

func (*Destination) Descriptor deprecated

func (*Destination) Descriptor() ([]byte, []int)

Deprecated: Use Destination.ProtoReflect.Descriptor instead.

func (*Destination) GetHost

func (x *Destination) GetHost() string

func (*Destination) GetPort

func (x *Destination) GetPort() *PortSelector

func (*Destination) GetSubset

func (x *Destination) GetSubset() string

func (*Destination) MarshalJSON

func (this *Destination) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for Destination

func (*Destination) ProtoMessage

func (*Destination) ProtoMessage()

func (*Destination) ProtoReflect

func (x *Destination) ProtoReflect() protoreflect.Message

func (*Destination) Reset

func (x *Destination) Reset()

func (*Destination) String

func (x *Destination) String() string

func (*Destination) UnmarshalJSON

func (this *Destination) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for Destination

type GlobalRateLimit

type GlobalRateLimit struct {

	// Match conditions to be satisfied for the rate limit rule to be activated.
	// All conditions inside a single match block have AND semantic.
	// If the match is not specified, then all the incoming requests will be considered matched.
	Match *MetaRouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
	// The rate limit domain to use when calling the rate limit service.
	Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
	// The timeout in milliseconds for the rate limit service RPC. If not
	// set, this defaults to 20ms.
	RequestTimeout *duration.Duration `protobuf:"bytes,3,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
	// The filter's behavior in case the rate limiting service does
	// not respond back. When it is set to true, Envoy will not allow traffic in case of
	// communication failure between rate limiting service and the proxy.
	DenyOnFail bool `protobuf:"varint,4,opt,name=deny_on_fail,json=denyOnFail,proto3" json:"deny_on_fail,omitempty"`
	// The cluster name of the external rate limit service provider.
	RateLimitService string `protobuf:"bytes,5,opt,name=rate_limit_service,json=rateLimitService,proto3" json:"rate_limit_service,omitempty"`
	// Defines what properties in the requests should be sent to the rate limit service
	Descriptors []*GlobalRateLimit_Descriptor `protobuf:"bytes,6,rep,name=descriptors,proto3" json:"descriptors,omitempty"`
	// contains filtered or unexported fields
}

GlobalRateLimit configures global rate limit service for MetaProtocol proxy

func (*GlobalRateLimit) DeepCopy

func (in *GlobalRateLimit) DeepCopy() *GlobalRateLimit

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimit. Required by controller-gen.

func (*GlobalRateLimit) DeepCopyInterface

func (in *GlobalRateLimit) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimit. Required by controller-gen.

func (*GlobalRateLimit) DeepCopyInto

func (in *GlobalRateLimit) DeepCopyInto(out *GlobalRateLimit)

DeepCopyInto supports using GlobalRateLimit within kubernetes types, where deepcopy-gen is used.

func (*GlobalRateLimit) Descriptor deprecated

func (*GlobalRateLimit) Descriptor() ([]byte, []int)

Deprecated: Use GlobalRateLimit.ProtoReflect.Descriptor instead.

func (*GlobalRateLimit) GetDenyOnFail

func (x *GlobalRateLimit) GetDenyOnFail() bool

func (*GlobalRateLimit) GetDescriptors

func (x *GlobalRateLimit) GetDescriptors() []*GlobalRateLimit_Descriptor

func (*GlobalRateLimit) GetDomain

func (x *GlobalRateLimit) GetDomain() string

func (*GlobalRateLimit) GetMatch

func (x *GlobalRateLimit) GetMatch() *MetaRouteMatch

func (*GlobalRateLimit) GetRateLimitService

func (x *GlobalRateLimit) GetRateLimitService() string

func (*GlobalRateLimit) GetRequestTimeout

func (x *GlobalRateLimit) GetRequestTimeout() *duration.Duration

func (*GlobalRateLimit) MarshalJSON

func (this *GlobalRateLimit) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for GlobalRateLimit

func (*GlobalRateLimit) ProtoMessage

func (*GlobalRateLimit) ProtoMessage()

func (*GlobalRateLimit) ProtoReflect

func (x *GlobalRateLimit) ProtoReflect() protoreflect.Message

func (*GlobalRateLimit) Reset

func (x *GlobalRateLimit) Reset()

func (*GlobalRateLimit) String

func (x *GlobalRateLimit) String() string

func (*GlobalRateLimit) UnmarshalJSON

func (this *GlobalRateLimit) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for GlobalRateLimit

type GlobalRateLimit_Descriptor

type GlobalRateLimit_Descriptor struct {

	// The property extracted from the requests
	Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"`
	// The corresponding descriptor key in the rate limit server configuration
	DescriptorKey string `protobuf:"bytes,2,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"`
	// contains filtered or unexported fields
}

Descriptor defines the mapping between the property in the request and the descriptor key in the rate limit server configuration Normally the property is the same as the descriptor key, but adding a mapping layer allows more flexibility

func (*GlobalRateLimit_Descriptor) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimit_Descriptor. Required by controller-gen.

func (*GlobalRateLimit_Descriptor) DeepCopyInterface

func (in *GlobalRateLimit_Descriptor) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimit_Descriptor. Required by controller-gen.

func (*GlobalRateLimit_Descriptor) DeepCopyInto

DeepCopyInto supports using GlobalRateLimit_Descriptor within kubernetes types, where deepcopy-gen is used.

func (*GlobalRateLimit_Descriptor) Descriptor deprecated

func (*GlobalRateLimit_Descriptor) Descriptor() ([]byte, []int)

Deprecated: Use GlobalRateLimit_Descriptor.ProtoReflect.Descriptor instead.

func (*GlobalRateLimit_Descriptor) GetDescriptorKey

func (x *GlobalRateLimit_Descriptor) GetDescriptorKey() string

func (*GlobalRateLimit_Descriptor) GetProperty

func (x *GlobalRateLimit_Descriptor) GetProperty() string

func (*GlobalRateLimit_Descriptor) MarshalJSON

func (this *GlobalRateLimit_Descriptor) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for GlobalRateLimit_Descriptor

func (*GlobalRateLimit_Descriptor) ProtoMessage

func (*GlobalRateLimit_Descriptor) ProtoMessage()

func (*GlobalRateLimit_Descriptor) ProtoReflect

func (*GlobalRateLimit_Descriptor) Reset

func (x *GlobalRateLimit_Descriptor) Reset()

func (*GlobalRateLimit_Descriptor) String

func (x *GlobalRateLimit_Descriptor) String() string

func (*GlobalRateLimit_Descriptor) UnmarshalJSON

func (this *GlobalRateLimit_Descriptor) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for GlobalRateLimit_Descriptor

type KeyValue

type KeyValue struct {

	// Key name.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// alue.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

KeyValue defines a Key /value pair.

func (*KeyValue) DeepCopy

func (in *KeyValue) DeepCopy() *KeyValue

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyValue. Required by controller-gen.

func (*KeyValue) DeepCopyInterface

func (in *KeyValue) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new KeyValue. Required by controller-gen.

func (*KeyValue) DeepCopyInto

func (in *KeyValue) DeepCopyInto(out *KeyValue)

DeepCopyInto supports using KeyValue within kubernetes types, where deepcopy-gen is used.

func (*KeyValue) Descriptor deprecated

func (*KeyValue) Descriptor() ([]byte, []int)

Deprecated: Use KeyValue.ProtoReflect.Descriptor instead.

func (*KeyValue) GetKey

func (x *KeyValue) GetKey() string

func (*KeyValue) GetValue

func (x *KeyValue) GetValue() string

func (*KeyValue) MarshalJSON

func (this *KeyValue) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for KeyValue

func (*KeyValue) ProtoMessage

func (*KeyValue) ProtoMessage()

func (*KeyValue) ProtoReflect

func (x *KeyValue) ProtoReflect() protoreflect.Message

func (*KeyValue) Reset

func (x *KeyValue) Reset()

func (*KeyValue) String

func (x *KeyValue) String() string

func (*KeyValue) UnmarshalJSON

func (this *KeyValue) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for KeyValue

type LocalRateLimit

type LocalRateLimit struct {

	// The default token bucket configuration to use for rate limiting requests that are processed by
	// this filter.
	// Local rate limiter will first check the conditions, if a specific condition matches, then the token
	// bucket within that condition will be applied to the incoming request. All the other requests
	// that don't match the conditions will be rate limited by the default token bucket.
	// If the default token bucket is not specified, then the requests that don't match the conditions
	// will not be rate limited.
	// At least one of token_bucket or conditions should have value.
	TokenBucket *LocalRateLimit_TokenBucket `protobuf:"bytes,1,opt,name=token_bucket,json=tokenBucket,proto3" json:"token_bucket,omitempty"`
	// The more specific rate limit conditions, the first match will be used.
	Conditions []*LocalRateLimit_Condition `protobuf:"bytes,2,rep,name=conditions,proto3" json:"conditions,omitempty"`
	// contains filtered or unexported fields
}

LocalRateLimit defines local rate limit policies for MetaProtocol proxy

func (*LocalRateLimit) DeepCopy

func (in *LocalRateLimit) DeepCopy() *LocalRateLimit

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalRateLimit. Required by controller-gen.

func (*LocalRateLimit) DeepCopyInterface

func (in *LocalRateLimit) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new LocalRateLimit. Required by controller-gen.

func (*LocalRateLimit) DeepCopyInto

func (in *LocalRateLimit) DeepCopyInto(out *LocalRateLimit)

DeepCopyInto supports using LocalRateLimit within kubernetes types, where deepcopy-gen is used.

func (*LocalRateLimit) Descriptor deprecated

func (*LocalRateLimit) Descriptor() ([]byte, []int)

Deprecated: Use LocalRateLimit.ProtoReflect.Descriptor instead.

func (*LocalRateLimit) GetConditions

func (x *LocalRateLimit) GetConditions() []*LocalRateLimit_Condition

func (*LocalRateLimit) GetTokenBucket

func (x *LocalRateLimit) GetTokenBucket() *LocalRateLimit_TokenBucket

func (*LocalRateLimit) MarshalJSON

func (this *LocalRateLimit) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for LocalRateLimit

func (*LocalRateLimit) ProtoMessage

func (*LocalRateLimit) ProtoMessage()

func (*LocalRateLimit) ProtoReflect

func (x *LocalRateLimit) ProtoReflect() protoreflect.Message

func (*LocalRateLimit) Reset

func (x *LocalRateLimit) Reset()

func (*LocalRateLimit) String

func (x *LocalRateLimit) String() string

func (*LocalRateLimit) UnmarshalJSON

func (this *LocalRateLimit) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for LocalRateLimit

type LocalRateLimit_Condition

type LocalRateLimit_Condition struct {

	// Match conditions to be satisfied for the rate limit rule to be activated.
	// All conditions inside a single match block have AND semantic.
	// If the match is not specified, then all the incoming requests will be considered matched.
	Match *MetaRouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
	// The token bucket for this particular condition
	TokenBucket *LocalRateLimit_TokenBucket `protobuf:"bytes,2,opt,name=token_bucket,json=tokenBucket,proto3" json:"token_bucket,omitempty"`
	// contains filtered or unexported fields
}

Condition defines a rate limit policy for a more specific condition

func (*LocalRateLimit_Condition) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalRateLimit_Condition. Required by controller-gen.

func (*LocalRateLimit_Condition) DeepCopyInterface

func (in *LocalRateLimit_Condition) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new LocalRateLimit_Condition. Required by controller-gen.

func (*LocalRateLimit_Condition) DeepCopyInto

func (in *LocalRateLimit_Condition) DeepCopyInto(out *LocalRateLimit_Condition)

DeepCopyInto supports using LocalRateLimit_Condition within kubernetes types, where deepcopy-gen is used.

func (*LocalRateLimit_Condition) Descriptor deprecated

func (*LocalRateLimit_Condition) Descriptor() ([]byte, []int)

Deprecated: Use LocalRateLimit_Condition.ProtoReflect.Descriptor instead.

func (*LocalRateLimit_Condition) GetMatch

func (*LocalRateLimit_Condition) GetTokenBucket

func (*LocalRateLimit_Condition) MarshalJSON

func (this *LocalRateLimit_Condition) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for LocalRateLimit_Condition

func (*LocalRateLimit_Condition) ProtoMessage

func (*LocalRateLimit_Condition) ProtoMessage()

func (*LocalRateLimit_Condition) ProtoReflect

func (x *LocalRateLimit_Condition) ProtoReflect() protoreflect.Message

func (*LocalRateLimit_Condition) Reset

func (x *LocalRateLimit_Condition) Reset()

func (*LocalRateLimit_Condition) String

func (x *LocalRateLimit_Condition) String() string

func (*LocalRateLimit_Condition) UnmarshalJSON

func (this *LocalRateLimit_Condition) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for LocalRateLimit_Condition

type LocalRateLimit_TokenBucket

type LocalRateLimit_TokenBucket struct {

	// The maximum tokens that the bucket can hold. This is also the number of tokens that the bucket
	// initially contains. The value must be greater than 0.
	MaxTokens uint32 `protobuf:"varint,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
	// The number of tokens added to the bucket during each fill interval. The value must be greater than 0.
	// If not specified, defaults to a single token.
	TokensPerFill *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=tokens_per_fill,json=tokensPerFill,proto3" json:"tokens_per_fill,omitempty"`
	// The fill interval that tokens are added to the bucket. During each fill interval
	// `tokens_per_fill` are added to the bucket. The bucket will never contain more than
	// `max_tokens` tokens.
	FillInterval *duration.Duration `protobuf:"bytes,3,opt,name=fill_interval,json=fillInterval,proto3" json:"fill_interval,omitempty"`
	// contains filtered or unexported fields
}

Configures a token bucket which is used for rate limiting.

func (*LocalRateLimit_TokenBucket) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalRateLimit_TokenBucket. Required by controller-gen.

func (*LocalRateLimit_TokenBucket) DeepCopyInterface

func (in *LocalRateLimit_TokenBucket) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new LocalRateLimit_TokenBucket. Required by controller-gen.

func (*LocalRateLimit_TokenBucket) DeepCopyInto

DeepCopyInto supports using LocalRateLimit_TokenBucket within kubernetes types, where deepcopy-gen is used.

func (*LocalRateLimit_TokenBucket) Descriptor deprecated

func (*LocalRateLimit_TokenBucket) Descriptor() ([]byte, []int)

Deprecated: Use LocalRateLimit_TokenBucket.ProtoReflect.Descriptor instead.

func (*LocalRateLimit_TokenBucket) GetFillInterval

func (x *LocalRateLimit_TokenBucket) GetFillInterval() *duration.Duration

func (*LocalRateLimit_TokenBucket) GetMaxTokens

func (x *LocalRateLimit_TokenBucket) GetMaxTokens() uint32

func (*LocalRateLimit_TokenBucket) GetTokensPerFill

func (x *LocalRateLimit_TokenBucket) GetTokensPerFill() *wrappers.UInt32Value

func (*LocalRateLimit_TokenBucket) MarshalJSON

func (this *LocalRateLimit_TokenBucket) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for LocalRateLimit_TokenBucket

func (*LocalRateLimit_TokenBucket) ProtoMessage

func (*LocalRateLimit_TokenBucket) ProtoMessage()

func (*LocalRateLimit_TokenBucket) ProtoReflect

func (*LocalRateLimit_TokenBucket) Reset

func (x *LocalRateLimit_TokenBucket) Reset()

func (*LocalRateLimit_TokenBucket) String

func (x *LocalRateLimit_TokenBucket) String() string

func (*LocalRateLimit_TokenBucket) UnmarshalJSON

func (this *LocalRateLimit_TokenBucket) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for LocalRateLimit_TokenBucket

type MetaRoute

type MetaRoute struct {

	// The name assigned to the route for debugging purposes.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Match conditions to be satisfied for the rule to be activated.
	// All conditions inside a single match block have AND semantic.
	Match *MetaRouteMatch `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"`
	// A Route rule can forward (default) traffic. The forwarding target
	// can be one of several versions of a service (see glossary in
	// beginning of document). Weights associated with the service version
	// determine the proportion of traffic it receives.
	Route  []*MetaRouteDestination `protobuf:"bytes,3,rep,name=route,proto3" json:"route,omitempty"`
	Mirror *Destination            `protobuf:"bytes,5,opt,name=mirror,proto3" json:"mirror,omitempty"`
	// Percentage of the traffic to be mirrored by the `mirror` field.
	// If this field is absent, all the traffic (100%) will be mirrored.
	// Max value is 100.
	MirrorPercentage *Percent `protobuf:"bytes,6,opt,name=mirror_percentage,json=mirrorPercentage,proto3" json:"mirror_percentage,omitempty"`
	// Specifies a list of key-value pairs that should be mutated for each request. How to interpret the key-value pairs
	// depends on the codec implementation
	RequestMutation []*KeyValue `protobuf:"bytes,19,rep,name=request_mutation,json=requestMutation,proto3" json:"request_mutation,omitempty"`
	// Specifies a list of key-value pairs that should be mutated for each response. How to interpret the key-value pairs
	// depends on the codec implementation
	ResponseMutation []*KeyValue `protobuf:"bytes,20,rep,name=response_mutation,json=responseMutation,proto3" json:"response_mutation,omitempty"`
	// contains filtered or unexported fields
}

Describes match conditions and actions for routing MetaProtocol.

func (*MetaRoute) DeepCopy

func (in *MetaRoute) DeepCopy() *MetaRoute

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaRoute. Required by controller-gen.

func (*MetaRoute) DeepCopyInterface

func (in *MetaRoute) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new MetaRoute. Required by controller-gen.

func (*MetaRoute) DeepCopyInto

func (in *MetaRoute) DeepCopyInto(out *MetaRoute)

DeepCopyInto supports using MetaRoute within kubernetes types, where deepcopy-gen is used.

func (*MetaRoute) Descriptor deprecated

func (*MetaRoute) Descriptor() ([]byte, []int)

Deprecated: Use MetaRoute.ProtoReflect.Descriptor instead.

func (*MetaRoute) GetMatch

func (x *MetaRoute) GetMatch() *MetaRouteMatch

func (*MetaRoute) GetMirror

func (x *MetaRoute) GetMirror() *Destination

func (*MetaRoute) GetMirrorPercentage

func (x *MetaRoute) GetMirrorPercentage() *Percent

func (*MetaRoute) GetName

func (x *MetaRoute) GetName() string

func (*MetaRoute) GetRequestMutation

func (x *MetaRoute) GetRequestMutation() []*KeyValue

func (*MetaRoute) GetResponseMutation

func (x *MetaRoute) GetResponseMutation() []*KeyValue

func (*MetaRoute) GetRoute

func (x *MetaRoute) GetRoute() []*MetaRouteDestination

func (*MetaRoute) MarshalJSON

func (this *MetaRoute) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for MetaRoute

func (*MetaRoute) ProtoMessage

func (*MetaRoute) ProtoMessage()

func (*MetaRoute) ProtoReflect

func (x *MetaRoute) ProtoReflect() protoreflect.Message

func (*MetaRoute) Reset

func (x *MetaRoute) Reset()

func (*MetaRoute) String

func (x *MetaRoute) String() string

func (*MetaRoute) UnmarshalJSON

func (this *MetaRoute) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for MetaRoute

type MetaRouteDestination

type MetaRouteDestination struct {

	// Destination uniquely identifies the instances of a service
	// to which the request/connection should be forwarded to.
	Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
	// The proportion of traffic to be forwarded to the service
	// version. (0-100). Sum of weights across destinations SHOULD BE == 100.
	// If there is only one destination in a rule, the weight value is assumed to
	// be 100.
	Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
	// contains filtered or unexported fields
}

func (*MetaRouteDestination) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaRouteDestination. Required by controller-gen.

func (*MetaRouteDestination) DeepCopyInterface

func (in *MetaRouteDestination) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new MetaRouteDestination. Required by controller-gen.

func (*MetaRouteDestination) DeepCopyInto

func (in *MetaRouteDestination) DeepCopyInto(out *MetaRouteDestination)

DeepCopyInto supports using MetaRouteDestination within kubernetes types, where deepcopy-gen is used.

func (*MetaRouteDestination) Descriptor deprecated

func (*MetaRouteDestination) Descriptor() ([]byte, []int)

Deprecated: Use MetaRouteDestination.ProtoReflect.Descriptor instead.

func (*MetaRouteDestination) GetDestination

func (x *MetaRouteDestination) GetDestination() *Destination

func (*MetaRouteDestination) GetWeight

func (x *MetaRouteDestination) GetWeight() uint32

func (*MetaRouteDestination) MarshalJSON

func (this *MetaRouteDestination) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for MetaRouteDestination

func (*MetaRouteDestination) ProtoMessage

func (*MetaRouteDestination) ProtoMessage()

func (*MetaRouteDestination) ProtoReflect

func (x *MetaRouteDestination) ProtoReflect() protoreflect.Message

func (*MetaRouteDestination) Reset

func (x *MetaRouteDestination) Reset()

func (*MetaRouteDestination) String

func (x *MetaRouteDestination) String() string

func (*MetaRouteDestination) UnmarshalJSON

func (this *MetaRouteDestination) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for MetaRouteDestination

type MetaRouteMatch

type MetaRouteMatch struct {

	// If the value is empty and only the name of attribute is specified, presence of the attribute is checked.
	Attributes map[string]*StringMatch `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*MetaRouteMatch) DeepCopy

func (in *MetaRouteMatch) DeepCopy() *MetaRouteMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaRouteMatch. Required by controller-gen.

func (*MetaRouteMatch) DeepCopyInterface

func (in *MetaRouteMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new MetaRouteMatch. Required by controller-gen.

func (*MetaRouteMatch) DeepCopyInto

func (in *MetaRouteMatch) DeepCopyInto(out *MetaRouteMatch)

DeepCopyInto supports using MetaRouteMatch within kubernetes types, where deepcopy-gen is used.

func (*MetaRouteMatch) Descriptor deprecated

func (*MetaRouteMatch) Descriptor() ([]byte, []int)

Deprecated: Use MetaRouteMatch.ProtoReflect.Descriptor instead.

func (*MetaRouteMatch) GetAttributes

func (x *MetaRouteMatch) GetAttributes() map[string]*StringMatch

func (*MetaRouteMatch) MarshalJSON

func (this *MetaRouteMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for MetaRouteMatch

func (*MetaRouteMatch) ProtoMessage

func (*MetaRouteMatch) ProtoMessage()

func (*MetaRouteMatch) ProtoReflect

func (x *MetaRouteMatch) ProtoReflect() protoreflect.Message

func (*MetaRouteMatch) Reset

func (x *MetaRouteMatch) Reset()

func (*MetaRouteMatch) String

func (x *MetaRouteMatch) String() string

func (*MetaRouteMatch) UnmarshalJSON

func (this *MetaRouteMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for MetaRouteMatch

type MetaRouter

type MetaRouter struct {

	// The destination service to which traffic is being sent.
	// *Note for Kubernetes users*: It must be a fully qualified domain name
	// (FQDN), (e.g. "thrift-sample-server.meta-thrift.svc.cluster.local" )
	// instead of a short name (e.g. "thrift-sample-server").
	// *Note*: Only one host is supported now. If multiple hosts are specified,
	// Only the first one takes effect.
	Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"`
	// The names of gateways and sidecars that should apply these routes. The usage of
	//
	//	this field is the same as istio.io/VirtualService
	Gateways []string `protobuf:"bytes,2,rep,name=gateways,proto3" json:"gateways,omitempty"`
	// An ordered list of route rules for MetaProtocol traffic. The route rules
	// will be applied to service ports named "tcp-metaprotocol-${applicationProtocol}-*",
	// (e.g. "tcp-metaprotocol-thrift-hello-server"). Order maters in the routes,
	// The first rule matching an incoming request is used.
	Routes []*MetaRoute `protobuf:"bytes,3,rep,name=routes,proto3" json:"routes,omitempty"`
	// Loacal rate limit policy.
	LocalRateLimit *LocalRateLimit `protobuf:"bytes,4,opt,name=local_rate_limit,json=localRateLimit,proto3" json:"local_rate_limit,omitempty"`
	// Global rate limit policy.
	GlobalRateLimit *GlobalRateLimit `protobuf:"bytes,5,opt,name=global_rate_limit,json=globalRateLimit,proto3" json:"global_rate_limit,omitempty"`
	// A list of namespaces to which this MetaRouter is exported. Exporting a
	// MetaRouter allows it to be used by sidecars defined in other namespaces.
	// This feature provides a mechanism for service owners and mesh administrators
	// to control the visibility of MetaRouter across namespace boundaries.
	//
	// If no namespaces are specified then the MetaRouter is exported to all namespaces
	// by default.
	//
	// The value "." is reserved and defines an export to the same namespace that
	// the MetaRouter is declared in. Similarly the value "*" is reserved and
	// defines an export to all namespaces.
	ExportTo []string `protobuf:"bytes,20,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"`
	// contains filtered or unexported fields
}

MetaRouter defines route policies for MetaProtocol proxy.

<!-- crd generation tags +cue-gen:MetaRouter:groupName:metaprotocol.aeraki.io +cue-gen:MetaRouter:version:v1alpha1 +cue-gen:MetaRouter:storageVersion +cue-gen:MetaRouter:annotations:helm.sh/resource-policy=keep +cue-gen:MetaRouter:labels:app=aeraki,chart=aeraki,heritage=Tiller,release=aeraki +cue-gen:MetaRouter:subresource:status +cue-gen:MetaRouter:scope:Namespaced +cue-gen:MetaRouter:resource:categories=aeraki-io,metaprotocol-aeraki-io +cue-gen:MetaRouter:preserveUnknownFields:false -->

<!-- go code generation tags +kubetype-gen +kubetype-gen:groupVersion=metaprotocol.aeraki.io/v1alpha1 +genclient +k8s:deepcopy-gen=true -->

func (*MetaRouter) DeepCopy

func (in *MetaRouter) DeepCopy() *MetaRouter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaRouter. Required by controller-gen.

func (*MetaRouter) DeepCopyInterface

func (in *MetaRouter) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new MetaRouter. Required by controller-gen.

func (*MetaRouter) DeepCopyInto

func (in *MetaRouter) DeepCopyInto(out *MetaRouter)

DeepCopyInto supports using MetaRouter within kubernetes types, where deepcopy-gen is used.

func (*MetaRouter) Descriptor deprecated

func (*MetaRouter) Descriptor() ([]byte, []int)

Deprecated: Use MetaRouter.ProtoReflect.Descriptor instead.

func (*MetaRouter) GetExportTo

func (x *MetaRouter) GetExportTo() []string

func (*MetaRouter) GetGateways

func (x *MetaRouter) GetGateways() []string

func (*MetaRouter) GetGlobalRateLimit

func (x *MetaRouter) GetGlobalRateLimit() *GlobalRateLimit

func (*MetaRouter) GetHosts

func (x *MetaRouter) GetHosts() []string

func (*MetaRouter) GetLocalRateLimit

func (x *MetaRouter) GetLocalRateLimit() *LocalRateLimit

func (*MetaRouter) GetRoutes

func (x *MetaRouter) GetRoutes() []*MetaRoute

func (*MetaRouter) MarshalJSON

func (this *MetaRouter) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for MetaRouter

func (*MetaRouter) ProtoMessage

func (*MetaRouter) ProtoMessage()

func (*MetaRouter) ProtoReflect

func (x *MetaRouter) ProtoReflect() protoreflect.Message

func (*MetaRouter) Reset

func (x *MetaRouter) Reset()

func (*MetaRouter) String

func (x *MetaRouter) String() string

func (*MetaRouter) UnmarshalJSON

func (this *MetaRouter) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for MetaRouter

type Percent

type Percent struct {
	Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

Percent specifies a percentage in the range of [0.0, 100.0].

func (*Percent) DeepCopy

func (in *Percent) DeepCopy() *Percent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Percent. Required by controller-gen.

func (*Percent) DeepCopyInterface

func (in *Percent) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Percent. Required by controller-gen.

func (*Percent) DeepCopyInto

func (in *Percent) DeepCopyInto(out *Percent)

DeepCopyInto supports using Percent within kubernetes types, where deepcopy-gen is used.

func (*Percent) Descriptor deprecated

func (*Percent) Descriptor() ([]byte, []int)

Deprecated: Use Percent.ProtoReflect.Descriptor instead.

func (*Percent) GetValue

func (x *Percent) GetValue() float64

func (*Percent) MarshalJSON

func (this *Percent) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for Percent

func (*Percent) ProtoMessage

func (*Percent) ProtoMessage()

func (*Percent) ProtoReflect

func (x *Percent) ProtoReflect() protoreflect.Message

func (*Percent) Reset

func (x *Percent) Reset()

func (*Percent) String

func (x *Percent) String() string

func (*Percent) UnmarshalJSON

func (this *Percent) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for Percent

type PortSelector

type PortSelector struct {

	// Valid port number
	Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
	// contains filtered or unexported fields
}

PortSelector specifies the number of a port to be used for matching or selection for final routing.

func (*PortSelector) DeepCopy

func (in *PortSelector) DeepCopy() *PortSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortSelector. Required by controller-gen.

func (*PortSelector) DeepCopyInterface

func (in *PortSelector) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new PortSelector. Required by controller-gen.

func (*PortSelector) DeepCopyInto

func (in *PortSelector) DeepCopyInto(out *PortSelector)

DeepCopyInto supports using PortSelector within kubernetes types, where deepcopy-gen is used.

func (*PortSelector) Descriptor deprecated

func (*PortSelector) Descriptor() ([]byte, []int)

Deprecated: Use PortSelector.ProtoReflect.Descriptor instead.

func (*PortSelector) GetNumber

func (x *PortSelector) GetNumber() uint32

func (*PortSelector) MarshalJSON

func (this *PortSelector) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for PortSelector

func (*PortSelector) ProtoMessage

func (*PortSelector) ProtoMessage()

func (*PortSelector) ProtoReflect

func (x *PortSelector) ProtoReflect() protoreflect.Message

func (*PortSelector) Reset

func (x *PortSelector) Reset()

func (*PortSelector) String

func (x *PortSelector) String() string

func (*PortSelector) UnmarshalJSON

func (this *PortSelector) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for PortSelector

type StringMatch

type StringMatch struct {

	// Types that are assignable to MatchType:
	//
	//	*StringMatch_Exact
	//	*StringMatch_Prefix
	//	*StringMatch_Regex
	MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"`
	// contains filtered or unexported fields
}

Describes how to match a given string in HTTP headers. Match is case-sensitive.

func (*StringMatch) DeepCopy

func (in *StringMatch) DeepCopy() *StringMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringMatch. Required by controller-gen.

func (*StringMatch) DeepCopyInterface

func (in *StringMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new StringMatch. Required by controller-gen.

func (*StringMatch) DeepCopyInto

func (in *StringMatch) DeepCopyInto(out *StringMatch)

DeepCopyInto supports using StringMatch within kubernetes types, where deepcopy-gen is used.

func (*StringMatch) Descriptor deprecated

func (*StringMatch) Descriptor() ([]byte, []int)

Deprecated: Use StringMatch.ProtoReflect.Descriptor instead.

func (*StringMatch) GetExact

func (x *StringMatch) GetExact() string

func (*StringMatch) GetMatchType

func (m *StringMatch) GetMatchType() isStringMatch_MatchType

func (*StringMatch) GetPrefix

func (x *StringMatch) GetPrefix() string

func (*StringMatch) GetRegex

func (x *StringMatch) GetRegex() string

func (*StringMatch) MarshalJSON

func (this *StringMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for StringMatch

func (*StringMatch) ProtoMessage

func (*StringMatch) ProtoMessage()

func (*StringMatch) ProtoReflect

func (x *StringMatch) ProtoReflect() protoreflect.Message

func (*StringMatch) Reset

func (x *StringMatch) Reset()

func (*StringMatch) String

func (x *StringMatch) String() string

func (*StringMatch) UnmarshalJSON

func (this *StringMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for StringMatch

type StringMatch_Exact

type StringMatch_Exact struct {
	// exact string match
	Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"`
}

type StringMatch_Prefix

type StringMatch_Prefix struct {
	// prefix-based match
	Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"`
}

type StringMatch_Regex

type StringMatch_Regex struct {
	// RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).
	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL