mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-05 16:57:51 +08:00
set networkservers on network create
This commit is contained in:
@@ -225,7 +225,8 @@ func createNetwork(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if servercfg.IsClientMode() != "off" {
|
if servercfg.IsClientMode() != "off" {
|
||||||
err = logic.ServerJoin(&network)
|
var node models.Node
|
||||||
|
node, err = logic.ServerJoin(&network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logic.DeleteNetwork(network.NetID)
|
logic.DeleteNetwork(network.NetID)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
@@ -234,6 +235,7 @@ func createNetwork(w http.ResponseWriter, r *http.Request) {
|
|||||||
returnErrorResponse(w, r, formatError(err, "internal"))
|
returnErrorResponse(w, r, formatError(err, "internal"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
getServerAddrs(&node)
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.Log(1, r.Header.Get("user"), "created network", network.NetID)
|
logger.Log(1, r.Header.Get("user"), "created network", network.NetID)
|
||||||
|
@@ -26,10 +26,10 @@ const KUBERNETES_LISTEN_PORT = 31821
|
|||||||
const KUBERNETES_SERVER_MTU = 1024
|
const KUBERNETES_SERVER_MTU = 1024
|
||||||
|
|
||||||
// ServerJoin - responsible for joining a server to a network
|
// ServerJoin - responsible for joining a server to a network
|
||||||
func ServerJoin(networkSettings *models.Network) error {
|
func ServerJoin(networkSettings *models.Network) (models.Node, error) {
|
||||||
|
var returnNode models.Node
|
||||||
if networkSettings == nil || networkSettings.NetID == "" {
|
if networkSettings == nil || networkSettings.NetID == "" {
|
||||||
return errors.New("no network provided")
|
return returnNode, errors.New("no network provided")
|
||||||
}
|
}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
@@ -70,7 +70,7 @@ func ServerJoin(networkSettings *models.Network) error {
|
|||||||
}
|
}
|
||||||
if err != nil || node.Endpoint == "" {
|
if err != nil || node.Endpoint == "" {
|
||||||
logger.Log(0, "Error setting server node Endpoint.")
|
logger.Log(0, "Error setting server node Endpoint.")
|
||||||
return err
|
return returnNode, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ func ServerJoin(networkSettings *models.Network) error {
|
|||||||
wgPrivatekey, err := wgtypes.GeneratePrivateKey()
|
wgPrivatekey, err := wgtypes.GeneratePrivateKey()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Log(1, err.Error())
|
logger.Log(1, err.Error())
|
||||||
return err
|
return returnNode, err
|
||||||
}
|
}
|
||||||
privateKey = wgPrivatekey.String()
|
privateKey = wgPrivatekey.String()
|
||||||
node.PublicKey = wgPrivatekey.PublicKey().String()
|
node.PublicKey = wgPrivatekey.PublicKey().String()
|
||||||
@@ -91,11 +91,11 @@ func ServerJoin(networkSettings *models.Network) error {
|
|||||||
|
|
||||||
logger.Log(2, "adding a server instance on network", node.Network)
|
logger.Log(2, "adding a server instance on network", node.Network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return returnNode, err
|
||||||
}
|
}
|
||||||
err = SetNetworkNodesLastModified(node.Network)
|
err = SetNetworkNodesLastModified(node.Network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return returnNode, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// get free port based on returned default listen port
|
// get free port based on returned default listen port
|
||||||
@@ -110,30 +110,30 @@ func ServerJoin(networkSettings *models.Network) error {
|
|||||||
if node.IsLocal == "yes" && node.LocalRange != "" {
|
if node.IsLocal == "yes" && node.LocalRange != "" {
|
||||||
node.LocalAddress, err = ncutils.GetLocalIP(node.LocalRange)
|
node.LocalAddress, err = ncutils.GetLocalIP(node.LocalRange)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return returnNode, err
|
||||||
}
|
}
|
||||||
node.Endpoint = node.LocalAddress
|
node.Endpoint = node.LocalAddress
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = CreateNode(node); err != nil {
|
if err = CreateNode(node); err != nil {
|
||||||
return err
|
return returnNode, err
|
||||||
}
|
}
|
||||||
if err = StorePrivKey(node.ID, privateKey); err != nil {
|
if err = StorePrivKey(node.ID, privateKey); err != nil {
|
||||||
return err
|
return returnNode, err
|
||||||
}
|
}
|
||||||
|
|
||||||
peers, hasGateway, gateways, err := GetServerPeers(node)
|
peers, hasGateway, gateways, err := GetServerPeers(node)
|
||||||
if err != nil && !ncutils.IsEmptyRecord(err) {
|
if err != nil && !ncutils.IsEmptyRecord(err) {
|
||||||
logger.Log(1, "failed to retrieve peers")
|
logger.Log(1, "failed to retrieve peers")
|
||||||
return err
|
return returnNode, err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = initWireguard(node, privateKey, peers[:], hasGateway, gateways[:])
|
err = initWireguard(node, privateKey, peers[:], hasGateway, gateways[:])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return returnNode, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return *node, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ServerUpdate - updates the server
|
// ServerUpdate - updates the server
|
||||||
|
@@ -52,7 +52,7 @@ func SyncServerNetwork(network string) error {
|
|||||||
}
|
}
|
||||||
return logic.ServerUpdate(&serverNode, true)
|
return logic.ServerUpdate(&serverNode, true)
|
||||||
} else if !ifaceExists {
|
} else if !ifaceExists {
|
||||||
err := logic.ServerJoin(&serverNetworkSettings)
|
_, err := logic.ServerJoin(&serverNetworkSettings)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == nil {
|
if err == nil {
|
||||||
err = errors.New("network add failed for " + serverNetworkSettings.NetID)
|
err = errors.New("network add failed for " + serverNetworkSettings.NetID)
|
||||||
|
Reference in New Issue
Block a user