grafana/pkg/plugins/manager/signature/authorizer.go
Will Browne b5dd4842d0
Plugins: Make manager more easily composable (#44467)
* make more easily composable

* fix build
2022-01-27 18:06:38 +01:00

39 lines
721 B
Go

package signature
import (
"github.com/grafana/grafana/pkg/plugins"
"github.com/grafana/grafana/pkg/setting"
)
func NewUnsignedAuthorizer(cfg *plugins.Cfg) *UnsignedPluginAuthorizer {
return &UnsignedPluginAuthorizer{
cfg: cfg,
}
}
func ProvideOSSAuthorizer(cfg *setting.Cfg) *UnsignedPluginAuthorizer {
return NewUnsignedAuthorizer(plugins.FromGrafanaCfg(cfg))
}
type UnsignedPluginAuthorizer struct {
cfg *plugins.Cfg
}
func (u *UnsignedPluginAuthorizer) CanLoadPlugin(p *plugins.Plugin) bool {
if p.Signature != plugins.SignatureUnsigned {
return true
}
if u.cfg.DevMode {
return true
}
for _, pID := range u.cfg.PluginsAllowUnsigned {
if pID == p.ID {
return true
}
}
return false
}