v1

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2023 License: GPL-3.0 Imports: 35 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the gate v1 API group +k8s:deepcopy-gen=package,register +groupName=gate

NOTE: Boilerplate only. Ignore this file. Used to register the Go types with the Kubernetes internal scheme

Definitions for the Kubernetes types

Definitions for the Kubernetes types

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "gate", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)
View Source
var (
	UpstreamSpec_LbPolicy_name = map[int32]string{
		0: "ROUND_ROBIN",
		1: "LEAST_REQUEST",
		2: "RING_HASH",
		3: "RANDOM",
		5: "MAGLEV",
	}
	UpstreamSpec_LbPolicy_value = map[string]int32{
		"ROUND_ROBIN":   0,
		"LEAST_REQUEST": 1,
		"RING_HASH":     2,
		"RANDOM":        3,
		"MAGLEV":        5,
	}
)

Enum value maps for UpstreamSpec_LbPolicy.

View Source
var CaCertificateGVK = schema.GroupVersionKind{
	Group:   "gate",
	Version: "v1",
	Kind:    "CaCertificate",
}

GroupVersionKind for CaCertificate

View Source
var File_github_com_xdmybl_gate_type_proto_gate_v1_ca_certificate_proto protoreflect.FileDescriptor
View Source
var File_github_com_xdmybl_gate_type_proto_gate_v1_filter_proto protoreflect.FileDescriptor
View Source
var File_github_com_xdmybl_gate_type_proto_gate_v1_gateway_proto protoreflect.FileDescriptor
View Source
var File_github_com_xdmybl_gate_type_proto_gate_v1_ssl_certificate_proto protoreflect.FileDescriptor
View Source
var File_github_com_xdmybl_gate_type_proto_gate_v1_upstream_proto protoreflect.FileDescriptor
View Source
var FilterGVK = schema.GroupVersionKind{
	Group:   "gate",
	Version: "v1",
	Kind:    "Filter",
}

GroupVersionKind for Filter

View Source
var GatewayGVK = schema.GroupVersionKind{
	Group:   "gate",
	Version: "v1",
	Kind:    "Gateway",
}

GroupVersionKind for Gateway

View Source
var SslCertificateGVK = schema.GroupVersionKind{
	Group:   "gate",
	Version: "v1",
	Kind:    "SslCertificate",
}

GroupVersionKind for SslCertificate

View Source
var UpstreamGVK = schema.GroupVersionKind{
	Group:   "gate",
	Version: "v1",
	Kind:    "Upstream",
}

GroupVersionKind for Upstream

Functions

func AddToScheme

func AddToScheme(s *runtime.Scheme) error

func NewCaCertificateClient

func NewCaCertificateClient(client client.Client) *caCertificateClient

func NewFilterClient

func NewFilterClient(client client.Client) *filterClient

func NewGatewayClient

func NewGatewayClient(client client.Client) *gatewayClient

func NewSslCertificateClient

func NewSslCertificateClient(client client.Client) *sslCertificateClient

func NewUpstreamClient

func NewUpstreamClient(client client.Client) *upstreamClient

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type CaCertificate

type CaCertificate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec CaCertificateSpec `json:"spec,omitempty"`
}

CaCertificate is the Schema for the caCertificate API

func (*CaCertificate) DeepCopy

func (in *CaCertificate) DeepCopy() *CaCertificate

func (*CaCertificate) DeepCopyInto

func (in *CaCertificate) DeepCopyInto(out *CaCertificate)

func (*CaCertificate) DeepCopyObject

func (in *CaCertificate) DeepCopyObject() runtime.Object

func (CaCertificate) GVK

GVK returns the GroupVersionKind associated with the resource type.

type CaCertificateClient

type CaCertificateClient interface {
	CaCertificateReader
	CaCertificateWriter
	CaCertificateStatusWriter
}

Client knows how to perform CRUD operations on CaCertificates.

type CaCertificateList

type CaCertificateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CaCertificate `json:"items"`
}

CaCertificateList contains a list of CaCertificate

func (*CaCertificateList) DeepCopy

func (in *CaCertificateList) DeepCopy() *CaCertificateList

func (*CaCertificateList) DeepCopyInto

func (in *CaCertificateList) DeepCopyInto(out *CaCertificateList)

func (*CaCertificateList) DeepCopyObject

func (in *CaCertificateList) DeepCopyObject() runtime.Object

type CaCertificateReader

type CaCertificateReader interface {
	// Get retrieves a CaCertificate for the given object key
	GetCaCertificate(ctx context.Context, key client.ObjectKey) (*CaCertificate, error)

	// List retrieves list of CaCertificates for a given namespace and list options.
	ListCaCertificate(ctx context.Context, opts ...client.ListOption) (*CaCertificateList, error)
}

Reader knows how to read and list CaCertificates.

type CaCertificateSlice

type CaCertificateSlice []*CaCertificate

CaCertificateSlice represents a slice of *CaCertificate

type CaCertificateSpec

type CaCertificateSpec struct {
	CommonInfo              *v1.CommonInfo     `protobuf:"bytes,1,opt,name=commonInfo,proto3" json:"commonInfo,omitempty"`
	CertificateInfo         *v11.Certificate   `protobuf:"bytes,2,opt,name=certificateInfo,proto3" json:"certificateInfo,omitempty"`
	Ca                      string             `protobuf:"bytes,3,opt,name=ca,proto3" json:"ca,omitempty"`
	Crl                     string             `protobuf:"bytes,5,opt,name=crl,proto3" json:"crl,omitempty"`
	AllowExpiredCertificate bool               `protobuf:"varint,6,opt,name=allowExpiredCertificate,proto3" json:"allowExpiredCertificate,omitempty"`
	TlsParameters           *v11.TlsParameters `protobuf:"bytes,7,opt,name=tlsParameters,proto3" json:"tlsParameters,omitempty"`
	// Set Application Level Protocol Negotiation
	// If empty, defaults to ["h2", "http/1.1"].
	AlpnProtocols []string `protobuf:"bytes,8,rep,name=alpnProtocols,proto3" json:"alpnProtocols,omitempty"`
	// contains filtered or unexported fields
}

func (*CaCertificateSpec) Clone

func (m *CaCertificateSpec) Clone() proto.Message

Clone function

func (*CaCertificateSpec) DeepCopyInto

func (in *CaCertificateSpec) DeepCopyInto(out *CaCertificateSpec)

DeepCopyInto for the CaCertificate.Spec

func (*CaCertificateSpec) Descriptor deprecated

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

Deprecated: Use CaCertificateSpec.ProtoReflect.Descriptor instead.

func (*CaCertificateSpec) Equal

func (m *CaCertificateSpec) Equal(that interface{}) bool

Equal function

func (*CaCertificateSpec) GetAllowExpiredCertificate

func (x *CaCertificateSpec) GetAllowExpiredCertificate() bool

func (*CaCertificateSpec) GetAlpnProtocols

func (x *CaCertificateSpec) GetAlpnProtocols() []string

func (*CaCertificateSpec) GetCa

func (x *CaCertificateSpec) GetCa() string

func (*CaCertificateSpec) GetCertificateInfo

func (x *CaCertificateSpec) GetCertificateInfo() *v11.Certificate

func (*CaCertificateSpec) GetCommonInfo

func (x *CaCertificateSpec) GetCommonInfo() *v1.CommonInfo

func (*CaCertificateSpec) GetCrl

func (x *CaCertificateSpec) GetCrl() string

func (*CaCertificateSpec) GetTlsParameters

func (x *CaCertificateSpec) GetTlsParameters() *v11.TlsParameters

func (*CaCertificateSpec) Hash

func (m *CaCertificateSpec) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*CaCertificateSpec) MarshalJSON

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

MarshalJSON is a custom marshaler for CaCertificateSpec

func (*CaCertificateSpec) ProtoMessage

func (*CaCertificateSpec) ProtoMessage()

func (*CaCertificateSpec) ProtoReflect

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

func (*CaCertificateSpec) Reset

func (x *CaCertificateSpec) Reset()

func (*CaCertificateSpec) String

func (x *CaCertificateSpec) String() string

func (*CaCertificateSpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for CaCertificateSpec

type CaCertificateStatusWriter

type CaCertificateStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given CaCertificate object.
	UpdateCaCertificateStatus(ctx context.Context, obj *CaCertificate, opts ...client.UpdateOption) error

	// Patch patches the given CaCertificate object's subresource.
	PatchCaCertificateStatus(ctx context.Context, obj *CaCertificate, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a CaCertificate object.

type CaCertificateTransitionFunction

type CaCertificateTransitionFunction func(existing, desired *CaCertificate) error

CaCertificateTransitionFunction instructs the CaCertificateWriter how to transition between an existing CaCertificate object and a desired on an Upsert

type CaCertificateWriter

type CaCertificateWriter interface {
	// Create saves the CaCertificate object.
	CreateCaCertificate(ctx context.Context, obj *CaCertificate, opts ...client.CreateOption) error

	// Delete deletes the CaCertificate object.
	DeleteCaCertificate(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given CaCertificate object.
	UpdateCaCertificate(ctx context.Context, obj *CaCertificate, opts ...client.UpdateOption) error

	// Patch patches the given CaCertificate object.
	PatchCaCertificate(ctx context.Context, obj *CaCertificate, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all CaCertificate objects matching the given options.
	DeleteAllOfCaCertificate(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the CaCertificate object.
	UpsertCaCertificate(ctx context.Context, obj *CaCertificate, transitionFuncs ...CaCertificateTransitionFunction) error
}

Writer knows how to create, delete, and update CaCertificates.

type Clientset

type Clientset interface {
	// clienset for the gate/v1/v1 APIs
	CaCertificates() CaCertificateClient
	// clienset for the gate/v1/v1 APIs
	SslCertificates() SslCertificateClient
	// clienset for the gate/v1/v1 APIs
	Upstreams() UpstreamClient
	// clienset for the gate/v1/v1 APIs
	Gateways() GatewayClient
	// clienset for the gate/v1/v1 APIs
	Filters() FilterClient
}

clienset for the gate/v1 APIs

func NewClientset

func NewClientset(client client.Client) Clientset

func NewClientsetFromConfig

func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error)

type ConnPoll

type ConnPoll struct {

	// 限制每个连接可以承载的连接个数,0表示不受限制,1表示一个连接服务一个请求后就被关闭,
	// 也就是禁用连接复用。默认值为0。
	MaxRequestsPerConnection uint32 `protobuf:"varint,1,opt,name=maxRequestsPerConnection,proto3" json:"maxRequestsPerConnection,omitempty"`
	// 访问该集群的最大发连接数,默认值-1 (2^32-1 = 4294967295)。
	MaxConnections int64 `protobuf:"varint,2,opt,name=maxConnections,proto3" json:"maxConnections,omitempty"`
	// 访问该集群的最大并发请求数,默认值-1(2^32-1)。
	MaxRequests int64 `protobuf:"varint,3,opt,name=maxRequests,proto3" json:"maxRequests,omitempty"`
	// 最大阻塞的请求数,默认值-1(2^32-1)。
	MaxPendingRequests int64 `protobuf:"varint,4,opt,name=maxPendingRequests,proto3" json:"maxPendingRequests,omitempty"`
	// 指定出口网卡, 通过IP来指定网卡
	OutboundSourceAddress string `protobuf:"bytes,6,opt,name=outboundSourceAddress,proto3" json:"outboundSourceAddress,omitempty"`
	// contains filtered or unexported fields
}

func (*ConnPoll) Clone

func (m *ConnPoll) Clone() proto.Message

Clone function

func (*ConnPoll) Descriptor deprecated

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

Deprecated: Use ConnPoll.ProtoReflect.Descriptor instead.

func (*ConnPoll) Equal

func (m *ConnPoll) Equal(that interface{}) bool

Equal function

func (*ConnPoll) GetMaxConnections

func (x *ConnPoll) GetMaxConnections() int64

func (*ConnPoll) GetMaxPendingRequests

func (x *ConnPoll) GetMaxPendingRequests() int64

func (*ConnPoll) GetMaxRequests

func (x *ConnPoll) GetMaxRequests() int64

func (*ConnPoll) GetMaxRequestsPerConnection

func (x *ConnPoll) GetMaxRequestsPerConnection() uint32

func (*ConnPoll) GetOutboundSourceAddress

func (x *ConnPoll) GetOutboundSourceAddress() string

func (*ConnPoll) Hash

func (m *ConnPoll) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*ConnPoll) ProtoMessage

func (*ConnPoll) ProtoMessage()

func (*ConnPoll) ProtoReflect

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

func (*ConnPoll) Reset

func (x *ConnPoll) Reset()

func (*ConnPoll) String

func (x *ConnPoll) String() string

type Filter

type Filter struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec FilterSpec `json:"spec,omitempty"`
}

Filter is the Schema for the filter API

func (*Filter) DeepCopy

func (in *Filter) DeepCopy() *Filter

func (*Filter) DeepCopyInto

func (in *Filter) DeepCopyInto(out *Filter)

func (*Filter) DeepCopyObject

func (in *Filter) DeepCopyObject() runtime.Object

func (Filter) GVK

GVK returns the GroupVersionKind associated with the resource type.

type FilterClient

type FilterClient interface {
	FilterReader
	FilterWriter
	FilterStatusWriter
}

Client knows how to perform CRUD operations on Filters.

type FilterList

type FilterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Filter `json:"items"`
}

FilterList contains a list of Filter

func (*FilterList) DeepCopy

func (in *FilterList) DeepCopy() *FilterList

func (*FilterList) DeepCopyInto

func (in *FilterList) DeepCopyInto(out *FilterList)

func (*FilterList) DeepCopyObject

func (in *FilterList) DeepCopyObject() runtime.Object

type FilterReader

type FilterReader interface {
	// Get retrieves a Filter for the given object key
	GetFilter(ctx context.Context, key client.ObjectKey) (*Filter, error)

	// List retrieves list of Filters for a given namespace and list options.
	ListFilter(ctx context.Context, opts ...client.ListOption) (*FilterList, error)
}

Reader knows how to read and list Filters.

type FilterSlice

type FilterSlice []*Filter

FilterSlice represents a slice of *Filter

type FilterSpec

type FilterSpec struct {

	// common fields
	CommonInfo *v1.CommonInfo `protobuf:"bytes,1,opt,name=commonInfo,proto3" json:"commonInfo,omitempty"`
	// 必为其中一种类型, 目前计划先支持两种, Tcp Http 协议的处理
	//
	// Types that are assignable to FilterType:
	//
	//	*FilterSpec_Hcm
	//	*FilterSpec_TcpProxy
	FilterType isFilterSpec_FilterType `protobuf_oneof:"filter_type"`
	// contains filtered or unexported fields
}

directly map to the Envoy v3 filter object 只好先用着 envoy 的名称, 其实 filter 是一个基于功能的取名 并不是基于概念的取名, 这里后期必然要换一个名

func (*FilterSpec) Clone

func (m *FilterSpec) Clone() proto.Message

Clone function

func (*FilterSpec) DeepCopyInto

func (in *FilterSpec) DeepCopyInto(out *FilterSpec)

DeepCopyInto for the Filter.Spec

func (*FilterSpec) Descriptor deprecated

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

Deprecated: Use FilterSpec.ProtoReflect.Descriptor instead.

func (*FilterSpec) Equal

func (m *FilterSpec) Equal(that interface{}) bool

Equal function

func (*FilterSpec) GetCommonInfo

func (x *FilterSpec) GetCommonInfo() *v1.CommonInfo

func (*FilterSpec) GetFilterType

func (m *FilterSpec) GetFilterType() isFilterSpec_FilterType

func (*FilterSpec) GetHcm

func (x *FilterSpec) GetHcm() *HttpConnectionManager

func (*FilterSpec) GetTcpProxy

func (x *FilterSpec) GetTcpProxy() *TcpProxy

func (*FilterSpec) Hash

func (m *FilterSpec) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*FilterSpec) MarshalJSON

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

MarshalJSON is a custom marshaler for FilterSpec

func (*FilterSpec) ProtoMessage

func (*FilterSpec) ProtoMessage()

func (*FilterSpec) ProtoReflect

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

func (*FilterSpec) Reset

func (x *FilterSpec) Reset()

func (*FilterSpec) String

func (x *FilterSpec) String() string

func (*FilterSpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for FilterSpec

type FilterSpec_Hcm

type FilterSpec_Hcm struct {
	Hcm *HttpConnectionManager `protobuf:"bytes,2,opt,name=hcm,proto3,oneof"`
}

type FilterSpec_TcpProxy

type FilterSpec_TcpProxy struct {
	TcpProxy *TcpProxy `protobuf:"bytes,3,opt,name=tcp_proxy,json=tcpProxy,proto3,oneof"`
}

type FilterStatusWriter

type FilterStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given Filter object.
	UpdateFilterStatus(ctx context.Context, obj *Filter, opts ...client.UpdateOption) error

	// Patch patches the given Filter object's subresource.
	PatchFilterStatus(ctx context.Context, obj *Filter, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a Filter object.

type FilterTransitionFunction

type FilterTransitionFunction func(existing, desired *Filter) error

FilterTransitionFunction instructs the FilterWriter how to transition between an existing Filter object and a desired on an Upsert

type FilterWriter

type FilterWriter interface {
	// Create saves the Filter object.
	CreateFilter(ctx context.Context, obj *Filter, opts ...client.CreateOption) error

	// Delete deletes the Filter object.
	DeleteFilter(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given Filter object.
	UpdateFilter(ctx context.Context, obj *Filter, opts ...client.UpdateOption) error

	// Patch patches the given Filter object.
	PatchFilter(ctx context.Context, obj *Filter, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all Filter objects matching the given options.
	DeleteAllOfFilter(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the Filter object.
	UpsertFilter(ctx context.Context, obj *Filter, transitionFuncs ...FilterTransitionFunction) error
}

Writer knows how to create, delete, and update Filters.

type Gateway

type Gateway struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec GatewaySpec `json:"spec,omitempty"`
}

Gateway is the Schema for the gateway API

func (*Gateway) DeepCopy

func (in *Gateway) DeepCopy() *Gateway

func (*Gateway) DeepCopyInto

func (in *Gateway) DeepCopyInto(out *Gateway)

func (*Gateway) DeepCopyObject

func (in *Gateway) DeepCopyObject() runtime.Object

func (Gateway) GVK

GVK returns the GroupVersionKind associated with the resource type.

type GatewayClient

type GatewayClient interface {
	GatewayReader
	GatewayWriter
	GatewayStatusWriter
}

Client knows how to perform CRUD operations on Gateways.

type GatewayList

type GatewayList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Gateway `json:"items"`
}

GatewayList contains a list of Gateway

func (*GatewayList) DeepCopy

func (in *GatewayList) DeepCopy() *GatewayList

func (*GatewayList) DeepCopyInto

func (in *GatewayList) DeepCopyInto(out *GatewayList)

func (*GatewayList) DeepCopyObject

func (in *GatewayList) DeepCopyObject() runtime.Object

type GatewayListener

type GatewayListener struct {

	// validate: ipv4 or ipv6, default 0.0.0.0
	BindAddress string `protobuf:"bytes,2,opt,name=bind_address,json=bindAddress,proto3" json:"bind_address,omitempty"`
	// validate: port value
	BindPort uint32 `protobuf:"varint,3,opt,name=bind_port,json=bindPort,proto3" json:"bind_port,omitempty"`
	// is bind to os port , default false
	BindToPort bool     `protobuf:"varint,4,opt,name=bind_to_port,json=bindToPort,proto3" json:"bind_to_port,omitempty"`
	FilterName []string `protobuf:"bytes,5,rep,name=filter_name,json=filterName,proto3" json:"filter_name,omitempty"`
	// listener option
	Options  *ListenerOptions `protobuf:"bytes,8,opt,name=options,proto3" json:"options,omitempty"`
	Metadata *v1.GateMetadata `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// contains filtered or unexported fields
}

func (*GatewayListener) Clone

func (m *GatewayListener) Clone() proto.Message

Clone function

func (*GatewayListener) Descriptor deprecated

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

Deprecated: Use GatewayListener.ProtoReflect.Descriptor instead.

func (*GatewayListener) Equal

func (m *GatewayListener) Equal(that interface{}) bool

Equal function

func (*GatewayListener) GetBindAddress

func (x *GatewayListener) GetBindAddress() string

func (*GatewayListener) GetBindPort

func (x *GatewayListener) GetBindPort() uint32

func (*GatewayListener) GetBindToPort

func (x *GatewayListener) GetBindToPort() bool

func (*GatewayListener) GetFilterName

func (x *GatewayListener) GetFilterName() []string

func (*GatewayListener) GetMetadata

func (x *GatewayListener) GetMetadata() *v1.GateMetadata

func (*GatewayListener) GetOptions

func (x *GatewayListener) GetOptions() *ListenerOptions

func (*GatewayListener) Hash

func (m *GatewayListener) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*GatewayListener) ProtoMessage

func (*GatewayListener) ProtoMessage()

func (*GatewayListener) ProtoReflect

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

func (*GatewayListener) Reset

func (x *GatewayListener) Reset()

func (*GatewayListener) String

func (x *GatewayListener) String() string

type GatewayReader

type GatewayReader interface {
	// Get retrieves a Gateway for the given object key
	GetGateway(ctx context.Context, key client.ObjectKey) (*Gateway, error)

	// List retrieves list of Gateways for a given namespace and list options.
	ListGateway(ctx context.Context, opts ...client.ListOption) (*GatewayList, error)
}

Reader knows how to read and list Gateways.

type GatewaySlice

type GatewaySlice []*Gateway

GatewaySlice represents a slice of *Gateway

type GatewaySpec

type GatewaySpec struct {
	CommonInfo *v1.CommonInfo `protobuf:"bytes,1,opt,name=commonInfo,proto3" json:"commonInfo,omitempty"`
	// validate: max and min item.
	Listeners []*GatewayListener `protobuf:"bytes,2,rep,name=listeners,proto3" json:"listeners,omitempty"`
	// contains filtered or unexported fields
}

func (*GatewaySpec) Clone

func (m *GatewaySpec) Clone() proto.Message

Clone function

func (*GatewaySpec) DeepCopyInto

func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)

DeepCopyInto for the Gateway.Spec

func (*GatewaySpec) Descriptor deprecated

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

Deprecated: Use GatewaySpec.ProtoReflect.Descriptor instead.

func (*GatewaySpec) Equal

func (m *GatewaySpec) Equal(that interface{}) bool

Equal function

func (*GatewaySpec) GetCommonInfo

func (x *GatewaySpec) GetCommonInfo() *v1.CommonInfo

func (*GatewaySpec) GetListeners

func (x *GatewaySpec) GetListeners() []*GatewayListener

func (*GatewaySpec) Hash

func (m *GatewaySpec) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*GatewaySpec) MarshalJSON

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

MarshalJSON is a custom marshaler for GatewaySpec

func (*GatewaySpec) ProtoMessage

func (*GatewaySpec) ProtoMessage()

func (*GatewaySpec) ProtoReflect

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

func (*GatewaySpec) Reset

func (x *GatewaySpec) Reset()

func (*GatewaySpec) String

func (x *GatewaySpec) String() string

func (*GatewaySpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for GatewaySpec

type GatewayStatusWriter

type GatewayStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given Gateway object.
	UpdateGatewayStatus(ctx context.Context, obj *Gateway, opts ...client.UpdateOption) error

	// Patch patches the given Gateway object's subresource.
	PatchGatewayStatus(ctx context.Context, obj *Gateway, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a Gateway object.

type GatewayTransitionFunction

type GatewayTransitionFunction func(existing, desired *Gateway) error

GatewayTransitionFunction instructs the GatewayWriter how to transition between an existing Gateway object and a desired on an Upsert

type GatewayWriter

type GatewayWriter interface {
	// Create saves the Gateway object.
	CreateGateway(ctx context.Context, obj *Gateway, opts ...client.CreateOption) error

	// Delete deletes the Gateway object.
	DeleteGateway(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given Gateway object.
	UpdateGateway(ctx context.Context, obj *Gateway, opts ...client.UpdateOption) error

	// Patch patches the given Gateway object.
	PatchGateway(ctx context.Context, obj *Gateway, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all Gateway objects matching the given options.
	DeleteAllOfGateway(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the Gateway object.
	UpsertGateway(ctx context.Context, obj *Gateway, transitionFuncs ...GatewayTransitionFunction) error
}

Writer knows how to create, delete, and update Gateways.

type HttpConnectionManager

type HttpConnectionManager struct {

	// 对应 Envoy route_config_name
	RouteConfigName string        `protobuf:"bytes,1,opt,name=route_config_name,json=routeConfigName,proto3" json:"route_config_name,omitempty"`
	HttpFilter      []*HttpFilter `protobuf:"bytes,2,rep,name=http_filter,json=httpFilter,proto3" json:"http_filter,omitempty"`
	MergeSlashes    bool          `protobuf:"varint,3,opt,name=merge_slashes,json=mergeSlashes,proto3" json:"merge_slashes,omitempty"`
	SkipXffAppend   bool          `protobuf:"varint,4,opt,name=skip_xff_append,json=skipXffAppend,proto3" json:"skip_xff_append,omitempty"`
	// contains filtered or unexported fields
}

Hcm 直接对应 Envoy HCM

func (*HttpConnectionManager) Clone

func (m *HttpConnectionManager) Clone() proto.Message

Clone function

func (*HttpConnectionManager) Descriptor deprecated

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

Deprecated: Use HttpConnectionManager.ProtoReflect.Descriptor instead.

func (*HttpConnectionManager) Equal

func (m *HttpConnectionManager) Equal(that interface{}) bool

Equal function

func (*HttpConnectionManager) GetHttpFilter

func (x *HttpConnectionManager) GetHttpFilter() []*HttpFilter

func (*HttpConnectionManager) GetMergeSlashes

func (x *HttpConnectionManager) GetMergeSlashes() bool

func (*HttpConnectionManager) GetRouteConfigName

func (x *HttpConnectionManager) GetRouteConfigName() string

func (*HttpConnectionManager) GetSkipXffAppend

func (x *HttpConnectionManager) GetSkipXffAppend() bool

func (*HttpConnectionManager) Hash

func (m *HttpConnectionManager) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*HttpConnectionManager) ProtoMessage

func (*HttpConnectionManager) ProtoMessage()

func (*HttpConnectionManager) ProtoReflect

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

func (*HttpConnectionManager) Reset

func (x *HttpConnectionManager) Reset()

func (*HttpConnectionManager) String

func (x *HttpConnectionManager) String() string

type HttpFilter

type HttpFilter struct {
	// contains filtered or unexported fields
}

TODO 插件 HCM 级别插件配置 生成规则 HCM 级别插件规则需要看 Envoy 文档才能知道

func (*HttpFilter) Clone

func (m *HttpFilter) Clone() proto.Message

Clone function

func (*HttpFilter) Descriptor deprecated

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

Deprecated: Use HttpFilter.ProtoReflect.Descriptor instead.

func (*HttpFilter) Equal

func (m *HttpFilter) Equal(that interface{}) bool

Equal function

func (*HttpFilter) Hash

func (m *HttpFilter) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*HttpFilter) ProtoMessage

func (*HttpFilter) ProtoMessage()

func (*HttpFilter) ProtoReflect

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

func (*HttpFilter) Reset

func (x *HttpFilter) Reset()

func (*HttpFilter) String

func (x *HttpFilter) String() string

type ListenerOptions

type ListenerOptions struct {

	// Soft limit on size of the listener's new connection read and write buffers. If unspecified, defaults to 1MiB
	// For more info, check out the [Envoy docs](https://www.envoyproxy.io/docs/envoy/v1.14.1/api-v2/api/v2/listener.proto)
	PerConnectionBufferLimitBytes uint32 `protobuf:"varint,1,opt,name=perConnectionBufferLimitBytes,proto3" json:"perConnectionBufferLimitBytes,omitempty"`
	// contains filtered or unexported fields
}

func (*ListenerOptions) Clone

func (m *ListenerOptions) Clone() proto.Message

Clone function

func (*ListenerOptions) Descriptor deprecated

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

Deprecated: Use ListenerOptions.ProtoReflect.Descriptor instead.

func (*ListenerOptions) Equal

func (m *ListenerOptions) Equal(that interface{}) bool

Equal function

func (*ListenerOptions) GetPerConnectionBufferLimitBytes

func (x *ListenerOptions) GetPerConnectionBufferLimitBytes() uint32

func (*ListenerOptions) Hash

func (m *ListenerOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*ListenerOptions) ProtoMessage

func (*ListenerOptions) ProtoMessage()

func (*ListenerOptions) ProtoReflect

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

func (*ListenerOptions) Reset

func (x *ListenerOptions) Reset()

func (*ListenerOptions) String

func (x *ListenerOptions) String() string

type MulticlusterCaCertificateClient

type MulticlusterCaCertificateClient interface {
	// Cluster returns a CaCertificateClient for the given cluster
	Cluster(cluster string) (CaCertificateClient, error)
}

Provides CaCertificateClients for multiple clusters.

func NewMulticlusterCaCertificateClient

func NewMulticlusterCaCertificateClient(client multicluster.Client) MulticlusterCaCertificateClient

type MulticlusterClientset

type MulticlusterClientset interface {
	// Cluster returns a Clientset for the given cluster
	Cluster(cluster string) (Clientset, error)
}

MulticlusterClientset for the gate/v1 APIs

func NewMulticlusterClientset

func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset

type MulticlusterFilterClient

type MulticlusterFilterClient interface {
	// Cluster returns a FilterClient for the given cluster
	Cluster(cluster string) (FilterClient, error)
}

Provides FilterClients for multiple clusters.

func NewMulticlusterFilterClient

func NewMulticlusterFilterClient(client multicluster.Client) MulticlusterFilterClient

type MulticlusterGatewayClient

type MulticlusterGatewayClient interface {
	// Cluster returns a GatewayClient for the given cluster
	Cluster(cluster string) (GatewayClient, error)
}

Provides GatewayClients for multiple clusters.

func NewMulticlusterGatewayClient

func NewMulticlusterGatewayClient(client multicluster.Client) MulticlusterGatewayClient

type MulticlusterSslCertificateClient

type MulticlusterSslCertificateClient interface {
	// Cluster returns a SslCertificateClient for the given cluster
	Cluster(cluster string) (SslCertificateClient, error)
}

Provides SslCertificateClients for multiple clusters.

func NewMulticlusterSslCertificateClient

func NewMulticlusterSslCertificateClient(client multicluster.Client) MulticlusterSslCertificateClient

type MulticlusterUpstreamClient

type MulticlusterUpstreamClient interface {
	// Cluster returns a UpstreamClient for the given cluster
	Cluster(cluster string) (UpstreamClient, error)
}

Provides UpstreamClients for multiple clusters.

func NewMulticlusterUpstreamClient

func NewMulticlusterUpstreamClient(client multicluster.Client) MulticlusterUpstreamClient

type SslCertificate

type SslCertificate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec SslCertificateSpec `json:"spec,omitempty"`
}

SslCertificate is the Schema for the sslCertificate API

func (*SslCertificate) DeepCopy

func (in *SslCertificate) DeepCopy() *SslCertificate

func (*SslCertificate) DeepCopyInto

func (in *SslCertificate) DeepCopyInto(out *SslCertificate)

func (*SslCertificate) DeepCopyObject

func (in *SslCertificate) DeepCopyObject() runtime.Object

func (SslCertificate) GVK

GVK returns the GroupVersionKind associated with the resource type.

type SslCertificateClient

type SslCertificateClient interface {
	SslCertificateReader
	SslCertificateWriter
	SslCertificateStatusWriter
}

Client knows how to perform CRUD operations on SslCertificates.

type SslCertificateList

type SslCertificateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SslCertificate `json:"items"`
}

SslCertificateList contains a list of SslCertificate

func (*SslCertificateList) DeepCopy

func (in *SslCertificateList) DeepCopy() *SslCertificateList

func (*SslCertificateList) DeepCopyInto

func (in *SslCertificateList) DeepCopyInto(out *SslCertificateList)

func (*SslCertificateList) DeepCopyObject

func (in *SslCertificateList) DeepCopyObject() runtime.Object

type SslCertificateReader

type SslCertificateReader interface {
	// Get retrieves a SslCertificate for the given object key
	GetSslCertificate(ctx context.Context, key client.ObjectKey) (*SslCertificate, error)

	// List retrieves list of SslCertificates for a given namespace and list options.
	ListSslCertificate(ctx context.Context, opts ...client.ListOption) (*SslCertificateList, error)
}

Reader knows how to read and list SslCertificates.

type SslCertificateSlice

type SslCertificateSlice []*SslCertificate

SslCertificateSlice represents a slice of *SslCertificate

type SslCertificateSpec

type SslCertificateSpec struct {
	CommonInfo       *v1.CommonInfo   `protobuf:"bytes,1,opt,name=commonInfo,proto3" json:"commonInfo,omitempty"`
	CertificateInfo  *v11.Certificate `protobuf:"bytes,2,opt,name=certificateInfo,proto3" json:"certificateInfo,omitempty"`
	CertificateChain string           `protobuf:"bytes,3,opt,name=certificateChain,proto3" json:"certificateChain,omitempty"`
	PrivateKey       string           `protobuf:"bytes,4,opt,name=privateKey,proto3" json:"privateKey,omitempty"`
	// The password to decrypt the TLS private key. If this field is not set, it is assumed that the TLS private key is not password encrypted.
	Password      string             `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	TlsParameters *v11.TlsParameters `protobuf:"bytes,6,opt,name=tlsParameters,proto3" json:"tlsParameters,omitempty"`
	// Set Application Level Protocol Negotiation
	// If empty, defaults to ["h2", "http/1.1"].
	AlpnProtocols []string `protobuf:"bytes,7,rep,name=alpnProtocols,proto3" json:"alpnProtocols,omitempty"`
	// contains filtered or unexported fields
}

func (*SslCertificateSpec) Clone

func (m *SslCertificateSpec) Clone() proto.Message

Clone function

func (*SslCertificateSpec) DeepCopyInto

func (in *SslCertificateSpec) DeepCopyInto(out *SslCertificateSpec)

DeepCopyInto for the SslCertificate.Spec

func (*SslCertificateSpec) Descriptor deprecated

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

Deprecated: Use SslCertificateSpec.ProtoReflect.Descriptor instead.

func (*SslCertificateSpec) Equal

func (m *SslCertificateSpec) Equal(that interface{}) bool

Equal function

func (*SslCertificateSpec) GetAlpnProtocols

func (x *SslCertificateSpec) GetAlpnProtocols() []string

func (*SslCertificateSpec) GetCertificateChain

func (x *SslCertificateSpec) GetCertificateChain() string

func (*SslCertificateSpec) GetCertificateInfo

func (x *SslCertificateSpec) GetCertificateInfo() *v11.Certificate

func (*SslCertificateSpec) GetCommonInfo

func (x *SslCertificateSpec) GetCommonInfo() *v1.CommonInfo

func (*SslCertificateSpec) GetPassword

func (x *SslCertificateSpec) GetPassword() string

func (*SslCertificateSpec) GetPrivateKey

func (x *SslCertificateSpec) GetPrivateKey() string

func (*SslCertificateSpec) GetTlsParameters

func (x *SslCertificateSpec) GetTlsParameters() *v11.TlsParameters

func (*SslCertificateSpec) Hash

func (m *SslCertificateSpec) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*SslCertificateSpec) MarshalJSON

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

MarshalJSON is a custom marshaler for SslCertificateSpec

func (*SslCertificateSpec) ProtoMessage

func (*SslCertificateSpec) ProtoMessage()

func (*SslCertificateSpec) ProtoReflect

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

func (*SslCertificateSpec) Reset

func (x *SslCertificateSpec) Reset()

func (*SslCertificateSpec) String

func (x *SslCertificateSpec) String() string

func (*SslCertificateSpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for SslCertificateSpec

type SslCertificateStatusWriter

type SslCertificateStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given SslCertificate object.
	UpdateSslCertificateStatus(ctx context.Context, obj *SslCertificate, opts ...client.UpdateOption) error

	// Patch patches the given SslCertificate object's subresource.
	PatchSslCertificateStatus(ctx context.Context, obj *SslCertificate, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a SslCertificate object.

type SslCertificateTransitionFunction

type SslCertificateTransitionFunction func(existing, desired *SslCertificate) error

SslCertificateTransitionFunction instructs the SslCertificateWriter how to transition between an existing SslCertificate object and a desired on an Upsert

type SslCertificateWriter

type SslCertificateWriter interface {
	// Create saves the SslCertificate object.
	CreateSslCertificate(ctx context.Context, obj *SslCertificate, opts ...client.CreateOption) error

	// Delete deletes the SslCertificate object.
	DeleteSslCertificate(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given SslCertificate object.
	UpdateSslCertificate(ctx context.Context, obj *SslCertificate, opts ...client.UpdateOption) error

	// Patch patches the given SslCertificate object.
	PatchSslCertificate(ctx context.Context, obj *SslCertificate, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all SslCertificate objects matching the given options.
	DeleteAllOfSslCertificate(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the SslCertificate object.
	UpsertSslCertificate(ctx context.Context, obj *SslCertificate, transitionFuncs ...SslCertificateTransitionFunction) error
}

Writer knows how to create, delete, and update SslCertificates.

type TcpProxy

type TcpProxy struct {
	// contains filtered or unexported fields
}

Envoy 的 extensions.filters.network.tcp_proxy.v3.TcpProxy 是一个网络过滤器,它可以在 Envoy 代理中拦截 TCP 流量,并将其转发到指定的目标地址。具体来说,TcpProxy 可以在客户端和服务端之间建立一个 TCP 连接,然后将客户端发送的请求转发到服务端,同时将服务端返回的响应转发回客户端。 TcpProxy 过滤器可以用于实现负载均衡、流量控制、故障转移等功能,它支持多种负载均衡算法和健康检查机制,可以根据配置文件中的规则动态地选择目标地址,并在目标地址不可用时自动切换到备用地址。 总之,TcpProxy 是一个非常有用的 Envoy 过滤器,可以帮助开发人员更好地控制和管理 Envoy 代理中的 TCP 流量。

  • `stat_prefix`:用于在 Envoy 的统计信息中标识该 TCP 代理的前缀。
  • `cluster`:指定要代理到的目标集群的名称。
  • `access_log`:指定要记录访问日志的配置。
  • `idle_timeout`:指定连接的空闲超时时间。
  • `max_connect_attempts`:指定连接重试的最大次数。
  • `upstream_connection_options`:指定要应用的上游连接选项。
  • `downstream_connection_options`:指定要应用的下游连接选项。
  • `hash_policy`:指定用于哈希负载均衡的策略。
  • `metadata_match`:指定要匹配的元数据标签。

func (*TcpProxy) Clone

func (m *TcpProxy) Clone() proto.Message

Clone function

func (*TcpProxy) Descriptor deprecated

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

Deprecated: Use TcpProxy.ProtoReflect.Descriptor instead.

func (*TcpProxy) Equal

func (m *TcpProxy) Equal(that interface{}) bool

Equal function

func (*TcpProxy) Hash

func (m *TcpProxy) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*TcpProxy) ProtoMessage

func (*TcpProxy) ProtoMessage()

func (*TcpProxy) ProtoReflect

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

func (*TcpProxy) Reset

func (x *TcpProxy) Reset()

func (*TcpProxy) String

func (x *TcpProxy) String() string

type Upstream

type Upstream struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec UpstreamSpec `json:"spec,omitempty"`
}

Upstream is the Schema for the upstream API

func (*Upstream) DeepCopy

func (in *Upstream) DeepCopy() *Upstream

func (*Upstream) DeepCopyInto

func (in *Upstream) DeepCopyInto(out *Upstream)

func (*Upstream) DeepCopyObject

func (in *Upstream) DeepCopyObject() runtime.Object

func (Upstream) GVK

GVK returns the GroupVersionKind associated with the resource type.

type UpstreamClient

type UpstreamClient interface {
	UpstreamReader
	UpstreamWriter
	UpstreamStatusWriter
}

Client knows how to perform CRUD operations on Upstreams.

type UpstreamList

type UpstreamList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Upstream `json:"items"`
}

UpstreamList contains a list of Upstream

func (*UpstreamList) DeepCopy

func (in *UpstreamList) DeepCopy() *UpstreamList

func (*UpstreamList) DeepCopyInto

func (in *UpstreamList) DeepCopyInto(out *UpstreamList)

func (*UpstreamList) DeepCopyObject

func (in *UpstreamList) DeepCopyObject() runtime.Object

type UpstreamReader

type UpstreamReader interface {
	// Get retrieves a Upstream for the given object key
	GetUpstream(ctx context.Context, key client.ObjectKey) (*Upstream, error)

	// List retrieves list of Upstreams for a given namespace and list options.
	ListUpstream(ctx context.Context, opts ...client.ListOption) (*UpstreamList, error)
}

Reader knows how to read and list Upstreams.

type UpstreamSlice

type UpstreamSlice []*Upstream

UpstreamSlice represents a slice of *Upstream

type UpstreamSpec

type UpstreamSpec struct {
	CommonInfo        *v1.CommonInfo        `protobuf:"bytes,1,opt,name=commonInfo,proto3" json:"commonInfo,omitempty"`
	LbAlg             UpstreamSpec_LbPolicy `protobuf:"varint,2,opt,name=lbAlg,proto3,enum=gate.UpstreamSpec_LbPolicy" json:"lbAlg,omitempty"`
	SslConfigurations *v11.TlsClient        `protobuf:"bytes,3,opt,name=sslConfigurations,proto3" json:"sslConfigurations,omitempty"`
	ConnPoll          *ConnPoll             `protobuf:"bytes,4,opt,name=connPoll,proto3" json:"connPoll,omitempty"`
	HealthCheckRef    *v1.ResourceRef       `protobuf:"bytes,5,opt,name=healthCheckRef,proto3" json:"healthCheckRef,omitempty"`
	StatefulSession   *v1.StatefulSession   `protobuf:"bytes,6,opt,name=statefulSession,proto3" json:"statefulSession,omitempty"`
	Endpoints         []*v1.Endpoint        `protobuf:"bytes,7,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
	// contains filtered or unexported fields
}

func (*UpstreamSpec) Clone

func (m *UpstreamSpec) Clone() proto.Message

Clone function

func (*UpstreamSpec) DeepCopyInto

func (in *UpstreamSpec) DeepCopyInto(out *UpstreamSpec)

DeepCopyInto for the Upstream.Spec

func (*UpstreamSpec) Descriptor deprecated

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

Deprecated: Use UpstreamSpec.ProtoReflect.Descriptor instead.

func (*UpstreamSpec) Equal

func (m *UpstreamSpec) Equal(that interface{}) bool

Equal function

func (*UpstreamSpec) GetCommonInfo

func (x *UpstreamSpec) GetCommonInfo() *v1.CommonInfo

func (*UpstreamSpec) GetConnPoll

func (x *UpstreamSpec) GetConnPoll() *ConnPoll

func (*UpstreamSpec) GetEndpoints

func (x *UpstreamSpec) GetEndpoints() []*v1.Endpoint

func (*UpstreamSpec) GetHealthCheckRef

func (x *UpstreamSpec) GetHealthCheckRef() *v1.ResourceRef

func (*UpstreamSpec) GetLbAlg

func (x *UpstreamSpec) GetLbAlg() UpstreamSpec_LbPolicy

func (*UpstreamSpec) GetSslConfigurations

func (x *UpstreamSpec) GetSslConfigurations() *v11.TlsClient

func (*UpstreamSpec) GetStatefulSession

func (x *UpstreamSpec) GetStatefulSession() *v1.StatefulSession

func (*UpstreamSpec) Hash

func (m *UpstreamSpec) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*UpstreamSpec) MarshalJSON

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

MarshalJSON is a custom marshaler for UpstreamSpec

func (*UpstreamSpec) ProtoMessage

func (*UpstreamSpec) ProtoMessage()

func (*UpstreamSpec) ProtoReflect

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

func (*UpstreamSpec) Reset

func (x *UpstreamSpec) Reset()

func (*UpstreamSpec) String

func (x *UpstreamSpec) String() string

func (*UpstreamSpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for UpstreamSpec

type UpstreamSpec_LbPolicy

type UpstreamSpec_LbPolicy int32
const (
	// Refer to the :ref:`round robin load balancing
	// policy<arch_overview_load_balancing_types_round_robin>`
	// for an explanation.
	UpstreamSpec_ROUND_ROBIN UpstreamSpec_LbPolicy = 0
	// Refer to the :ref:`least request load balancing
	// policy<arch_overview_load_balancing_types_least_request>`
	// for an explanation.
	UpstreamSpec_LEAST_REQUEST UpstreamSpec_LbPolicy = 1
	// Refer to the :ref:`ring hash load balancing
	// policy<arch_overview_load_balancing_types_ring_hash>`
	// for an explanation.
	UpstreamSpec_RING_HASH UpstreamSpec_LbPolicy = 2
	// Refer to the :ref:`random load balancing
	// policy<arch_overview_load_balancing_types_random>`
	// for an explanation.
	UpstreamSpec_RANDOM UpstreamSpec_LbPolicy = 3
	// Refer to the :ref:`Maglev load balancing policy<arch_overview_load_balancing_types_maglev>`
	// for an explanation.
	UpstreamSpec_MAGLEV UpstreamSpec_LbPolicy = 5
)

func (UpstreamSpec_LbPolicy) Descriptor

func (UpstreamSpec_LbPolicy) Enum

func (UpstreamSpec_LbPolicy) EnumDescriptor deprecated

func (UpstreamSpec_LbPolicy) EnumDescriptor() ([]byte, []int)

Deprecated: Use UpstreamSpec_LbPolicy.Descriptor instead.

func (UpstreamSpec_LbPolicy) Number

func (UpstreamSpec_LbPolicy) String

func (x UpstreamSpec_LbPolicy) String() string

func (UpstreamSpec_LbPolicy) Type

type UpstreamStatusWriter

type UpstreamStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given Upstream object.
	UpdateUpstreamStatus(ctx context.Context, obj *Upstream, opts ...client.UpdateOption) error

	// Patch patches the given Upstream object's subresource.
	PatchUpstreamStatus(ctx context.Context, obj *Upstream, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a Upstream object.

type UpstreamTransitionFunction

type UpstreamTransitionFunction func(existing, desired *Upstream) error

UpstreamTransitionFunction instructs the UpstreamWriter how to transition between an existing Upstream object and a desired on an Upsert

type UpstreamWriter

type UpstreamWriter interface {
	// Create saves the Upstream object.
	CreateUpstream(ctx context.Context, obj *Upstream, opts ...client.CreateOption) error

	// Delete deletes the Upstream object.
	DeleteUpstream(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given Upstream object.
	UpdateUpstream(ctx context.Context, obj *Upstream, opts ...client.UpdateOption) error

	// Patch patches the given Upstream object.
	PatchUpstream(ctx context.Context, obj *Upstream, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all Upstream objects matching the given options.
	DeleteAllOfUpstream(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the Upstream object.
	UpsertUpstream(ctx context.Context, obj *Upstream, transitionFuncs ...UpstreamTransitionFunction) error
}

Writer knows how to create, delete, and update Upstreams.

type WeightedUpstreamList

type WeightedUpstreamList struct {
	Weight             uint32                 `protobuf:"varint,1,opt,name=weight,proto3" json:"weight,omitempty"`
	UpstreamRef        *v1.ResourceRef        `protobuf:"bytes,2,opt,name=upstreamRef,proto3" json:"upstreamRef,omitempty"`
	HeaderManipulation *v1.HeaderManipulation `protobuf:"bytes,3,opt,name=headerManipulation,proto3" json:"headerManipulation,omitempty"`
	// contains filtered or unexported fields
}

func (*WeightedUpstreamList) Clone

func (m *WeightedUpstreamList) Clone() proto.Message

Clone function

func (*WeightedUpstreamList) Descriptor deprecated

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

Deprecated: Use WeightedUpstreamList.ProtoReflect.Descriptor instead.

func (*WeightedUpstreamList) Equal

func (m *WeightedUpstreamList) Equal(that interface{}) bool

Equal function

func (*WeightedUpstreamList) GetHeaderManipulation

func (x *WeightedUpstreamList) GetHeaderManipulation() *v1.HeaderManipulation

func (*WeightedUpstreamList) GetUpstreamRef

func (x *WeightedUpstreamList) GetUpstreamRef() *v1.ResourceRef

func (*WeightedUpstreamList) GetWeight

func (x *WeightedUpstreamList) GetWeight() uint32

func (*WeightedUpstreamList) Hash

func (m *WeightedUpstreamList) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*WeightedUpstreamList) ProtoMessage

func (*WeightedUpstreamList) ProtoMessage()

func (*WeightedUpstreamList) ProtoReflect

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

func (*WeightedUpstreamList) Reset

func (x *WeightedUpstreamList) Reset()

func (*WeightedUpstreamList) String

func (x *WeightedUpstreamList) String() string

Directories

Path Synopsis
Definitions for the Kubernetes Controllers
Definitions for the Kubernetes Controllers

Jump to

Keyboard shortcuts

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