Prechádzať zdrojové kódy

create default tags on network

abhishek9686 11 mesiacov pred
rodič
commit
272dfda088
3 zmenil súbory, kde vykonal 35 pridanie a 1 odobranie
  1. 2 1
      controllers/network.go
  2. 22 0
      logic/tags.go
  3. 11 0
      migrate/migrate.go

+ 2 - 1
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)
 

+ 22 - 0
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
+	}
+}

+ 11 - 0
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))
+	}
+}