aggregate

package
v0.0.0-...-6c25587 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2024 License: Apache-2.0 Imports: 13 Imported by: 37

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Controller

type Controller struct {
	model.NetworkGatewaysHandler
	// contains filtered or unexported fields
}

Controller aggregates data across different registries and monitors for changes

func NewController

func NewController(opt Options) *Controller

NewController creates a new Aggregate controller

func (*Controller) AddRegistry

func (c *Controller) AddRegistry(registry serviceregistry.Instance)

AddRegistry adds registries into the aggregated controller. If the aggregated controller is already Running, the given registry will never be started.

func (*Controller) AddRegistryAndRun

func (c *Controller) AddRegistryAndRun(registry serviceregistry.Instance, stop <-chan struct{})

AddRegistryAndRun adds registries into the aggregated controller and makes sure it is Run. If the aggregated controller is running, the given registry is Run immediately. Otherwise, the given registry is Run when the aggregate controller is Run, using the given stop.

func (*Controller) AdditionalPodSubscriptions

func (c *Controller) AdditionalPodSubscriptions(proxy *model.Proxy, addr, cur sets.String) sets.String

func (*Controller) AddressInformation

func (c *Controller) AddressInformation(addresses sets.String) ([]model.AddressInfo, sets.String)

func (*Controller) AppendServiceHandler

func (c *Controller) AppendServiceHandler(f model.ServiceHandler)

func (*Controller) AppendServiceHandlerForCluster

func (c *Controller) AppendServiceHandlerForCluster(id cluster.ID, f model.ServiceHandler)

func (*Controller) AppendWorkloadHandler

func (c *Controller) AppendWorkloadHandler(f func(*model.WorkloadInstance, model.Event))

func (*Controller) DeleteRegistry

func (c *Controller) DeleteRegistry(clusterID cluster.ID, providerID provider.ID)

DeleteRegistry deletes specified registry from the aggregated controller

func (*Controller) GetProxyServiceTargets

func (c *Controller) GetProxyServiceTargets(node *model.Proxy) []model.ServiceTarget

GetProxyServiceTargets lists service instances co-located with a given proxy

func (*Controller) GetProxyWorkloadLabels

func (c *Controller) GetProxyWorkloadLabels(proxy *model.Proxy) labels.Instance

func (*Controller) GetRegistries

func (c *Controller) GetRegistries() []serviceregistry.Instance

GetRegistries returns a copy of all registries

func (*Controller) GetService

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

GetService retrieves a service by hostname if exists

func (*Controller) HasSynced

func (c *Controller) HasSynced() bool

HasSynced returns true when all registries have synced

func (*Controller) MCSServices

func (c *Controller) MCSServices() []model.MCSServiceInfo

func (*Controller) NetworkGateways

func (c *Controller) NetworkGateways() []model.NetworkGateway

NetworkGateways merges the service-based cross-network gateways from each registry.

func (*Controller) Policies

func (c *Controller) Policies(requested sets.Set[model.ConfigKey]) []model.WorkloadAuthorization

func (*Controller) Run

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

Run starts all the controllers

func (*Controller) Services

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

Services lists services from all platforms

func (*Controller) ServicesForWaypoint

func (c *Controller) ServicesForWaypoint(key model.WaypointKey) []model.ServiceInfo

func (*Controller) ServicesWithWaypoint

func (c *Controller) ServicesWithWaypoint(key string) []model.ServiceWaypointInfo

func (*Controller) UnRegisterHandlersForCluster

func (c *Controller) UnRegisterHandlersForCluster(id cluster.ID)

func (*Controller) WorkloadsForWaypoint

func (c *Controller) WorkloadsForWaypoint(key model.WaypointKey) []model.WorkloadInfo

type Options

type Options struct {
	MeshHolder mesh.Holder
}

Jump to

Keyboard shortcuts

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