mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-03 19:54:22 +08:00
sync changes on startup, add create relay calls on defaul host
This commit is contained in:
parent
da2c19fd9d
commit
2f5acf6742
4 changed files with 53 additions and 1 deletions
|
@ -289,6 +289,10 @@ func CheckNetRegAndHostUpdate(networks []string, h *models.Host, relayNodeId uui
|
|||
logic.CreateFailOver(*newNode)
|
||||
// make host remote access gateway
|
||||
logic.CreateIngressGateway(network, newNode.ID.String(), models.IngressRequest{})
|
||||
logic.CreateRelay(models.RelayRequest{
|
||||
NodeID: newNode.ID.String(),
|
||||
NetID: network,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -521,6 +521,10 @@ func addHostToNetwork(w http.ResponseWriter, r *http.Request) {
|
|||
logic.CreateFailOver(*newNode)
|
||||
// make host remote access gateway
|
||||
logic.CreateIngressGateway(network, newNode.ID.String(), models.IngressRequest{})
|
||||
logic.CreateRelay(models.RelayRequest{
|
||||
NodeID: newNode.ID.String(),
|
||||
NetID: network,
|
||||
})
|
||||
}
|
||||
go func() {
|
||||
mq.HostUpdate(&models.HostUpdate{
|
||||
|
|
|
@ -294,7 +294,7 @@ var MigrateToGws = func() {
|
|||
return
|
||||
}
|
||||
for _, node := range nodes {
|
||||
if node.IsIngressGateway || node.IsRelay {
|
||||
if node.IsIngressGateway || node.IsRelay || node.IsInternetGateway {
|
||||
node.IsGw = true
|
||||
node.IsIngressGateway = true
|
||||
node.IsRelay = true
|
||||
|
|
|
@ -36,6 +36,50 @@ func Run() {
|
|||
updateAcls()
|
||||
logic.MigrateToGws()
|
||||
migrateToEgressV1()
|
||||
resync()
|
||||
}
|
||||
|
||||
// removes if any stale configurations from previous run.
|
||||
func resync() {
|
||||
|
||||
nodes, _ := logic.GetAllNodes()
|
||||
for _, node := range nodes {
|
||||
if !node.IsGw {
|
||||
if len(node.RelayedNodes) > 0 {
|
||||
logic.DeleteRelay(node.Network, node.ID.String())
|
||||
}
|
||||
if node.IsIngressGateway {
|
||||
logic.DeleteIngressGateway(node.ID.String())
|
||||
}
|
||||
if len(node.InetNodeReq.InetNodeClientIDs) > 0 || node.IsInternetGateway {
|
||||
logic.UnsetInternetGw(&node)
|
||||
logic.UpsertNode(&node)
|
||||
}
|
||||
}
|
||||
if node.IsRelayed {
|
||||
if node.RelayedBy == "" {
|
||||
node.IsRelayed = false
|
||||
node.InternetGwID = ""
|
||||
logic.UpsertNode(&node)
|
||||
}
|
||||
if node.RelayedBy != "" {
|
||||
// check if node exists
|
||||
_, err := logic.GetNodeByID(node.ID.String())
|
||||
if err != nil {
|
||||
node.RelayedBy = ""
|
||||
node.InternetGwID = ""
|
||||
logic.UpsertNode(&node)
|
||||
}
|
||||
}
|
||||
}
|
||||
if node.InternetGwID != "" {
|
||||
_, err := logic.GetNodeByID(node.ID.String())
|
||||
if err != nil {
|
||||
node.InternetGwID = ""
|
||||
logic.UpsertNode(&node)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func assignSuperAdmin() {
|
||||
|
|
Loading…
Add table
Reference in a new issue