simple-route-manager/config.go

35 lines
702 B
Go

package main
import (
"encoding/json"
"os"
)
type Gateway struct {
Name string `json:"name"`
Address string `json:"address"`
}
type Config struct {
Controller string `json:"controller"`
Gateway []Gateway `json:"gateway"`
Protected []string `json:"protected"`
Metric int `json:"metric"`
Timeout int `json:"timeout"`
Interval int `json:"interval"`
Port int `json:"port"`
Hotswap bool `json:"hotswap"`
}
func LoadConfig(path string) (*Config, error) {
data, err := os.ReadFile(path)
if err != nil {
return nil, err
}
var cfg Config
if err := json.Unmarshal(data, &cfg); err != nil {
return nil, err
}
return &cfg, nil
}