Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Center ¶
type Center struct { HandlerCenter // contains filtered or unexported fields }
func NewApplicationCenter ¶
func NewApplicationCenter(dynamicSharedInformerFactory dynamicinformer.DynamicSharedInformerFactory) *Center
func (*Center) Process ¶
Process translate msg to application , process and send resp to edge TODO: upgrade to parallel process
func (*Center) ProcessApplication ¶ added in v1.7.0
func (c *Center) ProcessApplication(app *metaserver.Application) (interface{}, error)
ProcessApplication processes application by re-translating it to kube-api request with kube client, which will be processed and responded by apiserver eventually. Specially if app.verb == watch, it transforms app to a listener and register it to HandlerCenter, rather than request to apiserver directly. Listener will then continuously listen kube-api change events and push them to edge node.
func (*Center) ProcessWatchSync ¶ added in v1.13.0
ProcessWatchSync process watch sync message
func (*Center) Response ¶
func (c *Center) Response(app *metaserver.Application, parentID string, status metaserver.ApplicationStatus, err error, respContent interface{})
Response update application, generate and send resp message to edge
type CommonResourceEventHandler ¶
type CommonResourceEventHandler struct {
// contains filtered or unexported fields
}
CommonResourceEventHandler can be used by configmapManager and podManager
func NewCommonResourceEventHandler ¶
func NewCommonResourceEventHandler( gvr schema.GroupVersionResource, listenerManager *listenerManager, layer messagelayer.MessageLayer) *CommonResourceEventHandler
func (*CommonResourceEventHandler) AddListener ¶
func (c *CommonResourceEventHandler) AddListener(s *SelectorListener) error
func (*CommonResourceEventHandler) DeleteListener ¶
func (c *CommonResourceEventHandler) DeleteListener(s *SelectorListener)
type HandlerCenter ¶
type HandlerCenter interface { AddListener(s *SelectorListener) error DeleteListener(s *SelectorListener) ForResource(gvr schema.GroupVersionResource) *CommonResourceEventHandler GetListenersForNode(nodeName string) map[string]*SelectorListener }
HandlerCenter is used to prepare corresponding CommonResourceEventHandler for listener CommonResourceEventHandler then will send to the listener the objs it is interested in, including subsequent changes (watch event)
func NewHandlerCenter ¶
func NewHandlerCenter(informerFactory dynamicinformer.DynamicSharedInformerFactory) HandlerCenter
type LabelFieldSelector ¶
TODO: how to solve json marshal unmashal problem against labels.Selector or fields.Selector?
func NewSelector ¶
func NewSelector(ls string, fs string) LabelFieldSelector
func (*LabelFieldSelector) Fields ¶
func (lf *LabelFieldSelector) Fields() fields.Selector
func (*LabelFieldSelector) Labels ¶
func (lf *LabelFieldSelector) Labels() labels.Selector
func (*LabelFieldSelector) MatchObj ¶
func (lf *LabelFieldSelector) MatchObj(obj runtime.Object) bool
func (*LabelFieldSelector) String ¶
func (lf *LabelFieldSelector) String() string
type SelectorListener ¶
type SelectorListener struct {
// contains filtered or unexported fields
}
func NewSelectorListener ¶
func NewSelectorListener(ID, nodeName string, gvr schema.GroupVersionResource, selector LabelFieldSelector) *SelectorListener