Documentation ¶
Index ¶
- type ExplicitProxyServiceMapper
- type KubeProxyServiceMapper
- type ProxyRegistry
- func (pr *ProxyRegistry) GetConnectedProxyCount() int
- func (pr *ProxyRegistry) ListConnectedProxies() map[certificate.CommonName]*envoy.Proxy
- func (pr *ProxyRegistry) ListDisconnectedProxies() map[certificate.CommonName]time.Time
- func (pr *ProxyRegistry) RegisterProxy(proxy *envoy.Proxy)
- func (pr *ProxyRegistry) ReleaseCertificateHandler(certManager certificate.Manager) chan struct{}
- func (pr *ProxyRegistry) UnregisterProxy(p *envoy.Proxy)
- type ProxyServiceMapper
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) *ProxyRegistry
NewProxyRegistry initializes a new empty *ProxyRegistry.
func (*ProxyRegistry) GetConnectedProxyCount ¶
func (pr *ProxyRegistry) GetConnectedProxyCount() int
GetConnectedProxyCount counts the number of connected proxies
func (*ProxyRegistry) ListConnectedProxies ¶
func (pr *ProxyRegistry) ListConnectedProxies() map[certificate.CommonName]*envoy.Proxy
ListConnectedProxies lists the Envoy proxies already connected and the time they first connected.
func (*ProxyRegistry) ListDisconnectedProxies ¶
func (pr *ProxyRegistry) ListDisconnectedProxies() map[certificate.CommonName]time.Time
ListDisconnectedProxies lists the Envoy proxies disconnected and the time last seen.
func (*ProxyRegistry) RegisterProxy ¶
func (pr *ProxyRegistry) RegisterProxy(proxy *envoy.Proxy)
RegisterProxy implements MeshCatalog and registers a newly connected proxy.
func (*ProxyRegistry) ReleaseCertificateHandler ¶
func (pr *ProxyRegistry) ReleaseCertificateHandler(certManager certificate.Manager) chan struct{}
ReleaseCertificateHandler releases certificates based on podDelete events returns a stop channel which can be used to stop the inner handler
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.