Documentation
¶
Index ¶
- Variables
- func ConvertKubeEventToBindingContext(kubeEvent KubeEvent, bindingName string, jqFilter string, ...) []BindingContext
- type BindingExecutionInfo
- type HookController
- type KubernetesBindingToMonitorLink
- type KubernetesBindingsController
- type ScheduleBindingToCrontabLink
- type ScheduleBindingsController
Constants ¶
This section is empty.
Variables ¶
View Source
var NewKubernetesBindingsController = func() *kubernetesBindingsController { return &kubernetesBindingsController{ BindingMonitorLinks: make(map[string]*KubernetesBindingToMonitorLink), } }
NewKubernetesHooksController returns an implementation of KubernetesHooksController
View Source
var NewScheduleBindingsController = func() *scheduleBindingsController { return &scheduleBindingsController{ ScheduleLinks: make(map[string]*ScheduleBindingToCrontabLink), } }
NewKubernetesHooksController returns an implementation of KubernetesHooksController
Functions ¶
Types ¶
type BindingExecutionInfo ¶
type HookController ¶
type HookController interface {
InitKubernetesBindings([]OnKubernetesEventConfig, kube_events_manager.KubeEventsManager)
InitScheduleBindings([]ScheduleConfig, schedule_manager.ScheduleManager)
CanHandleKubeEvent(kubeEvent KubeEvent) bool
CanHandleScheduleEvent(crontab string) bool
// These method should call underlying BindingController to get binding context
// and then add Snapshots to binding context
HandleEnableKubernetesBindings(createTasksFn func(BindingExecutionInfo)) error
HandleKubeEvent(event KubeEvent, createTasksFn func(BindingExecutionInfo))
HandleScheduleEvent(crontab string, createTasksFn func(BindingExecutionInfo))
StartMonitors()
StopMonitors()
EnableScheduleBindings()
DisableScheduleBindings()
KubernetesSnapshots() map[string][]ObjectAndFilterResult
UpdateSnapshots([]BindingContext) []BindingContext
}
func NewHookController ¶
func NewHookController() HookController
type KubernetesBindingToMonitorLink ¶
type KubernetesBindingToMonitorLink struct {
BindingName string
MonitorId string
// Useful fields to create a BindingContext
IncludeSnapshots []string
AllowFailure bool
JqFilter string
QueueName string
}
A link between a hook and a kube monitor
type KubernetesBindingsController ¶
type KubernetesBindingsController interface {
WithKubernetesBindings([]OnKubernetesEventConfig)
WithKubeEventsManager(kube_events_manager.KubeEventsManager)
EnableKubernetesBindings() ([]BindingExecutionInfo, error)
StartMonitors()
StopMonitors()
CanHandleEvent(kubeEvent KubeEvent) bool
HandleEvent(kubeEvent KubeEvent) BindingExecutionInfo
BindingNames() []string
SnapshotsFrom(bindingNames ...string) map[string][]ObjectAndFilterResult
Snapshots() map[string][]ObjectAndFilterResult
}
KubernetesBindingsController handles kubernetes bindings for one hook.
type ScheduleBindingToCrontabLink ¶
type ScheduleBindingToCrontabLink struct {
BindingName string
Crontab string
// Useful fields to create a BindingContext
IncludeKubernetesSnapshots []string
AllowFailure bool
QueueName string
}
A link between a hook and a kube monitor
type ScheduleBindingsController ¶
type ScheduleBindingsController interface {
WithScheduleBindings([]ScheduleConfig)
WithScheduleManager(schedule_manager.ScheduleManager)
EnableScheduleBindings()
DisableScheduleBindings()
CanHandleEvent(crontab string) bool
HandleEvent(crontab string) []BindingExecutionInfo
}
KubernetesBindingsController handles kubernetes bindings for one hook.
Click to show internal directories.
Click to hide internal directories.