Skip to content

Commit 2f5acf6

Browse files
committed
sync changes on startup, add create relay calls on defaul host
1 parent da2c19f commit 2f5acf6

File tree

4 files changed

+53
-1
lines changed

4 files changed

+53
-1
lines changed

auth/host_session.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,10 @@ func CheckNetRegAndHostUpdate(networks []string, h *models.Host, relayNodeId uui
289289
logic.CreateFailOver(*newNode)
290290
// make host remote access gateway
291291
logic.CreateIngressGateway(network, newNode.ID.String(), models.IngressRequest{})
292+
logic.CreateRelay(models.RelayRequest{
293+
NodeID: newNode.ID.String(),
294+
NetID: network,
295+
})
292296
}
293297
}
294298
}

controllers/hosts.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,10 @@ func addHostToNetwork(w http.ResponseWriter, r *http.Request) {
521521
logic.CreateFailOver(*newNode)
522522
// make host remote access gateway
523523
logic.CreateIngressGateway(network, newNode.ID.String(), models.IngressRequest{})
524+
logic.CreateRelay(models.RelayRequest{
525+
NodeID: newNode.ID.String(),
526+
NetID: network,
527+
})
524528
}
525529
go func() {
526530
mq.HostUpdate(&models.HostUpdate{

logic/acls.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ var MigrateToGws = func() {
294294
return
295295
}
296296
for _, node := range nodes {
297-
if node.IsIngressGateway || node.IsRelay {
297+
if node.IsIngressGateway || node.IsRelay || node.IsInternetGateway {
298298
node.IsGw = true
299299
node.IsIngressGateway = true
300300
node.IsRelay = true

migrate/migrate.go

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,50 @@ func Run() {
3636
updateAcls()
3737
logic.MigrateToGws()
3838
migrateToEgressV1()
39+
resync()
40+
}
41+
42+
// removes if any stale configurations from previous run.
43+
func resync() {
44+
45+
nodes, _ := logic.GetAllNodes()
46+
for _, node := range nodes {
47+
if !node.IsGw {
48+
if len(node.RelayedNodes) > 0 {
49+
logic.DeleteRelay(node.Network, node.ID.String())
50+
}
51+
if node.IsIngressGateway {
52+
logic.DeleteIngressGateway(node.ID.String())
53+
}
54+
if len(node.InetNodeReq.InetNodeClientIDs) > 0 || node.IsInternetGateway {
55+
logic.UnsetInternetGw(&node)
56+
logic.UpsertNode(&node)
57+
}
58+
}
59+
if node.IsRelayed {
60+
if node.RelayedBy == "" {
61+
node.IsRelayed = false
62+
node.InternetGwID = ""
63+
logic.UpsertNode(&node)
64+
}
65+
if node.RelayedBy != "" {
66+
// check if node exists
67+
_, err := logic.GetNodeByID(node.ID.String())
68+
if err != nil {
69+
node.RelayedBy = ""
70+
node.InternetGwID = ""
71+
logic.UpsertNode(&node)
72+
}
73+
}
74+
}
75+
if node.InternetGwID != "" {
76+
_, err := logic.GetNodeByID(node.ID.String())
77+
if err != nil {
78+
node.InternetGwID = ""
79+
logic.UpsertNode(&node)
80+
}
81+
}
82+
}
3983
}
4084

4185
func assignSuperAdmin() {

0 commit comments

Comments
 (0)