-
Notifications
You must be signed in to change notification settings - Fork 5
/
config.go
38 lines (31 loc) · 836 Bytes
/
config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package config
import (
"io/ioutil"
"log"
yaml "gopkg.in/yaml.v2"
)
type config struct {
Apps []struct {
Name string `yaml:"name"`
Query string `yaml:"query"`
ScaleFactor int32 `yaml:"scaleFactor"`
MaxReplicas int32 `yaml:"maxReplicas"`
MinReplicas int32 `yaml:"minReplicas"`
Namespace string `yaml:"namespace"`
} `yaml:"apps"`
}
func LoadConfig() (c *config, err error) {
log.Printf("Reading config from config.yaml")
configData, err := ioutil.ReadFile("/config/config.yaml")
if err != nil {
log.Fatal("unable to read config.yaml, does the file exist?")
}
log.Printf("config.yaml read successfully")
err = yaml.Unmarshal([]byte(configData), &c)
if err != nil {
log.Fatal("Unable to parse config.yaml file")
}
log.Printf("config.yaml parsed successfully")
log.Printf("config: %+v", c)
return
}