Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Server

type Server interface {
	mesh_proto.KumaDiscoveryServiceServer
}

func New

func New(log logr.Logger, rt core_runtime.Runtime, providedTypes []model.ResourceType, serverID string, refresh time.Duration, filter reconcile.ResourceFilter, insight bool) (Server, error)

func NewServer

func NewServer(config envoy_cache.Cache, callbacks envoy_server.Callbacks, log logr.Logger) Server

type StatusAccessor

type StatusAccessor interface {
	GetStatus() (string, *system_proto.KDSSubscription)
}

type StatusTracker

type StatusTracker interface {
	envoy_xds.Callbacks
	GetStatusAccessor(streamID int64) (StatusAccessor, bool)
}

func DefaultStatusTracker

func DefaultStatusTracker(rt core_runtime.Runtime, log logr.Logger) StatusTracker

func NewStatusTracker

func NewStatusTracker(runtimeInfo core_runtime.RuntimeInfo,
	createStatusSink ZoneInsightSinkFactoryFunc, log logr.Logger) StatusTracker

type ZoneInsightSink

type ZoneInsightSink interface {
	Start(stop <-chan struct{})
}

func NewZoneInsightSink

func NewZoneInsightSink(
	accessor StatusAccessor,
	newTicker func() *time.Ticker,
	flushBackoff time.Duration,
	store ZoneInsightStore,
	log logr.Logger) ZoneInsightSink

type ZoneInsightSinkFactoryFunc

type ZoneInsightSinkFactoryFunc = func(StatusAccessor, logr.Logger) ZoneInsightSink

type ZoneInsightStore

type ZoneInsightStore interface {
	Upsert(zone string, subscription *system_proto.KDSSubscription) error
}

func NewZonesInsightStore

func NewZonesInsightStore(resManager manager.ResourceManager) ZoneInsightStore