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.Deployment) 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.Deployment) filter.ComparableFilter
Types ¶
type BaseHandler ¶
type BaseHandler interface { OnCreate(*appsv1.Deployment) OnUpdate(*appsv1.Deployment) OnDelete(*appsv1.Deployment) }
type CacheController ¶
type CacheController interface { Cache() CacheReader Ready() <-chan struct{} }
type CacheReader ¶
type CacheReader interface { Get(ns string, name string) (*appsv1.Deployment, error) List() ([]*appsv1.Deployment, 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.Deployment) }
type HandlerBuilder ¶
type HandlerBuilder interface { OnInitialize(func([]*appsv1.Deployment)) HandlerBuilder OnCreate(func(*appsv1.Deployment)) HandlerBuilder OnUpdate(func(*appsv1.Deployment)) HandlerBuilder OnDelete(func(*appsv1.Deployment)) 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.Deployment) }
type UnitaryHandlerBuilder ¶
type UnitaryHandlerBuilder interface { OnInitialize(func(*appsv1.Deployment)) UnitaryHandlerBuilder OnCreate(func(*appsv1.Deployment)) UnitaryHandlerBuilder OnUpdate(func(*appsv1.Deployment)) UnitaryHandlerBuilder OnDelete(func(*appsv1.Deployment)) UnitaryHandlerBuilder Create() UnitaryHandler }
func BuildUnitaryHandler ¶
func BuildUnitaryHandler() UnitaryHandlerBuilder
Click to show internal directories.
Click to hide internal directories.