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"))
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)

View file

@ -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
}
}

View file

@ -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))
}
}