Documentation ¶
Index ¶
- Variables
- func ConvertKubeEventToBindingContext(kubeEvent KubeEvent, link *KubernetesBindingToMonitorLink) []BindingContext
- type BindingExecutionInfo
- type ConversionBindingToWebhookLink
- type ConversionBindingsController
- type HookController
- type KubernetesBindingToMonitorLink
- type KubernetesBindingsController
- type ScheduleBindingToCrontabLink
- type ScheduleBindingsController
- type ValidatingBindingToWebhookLink
- type ValidatingBindingsController
Constants ¶
This section is empty.
Variables ¶
var NewConversionBindingsController = func() *conversionBindingsController { return &conversionBindingsController{ Links: make(map[string]map[conversion.Rule]*ConversionBindingToWebhookLink), } }
NewKubernetesHooksController returns an implementation of KubernetesHooksController
var NewKubernetesBindingsController = func() *kubernetesBindingsController { return &kubernetesBindingsController{ BindingMonitorLinks: make(map[string]*KubernetesBindingToMonitorLink), } }
NewKubernetesHooksController returns an implementation of KubernetesHooksController
var NewScheduleBindingsController = func() *scheduleBindingsController { return &scheduleBindingsController{ ScheduleLinks: make(map[string]*ScheduleBindingToCrontabLink), } }
NewKubernetesHooksController returns an implementation of KubernetesHooksController
var NewValidatingBindingsController = func() *validatingBindingsController { return &validatingBindingsController{ ValidatingLinks: make(map[string]*ValidatingBindingToWebhookLink), } }
NewKubernetesHooksController returns an implementation of KubernetesHooksController
Functions ¶
func ConvertKubeEventToBindingContext ¶
func ConvertKubeEventToBindingContext(kubeEvent KubeEvent, link *KubernetesBindingToMonitorLink) []BindingContext
Types ¶
type BindingExecutionInfo ¶
type ConversionBindingToWebhookLink ¶
type ConversionBindingToWebhookLink struct { BindingName string // Useful fields to create a BindingContext CrdName string FromVersion string ToVersion string IncludeSnapshots []string Group string }
A link between a hook and a kube monitor
type ConversionBindingsController ¶
type ConversionBindingsController interface { WithBindings([]ConversionConfig) WithWebhookManager(manager *conversion.WebhookManager) EnableConversionBindings() DisableConversionBindings() CanHandleEvent(event conversion.Event, rule conversion.Rule) bool HandleEvent(event conversion.Event, rule conversion.Rule) BindingExecutionInfo }
ScheduleBindingsController handles schedule bindings for one hook.
type HookController ¶
type HookController interface { InitKubernetesBindings([]OnKubernetesEventConfig, kube_events_manager.KubeEventsManager) InitScheduleBindings([]ScheduleConfig, schedule_manager.ScheduleManager) InitValidatingBindings([]ValidatingConfig, *validating.WebhookManager) InitConversionBindings([]ConversionConfig, *conversion.WebhookManager) CanHandleKubeEvent(kubeEvent KubeEvent) bool CanHandleScheduleEvent(crontab string) bool CanHandleValidatingEvent(event ValidatingEvent) bool CanHandleConversionEvent(event conversion.Event, rule conversion.Rule) bool // These method should call an underlying *Binding*Controller 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)) HandleValidatingEvent(event ValidatingEvent, createTasksFn func(BindingExecutionInfo)) HandleConversionEvent(event conversion.Event, rule conversion.Rule, createTasksFn func(BindingExecutionInfo)) UnlockKubernetesEvents() UnlockKubernetesEventsFor(monitorID string) StopMonitors() EnableScheduleBindings() DisableScheduleBindings() EnableValidatingBindings() EnableConversionBindings() KubernetesSnapshots() map[string][]ObjectAndFilterResult UpdateSnapshots([]BindingContext) []BindingContext }
func NewHookController ¶
func NewHookController() HookController
type KubernetesBindingToMonitorLink ¶
type KubernetesBindingToMonitorLink struct { MonitorId string BindingConfig OnKubernetesEventConfig }
A link between a binding config and a Monitor.
type KubernetesBindingsController ¶
type KubernetesBindingsController interface { WithKubernetesBindings([]OnKubernetesEventConfig) WithKubeEventsManager(kube_events_manager.KubeEventsManager) EnableKubernetesBindings() ([]BindingExecutionInfo, error) StartCachedSnapshotMode() StopCachedSnapshotMode() UnlockEvents() UnlockEventsFor(monitorID string) StopMonitors() CanHandleEvent(kubeEvent KubeEvent) bool HandleEvent(kubeEvent KubeEvent) BindingExecutionInfo BindingNames() []string SnapshotsFrom(bindingNames ...string) map[string][]ObjectAndFilterResult SnapshotsFor(bindingName 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 IncludeSnapshots []string AllowFailure bool QueueName string Group 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 }
ScheduleBindingsController handles schedule bindings for one hook.
type ValidatingBindingToWebhookLink ¶
type ValidatingBindingToWebhookLink struct { BindingName string ConfigurationId string WebhookId string // Useful fields to create a BindingContext IncludeSnapshots []string Group string }
A link between a hook and a kube monitor
type ValidatingBindingsController ¶
type ValidatingBindingsController interface { WithValidatingBindings([]ValidatingConfig) WithWebhookManager(*validating.WebhookManager) EnableValidatingBindings() DisableValidatingBindings() CanHandleEvent(event ValidatingEvent) bool HandleEvent(event ValidatingEvent) BindingExecutionInfo }
ScheduleBindingsController handles schedule bindings for one hook.