operators

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxRetries = 2
)

well known default constants

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseOperator

type BaseOperator struct {
	// configured
	Namespace string

	// shared by concrete funcinst
	RefuncClient    refunc.Interface
	RefuncInformers rfinformers.SharedInformerFactory
	FuncdefLister   rflistersv1.FuncdefLister
	TriggerLister   rflistersv1.TriggerLister
	WantedInformers []cache.InformerSynced
}

BaseOperator syncs and manages funcinsts.

func NewBaseOperator

func NewBaseOperator(
	cfg *rest.Config,
	rclient refunc.Interface,
	refuncInformers rfinformers.SharedInformerFactory,
) (router *BaseOperator, err error)

NewBaseOperator creates a new refunc router from config

func (*BaseOperator) GetNamespace

func (r *BaseOperator) GetNamespace() string

GetNamespace implements interface, returns namespace current managed on

func (*BaseOperator) ResolveFuncdef

func (r *BaseOperator) ResolveFuncdef(trigger *rfv1beta3.Trigger) (*rfv1beta3.Funcdef, error)

ResolveFuncdef returns funcdef specfied by trigger

func (*BaseOperator) WaitForCacheSync

func (r *BaseOperator) WaitForCacheSync(stopC <-chan struct{}) bool

WaitForCacheSync will not return until stopC is closed.

type Interface

type Interface interface {
	TriggerForEndpoint(endpoint string) (*rfv1beta3.Trigger, error)
	ResolveFuncdef(trigger *rfv1beta3.Trigger) (*rfv1beta3.Funcdef, error)
	GetFuncInstance(trigger *rfv1beta3.Trigger) (*rfv1beta3.Funcinst, error)
	GetNamespace() string
	Tap(key string)
}

Interface provides functions to manage funcinsts

type LiveTaskStore

type LiveTaskStore interface {
	GetOrCreateTask(id string, factory TaskResolverFactory) (tr client.TaskResolver, created bool, err error)
	Get(id string) (tr client.TaskResolver, has bool, err error)
	Delete(id string)
	Range(func(id string, tr client.TaskResolver) bool)
}

LiveTaskStore stores live tasks

func NewLiveTaskStore

func NewLiveTaskStore() LiveTaskStore

NewLiveTaskStore returns a new LiveTaskStore

type TaskResolverFactory

type TaskResolverFactory func() (client.TaskResolver, error)

TaskResolverFactory creates a task resolver

Directories

Path Synopsis
triggers

Jump to

Keyboard shortcuts

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