create default tags on network

This commit is contained in:
abhishek9686 2024-10-17 10:41:33 +04:00
parent 43d9489482
commit 272dfda088
3 changed files with 35 additions and 1 deletions

View file

@ -530,8 +530,9 @@ func createNetwork(w http.ResponseWriter, r *http.Request) {
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest")) logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
return 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 //add new network to allocated ip map
go logic.AddNetworkToAllocatedIpMap(network.NetID) go logic.AddNetworkToAllocatedIpMap(network.NetID)

View file

@ -7,9 +7,11 @@ import (
"regexp" "regexp"
"sort" "sort"
"sync" "sync"
"time"
"github.com/gravitl/netmaker/database" "github.com/gravitl/netmaker/database"
"github.com/gravitl/netmaker/models" "github.com/gravitl/netmaker/models"
"golang.org/x/exp/slog"
) )
var tagMutex = &sync.RWMutex{} var tagMutex = &sync.RWMutex{}
@ -201,3 +203,23 @@ func CheckIDSyntax(id string) error {
} }
return nil 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
}
}

View file

@ -26,6 +26,7 @@ func Run() {
updateHosts() updateHosts()
updateNodes() updateNodes()
updateAcls() updateAcls()
createDefaultTags()
} }
func assignSuperAdmin() { 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))
}
}