mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-14 00:54:21 +08:00
Merge pull request #3231 from gravitl/NET-1842
NET-1842:initialize cache in startup
This commit is contained in:
commit
5cb49e3d45
4 changed files with 19 additions and 12 deletions
|
@ -91,7 +91,7 @@ func getAcls(w http.ResponseWriter, r *http.Request) {
|
||||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
acls, err := logic.ListAcls(models.NetworkID(netID))
|
acls, err := logic.ListAclsByNetwork(models.NetworkID(netID))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Log(0, r.Header.Get("user"), "failed to get all network acl entries: ", err.Error())
|
logger.Log(0, r.Header.Get("user"), "failed to get all network acl entries: ", err.Error())
|
||||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
||||||
|
|
|
@ -23,7 +23,7 @@ func CreateDefaultAclNetworkPolicies(netID models.NetworkID) {
|
||||||
if netID.String() == "" {
|
if netID.String() == "" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_, _ = ListAcls(netID)
|
_, _ = ListAclsByNetwork(netID)
|
||||||
if !IsAclExists(fmt.Sprintf("%s.%s", netID, "all-nodes")) {
|
if !IsAclExists(fmt.Sprintf("%s.%s", netID, "all-nodes")) {
|
||||||
defaultDeviceAcl := models.Acl{
|
defaultDeviceAcl := models.Acl{
|
||||||
ID: fmt.Sprintf("%s.%s", netID, "all-nodes"),
|
ID: fmt.Sprintf("%s.%s", netID, "all-nodes"),
|
||||||
|
@ -106,7 +106,7 @@ func CreateDefaultAclNetworkPolicies(netID models.NetworkID) {
|
||||||
|
|
||||||
// DeleteDefaultNetworkPolicies - deletes all default network acl policies
|
// DeleteDefaultNetworkPolicies - deletes all default network acl policies
|
||||||
func DeleteDefaultNetworkPolicies(netId models.NetworkID) {
|
func DeleteDefaultNetworkPolicies(netId models.NetworkID) {
|
||||||
acls, _ := ListAcls(netId)
|
acls, _ := ListAclsByNetwork(netId)
|
||||||
for _, acl := range acls {
|
for _, acl := range acls {
|
||||||
if acl.NetworkID == netId && acl.Default {
|
if acl.NetworkID == netId && acl.Default {
|
||||||
DeleteAcl(acl)
|
DeleteAcl(acl)
|
||||||
|
@ -347,7 +347,7 @@ func GetDefaultPolicy(netID models.NetworkID, ruleType models.AclPolicyType) (mo
|
||||||
return acl, nil
|
return acl, nil
|
||||||
}
|
}
|
||||||
// check if there are any custom all policies
|
// check if there are any custom all policies
|
||||||
policies, _ := ListAcls(netID)
|
policies, _ := ListAclsByNetwork(netID)
|
||||||
for _, policy := range policies {
|
for _, policy := range policies {
|
||||||
if !policy.Enabled {
|
if !policy.Enabled {
|
||||||
continue
|
continue
|
||||||
|
@ -367,7 +367,7 @@ func GetDefaultPolicy(netID models.NetworkID, ruleType models.AclPolicyType) (mo
|
||||||
return acl, nil
|
return acl, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func listAcls() (acls []models.Acl) {
|
func ListAcls() (acls []models.Acl) {
|
||||||
if servercfg.CacheEnabled() && len(aclCacheMap) > 0 {
|
if servercfg.CacheEnabled() && len(aclCacheMap) > 0 {
|
||||||
return listAclFromCache()
|
return listAclFromCache()
|
||||||
}
|
}
|
||||||
|
@ -393,7 +393,7 @@ func listAcls() (acls []models.Acl) {
|
||||||
|
|
||||||
// ListUserPolicies - lists all acl policies enforced on an user
|
// ListUserPolicies - lists all acl policies enforced on an user
|
||||||
func ListUserPolicies(u models.User) []models.Acl {
|
func ListUserPolicies(u models.User) []models.Acl {
|
||||||
allAcls := listAcls()
|
allAcls := ListAcls()
|
||||||
userAcls := []models.Acl{}
|
userAcls := []models.Acl{}
|
||||||
for _, acl := range allAcls {
|
for _, acl := range allAcls {
|
||||||
|
|
||||||
|
@ -418,7 +418,7 @@ func ListUserPolicies(u models.User) []models.Acl {
|
||||||
|
|
||||||
// listPoliciesOfUser - lists all user acl policies applied to user in an network
|
// listPoliciesOfUser - lists all user acl policies applied to user in an network
|
||||||
func listPoliciesOfUser(user models.User, netID models.NetworkID) []models.Acl {
|
func listPoliciesOfUser(user models.User, netID models.NetworkID) []models.Acl {
|
||||||
allAcls := listAcls()
|
allAcls := ListAcls()
|
||||||
userAcls := []models.Acl{}
|
userAcls := []models.Acl{}
|
||||||
for _, acl := range allAcls {
|
for _, acl := range allAcls {
|
||||||
if acl.NetworkID == netID && acl.RuleType == models.UserPolicy {
|
if acl.NetworkID == netID && acl.RuleType == models.UserPolicy {
|
||||||
|
@ -447,7 +447,7 @@ func listPoliciesOfUser(user models.User, netID models.NetworkID) []models.Acl {
|
||||||
|
|
||||||
// listDevicePolicies - lists all device policies in a network
|
// listDevicePolicies - lists all device policies in a network
|
||||||
func listDevicePolicies(netID models.NetworkID) []models.Acl {
|
func listDevicePolicies(netID models.NetworkID) []models.Acl {
|
||||||
allAcls := listAcls()
|
allAcls := ListAcls()
|
||||||
deviceAcls := []models.Acl{}
|
deviceAcls := []models.Acl{}
|
||||||
for _, acl := range allAcls {
|
for _, acl := range allAcls {
|
||||||
if acl.NetworkID == netID && acl.RuleType == models.DevicePolicy {
|
if acl.NetworkID == netID && acl.RuleType == models.DevicePolicy {
|
||||||
|
@ -458,9 +458,9 @@ func listDevicePolicies(netID models.NetworkID) []models.Acl {
|
||||||
}
|
}
|
||||||
|
|
||||||
// ListAcls - lists all acl policies
|
// ListAcls - lists all acl policies
|
||||||
func ListAcls(netID models.NetworkID) ([]models.Acl, error) {
|
func ListAclsByNetwork(netID models.NetworkID) ([]models.Acl, error) {
|
||||||
|
|
||||||
allAcls := listAcls()
|
allAcls := ListAcls()
|
||||||
netAcls := []models.Acl{}
|
netAcls := []models.Acl{}
|
||||||
for _, acl := range allAcls {
|
for _, acl := range allAcls {
|
||||||
if acl.NetworkID == netID {
|
if acl.NetworkID == netID {
|
||||||
|
|
9
main.go
9
main.go
|
@ -99,6 +99,15 @@ func initialize() { // Client Mode Prereq Check
|
||||||
logger.FatalLog("Error connecting to database: ", err.Error())
|
logger.FatalLog("Error connecting to database: ", err.Error())
|
||||||
}
|
}
|
||||||
logger.Log(0, "database successfully connected")
|
logger.Log(0, "database successfully connected")
|
||||||
|
|
||||||
|
//initialize cache
|
||||||
|
_, _ = logic.GetNetworks()
|
||||||
|
_, _ = logic.GetAllNodes()
|
||||||
|
_, _ = logic.GetAllHosts()
|
||||||
|
_, _ = logic.GetAllExtClients()
|
||||||
|
_ = logic.ListAcls()
|
||||||
|
_, _ = logic.GetAllEnrollmentKeys()
|
||||||
|
|
||||||
migrate.Run()
|
migrate.Run()
|
||||||
|
|
||||||
logic.SetJWTSecret()
|
logic.SetJWTSecret()
|
||||||
|
|
|
@ -20,8 +20,6 @@ import (
|
||||||
|
|
||||||
// Run - runs all migrations
|
// Run - runs all migrations
|
||||||
func Run() {
|
func Run() {
|
||||||
_, _ = logic.GetAllNodes()
|
|
||||||
_, _ = logic.GetAllHosts()
|
|
||||||
updateEnrollmentKeys()
|
updateEnrollmentKeys()
|
||||||
assignSuperAdmin()
|
assignSuperAdmin()
|
||||||
createDefaultTagsAndPolicies()
|
createDefaultTagsAndPolicies()
|
||||||
|
|
Loading…
Add table
Reference in a new issue