Plugins: Add termination stage to plugin loader pipeline (#72822)

* add termination stage

* uid -> pluginID (for now)

* also fix fakes

* add simple test

* Fix logger name

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

* inline stop func call

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
This commit is contained in:
Will Browne
2023-08-04 11:57:49 +02:00
committed by GitHub
co-authored by Giuseppe Guerra
parent 7bc6d32eb9
commit 60b4a0b2a4
19 changed files with 305 additions and 62 deletions
+11
View File
@@ -496,3 +496,14 @@ func (f *FakeInitializer) Initialize(ctx context.Context, ps []*plugins.Plugin)
}
return []*plugins.Plugin{}, nil
}
type FakeTerminator struct {
TerminateFunc func(ctx context.Context, pluginID string) error
}
func (f *FakeTerminator) Terminate(ctx context.Context, pluginID string) error {
if f.TerminateFunc != nil {
return f.TerminateFunc(ctx, pluginID)
}
return nil
}