registry

package
v1.2.4 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExplicitProxyServiceMapper

type ExplicitProxyServiceMapper func(*envoy.Proxy) ([]service.MeshService, error)

ExplicitProxyServiceMapper is a custom ProxyServiceMapper implementation.

func (ExplicitProxyServiceMapper) ListProxyServices

func (e ExplicitProxyServiceMapper) ListProxyServices(p *envoy.Proxy) ([]service.MeshService, error)

ListProxyServices executes the given mapping.

type KubeProxyServiceMapper

type KubeProxyServiceMapper struct {
	KubeController k8s.Controller
}

KubeProxyServiceMapper maps an Envoy instance to services in a Kubernetes cluster.

func (*KubeProxyServiceMapper) ListProxyServices

func (k *KubeProxyServiceMapper) ListProxyServices(p *envoy.Proxy) ([]service.MeshService, error)

ListProxyServices maps an Envoy instance to a number of Kubernetes services.

type ProxyRegistry

type ProxyRegistry struct {
	ProxyServiceMapper
	// contains filtered or unexported fields
}

ProxyRegistry keeps track of Envoy proxies as they connect and disconnect from the control plane.

func NewProxyRegistry

func NewProxyRegistry(mapper ProxyServiceMapper, msgBroker *messaging.Broker) *ProxyRegistry

NewProxyRegistry initializes a new empty *ProxyRegistry.

func (*ProxyRegistry) GetConnectedProxy added in v1.2.0

func (pr *ProxyRegistry) GetConnectedProxy(uuid string) *envoy.Proxy

GetConnectedProxy loads a connected proxy from the registry.

func (*ProxyRegistry) GetConnectedProxyCount

func (pr *ProxyRegistry) GetConnectedProxyCount() int

GetConnectedProxyCount counts the number of connected proxies TODO(steeling): switch to a regular map with mutex so we can get the count without iterating the entire list.

func (*ProxyRegistry) ListConnectedProxies

func (pr *ProxyRegistry) ListConnectedProxies() map[string]*envoy.Proxy

ListConnectedProxies lists the Envoy proxies already connected and the time they first connected.

func (*ProxyRegistry) RegisterProxy

func (pr *ProxyRegistry) RegisterProxy(proxy *envoy.Proxy)

RegisterProxy registers a newly connected proxy.

func (*ProxyRegistry) ReleaseCertificateHandler

func (pr *ProxyRegistry) ReleaseCertificateHandler(certManager certificateReleaser, stop <-chan struct{})

ReleaseCertificateHandler releases certificates based on podDelete events

func (*ProxyRegistry) UnregisterProxy

func (pr *ProxyRegistry) UnregisterProxy(p *envoy.Proxy)

UnregisterProxy unregisters the given proxy from the catalog.

type ProxyServiceMapper

type ProxyServiceMapper interface {
	ListProxyServices(*envoy.Proxy) ([]service.MeshService, error)
}

ProxyServiceMapper knows how to map Envoy instances to services.

Jump to

Keyboard shortcuts

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