Plugins: Add Initial implementation for frontend plugins sandboxing (#68889)

This commit is contained in:
Esteban Beltran
2023-06-05 10:51:36 +02:00
committed by GitHub
parent 6c7b17b59f
commit 1ed4c0382b
20 changed files with 380 additions and 11 deletions
+7 -6
View File
@@ -20,12 +20,13 @@ type PluginSetting struct {
SecureJsonFields map[string]bool `json:"secureJsonFields"`
DefaultNavUrl string `json:"defaultNavUrl"`
LatestVersion string `json:"latestVersion"`
HasUpdate bool `json:"hasUpdate"`
State plugins.ReleaseState `json:"state"`
Signature plugins.SignatureStatus `json:"signature"`
SignatureType plugins.SignatureType `json:"signatureType"`
SignatureOrg string `json:"signatureOrg"`
LatestVersion string `json:"latestVersion"`
HasUpdate bool `json:"hasUpdate"`
State plugins.ReleaseState `json:"state"`
Signature plugins.SignatureStatus `json:"signature"`
SignatureType plugins.SignatureType `json:"signatureType"`
SignatureOrg string `json:"signatureOrg"`
AngularDetected bool `json:"angularDetected"`
}
type PluginListItem struct {
+1
View File
@@ -196,6 +196,7 @@ func (hs *HTTPServer) GetPluginSettingByID(c *contextmodel.ReqContext) response.
SignatureType: plugin.SignatureType,
SignatureOrg: plugin.SignatureOrg,
SecureJsonFields: map[string]bool{},
AngularDetected: plugin.AngularDetected,
}
if plugin.IsApp() {
+7
View File
@@ -542,5 +542,12 @@ var (
State: FeatureStateAlpha,
Owner: grafanaObservabilityLogsSquad,
},
{
Name: "pluginsFrontendSandbox",
Description: "Enables the plugins frontend sandbox",
State: FeatureStateAlpha,
FrontendOnly: true,
Owner: grafanaPluginsPlatformSquad,
},
}
)
+1
View File
@@ -79,3 +79,4 @@ enableDatagridEditing,beta,@grafana/grafana-bi-squad,false,false,false,true
dataSourcePageHeader,beta,@grafana/enterprise-datasources,false,false,false,true
extraThemes,alpha,@grafana/user-essentials,false,false,false,true
lokiPredefinedOperations,alpha,@grafana/observability-logs,false,false,false,true
pluginsFrontendSandbox,alpha,@grafana/plugins-platform-backend,false,false,false,true
1 Name State Owner requiresDevMode RequiresLicense RequiresRestart FrontendOnly
79 dataSourcePageHeader beta @grafana/enterprise-datasources false false false true
80 extraThemes alpha @grafana/user-essentials false false false true
81 lokiPredefinedOperations alpha @grafana/observability-logs false false false true
82 pluginsFrontendSandbox alpha @grafana/plugins-platform-backend false false false true
+4
View File
@@ -326,4 +326,8 @@ const (
// FlagLokiPredefinedOperations
// Adds predefined query operations to Loki query editor
FlagLokiPredefinedOperations = "lokiPredefinedOperations"
// FlagPluginsFrontendSandbox
// Enables the plugins frontend sandbox
FlagPluginsFrontendSandbox = "pluginsFrontendSandbox"
)