diff --git a/pkg/api/dashboard_test.go b/pkg/api/dashboard_test.go index f8f543dac77..db2344edb01 100644 --- a/pkg/api/dashboard_test.go +++ b/pkg/api/dashboard_test.go @@ -987,7 +987,8 @@ func TestDashboardApiEndpoint(t *testing.T) { }) } -func GetDashboardShouldReturn200WithConfig(sc *scenarioContext, provisioningService ProvisioningService) dtos.DashboardFullWithMeta { +func GetDashboardShouldReturn200WithConfig(sc *scenarioContext, provisioningService provisioning.ProvisioningService) dtos. + DashboardFullWithMeta { if provisioningService == nil { provisioningService = provisioning.NewProvisioningServiceMock() } diff --git a/pkg/api/http_server.go b/pkg/api/http_server.go index fbf611bc16e..aff296a2e73 100644 --- a/pkg/api/http_server.go +++ b/pkg/api/http_server.go @@ -27,6 +27,7 @@ import ( "github.com/grafana/grafana/pkg/services/datasources" "github.com/grafana/grafana/pkg/services/hooks" "github.com/grafana/grafana/pkg/services/login" + "github.com/grafana/grafana/pkg/services/provisioning" "github.com/grafana/grafana/pkg/services/quota" "github.com/grafana/grafana/pkg/services/rendering" "github.com/grafana/grafana/pkg/setting" @@ -44,14 +45,6 @@ func init() { }) } -type ProvisioningService interface { - ProvisionDatasources() error - ProvisionNotifications() error - ProvisionDashboards() error - GetDashboardProvisionerResolvedPath(name string) string - GetAllowUiUpdatesFromConfig(name string) bool -} - type HTTPServer struct { log log.Logger macaron *macaron.Macaron @@ -59,21 +52,21 @@ type HTTPServer struct { streamManager *live.StreamManager httpSrv *http.Server - RouteRegister routing.RouteRegister `inject:""` - Bus bus.Bus `inject:""` - RenderService rendering.Service `inject:""` - Cfg *setting.Cfg `inject:""` - HooksService *hooks.HooksService `inject:""` - CacheService *localcache.CacheService `inject:""` - DatasourceCache datasources.CacheService `inject:""` - AuthTokenService models.UserTokenService `inject:""` - QuotaService *quota.QuotaService `inject:""` - RemoteCacheService *remotecache.RemoteCache `inject:""` - ProvisioningService ProvisioningService `inject:""` - Login *login.LoginService `inject:""` - License models.Licensing `inject:""` - BackendPluginManager backendplugin.Manager `inject:""` - PluginManager *plugins.PluginManager `inject:""` + RouteRegister routing.RouteRegister `inject:""` + Bus bus.Bus `inject:""` + RenderService rendering.Service `inject:""` + Cfg *setting.Cfg `inject:""` + HooksService *hooks.HooksService `inject:""` + CacheService *localcache.CacheService `inject:""` + DatasourceCache datasources.CacheService `inject:""` + AuthTokenService models.UserTokenService `inject:""` + QuotaService *quota.QuotaService `inject:""` + RemoteCacheService *remotecache.RemoteCache `inject:""` + ProvisioningService provisioning.ProvisioningService `inject:""` + Login *login.LoginService `inject:""` + License models.Licensing `inject:""` + BackendPluginManager backendplugin.Manager `inject:""` + PluginManager *plugins.PluginManager `inject:""` } func (hs *HTTPServer) Init() error { diff --git a/pkg/services/provisioning/dashboards/dashboard.go b/pkg/services/provisioning/dashboards/dashboard.go index b01e6f39712..54866ccc561 100644 --- a/pkg/services/provisioning/dashboards/dashboard.go +++ b/pkg/services/provisioning/dashboards/dashboard.go @@ -9,6 +9,15 @@ import ( "github.com/grafana/grafana/pkg/util/errutil" ) +type DashboardProvisioner interface { + Provision() error + PollChanges(ctx context.Context) + GetProvisionerResolvedPath(name string) string + GetAllowUiUpdatesFromConfig(name string) bool +} + +type DashboardProvisionerFactory func(string) (DashboardProvisioner, error) + type DashboardProvisionerImpl struct { log log.Logger fileReaders []*fileReader diff --git a/pkg/services/provisioning/provisioning.go b/pkg/services/provisioning/provisioning.go index 4901de73572..840ef4944fe 100644 --- a/pkg/services/provisioning/provisioning.go +++ b/pkg/services/provisioning/provisioning.go @@ -15,18 +15,17 @@ import ( "github.com/grafana/grafana/pkg/setting" ) -type DashboardProvisioner interface { - Provision() error - PollChanges(ctx context.Context) - GetProvisionerResolvedPath(name string) string +type ProvisioningService interface { + ProvisionDatasources() error + ProvisionNotifications() error + ProvisionDashboards() error + GetDashboardProvisionerResolvedPath(name string) string GetAllowUiUpdatesFromConfig(name string) bool } -type DashboardProvisionerFactory func(string) (DashboardProvisioner, error) - func init() { registry.RegisterService(NewProvisioningServiceImpl( - func(path string) (DashboardProvisioner, error) { + func(path string) (dashboards.DashboardProvisioner, error) { return dashboards.NewDashboardProvisionerImpl(path) }, notifiers.Provision, @@ -35,7 +34,7 @@ func init() { } func NewProvisioningServiceImpl( - newDashboardProvisioner DashboardProvisionerFactory, + newDashboardProvisioner dashboards.DashboardProvisionerFactory, provisionNotifiers func(string) error, provisionDatasources func(string) error, ) *provisioningServiceImpl { @@ -51,8 +50,8 @@ type provisioningServiceImpl struct { Cfg *setting.Cfg `inject:""` log log.Logger pollingCtxCancel context.CancelFunc - newDashboardProvisioner DashboardProvisionerFactory - dashboardProvisioner DashboardProvisioner + newDashboardProvisioner dashboards.DashboardProvisionerFactory + dashboardProvisioner dashboards.DashboardProvisioner provisionNotifiers func(string) error provisionDatasources func(string) error mutex sync.Mutex diff --git a/pkg/services/provisioning/provisioning_test.go b/pkg/services/provisioning/provisioning_test.go index 119fa7261ca..b959aa66087 100644 --- a/pkg/services/provisioning/provisioning_test.go +++ b/pkg/services/provisioning/provisioning_test.go @@ -92,7 +92,7 @@ func setup() *serviceTestStruct { } serviceTest.service = NewProvisioningServiceImpl( - func(path string) (DashboardProvisioner, error) { + func(path string) (dashboards.DashboardProvisioner, error) { return serviceTest.mock, nil }, nil,