2022-09-14 21:35:35 +08:00
|
|
|
package config
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
|
|
)
|
|
|
|
|
2024-02-27 19:38:02 +08:00
|
|
|
// PluginManagementCfg is the configuration for the plugin management system.
|
|
|
|
// It includes settings which are used to configure different components of plugin management.
|
|
|
|
type PluginManagementCfg struct {
|
2022-09-14 21:35:35 +08:00
|
|
|
DevMode bool
|
|
|
|
|
2022-09-23 20:27:01 +08:00
|
|
|
PluginsPath string
|
|
|
|
|
2022-09-14 21:35:35 +08:00
|
|
|
PluginSettings setting.PluginSettings
|
|
|
|
PluginsAllowUnsigned []string
|
2023-09-14 18:58:12 +08:00
|
|
|
DisablePlugins []string
|
2023-12-13 17:25:17 +08:00
|
|
|
ForwardHostEnvVars []string
|
2022-09-14 21:35:35 +08:00
|
|
|
|
2023-01-27 22:08:17 +08:00
|
|
|
PluginsCDNURLTemplate string
|
2023-03-31 05:31:14 +08:00
|
|
|
|
2024-11-26 18:42:55 +08:00
|
|
|
GrafanaComAPIURL string
|
|
|
|
GrafanaComAPIToken string
|
2023-04-18 22:12:05 +08:00
|
|
|
|
2024-03-11 23:28:46 +08:00
|
|
|
GrafanaAppURL string
|
2023-06-26 22:38:43 +08:00
|
|
|
|
2024-03-15 17:58:51 +08:00
|
|
|
Features Features
|
2022-09-14 21:35:35 +08:00
|
|
|
}
|
|
|
|
|
2024-03-15 17:58:51 +08:00
|
|
|
// Features contains the feature toggles used for the plugin management system.
|
|
|
|
type Features struct {
|
2025-07-22 16:33:23 +08:00
|
|
|
SkipHostEnvVarsEnabled bool
|
|
|
|
SriChecksEnabled bool
|
|
|
|
LocalizationForPlugins bool
|
2025-07-15 21:36:36 +08:00
|
|
|
// Needed only until Tempo Alerting / metrics TraceQL is stable
|
|
|
|
// https://github.com/grafana/grafana/issues/106888
|
|
|
|
TempoAlertingEnabled bool
|
2025-07-17 23:20:35 +08:00
|
|
|
PluginAssetProvider bool
|
2024-03-15 17:58:51 +08:00
|
|
|
}
|
|
|
|
|
2024-02-27 19:38:02 +08:00
|
|
|
// NewPluginManagementCfg returns a new PluginManagementCfg.
|
|
|
|
func NewPluginManagementCfg(devMode bool, pluginsPath string, pluginSettings setting.PluginSettings, pluginsAllowUnsigned []string,
|
2025-04-04 17:31:35 +08:00
|
|
|
pluginsCDNURLTemplate string, appURL string, features Features,
|
2025-09-08 18:39:01 +08:00
|
|
|
grafanaComAPIURL string, disablePlugins []string, forwardHostEnvVars []string, grafanaComAPIToken string,
|
2024-03-11 23:28:46 +08:00
|
|
|
) *PluginManagementCfg {
|
2024-02-27 19:38:02 +08:00
|
|
|
return &PluginManagementCfg{
|
2025-09-08 18:39:01 +08:00
|
|
|
PluginsPath: pluginsPath,
|
|
|
|
DevMode: devMode,
|
|
|
|
PluginSettings: pluginSettings,
|
|
|
|
PluginsAllowUnsigned: pluginsAllowUnsigned,
|
|
|
|
DisablePlugins: disablePlugins,
|
|
|
|
PluginsCDNURLTemplate: pluginsCDNURLTemplate,
|
|
|
|
GrafanaComAPIURL: grafanaComAPIURL,
|
|
|
|
GrafanaAppURL: appURL,
|
|
|
|
Features: features,
|
|
|
|
ForwardHostEnvVars: forwardHostEnvVars,
|
|
|
|
GrafanaComAPIToken: grafanaComAPIToken,
|
2022-09-14 21:35:35 +08:00
|
|
|
}
|
|
|
|
}
|