diff --git a/app/cluster_handlers.go b/app/cluster_handlers.go index beb8f71c73..182e6ede01 100644 --- a/app/cluster_handlers.go +++ b/app/cluster_handlers.go @@ -37,6 +37,10 @@ func (s *Server) clusterPluginEventHandler(msg *model.ClusterMessage) { return } pluginID := msg.Props["PluginID"] + // if the plugin key is empty, the message might be coming from a product. + if pluginID == "" { + pluginID = msg.Props["ProductID"] + } eventID := msg.Props["EventID"] if pluginID == "" || eventID == "" { mlog.Warn("Invalid ClusterMessage.Props values for plugin event", diff --git a/plugin/environment.go b/plugin/environment.go index fa737f5ecf..0b73b9c435 100644 --- a/plugin/environment.go +++ b/plugin/environment.go @@ -499,6 +499,12 @@ func (env *Environment) HooksForPlugin(id string) (Hooks, error) { } } + if p, ok := env.registeredProducts.Load(id); ok { + rp := p.(*registeredProduct) + + return rp.adapter, nil + } + return nil, fmt.Errorf("plugin not found: %v", id) }