Bladeren bron

Comment common

Brendan Abolivier 6 jaren geleden
bovenliggende
commit
b38967b06f
Getekend door: Brendan Abolivier <contact@brendanabolivier.com> GPG key ID: 8EF1500759F70623
1 gewijzigde bestanden met toevoegingen van 17 en 0 verwijderingen
  1. 17
    0
      src/pusher/common/common.go

+ 17
- 0
src/pusher/common/common.go Bestand weergeven

@@ -10,6 +10,11 @@ import (
10 10
 	"github.com/sirupsen/logrus"
11 11
 )
12 12
 
13
+// FilterIgnored takes a map mapping files' names to their contents and remove
14
+// all the files that are supposed to be ignored by the dashboard manager.
15
+// An ignored file is either named "versions.json" or describing a dashboard
16
+// which slug starts with a given prefix.
17
+// Returns an error if the slug couldn't be tested against the prefix.
13 18
 func FilterIgnored(
14 19
 	filesToPush *map[string][]byte, cfg *config.Config,
15 20
 ) (err error) {
@@ -34,6 +39,12 @@ func FilterIgnored(
34 39
 	return
35 40
 }
36 41
 
42
+// PushFiles takes a slice of files' names and a map mapping a file's name to its
43
+// content, and iterates over the first slice. For each file name, it will push
44
+// to Grafana the content from the map that matches the name, as a creation or
45
+// an update of an existing dashboard.
46
+// Logs any errors encountered during an iteration, but doesn't return until all
47
+// creation and/or update requests have been performed.
37 48
 func PushFiles(filenames []string, contents map[string][]byte, client *grafana.Client) {
38 49
 	// Push all files to the Grafana API
39 50
 	for _, filename := range filenames {
@@ -46,6 +57,12 @@ func PushFiles(filenames []string, contents map[string][]byte, client *grafana.C
46 57
 	}
47 58
 }
48 59
 
60
+// DeleteDashboards takes a slice of files' names and a map mapping a file's name
61
+// to its content, and iterates over the first slice. For each file name, extract
62
+// a dashboard's slug from the content, in the map, that matches the name, and
63
+// will use it to send a deletion request to the Grafana API.
64
+// Logs any errors encountered during an iteration, but doesn't return until all
65
+// deletion requests have been performed.
49 66
 func DeleteDashboards(filenames []string, contents map[string][]byte, client *grafana.Client) {
50 67
 	for _, filename := range filenames {
51 68
 		// Retrieve dashboard slug because we need it in the deletion request.