endpoint

package
v1.3.9 Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package endpoint is a generated GoMock package.

Package endpoint defines the interface for an endpoints provider. Endpoints providers communicate with the compute platforms and are primarily responsible for providing information regarding the endpoints for services, such as their IP addresses, port numbers and protocol information. Reference: https://github.com/flomesh-io/fsm/blob/main/DESIGN.md#3-endpoints-providers

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Endpoint

type Endpoint struct {
	net.IP      `json:"ip"`
	Port        `json:"port"`
	Weight      `json:"weight"`
	Priority    `json:"priority,omitempty"`
	AppProtocol string `json:"appProtocol"`

	// Zone is the zone the endpoint resides in.
	Zone string `json:"name"`

	// ClusterKey is a cluster key.
	ClusterKey string `json:"cluster,omitempty"`

	// LBType is a cluster load balancer type.
	LBType string `json:"lbType,omitempty"`

	// Path is a name with which a web service is accessed.
	Path string `json:"path,omitempty"`

	// ClusterID belongs to cluster.
	ClusterID string `json:"clusterId,omitempty"`

	// WithGateway with gateway.
	WithGateway bool `json:"withGateway,omitempty"`

	// WithMultiGateways with multi gateways.
	WithMultiGateways bool `json:"withMultiGateways,omitempty"`

	// ViaGatewayHTTP via gateway.
	ViaGatewayHTTP string `json:"viaGatewayHTTP,omitempty"`

	// ViaGatewayGRPC via gateway.
	ViaGatewayGRPC string `json:"viaGatewayGRPC,omitempty"`

	// ViaGatewayMode via gateway mode.
	ViaGatewayMode string `json:"viaGatewayMode,omitempty"`
}

Endpoint is a tuple of IP and Port representing an instance of a service

func (Endpoint) String

func (ep Endpoint) String() string

type MockProvider

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

MockProvider is a mock of Provider interface.

func NewMockProvider

func NewMockProvider(ctrl *gomock.Controller) *MockProvider

NewMockProvider creates a new mock instance.

func (*MockProvider) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockProvider) GetID

func (m *MockProvider) GetID() string

GetID mocks base method.

func (*MockProvider) GetResolvableEndpointsForService

func (m *MockProvider) GetResolvableEndpointsForService(arg0 service.MeshService) []Endpoint

GetResolvableEndpointsForService mocks base method.

func (*MockProvider) ListEndpointsForIdentity

func (m *MockProvider) ListEndpointsForIdentity(arg0 identity.ServiceIdentity) []Endpoint

ListEndpointsForIdentity mocks base method.

func (*MockProvider) ListEndpointsForService

func (m *MockProvider) ListEndpointsForService(arg0 service.MeshService) []Endpoint

ListEndpointsForService mocks base method.

type MockProviderMockRecorder

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

MockProviderMockRecorder is the mock recorder for MockProvider.

func (*MockProviderMockRecorder) GetID

func (mr *MockProviderMockRecorder) GetID() *gomock.Call

GetID indicates an expected call of GetID.

func (*MockProviderMockRecorder) GetResolvableEndpointsForService

func (mr *MockProviderMockRecorder) GetResolvableEndpointsForService(arg0 interface{}) *gomock.Call

GetResolvableEndpointsForService indicates an expected call of GetResolvableEndpointsForService.

func (*MockProviderMockRecorder) ListEndpointsForIdentity

func (mr *MockProviderMockRecorder) ListEndpointsForIdentity(arg0 interface{}) *gomock.Call

ListEndpointsForIdentity indicates an expected call of ListEndpointsForIdentity.

func (*MockProviderMockRecorder) ListEndpointsForService

func (mr *MockProviderMockRecorder) ListEndpointsForService(arg0 interface{}) *gomock.Call

ListEndpointsForService indicates an expected call of ListEndpointsForService.

type Port

type Port uint32

Port is a numerical type representing a port on which a service is exposed

type Priority

type Priority uint32

Priority is the priority of the remote cluster in locality based load balancing

type Provider

type Provider interface {
	// ListEndpointsForService retrieves the IP addresses comprising the given service.
	ListEndpointsForService(service.MeshService) []Endpoint

	// ListEndpointsForIdentity retrieves the list of IP addresses for the given service account
	ListEndpointsForIdentity(identity.ServiceIdentity) []Endpoint

	// GetResolvableEndpointsForService returns the expected endpoints that are to be reached when the service FQDN is resolved under
	// the scope of the provider
	GetResolvableEndpointsForService(service.MeshService) []Endpoint

	// GetID returns the unique identifier of the EndpointsProvider.
	GetID() string
}

Provider is an interface to be implemented by components abstracting Kubernetes, and other compute/cluster providers

type Weight

type Weight uint32

Weight is the load assignment weight to the endpoint. The assignment works on the endpoints with the same priority.

Jump to

Keyboard shortcuts

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