MCPcopy Create free account
hub / github.com/ethstorage/es-node / LoadConfig

Function LoadConfig

cmd/alert/main.go:33–73  ·  view source on GitHub ↗
(ruleFile string, lg log.Logger)

Source from the content-addressed store, hash-verified

31}
32
33func LoadConfig(ruleFile string, lg log.Logger) []IChecker {
34 file, err := os.Open(ruleFile)
35 if err != nil {
36 lg.Crit("Failed to load rule file", "rule file", ruleFile, "err", err)
37 }
38 defer file.Close()
39
40 var alerts []*AlertConfig
41 decoder := json.NewDecoder(file)
42 if err := decoder.Decode(&alerts); err != nil {
43 lg.Crit("Failed to decode rule file", "rule file", ruleFile, "err", err)
44 }
45
46 checkers := make([]IChecker, 0)
47 for _, alert := range alerts {
48 switch {
49 case alert.AlertType == "ESLastMinedBlockChecker":
50 checker, err := newESLastMinedBlockChecker(alert.Params, alert.EmailTo)
51 if err != nil {
52 lg.Crit("Failed to load ESLastMinedBlockChecker", "params", alert.Params, "err", err)
53 }
54 checkers = append(checkers, checker)
55 case alert.AlertType == "LastBlockChecker":
56 checker, err := newLastBlockChecker(alert.Params, alert.EmailTo)
57 if err != nil {
58 lg.Crit("Failed to load LastBlockChecker", "params", alert.Params, "err", err)
59 }
60 checkers = append(checkers, checker)
61 case alert.AlertType == "WebsiteOnlineChecker":
62 checker, err := newWebsiteOnlineChecker(alert.Params, alert.EmailTo)
63 if err != nil {
64 lg.Crit("Failed to load WebsiteOnlineChecker", "params", alert.Params, "err", err)
65 }
66 checkers = append(checkers, checker)
67 default:
68 lg.Crit("Failed to load alert with unknown type", "type", alert.AlertType, "params", alert.Params)
69 }
70 }
71
72 return checkers
73}
74
75func main() {
76 flag.Parse()

Callers 1

mainFunction · 0.70

Calls 4

newLastBlockCheckerFunction · 0.85
newWebsiteOnlineCheckerFunction · 0.85
CloseMethod · 0.65

Tested by

no test coverage detected