diff --git a/pkg/setting/setting_plugins.go b/pkg/setting/setting_plugins.go index baeaca0b393..d6cf55172d5 100644 --- a/pkg/setting/setting_plugins.go +++ b/pkg/setting/setting_plugins.go @@ -39,16 +39,19 @@ func (cfg *Cfg) readPluginSettings(iniFile *ini.File) error { cfg.DisablePlugins = util.SplitString(pluginsSection.Key("disable_plugins").MustString("")) cfg.HideAngularDeprecation = util.SplitString(pluginsSection.Key("hide_angular_deprecation").MustString("")) cfg.ForwardHostEnvVars = util.SplitString(pluginsSection.Key("forward_host_env_vars").MustString("")) - rawInstallPlugins := util.SplitString(pluginsSection.Key("install").MustString("")) - cfg.InstallPlugins = make([]InstallPlugin, len(rawInstallPlugins)) - for i, plugin := range rawInstallPlugins { - parts := strings.Split(plugin, "@") - id := parts[0] - v := "" - if len(parts) == 2 { - v = parts[1] + disablePreinstall := pluginsSection.Key("disable_preinstall").MustBool(false) + if !disablePreinstall { + rawInstallPlugins := util.SplitString(pluginsSection.Key("preinstall").MustString("")) + cfg.InstallPlugins = make([]InstallPlugin, len(rawInstallPlugins)) + for i, plugin := range rawInstallPlugins { + parts := strings.Split(plugin, "@") + id := parts[0] + v := "" + if len(parts) == 2 { + v = parts[1] + } + cfg.InstallPlugins[i] = InstallPlugin{id, v} } - cfg.InstallPlugins[i] = InstallPlugin{id, v} } cfg.PluginCatalogURL = pluginsSection.Key("plugin_catalog_url").MustString("https://grafana.com/grafana/plugins/")