mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-07 09:41:37 +08:00
refactored pull to always re-gen certs
This commit is contained in:
@@ -73,31 +73,44 @@ func Leave(cfg *config.ClientConfig, force bool) error {
|
|||||||
// Pull - runs pull command from cli
|
// Pull - runs pull command from cli
|
||||||
func Pull(cfg *config.ClientConfig) error {
|
func Pull(cfg *config.ClientConfig) error {
|
||||||
var err error
|
var err error
|
||||||
|
var networks = []string{}
|
||||||
if cfg.Network == "all" {
|
if cfg.Network == "all" {
|
||||||
logger.Log(0, "No network selected. Running Pull for all networks.")
|
logger.Log(0, "No network selected. Running Pull for all networks.")
|
||||||
networks, err := ncutils.GetSystemNetworks()
|
networks, err = ncutils.GetSystemNetworks()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Log(1, "Error retrieving networks. Exiting.")
|
logger.Log(1, "Error retrieving networks. Exiting.")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
networks = append(networks, cfg.Network)
|
||||||
|
}
|
||||||
|
|
||||||
|
var currentServers = make(map[string]config.ClientConfig)
|
||||||
|
|
||||||
for _, network := range networks {
|
for _, network := range networks {
|
||||||
|
currCfg, err := config.ReadConfig(network)
|
||||||
|
if err != nil {
|
||||||
|
logger.Log(1, "could not read config when pulling for network", network)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
_, err = functions.Pull(network, true)
|
_, err = functions.Pull(network, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Log(1, "Error pulling network config for network: ", network, "\n", err.Error())
|
logger.Log(1, "Error pulling network config for network: ", network, "\n", err.Error())
|
||||||
} else {
|
} else {
|
||||||
logger.Log(1, "pulled network config for "+network)
|
logger.Log(1, "pulled network config for "+network)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
err = nil
|
|
||||||
} else {
|
|
||||||
|
|
||||||
_, err = functions.Pull(cfg.Network, true)
|
currentServers[currCfg.Server.Server] = *currCfg
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, clientCfg := range currentServers {
|
||||||
_, newKey, kerr := ed25519.GenerateKey(rand.Reader)
|
_, newKey, kerr := ed25519.GenerateKey(rand.Reader)
|
||||||
if kerr == nil && err == nil {
|
if kerr == nil && err == nil {
|
||||||
if kerr := tls.SaveKey(ncutils.GetNetclientPath(), ncutils.GetSeparator()+"client.key", newKey); kerr != nil {
|
if kerr := tls.SaveKey(ncutils.GetNetclientPath(), ncutils.GetSeparator()+"client.key", newKey); kerr != nil {
|
||||||
logger.Log(0, "error saving key", kerr.Error())
|
logger.Log(0, "error saving key", kerr.Error())
|
||||||
} else {
|
} else {
|
||||||
if kerr = functions.RegisterWithServer(&newKey, cfg); err != nil {
|
if kerr = functions.RegisterWithServer(&newKey, &clientCfg); err != nil {
|
||||||
logger.Log(0, "registration error", kerr.Error())
|
logger.Log(0, "registration error", kerr.Error())
|
||||||
} else {
|
} else {
|
||||||
daemon.Restart()
|
daemon.Restart()
|
||||||
@@ -106,12 +119,7 @@ func Pull(cfg *config.ClientConfig) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
logger.Log(1, "reset network and peer configs")
|
logger.Log(1, "reset network and peer configs")
|
||||||
if err == nil {
|
|
||||||
logger.Log(1, "reset network and peer configs")
|
|
||||||
logger.Log(1, "success")
|
|
||||||
} else {
|
|
||||||
logger.Log(0, "error occurred pulling configs from server")
|
|
||||||
}
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user