OLD | NEW |
1 // Copyright 2015 The LUCI Authors. All rights reserved. | 1 // Copyright 2015 The LUCI Authors. All rights reserved. |
2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 |
3 // that can be found in the LICENSE file. | 3 // that can be found in the LICENSE file. |
4 | 4 |
5 package tsmon | 5 package tsmon |
6 | 6 |
7 import ( | 7 import ( |
8 "encoding/json" | 8 "encoding/json" |
9 "os" | 9 "os" |
10 "runtime" | 10 "runtime" |
11 ) | 11 ) |
12 | 12 |
13 // config is the representation of a tsmon JSON config file. | 13 // config is the representation of a tsmon JSON config file. |
14 type config struct { | 14 type config struct { |
15 Endpoint string `json:"endpoint"` | 15 Endpoint string `json:"endpoint"` |
16 Credentials string `json:"credentials"` | 16 Credentials string `json:"credentials"` |
17 AutoGenHostname bool `json:"autogen_hostname"` | 17 AutoGenHostname bool `json:"autogen_hostname"` |
| 18 Hostname string `json:"hostname"` |
| 19 Region string `json:"region"` |
18 } | 20 } |
19 | 21 |
20 // loadConfig loads a tsmon JSON config from a file. | 22 // loadConfig loads a tsmon JSON config from a file. |
21 func loadConfig(path string) (config, error) { | 23 func loadConfig(path string) (config, error) { |
22 var ret config | 24 var ret config |
23 | 25 |
24 file, err := os.Open(path) | 26 file, err := os.Open(path) |
25 if err != nil { | 27 if err != nil { |
26 return ret, err | 28 return ret, err |
27 } | 29 } |
28 defer file.Close() | 30 defer file.Close() |
29 | 31 |
30 decoder := json.NewDecoder(file) | 32 decoder := json.NewDecoder(file) |
31 if err = decoder.Decode(&ret); err != nil { | 33 if err = decoder.Decode(&ret); err != nil { |
32 return ret, err | 34 return ret, err |
33 } | 35 } |
34 | 36 |
35 return ret, nil | 37 return ret, nil |
36 } | 38 } |
37 | 39 |
38 func defaultConfigFilePath() string { | 40 func defaultConfigFilePath() string { |
39 if runtime.GOOS == "windows" { | 41 if runtime.GOOS == "windows" { |
40 return "C:\\chrome-infra\\ts-mon.json" | 42 return "C:\\chrome-infra\\ts-mon.json" |
41 } | 43 } |
42 return "/etc/chrome-infra/ts-mon.json" | 44 return "/etc/chrome-infra/ts-mon.json" |
43 } | 45 } |
OLD | NEW |