Documentation
¶
Index ¶
- Variables
- func NewClient(cs kubernetes.Interface, ns string) client.Client
- func NewMonitor(publisher Publisher, handler Handler) (kcache.Monitor, error)
- func PodsFilter(sources ...*appsv1.ReplicaSet) filter.ComparableFilter
- type BaseHandler
- type CacheController
- type CacheReader
- type Controller
- type Event
- type FilterController
- type FilterSubscription
- type Handler
- type HandlerBuilder
- type Publisher
- type Subscription
- type UnitaryHandler
- type UnitaryHandlerBuilder
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrInvalidType = fmt.Errorf("invalid type")
)
Functions ¶
func PodsFilter ¶
func PodsFilter(sources ...*appsv1.ReplicaSet) filter.ComparableFilter
Types ¶
type BaseHandler ¶
type BaseHandler interface {
OnCreate(*appsv1.ReplicaSet)
OnUpdate(*appsv1.ReplicaSet)
OnDelete(*appsv1.ReplicaSet)
}
type CacheController ¶
type CacheController interface {
Cache() CacheReader
Ready() <-chan struct{}
}
type CacheReader ¶
type CacheReader interface {
Get(ns string, name string) (*appsv1.ReplicaSet, error)
List() ([]*appsv1.ReplicaSet, error)
}
type Controller ¶
type Controller interface {
CacheController
Publisher
Done() <-chan struct{}
Close()
Error() error
}
func BuildController ¶
func NewController ¶
func NewController(ctx context.Context, log logutil.Log, cs kubernetes.Interface, ns string) (Controller, error)
type FilterController ¶
type FilterController interface {
Controller
Refilter(filter.Filter) error
}
type FilterSubscription ¶
type FilterSubscription interface {
Subscription
Refilter(filter.Filter) error
}
type Handler ¶
type Handler interface {
BaseHandler
OnInitialize([]*appsv1.ReplicaSet)
}
type HandlerBuilder ¶
type HandlerBuilder interface {
OnInitialize(func([]*appsv1.ReplicaSet)) HandlerBuilder
OnCreate(func(*appsv1.ReplicaSet)) HandlerBuilder
OnUpdate(func(*appsv1.ReplicaSet)) HandlerBuilder
OnDelete(func(*appsv1.ReplicaSet)) HandlerBuilder
Create() Handler
}
func BuildHandler ¶
func BuildHandler() HandlerBuilder
type Publisher ¶
type Publisher interface {
Subscribe() (Subscription, error)
SubscribeWithFilter(filter.Filter) (FilterSubscription, error)
SubscribeForFilter() (FilterSubscription, error)
Clone() (Controller, error)
CloneWithFilter(filter.Filter) (FilterController, error)
CloneForFilter() (FilterController, error)
}
type Subscription ¶
type Subscription interface {
CacheController
Events() <-chan Event
Close()
Done() <-chan struct{}
}
type UnitaryHandler ¶
type UnitaryHandler interface {
BaseHandler
OnInitialize(*appsv1.ReplicaSet)
}
type UnitaryHandlerBuilder ¶
type UnitaryHandlerBuilder interface {
OnInitialize(func(*appsv1.ReplicaSet)) UnitaryHandlerBuilder
OnCreate(func(*appsv1.ReplicaSet)) UnitaryHandlerBuilder
OnUpdate(func(*appsv1.ReplicaSet)) UnitaryHandlerBuilder
OnDelete(func(*appsv1.ReplicaSet)) UnitaryHandlerBuilder
Create() UnitaryHandler
}
func BuildUnitaryHandler ¶
func BuildUnitaryHandler() UnitaryHandlerBuilder
Click to show internal directories.
Click to hide internal directories.