Merge branch 'feature-messageQueue' of github.com:gravitl/netmaker into feature-messageQueue

This commit is contained in:
Matthew R Kasun 2022-01-20 11:32:12 -05:00
commit 9f00ec8817
4 changed files with 15 additions and 37 deletions

1
.gitignore vendored
View file

@ -17,4 +17,3 @@ config/dnsconfig/
data/
.idea/
.vscode/

View file

@ -215,8 +215,3 @@ func Daemon() error {
err := functions.Daemon()
return err
}
func Daemon() error {
err := functions.Daemon()
return err
}

View file

@ -4,30 +4,31 @@ import (
"fmt"
"log"
"os"
"path/filepath"
"github.com/gravitl/netmaker/netclient/ncutils"
)
const MAC_SERVICE_NAME = "com.gravitl.netclient"
// SetupMacDaemon - Creates a daemon service from the netclient under LaunchAgents for MacOS
func SetupMacDaemon(interval string) error {
if !ncutils.FileExists("/etc/netclient/netclient") {
binarypath, err := os.Executable()
dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
if err != nil {
return err
}
ncutils.PrintLog("installing binary from "+binarypath, 0)
err = ncutils.Copy(binarypath, "/etc/netclient/netclient")
binarypath := dir + "/netclient"
if !ncutils.FileExists("/sbin/netclient") {
err = ncutils.Copy(binarypath, "/sbin/netclient")
if err != nil {
log.Println(err)
return err
}
}
_, err := os.Stat("~/Library/LaunchAgents")
if os.IsNotExist(err) {
_, errN := os.Stat("~/Library/LaunchAgents")
if os.IsNotExist(errN) {
os.Mkdir("~/Library/LaunchAgents", 0755)
}
err = CreateMacService(MAC_SERVICE_NAME, interval)
@ -38,7 +39,6 @@ func SetupMacDaemon(interval string) error {
return err
}
// CleanupMac - Removes the netclient checkin daemon from LaunchDaemons
func CleanupMac() {
_, err := ncutils.RunCmd("launchctl unload /Library/LaunchDaemons/"+MAC_SERVICE_NAME+".plist", true)
if ncutils.FileExists("/Library/LaunchDaemons/" + MAC_SERVICE_NAME + ".plist") {
@ -49,9 +49,9 @@ func CleanupMac() {
}
os.RemoveAll(ncutils.GetNetclientPath())
os.Remove("/sbin/netclient")
}
// CreateMacService - Creates the mac service file for LaunchDaemons
func CreateMacService(servicename string, interval string) error {
_, err := os.Stat("/Library/LaunchDaemons")
if os.IsNotExist(err) {
@ -69,7 +69,6 @@ func CreateMacService(servicename string, interval string) error {
return err
}
// MacDaemonString - the file contents for the mac netclient daemon service (launchdaemon)
func MacDaemonString(interval string) string {
return fmt.Sprintf(`<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\" >
@ -78,10 +77,8 @@ func MacDaemonString(interval string) string {
<key>Label</key><string>com.gravitl.netclient</string>
<key>ProgramArguments</key>
<array>
<string>/etc/netclient/netclient</string>
<string>checkin</string>
<string>-n</string>
<string>all</string>
<string>/sbin/netclient</string>
<string>daemon</string>
</array>
<key>StandardOutPath</key><string>/etc/netclient/com.gravitl.netclient.log</string>
<key>StandardErrorPath</key><string>/etc/netclient/com.gravitl.netclient.log</string>
@ -98,7 +95,6 @@ func MacDaemonString(interval string) string {
`, interval)
}
// MacTemplateData - struct to represent the mac service
type MacTemplateData struct {
Label string
Interval string

View file

@ -69,22 +69,10 @@ func ApplyWGQuickConf(confPath string) error {
return err
}
// ApplyMacOSConf - applies system commands similar to wg-quick using golang for MacOS
func ApplyMacOSConf(node models.Node, ifacename string, confPath string) error {
var err error
_ = WgQuickDownMac(node, ifacename)
err = WgQuickUpMac(node, ifacename, confPath)
return err
}
// SyncWGQuickConf - formats config file and runs sync command
func SyncWGQuickConf(iface string, confPath string) error {
var tmpConf = confPath + ".sync.tmp"
var confCmd = "wg-quick strip "
if ncutils.IsMac() {
confCmd = "grep -v -e Address -e MTU -e PostUp -e PostDown "
}
confRaw, err := ncutils.RunCmd(confCmd+confPath, false)
confRaw, err := ncutils.RunCmd("wg-quick strip "+confPath, false)
if err != nil {
return err
}