Plugins: Remove externalCorePlugins feature toggle (#108386)
remove externalCorePlugins feature toggle
This commit is contained in:
-4
@@ -126,13 +126,9 @@ This feature is experimental and requires Grafana version 10.3.0 or later.
|
|||||||
|
|
||||||
If you want to use a version of TestData different from the one shipped with Grafana, follow these steps:
|
If you want to use a version of TestData different from the one shipped with Grafana, follow these steps:
|
||||||
|
|
||||||
1. Enable the [feature toggle](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/feature-toggles/) `externalCorePlugins`.
|
|
||||||
1. Set the configuration field `as_external` for the plugin to `true`. An example configuration would be:
|
1. Set the configuration field `as_external` for the plugin to `true`. An example configuration would be:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[feature_toggles]
|
|
||||||
externalCorePlugins = true
|
|
||||||
|
|
||||||
[plugin.grafana-testdata-datasource]
|
[plugin.grafana-testdata-datasource]
|
||||||
as_external = true
|
as_external = true
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -2655,8 +2655,6 @@ If `true`, propagate the tracing context to the plugin backend and enable tracin
|
|||||||
|
|
||||||
Load an external version of a core plugin if it has been installed.
|
Load an external version of a core plugin if it has been installed.
|
||||||
|
|
||||||
Experimental. Requires the feature toggle `externalCorePlugins` to be enabled.
|
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
### `[plugin.grafana-image-renderer]`
|
### `[plugin.grafana-image-renderer]`
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ Most [generally available](https://grafana.com/docs/release-life-cycle/#general-
|
|||||||
| `transformationsRedesign` | Enables the transformations redesign | Yes |
|
| `transformationsRedesign` | Enables the transformations redesign | Yes |
|
||||||
| `awsAsyncQueryCaching` | Enable caching for async queries for Redshift and Athena. Requires that the datasource has caching and async query support enabled | Yes |
|
| `awsAsyncQueryCaching` | Enable caching for async queries for Redshift and Athena. Requires that the datasource has caching and async query support enabled | Yes |
|
||||||
| `dashgpt` | Enable AI powered features in dashboards | Yes |
|
| `dashgpt` | Enable AI powered features in dashboards | Yes |
|
||||||
| `externalCorePlugins` | Allow core plugins to be loaded as external | Yes |
|
|
||||||
| `panelMonitoring` | Enables panel monitoring through logs and measurements | Yes |
|
| `panelMonitoring` | Enables panel monitoring through logs and measurements | Yes |
|
||||||
| `formatString` | Enable format string transformer | Yes |
|
| `formatString` | Enable format string transformer | Yes |
|
||||||
| `kubernetesClientDashboardsFolders` | Route the folder and dashboard service requests to k8s | Yes |
|
| `kubernetesClientDashboardsFolders` | Route the folder and dashboard service requests to k8s | Yes |
|
||||||
|
|||||||
@@ -257,11 +257,6 @@ export interface FeatureToggles {
|
|||||||
*/
|
*/
|
||||||
lokiRunQueriesInParallel?: boolean;
|
lokiRunQueriesInParallel?: boolean;
|
||||||
/**
|
/**
|
||||||
* Allow core plugins to be loaded as external
|
|
||||||
* @default true
|
|
||||||
*/
|
|
||||||
externalCorePlugins?: boolean;
|
|
||||||
/**
|
|
||||||
* Automatic service account and token setup for plugins
|
* Automatic service account and token setup for plugins
|
||||||
*/
|
*/
|
||||||
externalServiceAccounts?: boolean;
|
externalServiceAccounts?: boolean;
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ type PluginManagementCfg struct {
|
|||||||
|
|
||||||
// Features contains the feature toggles used for the plugin management system.
|
// Features contains the feature toggles used for the plugin management system.
|
||||||
type Features struct {
|
type Features struct {
|
||||||
ExternalCorePluginsEnabled bool
|
|
||||||
SkipHostEnvVarsEnabled bool
|
SkipHostEnvVarsEnabled bool
|
||||||
SriChecksEnabled bool
|
SriChecksEnabled bool
|
||||||
PluginsCDNSyncLoaderEnabled bool
|
PluginsCDNSyncLoaderEnabled bool
|
||||||
|
|||||||
@@ -420,13 +420,6 @@ var (
|
|||||||
FrontendOnly: false,
|
FrontendOnly: false,
|
||||||
Owner: grafanaObservabilityLogsSquad,
|
Owner: grafanaObservabilityLogsSquad,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
Name: "externalCorePlugins",
|
|
||||||
Description: "Allow core plugins to be loaded as external",
|
|
||||||
Stage: FeatureStageGeneralAvailability,
|
|
||||||
Owner: grafanaPluginsPlatformSquad,
|
|
||||||
Expression: "true", // enabled by default
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
Name: "externalServiceAccounts",
|
Name: "externalServiceAccounts",
|
||||||
Description: "Automatic service account and token setup for plugins",
|
Description: "Automatic service account and token setup for plugins",
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ aiGeneratedDashboardChanges,experimental,@grafana/dashboards-squad,false,false,t
|
|||||||
reportingRetries,preview,@grafana/grafana-operator-experience-squad,false,true,false
|
reportingRetries,preview,@grafana/grafana-operator-experience-squad,false,true,false
|
||||||
sseGroupByDatasource,experimental,@grafana/observability-metrics,false,false,false
|
sseGroupByDatasource,experimental,@grafana/observability-metrics,false,false,false
|
||||||
lokiRunQueriesInParallel,privatePreview,@grafana/observability-logs,false,false,false
|
lokiRunQueriesInParallel,privatePreview,@grafana/observability-logs,false,false,false
|
||||||
externalCorePlugins,GA,@grafana/plugins-platform-backend,false,false,false
|
|
||||||
externalServiceAccounts,preview,@grafana/identity-access-team,false,false,false
|
externalServiceAccounts,preview,@grafana/identity-access-team,false,false,false
|
||||||
panelMonitoring,GA,@grafana/dataviz-squad,false,false,true
|
panelMonitoring,GA,@grafana/dataviz-squad,false,false,true
|
||||||
enableNativeHTTPHistogram,experimental,@grafana/grafana-backend-services-squad,false,true,false
|
enableNativeHTTPHistogram,experimental,@grafana/grafana-backend-services-squad,false,true,false
|
||||||
|
|||||||
|
@@ -227,10 +227,6 @@ const (
|
|||||||
// Enables running Loki queries in parallel
|
// Enables running Loki queries in parallel
|
||||||
FlagLokiRunQueriesInParallel = "lokiRunQueriesInParallel"
|
FlagLokiRunQueriesInParallel = "lokiRunQueriesInParallel"
|
||||||
|
|
||||||
// FlagExternalCorePlugins
|
|
||||||
// Allow core plugins to be loaded as external
|
|
||||||
FlagExternalCorePlugins = "externalCorePlugins"
|
|
||||||
|
|
||||||
// FlagExternalServiceAccounts
|
// FlagExternalServiceAccounts
|
||||||
// Automatic service account and token setup for plugins
|
// Automatic service account and token setup for plugins
|
||||||
FlagExternalServiceAccounts = "externalServiceAccounts"
|
FlagExternalServiceAccounts = "externalServiceAccounts"
|
||||||
|
|||||||
@@ -1250,7 +1250,8 @@
|
|||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "externalCorePlugins",
|
"name": "externalCorePlugins",
|
||||||
"resourceVersion": "1750434297879",
|
"resourceVersion": "1750434297879",
|
||||||
"creationTimestamp": "2023-09-22T08:50:13Z"
|
"creationTimestamp": "2023-09-22T08:50:13Z",
|
||||||
|
"deletionTimestamp": "2025-07-21T09:49:02Z"
|
||||||
},
|
},
|
||||||
"spec": {
|
"spec": {
|
||||||
"description": "Allow core plugins to be loaded as external",
|
"description": "Allow core plugins to be loaded as external",
|
||||||
|
|||||||
@@ -223,10 +223,6 @@ func NewAsExternalStep(cfg *config.PluginManagementCfg) *AsExternal {
|
|||||||
|
|
||||||
// Filter will filter out any plugins that are marked to be disabled.
|
// Filter will filter out any plugins that are marked to be disabled.
|
||||||
func (c *AsExternal) Filter(cl plugins.Class, bundles []*plugins.FoundBundle) ([]*plugins.FoundBundle, error) {
|
func (c *AsExternal) Filter(cl plugins.Class, bundles []*plugins.FoundBundle) ([]*plugins.FoundBundle, error) {
|
||||||
if !c.cfg.Features.ExternalCorePluginsEnabled {
|
|
||||||
return bundles, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if cl == plugins.ClassCore {
|
if cl == plugins.ClassCore {
|
||||||
res := []*plugins.FoundBundle{}
|
res := []*plugins.FoundBundle{}
|
||||||
for _, bundle := range bundles {
|
for _, bundle := range bundles {
|
||||||
|
|||||||
@@ -68,9 +68,6 @@ func TestAsExternal(t *testing.T) {
|
|||||||
|
|
||||||
t.Run("should skip a core plugin", func(t *testing.T) {
|
t.Run("should skip a core plugin", func(t *testing.T) {
|
||||||
cfg := &config.PluginManagementCfg{
|
cfg := &config.PluginManagementCfg{
|
||||||
Features: config.Features{
|
|
||||||
ExternalCorePluginsEnabled: true,
|
|
||||||
},
|
|
||||||
PluginSettings: setting.PluginSettings{
|
PluginSettings: setting.PluginSettings{
|
||||||
"plugin1": map[string]string{
|
"plugin1": map[string]string{
|
||||||
"as_external": "true",
|
"as_external": "true",
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ func ProvidePluginManagementConfig(cfg *setting.Cfg, settingProvider setting.Pro
|
|||||||
cfg.PluginsCDNURLTemplate,
|
cfg.PluginsCDNURLTemplate,
|
||||||
cfg.AppURL,
|
cfg.AppURL,
|
||||||
config.Features{
|
config.Features{
|
||||||
ExternalCorePluginsEnabled: features.IsEnabledGlobally(featuremgmt.FlagExternalCorePlugins),
|
|
||||||
SkipHostEnvVarsEnabled: features.IsEnabledGlobally(featuremgmt.FlagPluginsSkipHostEnvVars),
|
SkipHostEnvVarsEnabled: features.IsEnabledGlobally(featuremgmt.FlagPluginsSkipHostEnvVars),
|
||||||
SriChecksEnabled: features.IsEnabledGlobally(featuremgmt.FlagPluginsSriChecks),
|
SriChecksEnabled: features.IsEnabledGlobally(featuremgmt.FlagPluginsSriChecks),
|
||||||
PluginsCDNSyncLoaderEnabled: features.IsEnabledGlobally(featuremgmt.FlagPluginsCDNSyncLoader),
|
PluginsCDNSyncLoaderEnabled: features.IsEnabledGlobally(featuremgmt.FlagPluginsCDNSyncLoader),
|
||||||
|
|||||||
Reference in New Issue
Block a user