mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-07 21:54:54 +08:00
network and ACL initialization
This commit is contained in:
parent
88cd0a6497
commit
96772bb4bd
5 changed files with 41 additions and 6 deletions
|
@ -475,6 +475,7 @@ func SetNodeDefaults(node *models.Node) {
|
|||
node.SetDefaultIsK8S()
|
||||
node.SetDefaultIsHub()
|
||||
node.SetDefaultConnected()
|
||||
node.SetDefaultACL()
|
||||
}
|
||||
|
||||
// GetRecordKey - get record key
|
||||
|
|
|
@ -11,13 +11,18 @@ import (
|
|||
|
||||
// InitializeNetworkUsers - intializes network users for a given network
|
||||
func InitializeNetworkUsers(network string) error {
|
||||
newNetUserMap := make(promodels.NetworkUserMap)
|
||||
netUserData, err := json.Marshal(newNetUserMap)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return database.Insert(network, string(netUserData), database.NETWORK_USER_TABLE_NAME)
|
||||
_, err := database.FetchRecord(database.NETWORK_USER_TABLE_NAME, network)
|
||||
if err != nil && database.IsEmptyRecord(err) {
|
||||
newNetUserMap := make(promodels.NetworkUserMap)
|
||||
netUserData, err := json.Marshal(newNetUserMap)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return database.Insert(network, string(netUserData), database.NETWORK_USER_TABLE_NAME)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
// GetNetworkUsers - gets the network users table
|
||||
|
|
|
@ -142,6 +142,13 @@ func (node *Node) SetDefaultConnected() {
|
|||
}
|
||||
}
|
||||
|
||||
// Node.SetDefaultACL
|
||||
func (node *Node) SetDefaultACL() {
|
||||
if node.DefaultACL == "" {
|
||||
node.DefaultACL = "yes"
|
||||
}
|
||||
}
|
||||
|
||||
// Node.SetDefaultMTU - sets default MTU of a node
|
||||
func (node *Node) SetDefaultMTU() {
|
||||
if node.MTU == 0 {
|
||||
|
|
|
@ -24,6 +24,9 @@ func Join(cfg *config.ClientConfig, privateKey string) error {
|
|||
// Do that before the Joining Network flow by performing the end point auth flow
|
||||
// if performed successfully an access key is obtained from the server and then we
|
||||
// proceed with the usual flow 'pretending' that user is feeded us with an access token
|
||||
if len(cfg.Network) == 0 || cfg.Network == "all" {
|
||||
return fmt.Errorf("no network provided. Specify network with \"-n <net name>\"")
|
||||
}
|
||||
logger.Log(1, "Logging into %s via:", cfg.Network, cfg.SsoServer)
|
||||
err = functions.JoinViaSSo(cfg, privateKey)
|
||||
if err != nil {
|
||||
|
|
|
@ -10,6 +10,7 @@ import (
|
|||
"github.com/gravitl/netmaker/logic"
|
||||
"github.com/gravitl/netmaker/logic/acls"
|
||||
"github.com/gravitl/netmaker/logic/acls/nodeacls"
|
||||
"github.com/gravitl/netmaker/logic/pro"
|
||||
"github.com/gravitl/netmaker/netclient/ncutils"
|
||||
"github.com/gravitl/netmaker/servercfg"
|
||||
)
|
||||
|
@ -89,6 +90,10 @@ func SetDefaults() error {
|
|||
return err
|
||||
}
|
||||
|
||||
if err := setNetworkDefaults(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -111,3 +116,17 @@ func setNodeDefaults() error {
|
|||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func setNetworkDefaults() error {
|
||||
// upgraded systems will not have NetworkUsers's set, which is why we need this function
|
||||
networks, err := logic.GetNetworks()
|
||||
if err != nil && !database.IsEmptyRecord(err) {
|
||||
return err
|
||||
}
|
||||
for _, net := range networks {
|
||||
if err = pro.InitializeNetworkUsers(net.NetID); err != nil {
|
||||
logger.Log(0, "could not initialize NetworkUsers on network ", net.NetID)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue