- Added sample default config (needs manual updating)
- Reworked service and webapi config to Viper unmarshalling - Added Pretty Printers to config
This commit is contained in:
@ -1,11 +1,24 @@
|
||||
package service
|
||||
|
||||
import "github.com/spf13/viper"
|
||||
import (
|
||||
"encoding/json"
|
||||
"log"
|
||||
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
type config struct {
|
||||
DNSServer string
|
||||
DNSDefaultTTL uint32
|
||||
UsersConfigDir string
|
||||
DNS configDNS
|
||||
Users configUsers
|
||||
}
|
||||
|
||||
type configDNS struct {
|
||||
Server string
|
||||
DefaultTTL uint32
|
||||
}
|
||||
|
||||
type configUsers struct {
|
||||
ConfigDir string
|
||||
}
|
||||
|
||||
var C config
|
||||
@ -21,7 +34,13 @@ func SetConfigDefaults() {
|
||||
}
|
||||
|
||||
func LoadConfig() {
|
||||
C.DNSServer = viper.GetString("Service.DNS.Server")
|
||||
C.DNSDefaultTTL = viper.GetUint32("Service.DNS.DefaultTTL")
|
||||
C.UsersConfigDir = viper.GetString("Service.Users.ConfigDir")
|
||||
viper.UnmarshalKey("Service", &C)
|
||||
}
|
||||
|
||||
func (obj *config) PrettyPrint() string {
|
||||
s, err := json.MarshalIndent(obj, "", " ")
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to pretty print Service Config via JSON: %v", err)
|
||||
}
|
||||
return string(s)
|
||||
}
|
||||
|
Reference in New Issue
Block a user