mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 11:56:39 +08:00
fix host peer update model,add server name to peer update topic
This commit is contained in:
parent
de6361e7e5
commit
88902f7823
4 changed files with 14 additions and 14 deletions
|
@ -194,8 +194,10 @@ func GetPeersForProxy(node *models.Node, onlyPeers bool) (proxy_models.ProxyMana
|
||||||
|
|
||||||
func GetPeerUpdateForHost(host *models.Host) (models.HostPeerUpdate, error) {
|
func GetPeerUpdateForHost(host *models.Host) (models.HostPeerUpdate, error) {
|
||||||
hostPeerUpdate := models.HostPeerUpdate{
|
hostPeerUpdate := models.HostPeerUpdate{
|
||||||
Network: make(map[string]models.NetworkInfo),
|
Network: make(map[string]models.NetworkInfo),
|
||||||
PeerIDs: make(models.HostPeerMap),
|
PeerIDs: make(models.HostPeerMap),
|
||||||
|
ServerVersion: servercfg.GetVersion(),
|
||||||
|
ServerAddrs: []models.ServerAddr{},
|
||||||
}
|
}
|
||||||
peerIndexMap := make(map[string]int)
|
peerIndexMap := make(map[string]int)
|
||||||
for _, nodeID := range host.Nodes {
|
for _, nodeID := range host.Nodes {
|
||||||
|
@ -205,9 +207,7 @@ func GetPeerUpdateForHost(host *models.Host) (models.HostPeerUpdate, error) {
|
||||||
}
|
}
|
||||||
log.Println("peer update for node ", node.ID)
|
log.Println("peer update for node ", node.ID)
|
||||||
hostPeerUpdate.Network[node.Network] = models.NetworkInfo{
|
hostPeerUpdate.Network[node.Network] = models.NetworkInfo{
|
||||||
ServerVersion: servercfg.GetVersion(),
|
DNS: getPeerDNS(node.Network),
|
||||||
ServerAddr: node.Server,
|
|
||||||
DNS: getPeerDNS(node.Network),
|
|
||||||
}
|
}
|
||||||
currentPeers, err := GetNetworkNodes(node.Network)
|
currentPeers, err := GetNetworkNodes(node.Network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -18,16 +18,16 @@ type PeerUpdate struct {
|
||||||
|
|
||||||
// HostPeerUpdate
|
// HostPeerUpdate
|
||||||
type HostPeerUpdate struct {
|
type HostPeerUpdate struct {
|
||||||
Network map[string]NetworkInfo `json:"network" bson:"network" yaml:"network"`
|
ServerVersion string `json:"serverversion" bson:"serverversion" yaml:"serverversion"`
|
||||||
Peers []wgtypes.PeerConfig `json:"peers" bson:"peers" yaml:"peers"`
|
ServerAddrs []ServerAddr `json:"serveraddrs" bson:"serveraddrs" yaml:"serveraddrs"`
|
||||||
PeerIDs HostPeerMap `json:"peerids" bson:"peerids" yaml:"peerids"`
|
Network map[string]NetworkInfo `json:"network" bson:"network" yaml:"network"`
|
||||||
ProxyUpdate proxy_models.ProxyManagerPayload `json:"proxy_update" bson:"proxy_update" yaml:"proxy_update"`
|
Peers []wgtypes.PeerConfig `json:"peers" bson:"peers" yaml:"peers"`
|
||||||
|
PeerIDs HostPeerMap `json:"peerids" bson:"peerids" yaml:"peerids"`
|
||||||
|
ProxyUpdate proxy_models.ProxyManagerPayload `json:"proxy_update" bson:"proxy_update" yaml:"proxy_update"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type NetworkInfo struct {
|
type NetworkInfo struct {
|
||||||
ServerVersion string `json:"serverversion" bson:"serverversion" yaml:"serverversion"`
|
DNS string `json:"dns" bson:"dns" yaml:"dns"`
|
||||||
ServerAddr string `json:"serveraddr" bson:"serveraddr" yaml:"serveraddr"`
|
|
||||||
DNS string `json:"dns" bson:"dns" yaml:"dns"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// KeyUpdate - key update struct
|
// KeyUpdate - key update struct
|
||||||
|
|
|
@ -174,7 +174,7 @@ func fetchHostAcls(hostID string) []Acl {
|
||||||
return []Acl{
|
return []Acl{
|
||||||
{
|
{
|
||||||
AclType: "publishClientReceive",
|
AclType: "publishClientReceive",
|
||||||
Topic: fmt.Sprintf("peers/host/%s", hostID),
|
Topic: fmt.Sprintf("peers/host/%s/#", hostID),
|
||||||
Priority: -1,
|
Priority: -1,
|
||||||
Allow: true,
|
Allow: true,
|
||||||
},
|
},
|
||||||
|
|
|
@ -69,7 +69,7 @@ func PublishSingleHostUpdate(host *models.Host) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return publish(host, "peers/host", data)
|
return publish(host, fmt.Sprintf("peers/host/%s/%s", host.ID.String(), servercfg.GetServer()), data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// PublishPeerUpdate --- publishes a peer update to all the peers of a node
|
// PublishPeerUpdate --- publishes a peer update to all the peers of a node
|
||||||
|
|
Loading…
Add table
Reference in a new issue