Documentation
¶
Index ¶
- func ReconcileIDFromContext(ctx context.Context) types.UID
- type Controller
- func (c *Controller) GetLogger() logr.Logger
- func (c *Controller) InjectFunc(f inject.Func) error
- func (c *Controller) Reconcile(ctx context.Context, req reconcile.Request) (_ reconcile.Result, err error)
- func (c *Controller) Start(ctx context.Context) error
- func (c *Controller) Watch(src source.Source, evthdler handler.EventHandler, prct ...predicate.Predicate) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Controller ¶
type Controller struct {
// Name is used to uniquely identify a Controller in tracing, logging and monitoring. Name is required.
Name string
// MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run. Defaults to 1.
MaxConcurrentReconciles int
// Reconciler is a function that can be called at any time with the Name / Namespace of an object and
// ensures that the state of the system matches the state specified in the object.
// Defaults to the DefaultReconcileFunc.
Do reconcile.Reconciler
// MakeQueue constructs the queue for this controller once the controller is ready to start.
// This exists because the standard Kubernetes workqueues start themselves immediately, which
// leads to goroutine leaks if something calls controller.New repeatedly.
MakeQueue func() workqueue.RateLimitingInterface
// Queue is an listeningQueue that listens for events from Informers and adds object keys to
// the Queue for processing
Queue workqueue.RateLimitingInterface
// SetFields is used to inject dependencies into other objects such as Sources, EventHandlers and Predicates
// Deprecated: the caller should handle injected fields itself.
SetFields func(i interface{}) error
// Started is true if the Controller has been Started
Started bool
// CacheSyncTimeout refers to the time limit set on waiting for cache to sync
// Defaults to 2 minutes if not set.
CacheSyncTimeout time.Duration
// LogConstructor is used to construct a logger to then log messages to users during reconciliation,
// or for example when a watch is started.
// Note: LogConstructor has to be able to handle nil requests as we are also using it
// outside the context of a reconciliation.
LogConstructor func(request *reconcile.Request) logr.Logger
// RecoverPanic indicates whether the panic caused by reconcile should be recovered.
RecoverPanic *bool
// contains filtered or unexported fields
}
Controller implements controller.Controller.
func (*Controller) GetLogger ¶ added in v1.0.1
func (c *Controller) GetLogger() logr.Logger
GetLogger returns this controller's logger.
func (*Controller) InjectFunc ¶
func (c *Controller) InjectFunc(f inject.Func) error
InjectFunc implement SetFields.Injector.
func (*Controller) Reconcile ¶
func (c *Controller) Reconcile(ctx context.Context, req reconcile.Request) (_ reconcile.Result, err error)
Reconcile implements reconcile.Reconciler.
func (*Controller) Start ¶
func (c *Controller) Start(ctx context.Context) error
Start implements controller.Controller.
func (*Controller) Watch ¶
func (c *Controller) Watch(src source.Source, evthdler handler.EventHandler, prct ...predicate.Predicate) error
Watch implements controller.Controller.
Click to show internal directories.
Click to hide internal directories.