controller

package
v3.15.0-rc.0 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2024 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AddToManagerFuncs []func(manager.Manager) error

AddToManagerFuncs is a list of functions to add all Controllers to the Manager.

View Source
var Injectors []Injector

Injectors is a list of adder structs that need injection. We can convert this to an interface once we create controllers for things like data sync.

Functions

func AddToManager

func AddToManager(m manager.Manager, deps *Dependencies) error

AddToManager adds all Controllers to the Manager.

Types

type CacheManagerInjector added in v3.14.0

type CacheManagerInjector interface {
	InjectCacheManager(cm *cm.CacheManager)
}

type DataClientInjector added in v3.14.0

type DataClientInjector interface {
	InjectCFClient(*constraintclient.Client)
}

type Dependencies

type Dependencies struct {
	CFClient         *constraintclient.Client
	WatchManger      *watch.Manager
	ControllerSwitch *watch.ControllerSwitch
	Tracker          *readiness.Tracker
	GetPod           func(context.Context) (*corev1.Pod, error)
	ProcessExcluder  *process.Excluder
	MutationSystem   *mutation.System
	ExpansionSystem  *expansion.System
	ProviderCache    *externaldata.ProviderCache
	PubsubSystem     *pubsub.System
	SyncEventsCh     chan event.GenericEvent
	CacheMgr         *cm.CacheManager
}

Dependencies are dependencies that can be injected into controllers.

type ExpansionSystemInjector added in v3.14.0

type ExpansionSystemInjector interface {
	InjectExpansionSystem(expansionSystem *expansion.System)
}

type GetPodInjector

type GetPodInjector interface {
	InjectGetPod(func(context.Context) (*corev1.Pod, error))
}

type Injector

type Injector interface {
	InjectControllerSwitch(*watch.ControllerSwitch)
	InjectTracker(tracker *readiness.Tracker)

	Add(mgr manager.Manager) error
}

type MutationSystemInjector added in v3.14.0

type MutationSystemInjector interface {
	InjectMutationSystem(mutationSystem *mutation.System)
}

type ProviderCacheInjector added in v3.14.0

type ProviderCacheInjector interface {
	InjectProviderCache(providerCache *externaldata.ProviderCache)
}

type PubsubInjector

type PubsubInjector interface {
	InjectPubsubSystem(pubsubSystem *pubsub.System)
}

type WatchManagerInjector added in v3.14.0

type WatchManagerInjector interface {
	InjectWatchManager(*watch.Manager)
}

Jump to

Keyboard shortcuts

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