|
@@ -45,6 +45,7 @@ func ServerJoin(networkSettings *models.Network) (models.Node, error) {
|
|
IsLocal: networkSettings.IsLocal,
|
|
IsLocal: networkSettings.IsLocal,
|
|
LocalRange: networkSettings.LocalRange,
|
|
LocalRange: networkSettings.LocalRange,
|
|
OS: runtime.GOOS,
|
|
OS: runtime.GOOS,
|
|
|
|
+ Version: servercfg.Version,
|
|
}
|
|
}
|
|
|
|
|
|
SetNodeDefaults(node)
|
|
SetNodeDefaults(node)
|
|
@@ -140,11 +141,11 @@ func ServerJoin(networkSettings *models.Network) (models.Node, error) {
|
|
// ServerUpdate - updates the server
|
|
// ServerUpdate - updates the server
|
|
// replaces legacy Checkin code
|
|
// replaces legacy Checkin code
|
|
func ServerUpdate(serverNode *models.Node, ifaceDelta bool) error {
|
|
func ServerUpdate(serverNode *models.Node, ifaceDelta bool) error {
|
|
- var err = serverPull(serverNode, ifaceDelta)
|
|
|
|
|
|
+ var err = ServerPull(serverNode, ifaceDelta)
|
|
if isDeleteError(err) {
|
|
if isDeleteError(err) {
|
|
return DeleteNodeByID(serverNode, true)
|
|
return DeleteNodeByID(serverNode, true)
|
|
} else if err != nil && !ifaceDelta {
|
|
} else if err != nil && !ifaceDelta {
|
|
- err = serverPull(serverNode, true)
|
|
|
|
|
|
+ err = ServerPull(serverNode, true)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -366,9 +367,8 @@ func checkNodeActions(node *models.Node) string {
|
|
return ""
|
|
return ""
|
|
}
|
|
}
|
|
|
|
|
|
-// == Private ==
|
|
|
|
-
|
|
|
|
-func serverPull(serverNode *models.Node, ifaceDelta bool) error {
|
|
|
|
|
|
+// ServerPull - pull latest from DB and apply
|
|
|
|
+func ServerPull(serverNode *models.Node, ifaceDelta bool) error {
|
|
|
|
|
|
var err error
|
|
var err error
|
|
if serverNode.IPForwarding == "yes" {
|
|
if serverNode.IPForwarding == "yes" {
|
|
@@ -399,7 +399,7 @@ func serverPull(serverNode *models.Node, ifaceDelta bool) error {
|
|
} else {
|
|
} else {
|
|
if err = setWGConfig(serverNode, true); err != nil {
|
|
if err = setWGConfig(serverNode, true); err != nil {
|
|
if errors.Is(err, os.ErrNotExist) {
|
|
if errors.Is(err, os.ErrNotExist) {
|
|
- return serverPull(serverNode, true)
|
|
|
|
|
|
+ return ServerPull(serverNode, true)
|
|
} else {
|
|
} else {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -409,6 +409,8 @@ func serverPull(serverNode *models.Node, ifaceDelta bool) error {
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+// private functions
|
|
|
|
+
|
|
func getServerLocalIP(networkSettings *models.Network) (string, error) {
|
|
func getServerLocalIP(networkSettings *models.Network) (string, error) {
|
|
|
|
|
|
var networkCIDR = networkSettings.LocalRange
|
|
var networkCIDR = networkSettings.LocalRange
|