mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Remove backgroundPluginInstaller feature flag (#93540)
This commit is contained in:
parent
07f11e9222
commit
a45167a595
@ -1732,7 +1732,7 @@ install_token =
|
|||||||
hide_angular_deprecation =
|
hide_angular_deprecation =
|
||||||
# Comma separated list of plugin ids for which environment variables should be forwarded. Used only when feature flag pluginsSkipHostEnvVars is enabled.
|
# Comma separated list of plugin ids for which environment variables should be forwarded. Used only when feature flag pluginsSkipHostEnvVars is enabled.
|
||||||
forward_host_env_vars =
|
forward_host_env_vars =
|
||||||
# Comma separated list of plugin ids to install as part of the startup process. Used only when feature flag backgroundPluginInstaller is enabled.
|
# Comma separated list of plugin ids to install as part of the startup process.
|
||||||
preinstall =
|
preinstall =
|
||||||
# Controls whether preinstall plugins asynchronously (in the background) or synchronously (blocking). Useful when preinstalled plugins are used with provisioning.
|
# Controls whether preinstall plugins asynchronously (in the background) or synchronously (blocking). Useful when preinstalled plugins are used with provisioning.
|
||||||
preinstall_async = true
|
preinstall_async = true
|
||||||
|
@ -194,7 +194,6 @@ Experimental features might be changed or removed without prior notice.
|
|||||||
| `databaseReadReplica` | Use a read replica for some database queries. |
|
| `databaseReadReplica` | Use a read replica for some database queries. |
|
||||||
| `alertingApiServer` | Register Alerting APIs with the K8s API server |
|
| `alertingApiServer` | Register Alerting APIs with the K8s API server |
|
||||||
| `dashboardRestoreUI` | Enables the frontend to be able to restore a recently deleted dashboard |
|
| `dashboardRestoreUI` | Enables the frontend to be able to restore a recently deleted dashboard |
|
||||||
| `backgroundPluginInstaller` | Enable background plugin installer |
|
|
||||||
| `dataplaneAggregator` | Enable grafana dataplane aggregator |
|
| `dataplaneAggregator` | Enable grafana dataplane aggregator |
|
||||||
| `newFiltersUI` | Enables new combobox style UI for the Ad hoc filters variable in scenes architecture |
|
| `newFiltersUI` | Enables new combobox style UI for the Ad hoc filters variable in scenes architecture |
|
||||||
| `lokiSendDashboardPanelNames` | Send dashboard and panel names to Loki when querying |
|
| `lokiSendDashboardPanelNames` | Send dashboard and panel names to Loki when querying |
|
||||||
|
@ -203,7 +203,6 @@ export interface FeatureToggles {
|
|||||||
cloudwatchMetricInsightsCrossAccount?: boolean;
|
cloudwatchMetricInsightsCrossAccount?: boolean;
|
||||||
prometheusAzureOverrideAudience?: boolean;
|
prometheusAzureOverrideAudience?: boolean;
|
||||||
alertingFilterV2?: boolean;
|
alertingFilterV2?: boolean;
|
||||||
backgroundPluginInstaller?: boolean;
|
|
||||||
dataplaneAggregator?: boolean;
|
dataplaneAggregator?: boolean;
|
||||||
newFiltersUI?: boolean;
|
newFiltersUI?: boolean;
|
||||||
lokiSendDashboardPanelNames?: boolean;
|
lokiSendDashboardPanelNames?: boolean;
|
||||||
|
@ -1402,13 +1402,6 @@ var (
|
|||||||
Owner: grafanaAlertingSquad,
|
Owner: grafanaAlertingSquad,
|
||||||
HideFromDocs: true,
|
HideFromDocs: true,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
Name: "backgroundPluginInstaller",
|
|
||||||
Description: "Enable background plugin installer",
|
|
||||||
Stage: FeatureStageExperimental,
|
|
||||||
Owner: grafanaPluginsPlatformSquad,
|
|
||||||
RequiresRestart: true,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
Name: "dataplaneAggregator",
|
Name: "dataplaneAggregator",
|
||||||
Description: "Enable grafana dataplane aggregator",
|
Description: "Enable grafana dataplane aggregator",
|
||||||
|
@ -184,7 +184,6 @@ bodyScrolling,preview,@grafana/grafana-frontend-platform,false,false,true
|
|||||||
cloudwatchMetricInsightsCrossAccount,preview,@grafana/aws-datasources,false,false,true
|
cloudwatchMetricInsightsCrossAccount,preview,@grafana/aws-datasources,false,false,true
|
||||||
prometheusAzureOverrideAudience,deprecated,@grafana/partner-datasources,false,false,false
|
prometheusAzureOverrideAudience,deprecated,@grafana/partner-datasources,false,false,false
|
||||||
alertingFilterV2,experimental,@grafana/alerting-squad,false,false,false
|
alertingFilterV2,experimental,@grafana/alerting-squad,false,false,false
|
||||||
backgroundPluginInstaller,experimental,@grafana/plugins-platform-backend,false,true,false
|
|
||||||
dataplaneAggregator,experimental,@grafana/grafana-app-platform-squad,false,true,false
|
dataplaneAggregator,experimental,@grafana/grafana-app-platform-squad,false,true,false
|
||||||
newFiltersUI,experimental,@grafana/dashboards-squad,false,false,false
|
newFiltersUI,experimental,@grafana/dashboards-squad,false,false,false
|
||||||
lokiSendDashboardPanelNames,experimental,@grafana/observability-logs,false,false,false
|
lokiSendDashboardPanelNames,experimental,@grafana/observability-logs,false,false,false
|
||||||
|
|
@ -747,10 +747,6 @@ const (
|
|||||||
// Enable the new alerting search experience
|
// Enable the new alerting search experience
|
||||||
FlagAlertingFilterV2 = "alertingFilterV2"
|
FlagAlertingFilterV2 = "alertingFilterV2"
|
||||||
|
|
||||||
// FlagBackgroundPluginInstaller
|
|
||||||
// Enable background plugin installer
|
|
||||||
FlagBackgroundPluginInstaller = "backgroundPluginInstaller"
|
|
||||||
|
|
||||||
// FlagDataplaneAggregator
|
// FlagDataplaneAggregator
|
||||||
// Enable grafana dataplane aggregator
|
// Enable grafana dataplane aggregator
|
||||||
FlagDataplaneAggregator = "dataplaneAggregator"
|
FlagDataplaneAggregator = "dataplaneAggregator"
|
||||||
|
@ -580,7 +580,8 @@
|
|||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "backgroundPluginInstaller",
|
"name": "backgroundPluginInstaller",
|
||||||
"resourceVersion": "1723202510081",
|
"resourceVersion": "1723202510081",
|
||||||
"creationTimestamp": "2024-08-09T11:21:50Z"
|
"creationTimestamp": "2024-08-09T11:21:50Z",
|
||||||
|
"deletionTimestamp": "2024-09-20T13:20:41Z"
|
||||||
},
|
},
|
||||||
"spec": {
|
"spec": {
|
||||||
"description": "Enable background plugin installer",
|
"description": "Enable background plugin installer",
|
||||||
|
@ -11,7 +11,6 @@ import (
|
|||||||
"github.com/grafana/grafana/pkg/infra/log"
|
"github.com/grafana/grafana/pkg/infra/log"
|
||||||
"github.com/grafana/grafana/pkg/plugins"
|
"github.com/grafana/grafana/pkg/plugins"
|
||||||
"github.com/grafana/grafana/pkg/plugins/repo"
|
"github.com/grafana/grafana/pkg/plugins/repo"
|
||||||
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
|
||||||
"github.com/grafana/grafana/pkg/services/pluginsintegration/pluginstore"
|
"github.com/grafana/grafana/pkg/services/pluginsintegration/pluginstore"
|
||||||
"github.com/grafana/grafana/pkg/setting"
|
"github.com/grafana/grafana/pkg/setting"
|
||||||
"github.com/prometheus/client_golang/prometheus"
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
@ -36,21 +35,19 @@ var (
|
|||||||
|
|
||||||
type Service struct {
|
type Service struct {
|
||||||
cfg *setting.Cfg
|
cfg *setting.Cfg
|
||||||
features featuremgmt.FeatureToggles
|
|
||||||
log log.Logger
|
log log.Logger
|
||||||
pluginInstaller plugins.Installer
|
pluginInstaller plugins.Installer
|
||||||
pluginStore pluginstore.Store
|
pluginStore pluginstore.Store
|
||||||
failOnErr bool
|
failOnErr bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func ProvideService(cfg *setting.Cfg, features featuremgmt.FeatureToggles, pluginStore pluginstore.Store, pluginInstaller plugins.Installer, promReg prometheus.Registerer) (*Service, error) {
|
func ProvideService(cfg *setting.Cfg, pluginStore pluginstore.Store, pluginInstaller plugins.Installer, promReg prometheus.Registerer) (*Service, error) {
|
||||||
once.Do(func() {
|
once.Do(func() {
|
||||||
promReg.MustRegister(installRequestCounter)
|
promReg.MustRegister(installRequestCounter)
|
||||||
promReg.MustRegister(installRequestDuration)
|
promReg.MustRegister(installRequestDuration)
|
||||||
})
|
})
|
||||||
|
|
||||||
s := &Service{
|
s := &Service{
|
||||||
features: features,
|
|
||||||
log: log.New("plugin.backgroundinstaller"),
|
log: log.New("plugin.backgroundinstaller"),
|
||||||
cfg: cfg,
|
cfg: cfg,
|
||||||
pluginInstaller: pluginInstaller,
|
pluginInstaller: pluginInstaller,
|
||||||
@ -69,8 +66,7 @@ func ProvideService(cfg *setting.Cfg, features featuremgmt.FeatureToggles, plugi
|
|||||||
|
|
||||||
// IsDisabled disables background installation of plugins.
|
// IsDisabled disables background installation of plugins.
|
||||||
func (s *Service) IsDisabled() bool {
|
func (s *Service) IsDisabled() bool {
|
||||||
return !s.features.IsEnabled(context.Background(), featuremgmt.FlagBackgroundPluginInstaller) ||
|
return len(s.cfg.PreinstallPlugins) == 0 ||
|
||||||
len(s.cfg.PreinstallPlugins) == 0 ||
|
|
||||||
!s.cfg.PreinstallPluginsAsync
|
!s.cfg.PreinstallPluginsAsync
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ import (
|
|||||||
"github.com/grafana/grafana/pkg/plugins"
|
"github.com/grafana/grafana/pkg/plugins"
|
||||||
"github.com/grafana/grafana/pkg/plugins/manager/fakes"
|
"github.com/grafana/grafana/pkg/plugins/manager/fakes"
|
||||||
"github.com/grafana/grafana/pkg/plugins/manager/registry"
|
"github.com/grafana/grafana/pkg/plugins/manager/registry"
|
||||||
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
|
||||||
"github.com/grafana/grafana/pkg/services/pluginsintegration/pluginstore"
|
"github.com/grafana/grafana/pkg/services/pluginsintegration/pluginstore"
|
||||||
"github.com/grafana/grafana/pkg/setting"
|
"github.com/grafana/grafana/pkg/setting"
|
||||||
"github.com/prometheus/client_golang/prometheus"
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
@ -22,7 +21,6 @@ func TestService_IsDisabled(t *testing.T) {
|
|||||||
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
|
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
|
||||||
PreinstallPluginsAsync: true,
|
PreinstallPluginsAsync: true,
|
||||||
},
|
},
|
||||||
featuremgmt.WithFeatures(featuremgmt.FlagBackgroundPluginInstaller),
|
|
||||||
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
||||||
&fakes.FakePluginInstaller{},
|
&fakes.FakePluginInstaller{},
|
||||||
prometheus.NewRegistry(),
|
prometheus.NewRegistry(),
|
||||||
@ -42,7 +40,6 @@ func TestService_Run(t *testing.T) {
|
|||||||
&setting.Cfg{
|
&setting.Cfg{
|
||||||
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
|
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
|
||||||
},
|
},
|
||||||
featuremgmt.WithFeatures(),
|
|
||||||
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
||||||
&fakes.FakePluginInstaller{
|
&fakes.FakePluginInstaller{
|
||||||
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
||||||
@ -66,7 +63,6 @@ func TestService_Run(t *testing.T) {
|
|||||||
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin", Version: "1.0.0"}},
|
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin", Version: "1.0.0"}},
|
||||||
PreinstallPluginsAsync: true,
|
PreinstallPluginsAsync: true,
|
||||||
},
|
},
|
||||||
featuremgmt.WithFeatures(),
|
|
||||||
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
||||||
&fakes.FakePluginInstaller{
|
&fakes.FakePluginInstaller{
|
||||||
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
||||||
@ -98,7 +94,6 @@ func TestService_Run(t *testing.T) {
|
|||||||
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
|
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
|
||||||
PreinstallPluginsAsync: true,
|
PreinstallPluginsAsync: true,
|
||||||
},
|
},
|
||||||
featuremgmt.WithFeatures(),
|
|
||||||
pluginstore.New(preg, &fakes.FakeLoader{}),
|
pluginstore.New(preg, &fakes.FakeLoader{}),
|
||||||
&fakes.FakePluginInstaller{
|
&fakes.FakePluginInstaller{
|
||||||
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
||||||
@ -131,7 +126,6 @@ func TestService_Run(t *testing.T) {
|
|||||||
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin", Version: "2.0.0"}},
|
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin", Version: "2.0.0"}},
|
||||||
PreinstallPluginsAsync: true,
|
PreinstallPluginsAsync: true,
|
||||||
},
|
},
|
||||||
featuremgmt.WithFeatures(),
|
|
||||||
pluginstore.New(preg, &fakes.FakeLoader{}),
|
pluginstore.New(preg, &fakes.FakeLoader{}),
|
||||||
&fakes.FakePluginInstaller{
|
&fakes.FakePluginInstaller{
|
||||||
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
||||||
@ -155,7 +149,6 @@ func TestService_Run(t *testing.T) {
|
|||||||
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin1"}, {ID: "myplugin2"}},
|
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin1"}, {ID: "myplugin2"}},
|
||||||
PreinstallPluginsAsync: true,
|
PreinstallPluginsAsync: true,
|
||||||
},
|
},
|
||||||
featuremgmt.WithFeatures(),
|
|
||||||
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
||||||
&fakes.FakePluginInstaller{
|
&fakes.FakePluginInstaller{
|
||||||
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
||||||
@ -179,7 +172,6 @@ func TestService_Run(t *testing.T) {
|
|||||||
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin1"}, {ID: "myplugin2"}},
|
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin1"}, {ID: "myplugin2"}},
|
||||||
PreinstallPluginsAsync: true,
|
PreinstallPluginsAsync: true,
|
||||||
},
|
},
|
||||||
featuremgmt.WithFeatures(),
|
|
||||||
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
||||||
&fakes.FakePluginInstaller{
|
&fakes.FakePluginInstaller{
|
||||||
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
||||||
@ -205,7 +197,6 @@ func TestService_Run(t *testing.T) {
|
|||||||
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
|
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
|
||||||
PreinstallPluginsAsync: false,
|
PreinstallPluginsAsync: false,
|
||||||
},
|
},
|
||||||
featuremgmt.WithFeatures(),
|
|
||||||
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
||||||
&fakes.FakePluginInstaller{
|
&fakes.FakePluginInstaller{
|
||||||
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
||||||
@ -225,7 +216,6 @@ func TestService_Run(t *testing.T) {
|
|||||||
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
|
PreinstallPlugins: []setting.InstallPlugin{{ID: "myplugin"}},
|
||||||
PreinstallPluginsAsync: false,
|
PreinstallPluginsAsync: false,
|
||||||
},
|
},
|
||||||
featuremgmt.WithFeatures(),
|
|
||||||
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}),
|
||||||
&fakes.FakePluginInstaller{
|
&fakes.FakePluginInstaller{
|
||||||
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.CompatOpts) error {
|
||||||
|
Loading…
Reference in New Issue
Block a user