Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RunEds ¶
func RunEds(upstreamClient v1.UpstreamClient, disc *EndpointDiscovery, watchNamespace string, opts clients.WatchOpts) (chan error, error)
run once, watch upstreams
Types ¶
type DiscoveryPlugin ¶
type DiscoveryPlugin interface {
plugins.Plugin
// UDS API
// send us an updated list of upstreams on every change
// namespace is for writing to, not necessarily reading from
DiscoverUpstreams(watchNamespaces []string, writeNamespace string, opts clients.WatchOpts, discOpts Opts) (chan v1.UpstreamList, chan error, error)
// finalize any changes to the desired upstream before it gets written
// for example, copying the functions from the old upstream to the new.
// a value of false indicates that the resource does not need to be updated
UpdateUpstream(original, desired *v1.Upstream) (bool, error)
// EDS API
// start the EDS watch which sends a new list of endpoints on any change
// will send only endpoints for upstreams configured with TrackUpstreams
WatchEndpoints(writeNamespace string, upstreamsToTrack v1.UpstreamList, opts clients.WatchOpts) (<-chan v1.EndpointList, <-chan error, error)
}
type EndpointDiscovery ¶
type EndpointDiscovery struct {
// contains filtered or unexported fields
}
func NewEndpointDiscovery ¶
func NewEndpointDiscovery(writeNamespace string, endpointsClient v1.EndpointClient, discoveryPlugins []DiscoveryPlugin) *EndpointDiscovery
func (*EndpointDiscovery) StartEds ¶
func (d *EndpointDiscovery) StartEds(upstreamsToTrack v1.UpstreamList, opts clients.WatchOpts) (chan error, error)
launch a goroutine for all the UDS plugins with a single cancel to close them all
type UpstreamDiscovery ¶
type UpstreamDiscovery struct {
// contains filtered or unexported fields
}
func NewUpstreamDiscovery ¶
func NewUpstreamDiscovery(watchNamespaces []string, writeNamespace string, upstreamClient v1.UpstreamClient, discoveryPlugins []DiscoveryPlugin) *UpstreamDiscovery
Click to show internal directories.
Click to hide internal directories.