-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Pluggable Event Watcher System
The Pluggable Event Watcher System extends the KHook Controller to support multiple event sources beyond Kubernetes events. The idea is to use Go's plugin system to enable dynamic loading of event source implementations at startup, allowing for extensibility and customization without modifying the core controller code.
Architecture Overview
graph TB
A[Plugin Manager] --> B[Event Source Registry]
A --> C[Event Mapping Loader]
B --> D[Kubernetes Event Source]
B --> E[Custom Event Source Plugin]
B --> F[External API Event Source]
C --> G[Event Mappings Config]
D --> H[Event Router]
E --> H
F --> H
H --> I[Event Processing Pipeline]
Core Components
- Plugin Manager: Loads and manages event source plugins at startup
- Event Source Registry: Maintains registry of available event sources
- Event Mapping Loader: Loads event type mappings from configuration files
- Event Router: Routes events from multiple sources to processing pipeline
- Event Source Plugins: Individual implementations for different event sources
The existing Kubernetes event watcher will be rewritten as a plugin and enabled by default. Additional event source plugins will be optional.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request