mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-07 05:34:38 +08:00
adding backup function
This commit is contained in:
parent
8eef12036d
commit
2865089ff0
1 changed files with 26 additions and 12 deletions
|
@ -95,28 +95,42 @@ func (config *ClientConfig) ConfigFileExists() bool {
|
|||
// ClientConfig.ReadConfig - used to read config from client disk into memory
|
||||
func (config *ClientConfig) ReadConfig() {
|
||||
|
||||
nofile := false
|
||||
network := config.Network
|
||||
if network == "" {
|
||||
return
|
||||
}
|
||||
|
||||
//home, err := homedir.Dir()
|
||||
home := ncutils.GetNetclientPathSpecific()
|
||||
|
||||
file := fmt.Sprintf(home + "netconfig-" + config.Network)
|
||||
file := fmt.Sprintf(home + "netconfig-" + network)
|
||||
//f, err := os.Open(file)
|
||||
f, err := os.OpenFile(file, os.O_RDONLY, 0600)
|
||||
if err != nil {
|
||||
logger.Log(1, "trouble opening file: ", err.Error())
|
||||
nofile = true
|
||||
//fmt.Println("Could not access " + home + "/.netconfig, proceeding...")
|
||||
if err = ReplaceWithBackup(network); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
f.Close()
|
||||
f, err = os.Open(file)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
//var cfg ClientConfig
|
||||
|
||||
if !nofile {
|
||||
decoder := yaml.NewDecoder(f)
|
||||
err = decoder.Decode(&config)
|
||||
if err := yaml.NewDecoder(f).Decode(&config); err != nil {
|
||||
logger.Log(0, "no config or invalid, replacing with backup")
|
||||
if err = ReplaceWithBackup(network); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
f.Close()
|
||||
f, err = os.Open(file)
|
||||
if err != nil {
|
||||
fmt.Println("no config or invalid")
|
||||
fmt.Println(err)
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer f.Close()
|
||||
if err := yaml.NewDecoder(f).Decode(&config); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue