istio: istio.io/istio/pilot/pkg/serviceregistry/aggregate Index | Files

package aggregate

import "istio.io/istio/pilot/pkg/serviceregistry/aggregate"

Index

Package Files

controller.go

type Controller Uses

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

Controller aggregates data across different registries and monitors for changes

func NewController Uses

func NewController() *Controller

NewController creates a new Aggregate controller

func (*Controller) AddRegistry Uses

func (c *Controller) AddRegistry(registry Registry)

AddRegistry adds registries into the aggregated controller

func (*Controller) AppendInstanceHandler Uses

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

AppendInstanceHandler implements a service instance catalog operation

func (*Controller) AppendServiceHandler Uses

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

AppendServiceHandler implements a service catalog operation

func (*Controller) DeleteRegistry Uses

func (c *Controller) DeleteRegistry(clusterID string)

DeleteRegistry deletes specified registry from the aggregated controller

func (*Controller) GetIstioServiceAccounts Uses

func (c *Controller) GetIstioServiceAccounts(svc *model.Service, ports []int) []string

GetIstioServiceAccounts implements model.ServiceAccounts operation

func (*Controller) GetProxyServiceInstances Uses

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

GetProxyServiceInstances lists service instances co-located with a given proxy

func (*Controller) GetProxyWorkloadLabels Uses

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

func (*Controller) GetRegistries Uses

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

GetRegistries returns a copy of all registries

func (*Controller) GetRegistryIndex Uses

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

GetRegistryIndex returns the index of a registry

func (*Controller) GetService Uses

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

GetService retrieves a service by hostname if exists

func (*Controller) InstancesByPort Uses

func (c *Controller) InstancesByPort(svc *model.Service, port int,
    labels labels.Collection) ([]*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 Uses

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 Uses

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

Run starts all the controllers

func (*Controller) Services Uses

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

Services lists services from all platforms

func (*Controller) WorkloadHealthCheckInfo Uses

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

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

type Registry Uses

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

Package aggregate imports 7 packages (graph) and is imported by 6 packages. Updated 2019-10-10. Refresh now. Tools for package owners.