[v9.5.x] Licensing: Pass func to update env variables when starting plugin (#74681)

* Licensing: Pass func to update env variables when starting plugin (#74620)

(cherry picked from commit 5e0b20266e)
This commit is contained in:
lean.dev authored and GitHub committed 2023-09-13 10:12:23 -03:00
1 parent cc10c645d6
commit 563bd4a653
6 files changed
+10 -7

No files matched your search

@@ -37,7 +37,10 @@ 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 {
// this will ensure that the env variables are calculated every time a plugin is started
envFunc := func() []string { return i.envVars(p) }
if backendClient, err := backendFactory(p.ID, p.Logger(), envFunc); err != nil {
return err
} else {
p.RegisterClient(backendClient)
@@ -422,7 +422,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
}
}