aggregate

package
v0.0.0-...-5c99f88 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Controller

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

Controller aggregates data across different registries and monitors for changes

func NewController

func NewController() *Controller

NewController creates a new Aggregate controller

func (*Controller) AddRegistry

func (c *Controller) AddRegistry(registry Registry)

AddRegistry adds registries into the aggregated controller

func (*Controller) AppendInstanceHandler

func (c *Controller) AppendInstanceHandler(f func(*model.ServiceInstance, model.Event)) error

AppendInstanceHandler implements a service instance catalog operation

func (*Controller) AppendServiceHandler

func (c *Controller) AppendServiceHandler(f func(*model.Service, model.Event)) error

AppendServiceHandler implements a service catalog operation

func (*Controller) DeleteRegistry

func (c *Controller) DeleteRegistry(clusterID string)

DeleteRegistry deletes specified registry from the aggregated controller

func (*Controller) GetIstioServiceAccounts

func (c *Controller) GetIstioServiceAccounts(hostname model.Hostname, ports []int) []string

GetIstioServiceAccounts implements model.ServiceAccounts operation

func (*Controller) GetProxyServiceInstances

func (c *Controller) GetProxyServiceInstances(node *model.Proxy) ([]*model.ServiceInstance, error)

GetProxyServiceInstances lists service instances co-located with a given proxy

func (*Controller) GetProxyWorkloadLabels

func (c *Controller) GetProxyWorkloadLabels(proxy *model.Proxy) (model.LabelsCollection, error)

func (*Controller) GetRegistries

func (c *Controller) GetRegistries() []Registry

GetRegistries returns a copy of all registries

func (*Controller) GetRegistryIndex

func (c *Controller) GetRegistryIndex(clusterID string) (int, bool)

GetRegistryIndex returns the index of a registry

func (*Controller) GetService

func (c *Controller) GetService(hostname model.Hostname) (*model.Service, error)

GetService retrieves a service by hostname if exists

func (*Controller) InstancesByPort

func (c *Controller) InstancesByPort(hostname model.Hostname, port int,
	labels model.LabelsCollection) ([]*model.ServiceInstance, error)

InstancesByPort retrieves instances for a service on a given port that match any of the supplied labels. All instances match an empty label list.

func (*Controller) ManagementPorts

func (c *Controller) ManagementPorts(addr string) model.PortList

ManagementPorts retrieves set of health check ports by instance IP Return on the first hit.

func (*Controller) Run

func (c *Controller) Run(stop <-chan struct{})

Run starts all the controllers

func (*Controller) Services

func (c *Controller) Services() ([]*model.Service, error)

Services lists services from all platforms

func (*Controller) WorkloadHealthCheckInfo

func (c *Controller) WorkloadHealthCheckInfo(addr string) model.ProbeList

WorkloadHealthCheckInfo returne the health check information for IP addr Return on the first hit.

type Registry

type Registry struct {
	// Name is the type of the registry - Kubernetes, Consul, etc.
	Name serviceregistry.ServiceRegistry
	// ClusterID is used when multiple registries of the same type are used,
	// for example in the case of K8S multicluster.
	ClusterID string
	model.Controller
	model.ServiceDiscovery
}

Registry specifies the collection of service registry related interfaces

Jump to

Keyboard shortcuts

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