|  | @@ -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() {
 |