diff --git a/pkg/cmd/grafana-server/server.go b/pkg/cmd/grafana-server/server.go index 825aa9811f7..605fe91ba60 100644 --- a/pkg/cmd/grafana-server/server.go +++ b/pkg/cmd/grafana-server/server.go @@ -9,6 +9,9 @@ import ( "strconv" "time" + "github.com/grafana/grafana/pkg/cmd/grafana-cli/logger" + "github.com/grafana/grafana/pkg/services/provisioning" + "golang.org/x/sync/errgroup" "github.com/grafana/grafana/pkg/api" @@ -23,7 +26,7 @@ import ( "github.com/grafana/grafana/pkg/services/search" "github.com/grafana/grafana/pkg/services/sqlstore" "github.com/grafana/grafana/pkg/setting" - datasourcesFromConfig "github.com/grafana/grafana/pkg/setting/datasources" + "github.com/grafana/grafana/pkg/social" "github.com/grafana/grafana/pkg/tracing" ) @@ -56,18 +59,19 @@ func (g *GrafanaServerImpl) Start() { g.writePIDFile() initSql() - err := datasourcesFromConfig.Apply(filepath.Join(setting.HomePath, "conf/datasources.yaml")) - if err != nil { - g.log.Error("Failed to configure datasources from config", "error", err) - g.Shutdown(1, "Startup failed") - return - } + metrics.Init(setting.Cfg) search.Init() login.Init() social.NewOAuthService() plugins.Init() + if err := provisioning.StartUp(setting.HomePath); err != nil { + logger.Error("Failed to provision Grafana from config", "error", err) + g.Shutdown(1, "Startup failed") + return + } + closer, err := tracing.Init(setting.Cfg) if err != nil { g.log.Error("Tracing settings is not valid", "error", err) diff --git a/pkg/setting/datasources/datasources.go b/pkg/services/provisioning/datasources/datasources.go similarity index 100% rename from pkg/setting/datasources/datasources.go rename to pkg/services/provisioning/datasources/datasources.go diff --git a/pkg/setting/datasources/datasources_test.go b/pkg/services/provisioning/datasources/datasources_test.go similarity index 100% rename from pkg/setting/datasources/datasources_test.go rename to pkg/services/provisioning/datasources/datasources_test.go diff --git a/pkg/setting/datasources/test-configs/double-default-datasources.yaml b/pkg/services/provisioning/datasources/test-configs/double-default-datasources.yaml similarity index 100% rename from pkg/setting/datasources/test-configs/double-default-datasources.yaml rename to pkg/services/provisioning/datasources/test-configs/double-default-datasources.yaml diff --git a/pkg/setting/datasources/test-configs/two-datasources-purge-others.yaml b/pkg/services/provisioning/datasources/test-configs/two-datasources-purge-others.yaml similarity index 100% rename from pkg/setting/datasources/test-configs/two-datasources-purge-others.yaml rename to pkg/services/provisioning/datasources/test-configs/two-datasources-purge-others.yaml diff --git a/pkg/setting/datasources/test-configs/two-datasources.yaml b/pkg/services/provisioning/datasources/test-configs/two-datasources.yaml similarity index 100% rename from pkg/setting/datasources/test-configs/two-datasources.yaml rename to pkg/services/provisioning/datasources/test-configs/two-datasources.yaml diff --git a/pkg/setting/datasources/test-configs/zero-datasources.yaml b/pkg/services/provisioning/datasources/test-configs/zero-datasources.yaml similarity index 100% rename from pkg/setting/datasources/test-configs/zero-datasources.yaml rename to pkg/services/provisioning/datasources/test-configs/zero-datasources.yaml diff --git a/pkg/setting/datasources/types.go b/pkg/services/provisioning/datasources/types.go similarity index 100% rename from pkg/setting/datasources/types.go rename to pkg/services/provisioning/datasources/types.go diff --git a/pkg/services/provisioning/provisioning.go b/pkg/services/provisioning/provisioning.go new file mode 100644 index 00000000000..06574ebe962 --- /dev/null +++ b/pkg/services/provisioning/provisioning.go @@ -0,0 +1,16 @@ +package provisioning + +import ( + "path/filepath" + + "github.com/grafana/grafana/pkg/log" + "github.com/grafana/grafana/pkg/services/provisioning/datasources" +) + +var ( + logger log.Logger = log.New("services.provisioning") +) + +func StartUp(homePath string) error { + return datasources.Apply(filepath.Join(homePath, "conf/datasources.yaml")) +}