mirror of
https://github.com/gravitl/netmaker.git
synced 2026-04-22 16:07:11 +08:00
added node peers to return
This commit is contained in:
+2
-1
@@ -445,6 +445,7 @@ func getNode(w http.ResponseWriter, r *http.Request) {
|
||||
Node: node,
|
||||
Host: *host,
|
||||
HostPeers: hostPeerUpdate.Peers,
|
||||
Peers: hostPeerUpdate.NodePeers,
|
||||
ServerConfig: server,
|
||||
PeerIDs: hostPeerUpdate.PeerIDs,
|
||||
}
|
||||
@@ -628,7 +629,7 @@ func createNode(w http.ResponseWriter, r *http.Request) {
|
||||
Node: data.Node,
|
||||
ServerConfig: server,
|
||||
Host: data.Host,
|
||||
Peers: hostPeerUpdate.Peers,
|
||||
Peers: hostPeerUpdate.NodePeers,
|
||||
}
|
||||
logger.Log(1, r.Header.Get("user"), "created new node", data.Host.Name, "on network", networkName)
|
||||
w.WriteHeader(http.StatusOK)
|
||||
|
||||
+8
-1
@@ -220,7 +220,7 @@ func GetProxyUpdateForHost(host *models.Host) (models.ProxyManagerPayload, error
|
||||
relayPeersMap[relayedHost.PublicKey.String()] = models.RelayedConf{
|
||||
RelayedPeerEndpoint: relayedEndpoint,
|
||||
RelayedPeerPubKey: relayedHost.PublicKey.String(),
|
||||
Peers: payload.Peers,
|
||||
Peers: payload.NodePeers,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,6 +305,8 @@ func GetPeerUpdateForHost(network string, host *models.Host) (models.HostPeerUpd
|
||||
},
|
||||
EgressInfo: make(map[string]models.EgressInfo),
|
||||
PeerIDs: make(models.PeerMap, 0),
|
||||
Peers: []wgtypes.PeerConfig{},
|
||||
NodePeers: []wgtypes.PeerConfig{},
|
||||
}
|
||||
logger.Log(1, "peer update for host ", host.ID.String())
|
||||
peerIndexMap := make(map[string]int)
|
||||
@@ -416,6 +418,7 @@ func GetPeerUpdateForHost(network string, host *models.Host) (models.HostPeerUpd
|
||||
}
|
||||
}
|
||||
|
||||
var nodePeer wgtypes.PeerConfig
|
||||
if _, ok := hostPeerUpdate.HostPeerIDs[peerHost.PublicKey.String()]; !ok {
|
||||
hostPeerUpdate.HostPeerIDs[peerHost.PublicKey.String()] = make(map[string]models.IDandAddr)
|
||||
hostPeerUpdate.Peers = append(hostPeerUpdate.Peers, peerConfig)
|
||||
@@ -426,6 +429,7 @@ func GetPeerUpdateForHost(network string, host *models.Host) (models.HostPeerUpd
|
||||
Name: peerHost.Name,
|
||||
Network: peer.Network,
|
||||
}
|
||||
nodePeer = peerConfig
|
||||
} else {
|
||||
peerAllowedIPs := hostPeerUpdate.Peers[peerIndexMap[peerHost.PublicKey.String()]].AllowedIPs
|
||||
peerAllowedIPs = append(peerAllowedIPs, allowedips...)
|
||||
@@ -436,6 +440,7 @@ func GetPeerUpdateForHost(network string, host *models.Host) (models.HostPeerUpd
|
||||
Name: peerHost.Name,
|
||||
Network: peer.Network,
|
||||
}
|
||||
nodePeer = hostPeerUpdate.Peers[peerIndexMap[peerHost.PublicKey.String()]]
|
||||
}
|
||||
|
||||
if node.Network == network { // add to peers map for metrics
|
||||
@@ -445,6 +450,7 @@ func GetPeerUpdateForHost(network string, host *models.Host) (models.HostPeerUpd
|
||||
Name: peerHost.Name,
|
||||
Network: peer.Network,
|
||||
}
|
||||
hostPeerUpdate.NodePeers = append(hostPeerUpdate.NodePeers, nodePeer)
|
||||
}
|
||||
}
|
||||
var extPeers []wgtypes.PeerConfig
|
||||
@@ -487,6 +493,7 @@ func GetPeerUpdateForHost(network string, host *models.Host) (models.HostPeerUpd
|
||||
}
|
||||
if node.Network == network {
|
||||
hostPeerUpdate.PeerIDs[extPeerIdAndAddr.ID] = extPeerIdAndAddr
|
||||
hostPeerUpdate.NodePeers = append(hostPeerUpdate.NodePeers, extPeers...)
|
||||
}
|
||||
}
|
||||
} else if !database.IsEmptyRecord(err) {
|
||||
|
||||
+6
-5
@@ -8,11 +8,12 @@ import (
|
||||
|
||||
// HostPeerUpdate - struct for host peer updates
|
||||
type HostPeerUpdate struct {
|
||||
Host Host `json:"host" bson:"host" yaml:"host"`
|
||||
Server string `json:"server" bson:"server" yaml:"server"`
|
||||
ServerVersion string `json:"serverversion" bson:"serverversion" yaml:"serverversion"`
|
||||
ServerAddrs []ServerAddr `json:"serveraddrs" bson:"serveraddrs" yaml:"serveraddrs"`
|
||||
Peers []wgtypes.PeerConfig `json:"peers" bson:"peers" yaml:"peers"`
|
||||
Host Host `json:"host" bson:"host" yaml:"host"`
|
||||
Server string `json:"server" bson:"server" yaml:"server"`
|
||||
ServerVersion string `json:"serverversion" bson:"serverversion" yaml:"serverversion"`
|
||||
ServerAddrs []ServerAddr `json:"serveraddrs" bson:"serveraddrs" yaml:"serveraddrs"`
|
||||
NodePeers []wgtypes.PeerConfig `json:"peers" bson:"peers" yaml:"peers"`
|
||||
Peers []wgtypes.PeerConfig
|
||||
HostPeerIDs HostPeerMap `json:"hostpeerids" bson:"hostpeerids" yaml:"hostpeerids"`
|
||||
ProxyUpdate ProxyManagerPayload `json:"proxy_update" bson:"proxy_update" yaml:"proxy_update"`
|
||||
EgressInfo map[string]EgressInfo `json:"egress_info" bson:"egress_info" yaml:"egress_info"` // map key is node ID
|
||||
|
||||
Reference in New Issue
Block a user