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.