From dc0fb8be06d17707b212c9f79df9221f9f5ad751 Mon Sep 17 00:00:00 2001 From: bergquist Date: Tue, 28 Nov 2017 14:01:10 +0100 Subject: [PATCH] dashboards as cfg: code cleanup --- .../provisioning/dashboard/dashboard.go | 12 ++++------ .../provisioning/dashboard/file_reader.go | 4 ++-- .../datasources.go | 2 +- .../datasources_test.go | 2 +- .../all-properties/all-properties.yaml | 0 .../test-configs/all-properties/not.yaml.txt | 0 .../test-configs/all-properties/second.yaml | 0 .../test-configs/broken-yaml/broken.yaml | 0 .../double-default/default-1.yaml | 0 .../double-default/default-2.yaml | 0 .../one-datasources.yaml | 0 .../insert-two-delete-two/two-datasources.yml | 0 .../two-datasources/two-datasources.yaml | 0 .../zero-datasources/placeholder-for-git | 0 .../{datasources => datasource}/types.go | 2 +- pkg/services/provisioning/provisioning.go | 23 ++++--------------- 16 files changed, 13 insertions(+), 32 deletions(-) rename pkg/services/provisioning/{datasources => datasource}/datasources.go (99%) rename pkg/services/provisioning/{datasources => datasource}/datasources_test.go (99%) rename pkg/services/provisioning/{datasources => datasource}/test-configs/all-properties/all-properties.yaml (100%) rename pkg/services/provisioning/{datasources => datasource}/test-configs/all-properties/not.yaml.txt (100%) rename pkg/services/provisioning/{datasources => datasource}/test-configs/all-properties/second.yaml (100%) rename pkg/services/provisioning/{datasources => datasource}/test-configs/broken-yaml/broken.yaml (100%) rename pkg/services/provisioning/{datasources => datasource}/test-configs/double-default/default-1.yaml (100%) rename pkg/services/provisioning/{datasources => datasource}/test-configs/double-default/default-2.yaml (100%) rename pkg/services/provisioning/{datasources => datasource}/test-configs/insert-two-delete-two/one-datasources.yaml (100%) rename pkg/services/provisioning/{datasources => datasource}/test-configs/insert-two-delete-two/two-datasources.yml (100%) rename pkg/services/provisioning/{datasources => datasource}/test-configs/two-datasources/two-datasources.yaml (100%) rename pkg/services/provisioning/{datasources => datasource}/test-configs/zero-datasources/placeholder-for-git (100%) rename pkg/services/provisioning/{datasources => datasource}/types.go (99%) diff --git a/pkg/services/provisioning/dashboard/dashboard.go b/pkg/services/provisioning/dashboard/dashboard.go index 22ed5add831..c67c645f242 100644 --- a/pkg/services/provisioning/dashboard/dashboard.go +++ b/pkg/services/provisioning/dashboard/dashboard.go @@ -30,19 +30,15 @@ func (provider *DashboardProvisioner) Init(ctx context.Context) error { } for _, cfg := range cfgs { - if cfg.Type == "file" { + switch cfg.Type { + case "file": fileReader, err := NewDashboardFilereader(cfg, provider.log.New("type", cfg.Type, "name", cfg.Name)) if err != nil { return err } - // err = fileReader.Init() - // if err != nil { - // provider.log.Error("Failed to load dashboards", "error", err) - // } - - go fileReader.Listen(ctx) - } else { + go fileReader.ReadAndListen(ctx) + default: return fmt.Errorf("type %s is not supported", cfg.Type) } } diff --git a/pkg/services/provisioning/dashboard/file_reader.go b/pkg/services/provisioning/dashboard/file_reader.go index c9eacb04aeb..b3fa3e5cfd8 100644 --- a/pkg/services/provisioning/dashboard/file_reader.go +++ b/pkg/services/provisioning/dashboard/file_reader.go @@ -67,8 +67,8 @@ func NewDashboardFilereader(cfg *DashboardsAsConfig, log log.Logger) (*fileReade }, nil } -func (fr *fileReader) Listen(ctx context.Context) error { - ticker := time.NewTicker(time.Second * 1) +func (fr *fileReader) ReadAndListen(ctx context.Context) error { + ticker := time.NewTicker(time.Second * 10) if err := fr.walkFolder(); err != nil { fr.log.Error("failed to search for dashboards", "error", err) diff --git a/pkg/services/provisioning/datasources/datasources.go b/pkg/services/provisioning/datasource/datasources.go similarity index 99% rename from pkg/services/provisioning/datasources/datasources.go rename to pkg/services/provisioning/datasource/datasources.go index 325dbbbd757..be854bfe2bc 100644 --- a/pkg/services/provisioning/datasources/datasources.go +++ b/pkg/services/provisioning/datasource/datasources.go @@ -1,4 +1,4 @@ -package datasources +package datasource import ( "errors" diff --git a/pkg/services/provisioning/datasources/datasources_test.go b/pkg/services/provisioning/datasource/datasources_test.go similarity index 99% rename from pkg/services/provisioning/datasources/datasources_test.go rename to pkg/services/provisioning/datasource/datasources_test.go index f3252c28d9d..d746e794d92 100644 --- a/pkg/services/provisioning/datasources/datasources_test.go +++ b/pkg/services/provisioning/datasource/datasources_test.go @@ -1,4 +1,4 @@ -package datasources +package datasource import ( "testing" diff --git a/pkg/services/provisioning/datasources/test-configs/all-properties/all-properties.yaml b/pkg/services/provisioning/datasource/test-configs/all-properties/all-properties.yaml similarity index 100% rename from pkg/services/provisioning/datasources/test-configs/all-properties/all-properties.yaml rename to pkg/services/provisioning/datasource/test-configs/all-properties/all-properties.yaml diff --git a/pkg/services/provisioning/datasources/test-configs/all-properties/not.yaml.txt b/pkg/services/provisioning/datasource/test-configs/all-properties/not.yaml.txt similarity index 100% rename from pkg/services/provisioning/datasources/test-configs/all-properties/not.yaml.txt rename to pkg/services/provisioning/datasource/test-configs/all-properties/not.yaml.txt diff --git a/pkg/services/provisioning/datasources/test-configs/all-properties/second.yaml b/pkg/services/provisioning/datasource/test-configs/all-properties/second.yaml similarity index 100% rename from pkg/services/provisioning/datasources/test-configs/all-properties/second.yaml rename to pkg/services/provisioning/datasource/test-configs/all-properties/second.yaml diff --git a/pkg/services/provisioning/datasources/test-configs/broken-yaml/broken.yaml b/pkg/services/provisioning/datasource/test-configs/broken-yaml/broken.yaml similarity index 100% rename from pkg/services/provisioning/datasources/test-configs/broken-yaml/broken.yaml rename to pkg/services/provisioning/datasource/test-configs/broken-yaml/broken.yaml diff --git a/pkg/services/provisioning/datasources/test-configs/double-default/default-1.yaml b/pkg/services/provisioning/datasource/test-configs/double-default/default-1.yaml similarity index 100% rename from pkg/services/provisioning/datasources/test-configs/double-default/default-1.yaml rename to pkg/services/provisioning/datasource/test-configs/double-default/default-1.yaml diff --git a/pkg/services/provisioning/datasources/test-configs/double-default/default-2.yaml b/pkg/services/provisioning/datasource/test-configs/double-default/default-2.yaml similarity index 100% rename from pkg/services/provisioning/datasources/test-configs/double-default/default-2.yaml rename to pkg/services/provisioning/datasource/test-configs/double-default/default-2.yaml diff --git a/pkg/services/provisioning/datasources/test-configs/insert-two-delete-two/one-datasources.yaml b/pkg/services/provisioning/datasource/test-configs/insert-two-delete-two/one-datasources.yaml similarity index 100% rename from pkg/services/provisioning/datasources/test-configs/insert-two-delete-two/one-datasources.yaml rename to pkg/services/provisioning/datasource/test-configs/insert-two-delete-two/one-datasources.yaml diff --git a/pkg/services/provisioning/datasources/test-configs/insert-two-delete-two/two-datasources.yml b/pkg/services/provisioning/datasource/test-configs/insert-two-delete-two/two-datasources.yml similarity index 100% rename from pkg/services/provisioning/datasources/test-configs/insert-two-delete-two/two-datasources.yml rename to pkg/services/provisioning/datasource/test-configs/insert-two-delete-two/two-datasources.yml diff --git a/pkg/services/provisioning/datasources/test-configs/two-datasources/two-datasources.yaml b/pkg/services/provisioning/datasource/test-configs/two-datasources/two-datasources.yaml similarity index 100% rename from pkg/services/provisioning/datasources/test-configs/two-datasources/two-datasources.yaml rename to pkg/services/provisioning/datasource/test-configs/two-datasources/two-datasources.yaml diff --git a/pkg/services/provisioning/datasources/test-configs/zero-datasources/placeholder-for-git b/pkg/services/provisioning/datasource/test-configs/zero-datasources/placeholder-for-git similarity index 100% rename from pkg/services/provisioning/datasources/test-configs/zero-datasources/placeholder-for-git rename to pkg/services/provisioning/datasource/test-configs/zero-datasources/placeholder-for-git diff --git a/pkg/services/provisioning/datasources/types.go b/pkg/services/provisioning/datasource/types.go similarity index 99% rename from pkg/services/provisioning/datasources/types.go rename to pkg/services/provisioning/datasource/types.go index ee2175d6a90..6434074d5d4 100644 --- a/pkg/services/provisioning/datasources/types.go +++ b/pkg/services/provisioning/datasource/types.go @@ -1,4 +1,4 @@ -package datasources +package datasource import "github.com/grafana/grafana/pkg/models" import "github.com/grafana/grafana/pkg/components/simplejson" diff --git a/pkg/services/provisioning/provisioning.go b/pkg/services/provisioning/provisioning.go index 51f406dc9d5..c72ba6dc4f5 100644 --- a/pkg/services/provisioning/provisioning.go +++ b/pkg/services/provisioning/provisioning.go @@ -4,30 +4,19 @@ import ( "context" "path/filepath" - "github.com/grafana/grafana/pkg/log" "github.com/grafana/grafana/pkg/services/provisioning/dashboard" - "github.com/grafana/grafana/pkg/services/provisioning/datasources" + "github.com/grafana/grafana/pkg/services/provisioning/datasource" ini "gopkg.in/ini.v1" ) -var ( - logger log.Logger = log.New("services.provisioning") -) - -type Provisioner struct { - datasourcePath string - dashboardPath string - bgContext context.Context -} - -func Init(backgroundContext context.Context, homePath string, cfg *ini.File) error { +func Init(ctx context.Context, homePath string, cfg *ini.File) error { datasourcePath := makeAbsolute(cfg.Section("paths").Key("datasources").String(), homePath) - if err := datasources.Provision(datasourcePath); err != nil { + if err := datasource.Provision(datasourcePath); err != nil { return err } dashboardPath := makeAbsolute(cfg.Section("paths").Key("dashboards").String(), homePath) - _, err := dashboard.Provision(backgroundContext, dashboardPath) + _, err := dashboard.Provision(ctx, dashboardPath) if err != nil { return err } @@ -35,10 +24,6 @@ func Init(backgroundContext context.Context, homePath string, cfg *ini.File) err return nil } -func (p *Provisioner) Listen() error { - return nil -} - func makeAbsolute(path string, root string) string { if filepath.IsAbs(path) { return path