diff --git a/pkg/plugins/ifaces.go b/pkg/plugins/ifaces.go index 0160fc1112b..368537db337 100644 --- a/pkg/plugins/ifaces.go +++ b/pkg/plugins/ifaces.go @@ -20,7 +20,7 @@ type Installer interface { type PluginSource interface { PluginClass(ctx context.Context) Class PluginURIs(ctx context.Context) []string - DefaultSignature(ctx context.Context) (Signature, bool) + DefaultSignature(ctx context.Context, pluginID string) (Signature, bool) } type FileStore interface { diff --git a/pkg/plugins/manager/fakes/fakes.go b/pkg/plugins/manager/fakes/fakes.go index d84de30e969..8cb762f94b8 100644 --- a/pkg/plugins/manager/fakes/fakes.go +++ b/pkg/plugins/manager/fakes/fakes.go @@ -494,7 +494,7 @@ func (s *FakePluginSource) PluginURIs(ctx context.Context) []string { return []string{} } -func (s *FakePluginSource) DefaultSignature(ctx context.Context) (plugins.Signature, bool) { +func (s *FakePluginSource) DefaultSignature(ctx context.Context, _ string) (plugins.Signature, bool) { if s.DefaultSignatureFunc != nil { return s.DefaultSignatureFunc(ctx) } diff --git a/pkg/plugins/manager/signature/manifest.go b/pkg/plugins/manager/signature/manifest.go index c363f888198..6d790c79873 100644 --- a/pkg/plugins/manager/signature/manifest.go +++ b/pkg/plugins/manager/signature/manifest.go @@ -141,7 +141,7 @@ func (s *Signature) ReadPluginManifestFromFS(ctx context.Context, pfs plugins.FS } func (s *Signature) Calculate(ctx context.Context, src plugins.PluginSource, plugin plugins.FoundPlugin) (plugins.Signature, error) { - if defaultSignature, exists := src.DefaultSignature(ctx); exists { + if defaultSignature, exists := src.DefaultSignature(ctx, plugin.JSONData.ID); exists { return defaultSignature, nil } diff --git a/pkg/plugins/manager/sources/source_local_disk.go b/pkg/plugins/manager/sources/source_local_disk.go index 4fddc464fea..fc20b45499f 100644 --- a/pkg/plugins/manager/sources/source_local_disk.go +++ b/pkg/plugins/manager/sources/source_local_disk.go @@ -30,7 +30,7 @@ func (s *LocalSource) PluginURIs(_ context.Context) []string { return s.paths } -func (s *LocalSource) DefaultSignature(_ context.Context) (plugins.Signature, bool) { +func (s *LocalSource) DefaultSignature(_ context.Context, _ string) (plugins.Signature, bool) { switch s.class { case plugins.ClassCore: return plugins.Signature{ diff --git a/pkg/plugins/manager/sources/sources_test.go b/pkg/plugins/manager/sources/sources_test.go index 3719b021a18..898aedff819 100644 --- a/pkg/plugins/manager/sources/sources_test.go +++ b/pkg/plugins/manager/sources/sources_test.go @@ -41,7 +41,7 @@ func TestSources_List(t *testing.T) { filepath.Join(testdata, "app", "plugins", "datasource"), filepath.Join(testdata, "app", "plugins", "panel"), }) - sig, exists := srcs[0].DefaultSignature(ctx) + sig, exists := srcs[0].DefaultSignature(ctx, "") require.True(t, exists) require.Equal(t, plugins.SignatureStatusInternal, sig.Status) require.Equal(t, plugins.SignatureType(""), sig.Type) @@ -51,7 +51,7 @@ func TestSources_List(t *testing.T) { require.Equal(t, srcs[1].PluginURIs(ctx), []string{ filepath.Join(testdata, "pluginRootWithDist", "datasource"), }) - sig, exists = srcs[1].DefaultSignature(ctx) + sig, exists = srcs[1].DefaultSignature(ctx, "") require.False(t, exists) require.Equal(t, plugins.Signature{}, sig) @@ -59,7 +59,7 @@ func TestSources_List(t *testing.T) { require.Equal(t, srcs[2].PluginURIs(ctx), []string{ filepath.Join(testdata, "pluginRootWithDist", "dist"), }) - sig, exists = srcs[2].DefaultSignature(ctx) + sig, exists = srcs[2].DefaultSignature(ctx, "") require.False(t, exists) require.Equal(t, plugins.Signature{}, sig) @@ -67,7 +67,7 @@ func TestSources_List(t *testing.T) { require.Equal(t, srcs[3].PluginURIs(ctx), []string{ filepath.Join(testdata, "pluginRootWithDist", "panel"), }) - sig, exists = srcs[3].DefaultSignature(ctx) + sig, exists = srcs[3].DefaultSignature(ctx, "") require.False(t, exists) require.Equal(t, plugins.Signature{}, sig) })