mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* Plugins: Pass hashes for SRI to frontend
* Add SRI hashes to frontendsettings DTOs
* Add docstring
* TestSriHashes
* Fix typo
* Changed SriHashes to ModuleHash
* update loader_test compareOpts
* update ModuleHash error message
* Add TestModuleHash/no_module.js
* Add omitEmpty to moduleHash
* Add ModuleHash to api/plugins/${pluginId}/settings
* moved ModuleHash field
* feat(plugins): add moduleHash to bootData and plugin types
* feat(plugins): if moduleHash is available apply it to systemjs importmap
* Calculate ModuleHash for CDN provisioned plugins
* Add ModuleHash tests for TestCalculate
* adjust test case name
* removed .envrc
* Fix signature verification failing for internal plugins
* fix tests
* Add pluginsFilesystemSriChecks feature togglemk
* renamed FilesystemSriChecksEnabled
* refactor(plugin_loader): prefer extending type declaration over ts-error
* added a couple more tests
* Removed unused features
* Removed unused argument from signature.DefaultCalculator call
* Removed unused argument from bootstrap.DefaultConstructFunc
* Moved ModuleHash to pluginassets service
* update docstring
* lint
* Removed cdn dependency from manifest.Signature
* add tests
* fix extra parameters in tests
* "fix" tests
* removed outdated test
* removed unused cdn dependency in signature.DefaultCalculator
* reduce diff
* Cache returned values
* Add support for deeply nested plugins (more than 1 hierarchy level)
* simplify cache usage
* refactor TestService_ModuleHash_Cache
* removed unused testdata
* re-generate feature toggles
* use version for module hash cache
* Renamed feature toggle to pluginsSriChecks and use it for both cdn and filesystem
* Removed app/types/system-integrity.d.ts
* re-generate feature toggles
* re-generate feature toggles
* feat(plugins): put systemjs integrity hash behind feature flag
---------
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
58 lines
1.8 KiB
Go
58 lines
1.8 KiB
Go
package config
|
|
|
|
import (
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
)
|
|
|
|
// 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 {
|
|
DevMode bool
|
|
|
|
PluginsPath string
|
|
|
|
PluginSettings setting.PluginSettings
|
|
PluginsAllowUnsigned []string
|
|
DisablePlugins []string
|
|
ForwardHostEnvVars []string
|
|
|
|
PluginsCDNURLTemplate string
|
|
|
|
GrafanaComAPIURL string
|
|
|
|
GrafanaAppURL string
|
|
|
|
Features Features
|
|
|
|
AngularSupportEnabled bool
|
|
HideAngularDeprecation []string
|
|
}
|
|
|
|
// Features contains the feature toggles used for the plugin management system.
|
|
type Features struct {
|
|
ExternalCorePluginsEnabled bool
|
|
SkipHostEnvVarsEnabled bool
|
|
SriChecksEnabled bool
|
|
}
|
|
|
|
// NewPluginManagementCfg returns a new PluginManagementCfg.
|
|
func NewPluginManagementCfg(devMode bool, pluginsPath string, pluginSettings setting.PluginSettings, pluginsAllowUnsigned []string,
|
|
pluginsCDNURLTemplate string, appURL string, features Features, angularSupportEnabled bool,
|
|
grafanaComAPIURL string, disablePlugins []string, hideAngularDeprecation []string, forwardHostEnvVars []string,
|
|
) *PluginManagementCfg {
|
|
return &PluginManagementCfg{
|
|
PluginsPath: pluginsPath,
|
|
DevMode: devMode,
|
|
PluginSettings: pluginSettings,
|
|
PluginsAllowUnsigned: pluginsAllowUnsigned,
|
|
DisablePlugins: disablePlugins,
|
|
PluginsCDNURLTemplate: pluginsCDNURLTemplate,
|
|
GrafanaComAPIURL: grafanaComAPIURL,
|
|
GrafanaAppURL: appURL,
|
|
Features: features,
|
|
AngularSupportEnabled: angularSupportEnabled,
|
|
HideAngularDeprecation: hideAngularDeprecation,
|
|
ForwardHostEnvVars: forwardHostEnvVars,
|
|
}
|
|
}
|