2020-09-16 14:19:51 +00:00
|
|
|
// Copyright 2020 the Pinniped contributors. All Rights Reserved.
|
|
|
|
// SPDX-License-Identifier: Apache-2.0
|
2020-08-28 15:59:09 +00:00
|
|
|
|
|
|
|
package controllerlib
|
|
|
|
|
|
|
|
import "k8s.io/client-go/tools/cache"
|
|
|
|
|
|
|
|
type InformerGetter interface {
|
|
|
|
Informer() cache.SharedIndexInformer
|
|
|
|
}
|
|
|
|
|
|
|
|
type InformerOption struct {
|
|
|
|
SkipSync bool
|
|
|
|
SkipEvents bool
|
|
|
|
|
|
|
|
// TODO maybe add a field like:
|
|
|
|
// ResyncPeriod time.Duration
|
|
|
|
// to support using AddEventHandlerWithResyncPeriod
|
|
|
|
// this field would be mutually exclusive with SkipEvents
|
|
|
|
// I suspect we do not need this level of flexibility and resyncs can mask bugs in controller logic
|
|
|
|
// A related change could be an Option such as WithResyncSchedule to allow for cron style control loops
|
|
|
|
// It is unclear to me if we would ever need that since we assume that all events come from a Kube watch
|
|
|
|
}
|