mirror of
https://github.com/grafana/grafana.git
synced 2024-11-26 19:00:54 -06:00
dfc1875061
* Plugins: Add configs to allow managed install * Expose methods to use with cloud plugin installer * Change plugins installer bind to OSS
135 lines
6.0 KiB
Go
135 lines
6.0 KiB
Go
//go:build wireinject && oss
|
|
// +build wireinject,oss
|
|
|
|
// This file should contain wiresets which contain OSS-specific implementations.
|
|
package server
|
|
|
|
import (
|
|
"github.com/google/wire"
|
|
|
|
"github.com/grafana/grafana/pkg/plugins"
|
|
"github.com/grafana/grafana/pkg/plugins/manager"
|
|
"github.com/grafana/grafana/pkg/registry"
|
|
"github.com/grafana/grafana/pkg/registry/backgroundsvcs"
|
|
"github.com/grafana/grafana/pkg/registry/usagestatssvcs"
|
|
"github.com/grafana/grafana/pkg/services/accesscontrol"
|
|
"github.com/grafana/grafana/pkg/services/accesscontrol/acimpl"
|
|
"github.com/grafana/grafana/pkg/services/accesscontrol/ossaccesscontrol"
|
|
"github.com/grafana/grafana/pkg/services/anonymous"
|
|
"github.com/grafana/grafana/pkg/services/anonymous/anonimpl"
|
|
"github.com/grafana/grafana/pkg/services/auth"
|
|
"github.com/grafana/grafana/pkg/services/auth/authimpl"
|
|
"github.com/grafana/grafana/pkg/services/auth/idimpl"
|
|
"github.com/grafana/grafana/pkg/services/caching"
|
|
"github.com/grafana/grafana/pkg/services/datasources/guardian"
|
|
"github.com/grafana/grafana/pkg/services/encryption"
|
|
encryptionprovider "github.com/grafana/grafana/pkg/services/encryption/provider"
|
|
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
|
"github.com/grafana/grafana/pkg/services/hooks"
|
|
"github.com/grafana/grafana/pkg/services/kmsproviders"
|
|
"github.com/grafana/grafana/pkg/services/kmsproviders/osskmsproviders"
|
|
"github.com/grafana/grafana/pkg/services/ldap"
|
|
"github.com/grafana/grafana/pkg/services/licensing"
|
|
"github.com/grafana/grafana/pkg/services/login"
|
|
"github.com/grafana/grafana/pkg/services/login/authinfoservice"
|
|
"github.com/grafana/grafana/pkg/services/pluginsintegration"
|
|
"github.com/grafana/grafana/pkg/services/provisioning"
|
|
"github.com/grafana/grafana/pkg/services/publicdashboards"
|
|
publicdashboardsService "github.com/grafana/grafana/pkg/services/publicdashboards/service"
|
|
"github.com/grafana/grafana/pkg/services/searchusers"
|
|
"github.com/grafana/grafana/pkg/services/searchusers/filters"
|
|
"github.com/grafana/grafana/pkg/services/secrets"
|
|
secretsMigrator "github.com/grafana/grafana/pkg/services/secrets/migrator"
|
|
"github.com/grafana/grafana/pkg/services/sqlstore/migrations"
|
|
"github.com/grafana/grafana/pkg/services/user"
|
|
"github.com/grafana/grafana/pkg/services/validations"
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
)
|
|
|
|
var wireExtsBasicSet = wire.NewSet(
|
|
authimpl.ProvideUserAuthTokenService,
|
|
wire.Bind(new(auth.UserTokenService), new(*authimpl.UserAuthTokenService)),
|
|
wire.Bind(new(auth.UserTokenBackgroundService), new(*authimpl.UserAuthTokenService)),
|
|
anonimpl.ProvideAnonymousDeviceService,
|
|
wire.Bind(new(anonymous.Service), new(*anonimpl.AnonDeviceService)),
|
|
licensing.ProvideService,
|
|
wire.Bind(new(licensing.Licensing), new(*licensing.OSSLicensingService)),
|
|
setting.ProvideProvider,
|
|
wire.Bind(new(setting.Provider), new(*setting.OSSImpl)),
|
|
acimpl.ProvideService,
|
|
wire.Bind(new(accesscontrol.RoleRegistry), new(*acimpl.Service)),
|
|
wire.Bind(new(plugins.RoleRegistry), new(*acimpl.Service)),
|
|
wire.Bind(new(accesscontrol.Service), new(*acimpl.Service)),
|
|
validations.ProvideValidator,
|
|
wire.Bind(new(validations.PluginRequestValidator), new(*validations.OSSPluginRequestValidator)),
|
|
provisioning.ProvideService,
|
|
wire.Bind(new(provisioning.ProvisioningService), new(*provisioning.ProvisioningServiceImpl)),
|
|
backgroundsvcs.ProvideBackgroundServiceRegistry,
|
|
wire.Bind(new(registry.BackgroundServiceRegistry), new(*backgroundsvcs.BackgroundServiceRegistry)),
|
|
migrations.ProvideOSSMigrations,
|
|
wire.Bind(new(registry.DatabaseMigrator), new(*migrations.OSSMigrations)),
|
|
authinfoservice.ProvideOSSUserProtectionService,
|
|
wire.Bind(new(login.UserProtectionService), new(*authinfoservice.OSSUserProtectionImpl)),
|
|
encryptionprovider.ProvideEncryptionProvider,
|
|
wire.Bind(new(encryption.Provider), new(encryptionprovider.Provider)),
|
|
filters.ProvideOSSSearchUserFilter,
|
|
wire.Bind(new(user.SearchUserFilter), new(*filters.OSSSearchUserFilter)),
|
|
searchusers.ProvideUsersService,
|
|
wire.Bind(new(searchusers.Service), new(*searchusers.OSSService)),
|
|
osskmsproviders.ProvideService,
|
|
wire.Bind(new(kmsproviders.Service), new(osskmsproviders.Service)),
|
|
ldap.ProvideGroupsService,
|
|
wire.Bind(new(ldap.Groups), new(*ldap.OSSGroups)),
|
|
guardian.ProvideGuardian,
|
|
wire.Bind(new(guardian.DatasourceGuardianProvider), new(*guardian.OSSProvider)),
|
|
usagestatssvcs.ProvideUsageStatsProvidersRegistry,
|
|
wire.Bind(new(registry.UsageStatsProvidersRegistry), new(*usagestatssvcs.UsageStatsProvidersRegistry)),
|
|
ossaccesscontrol.ProvideDatasourcePermissionsService,
|
|
wire.Bind(new(accesscontrol.DatasourcePermissionsService), new(*ossaccesscontrol.DatasourcePermissionsService)),
|
|
pluginsintegration.WireExtensionSet,
|
|
publicdashboardsService.ProvideServiceWrapper,
|
|
wire.Bind(new(publicdashboards.ServiceWrapper), new(*publicdashboardsService.PublicDashboardServiceWrapperImpl)),
|
|
caching.ProvideCachingService,
|
|
wire.Bind(new(caching.CachingService), new(*caching.OSSCachingService)),
|
|
secretsMigrator.ProvideSecretsMigrator,
|
|
wire.Bind(new(secrets.Migrator), new(*secretsMigrator.SecretsMigrator)),
|
|
idimpl.ProvideLocalSigner,
|
|
wire.Bind(new(auth.IDSigner), new(*idimpl.LocalSigner)),
|
|
manager.ProvideInstaller,
|
|
wire.Bind(new(plugins.Installer), new(*manager.PluginInstaller)),
|
|
)
|
|
|
|
var wireExtsSet = wire.NewSet(
|
|
wireSet,
|
|
wireExtsBasicSet,
|
|
)
|
|
|
|
var wireExtsCLISet = wire.NewSet(
|
|
wireCLISet,
|
|
wireExtsBasicSet,
|
|
)
|
|
|
|
var wireExtsTestSet = wire.NewSet(
|
|
wireTestSet,
|
|
wireExtsBasicSet,
|
|
)
|
|
|
|
// The wireExtsBaseCLISet is a simplified set of dependencies for the OSS CLI,
|
|
// suitable for running background services and targeted dskit modules without
|
|
// starting up the full Grafana server.
|
|
var wireExtsBaseCLISet = wire.NewSet(
|
|
NewModuleRunner,
|
|
|
|
featuremgmt.ProvideManagerService,
|
|
featuremgmt.ProvideToggles,
|
|
hooks.ProvideService,
|
|
setting.ProvideProvider, wire.Bind(new(setting.Provider), new(*setting.OSSImpl)),
|
|
licensing.ProvideService, wire.Bind(new(licensing.Licensing), new(*licensing.OSSLicensingService)),
|
|
)
|
|
|
|
// wireModuleServerSet is a wire set for the ModuleServer.
|
|
var wireExtsModuleServerSet = wire.NewSet(
|
|
NewModule,
|
|
wireExtsBaseCLISet,
|
|
)
|