Documentation
¶
Overview ¶
Package factory contains code used to create the router controller.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type RouterControllerFactory ¶
type RouterControllerFactory struct {
KClient kcoreclient.EndpointsGetter
OSClient osclient.RoutesNamespacer
IngressClient kextensionsclient.IngressesGetter
SecretClient kcoreclient.SecretsGetter
NodeClient kcoreclient.NodesGetter
Namespaces controller.NamespaceLister
ResyncInterval time.Duration
Namespace string
Labels labels.Selector
Fields fields.Selector
}
RouterControllerFactory initializes and manages the watches that drive a router controller. It supports optional scoping on Namespace, Labels, and Fields of routes. If Namespace is empty, it means "all namespaces".
func NewDefaultRouterControllerFactory ¶ added in v1.0.6
func NewDefaultRouterControllerFactory(oc osclient.RoutesNamespacer, kc kclientset.Interface) *RouterControllerFactory
NewDefaultRouterControllerFactory initializes a default router controller factory.
func (*RouterControllerFactory) Create ¶
func (factory *RouterControllerFactory) Create(plugin router.Plugin, watchNodes, enableIngress bool) *controller.RouterController
Create begins listing and watching against the API server for the desired route and endpoint resources. It spawns child goroutines that cannot be terminated.
func (*RouterControllerFactory) CreateNotifier ¶ added in v1.0.6
func (factory *RouterControllerFactory) CreateNotifier(changed func()) RoutesByHost
CreateNotifier begins listing and watching against the API server for the desired route and endpoint resources. It spawns child goroutines that cannot be terminated. It is a more efficient store of a route system.
type RoutesByHost ¶ added in v1.0.6
type RoutesByHost interface {
Hosts() []string
Route(host string) (*routeapi.Route, bool)
Endpoints(namespace, name string) *kapi.Endpoints
}