From 43d948948272792b05b7a099e25d6825cb832271 Mon Sep 17 00:00:00 2001 From: abhishek9686 Date: Wed, 16 Oct 2024 18:46:26 +0400 Subject: [PATCH 1/2] fix static check --- logic/nodes.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/logic/nodes.go b/logic/nodes.go index af59f6e9..b0f13236 100644 --- a/logic/nodes.go +++ b/logic/nodes.go @@ -710,11 +710,7 @@ func GetTagMapWithNodes(netID models.NetworkID) (tagNodesMap map[models.TagID][] continue } for nodeTagID := range nodeI.Tags { - if _, ok := tagNodesMap[nodeTagID]; ok { - tagNodesMap[nodeTagID] = append(tagNodesMap[nodeTagID], nodeI) - } else { - tagNodesMap[nodeTagID] = []models.Node{nodeI} - } + tagNodesMap[nodeTagID] = append(tagNodesMap[nodeTagID], nodeI) } } return From 272dfda088c0ef007fb0488bb89e775f15ad070d Mon Sep 17 00:00:00 2001 From: abhishek9686 Date: Thu, 17 Oct 2024 10:41:33 +0400 Subject: [PATCH 2/2] create default tags on network --- controllers/network.go | 3 ++- logic/tags.go | 22 ++++++++++++++++++++++ migrate/migrate.go | 11 +++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/controllers/network.go b/controllers/network.go index 03f40cb9..d6ad45e6 100644 --- a/controllers/network.go +++ b/controllers/network.go @@ -530,8 +530,9 @@ func createNetwork(w http.ResponseWriter, r *http.Request) { logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest")) return } - logic.CreateDefaultNetworkRolesAndGroups(models.NetworkID(network.NetID)) + logic.CreateDefaultNetworkRolesAndGroups(models.NetworkID(network.NetID)) + logic.CreateDefaultTags(models.NetworkID(network.NetID)) //add new network to allocated ip map go logic.AddNetworkToAllocatedIpMap(network.NetID) diff --git a/logic/tags.go b/logic/tags.go index 413f9a3d..1bca3968 100644 --- a/logic/tags.go +++ b/logic/tags.go @@ -7,9 +7,11 @@ import ( "regexp" "sort" "sync" + "time" "github.com/gravitl/netmaker/database" "github.com/gravitl/netmaker/models" + "golang.org/x/exp/slog" ) var tagMutex = &sync.RWMutex{} @@ -201,3 +203,23 @@ func CheckIDSyntax(id string) error { } return nil } + +func CreateDefaultTags(netID models.NetworkID) { + // create tag for remote access gws in the network + tag := models.Tag{ + ID: models.TagID(fmt.Sprintf("%s.%s", netID.String(), "remote-access-gws")), + TagName: "remote-access-gws", + Network: netID, + CreatedBy: "auto", + CreatedAt: time.Now(), + } + _, err := GetTag(tag.ID) + if err == nil { + return + } + err = InsertTag(tag) + if err != nil { + slog.Error("failed to create remote access gw tag", "error", err.Error()) + return + } +} diff --git a/migrate/migrate.go b/migrate/migrate.go index 6612d4dd..3f42a0a9 100644 --- a/migrate/migrate.go +++ b/migrate/migrate.go @@ -26,6 +26,7 @@ func Run() { updateHosts() updateNodes() updateAcls() + createDefaultTags() } func assignSuperAdmin() { @@ -432,3 +433,13 @@ func syncUsers() { } } } + +func createDefaultTags() { + networks, err := logic.GetNetworks() + if err != nil { + return + } + for _, network := range networks { + logic.CreateDefaultTags(models.NetworkID(network.NetID)) + } +}