2022-09-14 21:35:35 +08:00
|
|
|
package config
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/grafana/grafana-azure-sdk-go/azsettings"
|
|
|
|
|
2023-02-28 23:10:27 +08:00
|
|
|
"github.com/grafana/grafana/pkg/plugins/log"
|
2024-01-10 02:38:06 +08:00
|
|
|
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
2022-09-14 21:35:35 +08:00
|
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Cfg struct {
|
|
|
|
log log.Logger
|
|
|
|
|
|
|
|
DevMode bool
|
|
|
|
|
2022-09-23 20:27:01 +08:00
|
|
|
PluginsPath string
|
|
|
|
|
2022-09-14 21:35:35 +08:00
|
|
|
PluginSettings setting.PluginSettings
|
|
|
|
PluginsAllowUnsigned []string
|
2023-09-14 18:58:12 +08:00
|
|
|
DisablePlugins []string
|
2023-12-13 17:25:17 +08:00
|
|
|
ForwardHostEnvVars []string
|
2022-09-14 21:35:35 +08:00
|
|
|
|
|
|
|
// AWS Plugin Auth
|
2024-02-06 02:59:32 +08:00
|
|
|
AWSAllowedAuthProviders []string
|
|
|
|
AWSAssumeRoleEnabled bool
|
|
|
|
AWSExternalId string
|
|
|
|
AWSSessionDuration string
|
|
|
|
AWSListMetricsPageLimit string
|
|
|
|
AWSForwardSettingsPlugins []string
|
2022-09-14 21:35:35 +08:00
|
|
|
|
|
|
|
// Azure Cloud settings
|
2024-02-05 20:36:33 +08:00
|
|
|
Azure *azsettings.AzureSettings
|
|
|
|
AzureAuthEnabled bool
|
2022-09-14 21:35:35 +08:00
|
|
|
|
2023-04-07 22:20:25 +08:00
|
|
|
// Proxy Settings
|
|
|
|
ProxySettings setting.SecureSocksDSProxySettings
|
|
|
|
|
2022-09-14 21:35:35 +08:00
|
|
|
BuildVersion string // TODO Remove
|
2022-11-02 21:51:51 +08:00
|
|
|
|
|
|
|
LogDatasourceRequests bool
|
2023-01-27 22:08:17 +08:00
|
|
|
|
|
|
|
PluginsCDNURLTemplate string
|
2023-03-31 05:31:14 +08:00
|
|
|
|
2023-04-05 20:40:08 +08:00
|
|
|
Tracing Tracing
|
2023-04-18 22:12:05 +08:00
|
|
|
|
|
|
|
GrafanaComURL string
|
|
|
|
|
2023-08-31 21:45:44 +08:00
|
|
|
GrafanaAppURL string
|
|
|
|
GrafanaAppSubURL string
|
2023-06-26 22:38:43 +08:00
|
|
|
|
2024-01-10 02:38:06 +08:00
|
|
|
Features featuremgmt.FeatureToggles
|
2023-06-07 17:08:01 +08:00
|
|
|
|
2023-12-12 17:20:21 +08:00
|
|
|
AngularSupportEnabled bool
|
|
|
|
HideAngularDeprecation []string
|
2024-02-01 18:58:24 +08:00
|
|
|
|
|
|
|
ConcurrentQueryCount int
|
2024-02-21 18:32:10 +08:00
|
|
|
|
|
|
|
UserFacingDefaultError string
|
|
|
|
|
|
|
|
DataProxyRowLimit int64
|
|
|
|
|
|
|
|
SQLDatasourceMaxOpenConnsDefault int
|
|
|
|
SQLDatasourceMaxIdleConnsDefault int
|
|
|
|
SQLDatasourceMaxConnLifetimeDefault int
|
2022-09-14 21:35:35 +08:00
|
|
|
}
|
|
|
|
|
2023-04-05 20:40:08 +08:00
|
|
|
func NewCfg(devMode bool, pluginsPath string, pluginSettings setting.PluginSettings, pluginsAllowUnsigned []string,
|
2024-02-06 02:59:32 +08:00
|
|
|
awsAllowedAuthProviders []string, awsAssumeRoleEnabled bool, awsExternalId string, awsSessionDuration string, awsListMetricsPageLimit string, AWSForwardSettingsPlugins []string, azure *azsettings.AzureSettings, secureSocksDSProxy setting.SecureSocksDSProxySettings,
|
2024-01-10 02:38:06 +08:00
|
|
|
grafanaVersion string, logDatasourceRequests bool, pluginsCDNURLTemplate string, appURL string, appSubURL string, tracing Tracing, features featuremgmt.FeatureToggles, angularSupportEnabled bool,
|
2024-02-21 18:32:10 +08:00
|
|
|
grafanaComURL string, disablePlugins []string, hideAngularDeprecation []string, forwardHostEnvVars []string, concurrentQueryCount int, azureAuthEnabled bool,
|
|
|
|
userFacingDefaultError string, dataProxyRowLimit int64,
|
|
|
|
sqlDatasourceMaxOpenConnsDefault int, sqlDatasourceMaxIdleConnsDefault int, sqlDatasourceMaxConnLifetimeDefault int,
|
|
|
|
) *Cfg {
|
2022-09-14 21:35:35 +08:00
|
|
|
return &Cfg{
|
2024-02-21 18:32:10 +08:00
|
|
|
log: log.New("plugin.cfg"),
|
|
|
|
PluginsPath: pluginsPath,
|
|
|
|
BuildVersion: grafanaVersion,
|
|
|
|
DevMode: devMode,
|
|
|
|
PluginSettings: pluginSettings,
|
|
|
|
PluginsAllowUnsigned: pluginsAllowUnsigned,
|
|
|
|
DisablePlugins: disablePlugins,
|
|
|
|
AWSAllowedAuthProviders: awsAllowedAuthProviders,
|
|
|
|
AWSAssumeRoleEnabled: awsAssumeRoleEnabled,
|
|
|
|
AWSExternalId: awsExternalId,
|
|
|
|
AWSSessionDuration: awsSessionDuration,
|
|
|
|
AWSListMetricsPageLimit: awsListMetricsPageLimit,
|
|
|
|
AWSForwardSettingsPlugins: AWSForwardSettingsPlugins,
|
|
|
|
Azure: azure,
|
|
|
|
ProxySettings: secureSocksDSProxy,
|
|
|
|
LogDatasourceRequests: logDatasourceRequests,
|
|
|
|
PluginsCDNURLTemplate: pluginsCDNURLTemplate,
|
|
|
|
Tracing: tracing,
|
|
|
|
GrafanaComURL: grafanaComURL,
|
|
|
|
GrafanaAppURL: appURL,
|
|
|
|
GrafanaAppSubURL: appSubURL,
|
|
|
|
Features: features,
|
|
|
|
AngularSupportEnabled: angularSupportEnabled,
|
|
|
|
HideAngularDeprecation: hideAngularDeprecation,
|
|
|
|
ForwardHostEnvVars: forwardHostEnvVars,
|
|
|
|
ConcurrentQueryCount: concurrentQueryCount,
|
|
|
|
AzureAuthEnabled: azureAuthEnabled,
|
|
|
|
UserFacingDefaultError: userFacingDefaultError,
|
|
|
|
DataProxyRowLimit: dataProxyRowLimit,
|
|
|
|
SQLDatasourceMaxOpenConnsDefault: sqlDatasourceMaxOpenConnsDefault,
|
|
|
|
SQLDatasourceMaxIdleConnsDefault: sqlDatasourceMaxIdleConnsDefault,
|
|
|
|
SQLDatasourceMaxConnLifetimeDefault: sqlDatasourceMaxConnLifetimeDefault,
|
2022-09-14 21:35:35 +08:00
|
|
|
}
|
|
|
|
}
|