Versions in this module Expand all Collapse all v0 v0.0.1 Jun 6, 2025 Changes in this version + func ListPluginTypes() []string + func RegisterPluginType[P PluginPtr[PT], C ConfigPtr[CT], PT any, CT any](pluginType string, p P, c C, opts ...RegisterOptions) + func ToPtr[T any](t T) *T + func UnregisterPluginType(pluginType string) + type BaseConfig struct + Type string + type Config interface + type ConfigPtr interface + type Plugin interface + Reload func(ctx context.Context, config any) error + Shutdown func(ctx context.Context) error + Startup func(ctx context.Context, config any) error + type PluginEntry struct + Config Config + ConfigPath string + InstanceName string + Plugin Plugin + PluginType string + type PluginManager struct + func NewPluginManager[T any]() *PluginManager[T] + func (pm *PluginManager[T]) Clone() map[string]*PluginEntry + func (pm *PluginManager[T]) DiscoverAndRegister(config *T) error + func (pm *PluginManager[T]) Reload(ctx context.Context, oldConfig, newConfig *T) error + func (pm *PluginManager[T]) Shutdown(ctx context.Context) error + func (pm *PluginManager[T]) Startup(ctx context.Context) error + type PluginPtr interface + type RegisterOptions struct + AutoDiscover bool