[v10.0.x] Licensing: Pass func to update env variables when starting plugin (#74679)
* Licensing: Pass func to update env variables when starting plugin (#74620)
(cherry picked from commit 5e0b20266e)
This commit is contained in:
@@ -39,7 +39,11 @@ func (i *Initializer) Initialize(ctx context.Context, p *plugins.Plugin) error {
|
||||
return fmt.Errorf("could not find backend factory for plugin")
|
||||
}
|
||||
|
||||
if backendClient, err := backendFactory(p.ID, p.Logger(), i.envVars(p)); err != nil {
|
||||
envFunc := func() []string {
|
||||
return i.envVars(p)
|
||||
}
|
||||
|
||||
if backendClient, err := backendFactory(p.ID, p.Logger(), envFunc); err != nil {
|
||||
return err
|
||||
} else {
|
||||
p.RegisterClient(backendClient)
|
||||
|
||||
@@ -465,7 +465,7 @@ type fakeBackendProvider struct {
|
||||
}
|
||||
|
||||
func (f *fakeBackendProvider) BackendFactory(_ context.Context, _ *plugins.Plugin) backendplugin.PluginFactoryFunc {
|
||||
return func(_ string, _ log.Logger, _ []string) (backendplugin.Plugin, error) {
|
||||
return func(_ string, _ log.Logger, _ func() []string) (backendplugin.Plugin, error) {
|
||||
return f.plugin, nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1045,7 +1045,7 @@ func TestLoader_Load_SkipUninitializedPlugins(t *testing.T) {
|
||||
procPrvdr := fakes.NewFakeBackendProcessProvider()
|
||||
// Cause an initialization error
|
||||
procPrvdr.BackendFactoryFunc = func(ctx context.Context, p *plugins.Plugin) backendplugin.PluginFactoryFunc {
|
||||
return func(pluginID string, _ log.Logger, _ []string) (backendplugin.Plugin, error) {
|
||||
return func(pluginID string, _ log.Logger, _ func() []string) (backendplugin.Plugin, error) {
|
||||
if pluginID == "test-datasource" {
|
||||
return nil, fmt.Errorf("failed to initialize")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user