lux/host/lux_host.go

51 lines
777 B
Go

package host
import (
"fmt"
"log"
"lux/crypto"
"lux/proto"
"gopkg.in/ini.v1"
)
type luxConfig struct {
Host struct {
Name string `ini:"name"`
Nodes string `ini:"nodes"`
} `ini:"host"`
KeyStore struct {
Path string `ini:"path"`
} `ini:"keystore"`
}
var config luxConfig
func LuxHostEntry(configPath string) error {
ini, err := ini.Load(configPath)
if err != nil {
return err
}
if err = ini.MapTo(&config); err != nil {
return err
}
fmt.Println(config)
ks := crypto.NewLuxKeyStore(config.KeyStore.Path)
key, err := crypto.NewLuxKey(proto.LuxTypeHost)
if err != nil {
log.Fatal(err)
}
if err := ks.Load(); err != nil {
log.Fatal(err)
}
if err := ks.Put(key); err != nil {
log.Fatal(err)
}
fmt.Println(key.String())
return nil
}