Documentation ¶
Index ¶
- Variables
- type Cookie
- func (m *Cookie) Clone() proto.Message
- func (*Cookie) Descriptor() ([]byte, []int)deprecated
- func (m *Cookie) Equal(that interface{}) bool
- func (x *Cookie) GetName() string
- func (x *Cookie) GetPath() string
- func (x *Cookie) GetTtl() *duration.Duration
- func (m *Cookie) Hash(hasher hash.Hash64) (uint64, error)
- func (*Cookie) ProtoMessage()
- func (x *Cookie) ProtoReflect() protoreflect.Message
- func (x *Cookie) Reset()
- func (x *Cookie) String() string
- type HashPolicy
- func (m *HashPolicy) Clone() proto.Message
- func (*HashPolicy) Descriptor() ([]byte, []int)deprecated
- func (m *HashPolicy) Equal(that interface{}) bool
- func (x *HashPolicy) GetCookie() *Cookie
- func (x *HashPolicy) GetHeader() string
- func (m *HashPolicy) GetKeyType() isHashPolicy_KeyType
- func (x *HashPolicy) GetSourceIp() bool
- func (x *HashPolicy) GetTerminal() bool
- func (m *HashPolicy) Hash(hasher hash.Hash64) (uint64, error)
- func (*HashPolicy) ProtoMessage()
- func (x *HashPolicy) ProtoReflect() protoreflect.Message
- func (x *HashPolicy) Reset()
- func (x *HashPolicy) String() string
- type HashPolicy_Cookie
- type HashPolicy_Header
- type HashPolicy_SourceIp
- type RouteActionHashConfig
- func (m *RouteActionHashConfig) Clone() proto.Message
- func (*RouteActionHashConfig) Descriptor() ([]byte, []int)deprecated
- func (m *RouteActionHashConfig) Equal(that interface{}) bool
- func (x *RouteActionHashConfig) GetHashPolicies() []*HashPolicy
- func (m *RouteActionHashConfig) Hash(hasher hash.Hash64) (uint64, error)
- func (*RouteActionHashConfig) ProtoMessage()
- func (x *RouteActionHashConfig) ProtoReflect() protoreflect.Message
- func (x *RouteActionHashConfig) Reset()
- func (x *RouteActionHashConfig) String() string
Constants ¶
This section is empty.
Variables ¶
var File_github_com_solo_io_gloo_projects_gloo_api_v1_options_lbhash_lbhash_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type Cookie ¶
type Cookie struct { // required, the name of the cookie to be used to obtain the hash key Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // If specified, a cookie with the TTL will be generated if the cookie is not present. If the TTL is present and zero, the generated cookie will be a session cookie. Ttl *duration.Duration `protobuf:"bytes,2,opt,name=ttl,proto3" json:"ttl,omitempty"` // The name of the path for the cookie. If no path is specified here, no path will be set for the cookie. Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` // contains filtered or unexported fields }
Envoy supports two types of cookie affinity: - Passive: Envoy reads the cookie from the headers - Generated: Envoy uses the cookie spec to generate a cookie In either case, the cookie is incorporated in the hash key. additional notes https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto#envoy-api-msg-route-routeaction-hashpolicy-cookie
func (*Cookie) Descriptor
deprecated
func (*Cookie) ProtoMessage ¶
func (*Cookie) ProtoMessage()
func (*Cookie) ProtoReflect ¶ added in v1.6.0
func (x *Cookie) ProtoReflect() protoreflect.Message
type HashPolicy ¶
type HashPolicy struct { // Types that are assignable to KeyType: // // *HashPolicy_Header // *HashPolicy_Cookie // *HashPolicy_SourceIp KeyType isHashPolicy_KeyType `protobuf_oneof:"KeyType"` // If set, and a hash key is available after evaluating this policy, Envoy will skip the subsequent policies and // use the key as it is. // This is useful for defining "fallback" policies and limiting the time Envoy spends generating hash keys. Terminal bool `protobuf:"varint,4,opt,name=terminal,proto3" json:"terminal,omitempty"` // contains filtered or unexported fields }
Specifies an element of Envoy's hashing policy for hashing load balancers
func (*HashPolicy) Clone ¶ added in v1.8.24
func (m *HashPolicy) Clone() proto.Message
Clone function
func (*HashPolicy) Descriptor
deprecated
func (*HashPolicy) Descriptor() ([]byte, []int)
Deprecated: Use HashPolicy.ProtoReflect.Descriptor instead.
func (*HashPolicy) GetCookie ¶
func (x *HashPolicy) GetCookie() *Cookie
func (*HashPolicy) GetHeader ¶
func (x *HashPolicy) GetHeader() string
func (*HashPolicy) GetKeyType ¶
func (m *HashPolicy) GetKeyType() isHashPolicy_KeyType
func (*HashPolicy) GetSourceIp ¶
func (x *HashPolicy) GetSourceIp() bool
func (*HashPolicy) GetTerminal ¶
func (x *HashPolicy) GetTerminal() bool
func (*HashPolicy) Hash ¶ added in v1.2.13
func (m *HashPolicy) Hash(hasher hash.Hash64) (uint64, error)
Hash function
func (*HashPolicy) ProtoMessage ¶
func (*HashPolicy) ProtoMessage()
func (*HashPolicy) ProtoReflect ¶ added in v1.6.0
func (x *HashPolicy) ProtoReflect() protoreflect.Message
func (*HashPolicy) Reset ¶
func (x *HashPolicy) Reset()
func (*HashPolicy) String ¶
func (x *HashPolicy) String() string
type HashPolicy_Cookie ¶
type HashPolicy_Cookie struct { // Use a given cookie as a component of the hashing load balancer's hash key Cookie *Cookie `protobuf:"bytes,2,opt,name=cookie,proto3,oneof"` }
type HashPolicy_Header ¶
type HashPolicy_Header struct { // Use a given header's value as a component of the hashing load balancer's hash key Header string `protobuf:"bytes,1,opt,name=header,proto3,oneof"` }
type HashPolicy_SourceIp ¶
type HashPolicy_SourceIp struct { // Use the request's source IP address as a component of the hashing load balancer's hash key SourceIp bool `protobuf:"varint,3,opt,name=source_ip,json=sourceIp,proto3,oneof"` }
type RouteActionHashConfig ¶
type RouteActionHashConfig struct { // The list of policies Envoy will use when generating a hash key for a hashing load balancer HashPolicies []*HashPolicy `protobuf:"bytes,1,rep,name=hash_policies,json=hashPolicies,proto3" json:"hash_policies,omitempty"` // contains filtered or unexported fields }
Specifies the route’s hashing policy if the upstream cluster uses a hashing load balancer. https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto#envoy-api-msg-route-routeaction-hashpolicy
func (*RouteActionHashConfig) Clone ¶ added in v1.8.24
func (m *RouteActionHashConfig) Clone() proto.Message
Clone function
func (*RouteActionHashConfig) Descriptor
deprecated
func (*RouteActionHashConfig) Descriptor() ([]byte, []int)
Deprecated: Use RouteActionHashConfig.ProtoReflect.Descriptor instead.
func (*RouteActionHashConfig) Equal ¶
func (m *RouteActionHashConfig) Equal(that interface{}) bool
Equal function
func (*RouteActionHashConfig) GetHashPolicies ¶
func (x *RouteActionHashConfig) GetHashPolicies() []*HashPolicy
func (*RouteActionHashConfig) Hash ¶ added in v1.2.13
func (m *RouteActionHashConfig) Hash(hasher hash.Hash64) (uint64, error)
Hash function
func (*RouteActionHashConfig) ProtoMessage ¶
func (*RouteActionHashConfig) ProtoMessage()
func (*RouteActionHashConfig) ProtoReflect ¶ added in v1.6.0
func (x *RouteActionHashConfig) ProtoReflect() protoreflect.Message
func (*RouteActionHashConfig) Reset ¶
func (x *RouteActionHashConfig) Reset()
func (*RouteActionHashConfig) String ¶
func (x *RouteActionHashConfig) String() string