application

package
v1.16.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 30 Imported by: 4

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

func (c *Center) Process(msg model.Message)

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

func (c *Center) ProcessWatchSync(msg model.Message) error

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 (*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

type LabelFieldSelector struct {
	Label labels.Selector
	Field fields.Selector
}

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) Match

func (lf *LabelFieldSelector) Match(set labels.Set, set2 fields.Set) bool

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL