Versions in this module Expand all Collapse all v0 v0.0.3 Apr 15, 2022 v0.0.1 Apr 15, 2022 Changes in this version + const DefaultResyncPeriod + var DefaultThreadsPerController = 2 + var NamespaceTagKey = tag.MustNewKey(metricskey.LabelNamespaceName) + func Filter(gvk schema.GroupVersionKind) func(obj interface{}) bool + func FilterController(r kmeta.OwnerRefable) func(obj interface{}) bool + func FilterControllerGK(gk schema.GroupKind) func(obj interface{}) bool + func FilterControllerGVK(gvk schema.GroupVersionKind) func(obj interface{}) bool + func FilterGroupKind(gk schema.GroupKind) func(obj interface{}) bool + func FilterGroupVersionKind(gvk schema.GroupVersionKind) func(obj interface{}) bool + func FilterWithName(name string) func(obj interface{}) bool + func FilterWithNameAndNamespace(namespace, name string) func(obj interface{}) bool + func GetEventRecorder(ctx context.Context) record.EventRecorder + func GetResyncPeriod(ctx context.Context) time.Duration + func GetTracker(ctx context.Context) tracker.Interface + func GetTrackerLease(ctx context.Context) time.Duration + func HandleAll(h func(interface{})) cache.ResourceEventHandler + func IsPermanentError(err error) bool + func IsRequeueKey(err error) (bool, time.Duration) + func IsSkipKey(err error) bool + func NewPermanentError(err error) error + func NewRequeueAfter(dur time.Duration) error + func NewRequeueImmediately() error + func NewSkipKey(key string) error + func PassNew(f func(interface{})) func(interface{}, interface{}) + func RunInformers(stopCh <-chan struct{}, informers ...Informer) (func(), error) + func StartAll(ctx context.Context, controllers ...*Impl) error + func StartInformers(stopCh <-chan struct{}, informers ...Informer) error + func WaitForCacheSyncQuick(stopCh <-chan struct{}, cacheSyncs ...cache.InformerSynced) bool + func WithEventRecorder(ctx context.Context, er record.EventRecorder) context.Context + func WithResyncPeriod(ctx context.Context, resync time.Duration) context.Context + func WithTracker(ctx context.Context, t tracker.Interface) context.Context + type Callback func(interface{}) + func EnsureTypeMeta(f Callback, gvk schema.GroupVersionKind) Callback + type ControllerOptions struct + Concurrency int + Logger *zap.SugaredLogger + RateLimiter workqueue.RateLimiter + Reporter StatsReporter + WorkQueueName string + type Impl struct + Concurrency int + Name string + Reconciler Reconciler + Tracker tracker.Interface + func NewContext(ctx context.Context, r Reconciler, options ControllerOptions) *Impl + func (c *Impl) Enqueue(obj interface{}) + func (c *Impl) EnqueueAfter(obj interface{}, after time.Duration) + func (c *Impl) EnqueueControllerOf(obj interface{}) + func (c *Impl) EnqueueKey(key types.NamespacedName) + func (c *Impl) EnqueueKeyAfter(key types.NamespacedName, delay time.Duration) + func (c *Impl) EnqueueLabelOfClusterScopedResource(nameLabel string) func(obj interface{}) + func (c *Impl) EnqueueLabelOfNamespaceScopedResource(namespaceLabel, nameLabel string) func(obj interface{}) + func (c *Impl) EnqueueNamespaceOf(obj interface{}) + func (c *Impl) EnqueueSentinel(k types.NamespacedName) func(interface{}) + func (c *Impl) EnqueueSlow(obj interface{}) + func (c *Impl) EnqueueSlowKey(key types.NamespacedName) + func (c *Impl) FilteredGlobalResync(f func(interface{}) bool, si cache.SharedInformer) + func (c *Impl) GlobalResync(si cache.SharedInformer) + func (c *Impl) MaybeEnqueueBucketKey(bkt reconciler.Bucket, key types.NamespacedName) + func (c *Impl) Run(ctx context.Context) error + func (c *Impl) RunContext(ctx context.Context, threadiness int) error + func (c *Impl) WorkQueue() workqueue.RateLimitingInterface + type Informer interface + HasSynced func() bool + Run func(<-chan struct{}) + type Options struct + AgentName string + Concurrency int + ConfigStore reconciler.ConfigStore + DemoteFunc func(b reconciler.Bucket) + FinalizerName string + PromoteFilterFunc func(obj interface{}) bool + SkipStatusUpdates bool + type OptionsFn func(impl *Impl) Options + type Reconciler interface + Reconcile func(ctx context.Context, key string) error + type StatsReporter interface + ReportQueueDepth func(v int64) error + ReportReconcile func(duration time.Duration, success string, key types.NamespacedName) error + func MustNewStatsReporter(reconciler string, logger *zap.SugaredLogger) StatsReporter + func NewStatsReporter(reconciler string) (StatsReporter, error)