truckstop/config/config.go

36 lines
460 B
Go

package config
import (
"encoding/json"
"io/ioutil"
"os"
)
type Config struct {
Interval Duration
States []State
}
var live Config
func Refresh() error {
configPath, ok := os.LookupEnv("CONFIG")
if !ok {
configPath = "./config.json"
}
b, err := ioutil.ReadFile(configPath)
if err != nil {
return err
}
var c Config
if err := json.Unmarshal(b, &c); err != nil {
return err
}
live = c
return nil
}
func Get() Config {
return live
}