endpoint

package
v0.13.8 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2024 License: Apache-2.0 Imports: 10 Imported by: 6

Documentation

Overview

Package endpoint provides the type Endpoint, to be used with the targets.Targets interface.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NamesFromEndpoints added in v0.11.4

func NamesFromEndpoints(endpoints []Endpoint) []string

NamesFromEndpoints is convenience function to build a list of names from endpoints.

Types

type Endpoint

type Endpoint struct {
	Name        string
	Labels      map[string]string
	LastUpdated time.Time
	Port        int
	IP          net.IP
}

Endpoint represents a targets and associated parameters.

func EndpointsFromNames

func EndpointsFromNames(names []string) []Endpoint

EndpointsFromNames is convenience function to build a list of endpoints from only names. It leaves the Port field in Endpoint unset and initializes Labels field to an empty map.

func FromProtoMessage added in v0.13.1

func FromProtoMessage(endpointspb []*endpointpb.Endpoint) ([]Endpoint, error)

func (*Endpoint) Clone added in v0.13.7

func (ep *Endpoint) Clone() *Endpoint

Clone creates a deep copy of an Endpoint.

func (*Endpoint) Dst added in v0.12.6

func (ep *Endpoint) Dst() string

Dst return the "dst" label for the endpoint

func (*Endpoint) Key added in v0.11.4

func (ep *Endpoint) Key(opts ...KeyOption) string

Key returns a string key that uniquely identifies that endpoint. Endpoint key consists of endpoint name, port and labels.

func (*Endpoint) Resolve added in v0.12.1

func (ep *Endpoint) Resolve(ipVersion int, resolver Resolver, opts ...ResolverOption) (net.IP, error)

Resolve resolves endpoint to an IP address. If endpoint has an embedded IP address it uses that, otherwise a global reolver is used.

type KeyOption added in v0.13.7

type KeyOption func(*keyOptions) *keyOptions

func WithIgnoreLabels added in v0.13.7

func WithIgnoreLabels(ignoreLabels ...string) KeyOption

WithIgnoreLabels specifies a list of labels that should not be included in the key computation.

type Lister added in v0.11.4

type Lister interface {
	// ListEndpoints returns list of endpoints (name, port tupples).
	ListEndpoints() []Endpoint
}

Lister should implement the ListEndpoints method.

type Resolver added in v0.12.1

type Resolver interface {
	// Resolve, given a target and IP Version will return the IP address for that
	// target.
	Resolve(name string, ipVer int) (net.IP, error)
}

type ResolverOption added in v0.13.1

type ResolverOption func(*resolverOptions)

func WithNameOverride added in v0.13.1

func WithNameOverride(nameOverride string) ResolverOption

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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