PluginExtensions: Made it possible to enable extensions admin page in non-development environments (#95820)

* Added feature flag for toggling extensions admin page.

* fixed typo.

* require restart

---------

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
This commit is contained in:
Marcus Andersson
2024-11-05 16:55:10 +01:00
committed by GitHub
co-authored by Erik Sundell
parent 6fd3620d50
commit c7a7f7dce5
8 changed files with 40 additions and 6 deletions
+7
View File
@@ -1570,6 +1570,13 @@ var (
Owner: grafanaAppPlatformSquad,
RequiresRestart: true,
},
{
Name: "enableExtensionsAdminPage",
Description: "Enables the extension admin page regardless of development mode",
Stage: FeatureStageExperimental,
Owner: grafanaPluginsPlatformSquad,
RequiresRestart: true,
},
}
)
+1
View File
@@ -209,3 +209,4 @@ prometheusUsesCombobox,experimental,@grafana/observability-metrics,false,false,f
azureMonitorDisableLogLimit,GA,@grafana/partner-datasources,false,false,false
dashboardSchemaV2,experimental,@grafana/dashboards-squad,false,false,true
playlistsWatcher,experimental,@grafana/grafana-app-platform-squad,false,true,false
enableExtensionsAdminPage,experimental,@grafana/plugins-platform-backend,false,true,false
1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
209 azureMonitorDisableLogLimit GA @grafana/partner-datasources false false false
210 dashboardSchemaV2 experimental @grafana/dashboards-squad false false true
211 playlistsWatcher experimental @grafana/grafana-app-platform-squad false true false
212 enableExtensionsAdminPage experimental @grafana/plugins-platform-backend false true false
+4
View File
@@ -846,4 +846,8 @@ const (
// FlagPlaylistsWatcher
// Enables experimental watcher for playlists
FlagPlaylistsWatcher = "playlistsWatcher"
// FlagEnableExtensionsAdminPage
// Enables the extension admin page regardless of development mode
FlagEnableExtensionsAdminPage = "enableExtensionsAdminPage"
)
+16
View File
@@ -1201,6 +1201,22 @@
"frontend": true
}
},
{
"metadata": {
"name": "enableExtensionsAdminPage",
"resourceVersion": "1730819353237",
"creationTimestamp": "2024-11-05T09:18:42Z",
"annotations": {
"grafana.app/updatedTimestamp": "2024-11-05 15:09:13.237578 +0000 UTC"
}
},
"spec": {
"description": "Enables the extension admin page regardless of development mode",
"stage": "experimental",
"codeowner": "@grafana/plugins-platform-backend",
"requiresRestart": true
}
},
{
"metadata": {
"name": "enableNativeHTTPHistogram",
+1 -1
View File
@@ -105,7 +105,7 @@ func (s *ServiceImpl) getAdminNode(c *contextmodel.ReqContext) (*navtree.NavLink
})
}
if s.cfg.Env == setting.Dev {
if (s.cfg.Env == setting.Dev) || s.features.IsEnabled(ctx, featuremgmt.FlagEnableExtensionsAdminPage) && hasAccess(pluginaccesscontrol.AdminAccessEvaluator) {
pluginsNodeLinks = append(pluginsNodeLinks, &navtree.NavLink{
Text: "Extensions",
Icon: "plug",