configure proxy on peer update without resetting

This commit is contained in:
Abhishek Kondur
2022-11-17 16:51:27 +05:30
parent 06d71d4b69
commit 653b5f21d6
9 changed files with 262 additions and 153 deletions

View File

@@ -14,7 +14,6 @@ import (
"github.com/gravitl/netmaker/logger"
"github.com/gravitl/netmaker/models"
"github.com/gravitl/netmaker/netclient/config"
"github.com/gravitl/netmaker/netclient/local"
"github.com/gravitl/netmaker/netclient/ncutils"
"github.com/gravitl/netmaker/netclient/wireguard"
"github.com/gravitl/netmaker/nm-proxy/manager"
@@ -53,6 +52,7 @@ func ProxyUpdate(client mqtt.Client, msg mqtt.Message) {
// NodeUpdate -- mqtt message handler for /update/<NodeID> topic
func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
return
var newNode models.Node
var nodeCfg config.ClientConfig
var network = parseNetworkFromTopic(msg.Topic())
@@ -252,22 +252,22 @@ func UpdatePeers(client mqtt.Client, msg mqtt.Message) {
UpdateLocalListenPort(&cfg)
return
}
queryAddr := cfg.Node.PrimaryAddress()
// queryAddr := cfg.Node.PrimaryAddress()
//err = wireguard.SyncWGQuickConf(cfg.Node.Interface, file)
var iface = cfg.Node.Interface
if ncutils.IsMac() {
iface, err = local.GetMacIface(queryAddr)
if err != nil {
logger.Log(0, "error retrieving mac iface: "+err.Error())
return
}
}
err = wireguard.SetPeers(iface, &cfg.Node, peerUpdate.Peers)
if err != nil {
logger.Log(0, "error syncing wg after peer update: "+err.Error())
return
}
// var iface = cfg.Node.Interface
// if ncutils.IsMac() {
// iface, err = local.GetMacIface(queryAddr)
// if err != nil {
// logger.Log(0, "error retrieving mac iface: "+err.Error())
// return
// }
// }
// err = wireguard.SetPeers(iface, &cfg.Node, peerUpdate.Peers)
// if err != nil {
// logger.Log(0, "error syncing wg after peer update: "+err.Error())
// return
// }
ProxyMgmChan <- &peerUpdate.ProxyUpdate
logger.Log(0, "network:", cfg.Node.Network, "received peer update for node "+cfg.Node.Name+" "+cfg.Node.Network)
if cfg.Node.DNSOn == "yes" {