Move yggdrasilconf into cmd, build by default

This commit is contained in:
Neil Alexander 2019-02-10 19:17:26 +00:00
parent 0fd6f57124
commit 6ef4a42ab7
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -14,7 +14,6 @@ import (
"io/ioutil"
"os"
"reflect"
"strconv"
"github.com/hjson/hjson-go"
"golang.org/x/text/encoding/unicode"
@ -27,7 +26,18 @@ type nodeConfig = config.NodeConfig
func main() {
useconffile := flag.String("useconffile", "/etc/yggdrasil.conf", "update config at specified file path")
usejson := flag.Bool("json", false, "write out new config as JSON instead of HJSON")
get := flag.Bool("get", false, "get value instead of setting it")
var action string
switch flag.Arg(0) {
case "get":
case "set":
case "add":
case "remove":
action = flag.Arg(0)
default:
fmt.Errorf("Action must be get, set, add or remove")
}
flag.Parse()
cfg := nodeConfig{}
var config []byte
@ -54,9 +64,12 @@ func main() {
panic(err)
}
json.Unmarshal(confJSON, &cfg)
if *get {
item := reflect.ValueOf(cfg)
for _, arg := range flag.Args() {
for index, arg := range flag.Args() {
if *set || *add || *remove {
}
if item.Kind() == reflect.Map {
for _, key := range item.MapKeys() {
if key.String() == arg {
@ -82,7 +95,8 @@ func main() {
}
fmt.Println(string(bs))
os.Exit(0)
} else {
/* else {
switch flag.Arg(0) {
case "setMTU":
cfg.IfMTU, err = strconv.Atoi(flag.Arg(1))
@ -123,7 +137,7 @@ func main() {
case "setNodeInfoName":
cfg.NodeInfo["name"] = flag.Arg(1)
}
}
}*/
var bs []byte
if *usejson {
bs, err = json.Marshal(cfg)