2021-09-01 16:38:56 +02:00
|
|
|
//go:build wireinject && oss
|
2021-08-25 15:11:22 +02:00
|
|
|
// +build wireinject,oss
|
|
|
|
|
|
2023-09-01 08:09:54 -04:00
|
|
|
// This file should contain wiresets which contain OSS-specific implementations.
|
2021-08-25 15:11:22 +02:00
|
|
|
package server
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/google/wire"
|
2023-09-01 08:09:54 -04:00
|
|
|
|
2021-11-01 09:53:33 +00:00
|
|
|
"github.com/grafana/grafana/pkg/plugins"
|
2023-10-24 16:21:37 +02:00
|
|
|
"github.com/grafana/grafana/pkg/plugins/manager"
|
2021-08-25 15:11:22 +02:00
|
|
|
"github.com/grafana/grafana/pkg/registry"
|
2023-08-02 09:25:55 -04:00
|
|
|
"github.com/grafana/grafana/pkg/registry/backgroundsvcs"
|
|
|
|
|
"github.com/grafana/grafana/pkg/registry/usagestatssvcs"
|
2021-08-25 15:11:22 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/accesscontrol"
|
2022-09-05 18:15:47 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/accesscontrol/acimpl"
|
2021-08-25 15:11:22 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/accesscontrol/ossaccesscontrol"
|
2023-02-21 16:21:18 +01:00
|
|
|
"github.com/grafana/grafana/pkg/services/anonymous"
|
|
|
|
|
"github.com/grafana/grafana/pkg/services/anonymous/anonimpl"
|
2021-08-25 15:11:22 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/auth"
|
2022-11-18 09:56:06 +01:00
|
|
|
"github.com/grafana/grafana/pkg/services/auth/authimpl"
|
2023-09-27 11:36:23 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/auth/idimpl"
|
2023-04-12 12:30:33 -04:00
|
|
|
"github.com/grafana/grafana/pkg/services/caching"
|
2023-08-21 14:26:49 +01:00
|
|
|
"github.com/grafana/grafana/pkg/services/datasources/guardian"
|
2021-08-30 20:39:55 +03:00
|
|
|
"github.com/grafana/grafana/pkg/services/encryption"
|
2022-08-02 15:08:09 +02:00
|
|
|
encryptionprovider "github.com/grafana/grafana/pkg/services/encryption/provider"
|
2023-09-01 08:09:54 -04:00
|
|
|
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
|
|
|
|
"github.com/grafana/grafana/pkg/services/hooks"
|
2021-11-17 11:52:45 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/kmsproviders"
|
|
|
|
|
"github.com/grafana/grafana/pkg/services/kmsproviders/osskmsproviders"
|
2022-02-01 12:03:21 +01:00
|
|
|
"github.com/grafana/grafana/pkg/services/ldap"
|
2021-08-25 15:11:22 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/licensing"
|
|
|
|
|
"github.com/grafana/grafana/pkg/services/login"
|
|
|
|
|
"github.com/grafana/grafana/pkg/services/login/authinfoservice"
|
2022-12-01 10:08:36 -08:00
|
|
|
"github.com/grafana/grafana/pkg/services/pluginsintegration"
|
2021-08-25 15:11:22 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/provisioning"
|
2023-02-10 15:01:26 -03:00
|
|
|
"github.com/grafana/grafana/pkg/services/publicdashboards"
|
|
|
|
|
publicdashboardsService "github.com/grafana/grafana/pkg/services/publicdashboards/service"
|
2021-09-29 12:51:49 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/searchusers"
|
2021-10-07 16:06:16 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/searchusers/filters"
|
2023-06-19 23:44:01 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/secrets"
|
|
|
|
|
secretsMigrator "github.com/grafana/grafana/pkg/services/secrets/migrator"
|
2021-08-25 15:11:22 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/sqlstore/migrations"
|
2022-08-11 14:45:29 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/user"
|
2021-08-25 15:11:22 +02:00
|
|
|
"github.com/grafana/grafana/pkg/services/validations"
|
|
|
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var wireExtsBasicSet = wire.NewSet(
|
2022-11-18 09:56:06 +01:00
|
|
|
authimpl.ProvideUserAuthTokenService,
|
|
|
|
|
wire.Bind(new(auth.UserTokenService), new(*authimpl.UserAuthTokenService)),
|
|
|
|
|
wire.Bind(new(auth.UserTokenBackgroundService), new(*authimpl.UserAuthTokenService)),
|
2023-07-27 11:09:08 +02:00
|
|
|
anonimpl.ProvideAnonymousDeviceService,
|
|
|
|
|
wire.Bind(new(anonymous.Service), new(*anonimpl.AnonDeviceService)),
|
2021-08-25 15:11:22 +02:00
|
|
|
licensing.ProvideService,
|
2023-01-23 11:53:43 -05:00
|
|
|
wire.Bind(new(licensing.Licensing), new(*licensing.OSSLicensingService)),
|
2021-08-25 15:11:22 +02:00
|
|
|
setting.ProvideProvider,
|
|
|
|
|
wire.Bind(new(setting.Provider), new(*setting.OSSImpl)),
|
2022-09-05 18:15:47 +02:00
|
|
|
acimpl.ProvideService,
|
|
|
|
|
wire.Bind(new(accesscontrol.RoleRegistry), new(*acimpl.Service)),
|
2022-11-07 11:30:45 +01:00
|
|
|
wire.Bind(new(plugins.RoleRegistry), new(*acimpl.Service)),
|
2022-09-05 18:15:47 +02:00
|
|
|
wire.Bind(new(accesscontrol.Service), new(*acimpl.Service)),
|
2021-08-25 15:11:22 +02:00
|
|
|
validations.ProvideValidator,
|
2023-01-23 15:10:14 -05:00
|
|
|
wire.Bind(new(validations.PluginRequestValidator), new(*validations.OSSPluginRequestValidator)),
|
2021-08-25 15:11:22 +02:00
|
|
|
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)),
|
2022-08-02 15:08:09 +02:00
|
|
|
encryptionprovider.ProvideEncryptionProvider,
|
|
|
|
|
wire.Bind(new(encryption.Provider), new(encryptionprovider.Provider)),
|
2021-10-07 16:06:16 +02:00
|
|
|
filters.ProvideOSSSearchUserFilter,
|
2022-08-11 14:45:29 +02:00
|
|
|
wire.Bind(new(user.SearchUserFilter), new(*filters.OSSSearchUserFilter)),
|
2021-09-29 12:51:49 +02:00
|
|
|
searchusers.ProvideUsersService,
|
|
|
|
|
wire.Bind(new(searchusers.Service), new(*searchusers.OSSService)),
|
2021-11-17 11:52:45 +02:00
|
|
|
osskmsproviders.ProvideService,
|
|
|
|
|
wire.Bind(new(kmsproviders.Service), new(osskmsproviders.Service)),
|
2022-02-01 12:03:21 +01:00
|
|
|
ldap.ProvideGroupsService,
|
|
|
|
|
wire.Bind(new(ldap.Groups), new(*ldap.OSSGroups)),
|
2023-08-21 14:26:49 +01:00
|
|
|
guardian.ProvideGuardian,
|
|
|
|
|
wire.Bind(new(guardian.DatasourceGuardianProvider), new(*guardian.OSSProvider)),
|
2022-04-28 13:06:49 +04:00
|
|
|
usagestatssvcs.ProvideUsageStatsProvidersRegistry,
|
|
|
|
|
wire.Bind(new(registry.UsageStatsProvidersRegistry), new(*usagestatssvcs.UsageStatsProvidersRegistry)),
|
2022-05-10 15:48:47 +02:00
|
|
|
ossaccesscontrol.ProvideDatasourcePermissionsService,
|
|
|
|
|
wire.Bind(new(accesscontrol.DatasourcePermissionsService), new(*ossaccesscontrol.DatasourcePermissionsService)),
|
2022-12-01 10:08:36 -08:00
|
|
|
pluginsintegration.WireExtensionSet,
|
2023-02-10 15:01:26 -03:00
|
|
|
publicdashboardsService.ProvideServiceWrapper,
|
|
|
|
|
wire.Bind(new(publicdashboards.ServiceWrapper), new(*publicdashboardsService.PublicDashboardServiceWrapperImpl)),
|
2023-04-12 12:30:33 -04:00
|
|
|
caching.ProvideCachingService,
|
|
|
|
|
wire.Bind(new(caching.CachingService), new(*caching.OSSCachingService)),
|
2023-06-19 23:44:01 +02:00
|
|
|
secretsMigrator.ProvideSecretsMigrator,
|
|
|
|
|
wire.Bind(new(secrets.Migrator), new(*secretsMigrator.SecretsMigrator)),
|
2023-09-27 11:36:23 +02:00
|
|
|
idimpl.ProvideLocalSigner,
|
|
|
|
|
wire.Bind(new(auth.IDSigner), new(*idimpl.LocalSigner)),
|
2023-10-24 16:21:37 +02:00
|
|
|
manager.ProvideInstaller,
|
|
|
|
|
wire.Bind(new(plugins.Installer), new(*manager.PluginInstaller)),
|
2021-08-25 15:11:22 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var wireExtsSet = wire.NewSet(
|
|
|
|
|
wireSet,
|
|
|
|
|
wireExtsBasicSet,
|
|
|
|
|
)
|
|
|
|
|
|
2023-03-17 16:36:39 +01:00
|
|
|
var wireExtsCLISet = wire.NewSet(
|
|
|
|
|
wireCLISet,
|
|
|
|
|
wireExtsBasicSet,
|
|
|
|
|
)
|
|
|
|
|
|
2021-08-25 15:11:22 +02:00
|
|
|
var wireExtsTestSet = wire.NewSet(
|
|
|
|
|
wireTestSet,
|
|
|
|
|
wireExtsBasicSet,
|
|
|
|
|
)
|
2023-09-01 08:09:54 -04:00
|
|
|
|
|
|
|
|
// 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,
|
|
|
|
|
)
|