mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-16 22:01:19 +08:00
updated service files for linux and darwin to start netclient daemon vice netclient checkin
This commit is contained in:
@@ -19,8 +19,8 @@ func SetupMacDaemon(interval string) error {
|
|||||||
}
|
}
|
||||||
binarypath := dir + "/netclient"
|
binarypath := dir + "/netclient"
|
||||||
|
|
||||||
if !ncutils.FileExists("/etc/netclient/netclient") {
|
if !ncutils.FileExists("/sbin/netclient") {
|
||||||
err = ncutils.Copy(binarypath, "/etc/netclient/netclient")
|
err = ncutils.Copy(binarypath, "/sbin/netclient")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return err
|
return err
|
||||||
@@ -49,6 +49,7 @@ func CleanupMac() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
os.RemoveAll(ncutils.GetNetclientPath())
|
os.RemoveAll(ncutils.GetNetclientPath())
|
||||||
|
os.Remove("/sbin/netclient")
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateMacService(servicename string, interval string) error {
|
func CreateMacService(servicename string, interval string) error {
|
||||||
@@ -76,10 +77,8 @@ func MacDaemonString(interval string) string {
|
|||||||
<key>Label</key><string>com.gravitl.netclient</string>
|
<key>Label</key><string>com.gravitl.netclient</string>
|
||||||
<key>ProgramArguments</key>
|
<key>ProgramArguments</key>
|
||||||
<array>
|
<array>
|
||||||
<string>/etc/netclient/netclient</string>
|
<string>/sbin/netclient</string>
|
||||||
<string>checkin</string>
|
<string>daemon</string>
|
||||||
<string>-n</string>
|
|
||||||
<string>all</string>
|
|
||||||
</array>
|
</array>
|
||||||
<key>StandardOutPath</key><string>/etc/netclient/com.gravitl.netclient.log</string>
|
<key>StandardOutPath</key><string>/etc/netclient/com.gravitl.netclient.log</string>
|
||||||
<key>StandardErrorPath</key><string>/etc/netclient/com.gravitl.netclient.log</string>
|
<key>StandardErrorPath</key><string>/etc/netclient/com.gravitl.netclient.log</string>
|
||||||
|
@@ -29,12 +29,10 @@ func SetupSystemDDaemon(interval string) error {
|
|||||||
log.Println("couldnt find or create /etc/netclient")
|
log.Println("couldnt find or create /etc/netclient")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
//install binary
|
||||||
if !ncutils.FileExists("/usr/local/bin/netclient") {
|
//should check if the existing binary is the corect version -- for now only copy if file doesn't exist
|
||||||
os.Symlink("/etc/netclient/netclient", "/usr/local/bin/netclient")
|
if !ncutils.FileExists("/usr/sbin/netclient") {
|
||||||
}
|
err = ncutils.Copy(binarypath, "/usr/sbin/netclient")
|
||||||
if !ncutils.FileExists("/etc/netclient/netclient") {
|
|
||||||
err = ncutils.Copy(binarypath, "/etc/netclient/netclient")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return err
|
return err
|
||||||
@@ -42,36 +40,17 @@ func SetupSystemDDaemon(interval string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
systemservice := `[Unit]
|
systemservice := `[Unit]
|
||||||
Description=Network Check
|
Description=Netclient message queue
|
||||||
Wants=netclient.timer
|
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
ExecStart=/etc/netclient/netclient checkin -n all
|
ExecStart=/usr/sbin/netclient daemon
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
`
|
|
||||||
|
|
||||||
systemtimer := `[Unit]
|
|
||||||
Description=Calls the Netmaker Mesh Client Service
|
|
||||||
Requires=netclient.service
|
|
||||||
|
|
||||||
[Timer]
|
|
||||||
Unit=netclient.service
|
|
||||||
|
|
||||||
`
|
|
||||||
systemtimer = systemtimer + "OnCalendar=*:*:0/" + interval
|
|
||||||
|
|
||||||
systemtimer = systemtimer +
|
|
||||||
`
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=timers.target
|
|
||||||
`
|
`
|
||||||
|
|
||||||
servicebytes := []byte(systemservice)
|
servicebytes := []byte(systemservice)
|
||||||
timerbytes := []byte(systemtimer)
|
|
||||||
|
|
||||||
if !ncutils.FileExists("/etc/systemd/system/netclient.service") {
|
if !ncutils.FileExists("/etc/systemd/system/netclient.service") {
|
||||||
err = os.WriteFile("/etc/systemd/system/netclient.service", servicebytes, 0644)
|
err = os.WriteFile("/etc/systemd/system/netclient.service", servicebytes, 0644)
|
||||||
@@ -80,25 +59,17 @@ WantedBy=timers.target
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !ncutils.FileExists("/etc/systemd/system/netclient.timer") {
|
|
||||||
err = os.WriteFile("/etc/systemd/system/netclient.timer", timerbytes, 0644)
|
|
||||||
if err != nil {
|
|
||||||
log.Println(err)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_, _ = ncutils.RunCmd("systemctl enable netclient.service", true)
|
_, _ = ncutils.RunCmd("systemctl enable netclient.service", true)
|
||||||
_, _ = ncutils.RunCmd("systemctl daemon-reload", true)
|
_, _ = ncutils.RunCmd("systemctl daemon-reload", true)
|
||||||
_, _ = ncutils.RunCmd("systemctl enable netclient.timer", true)
|
_, _ = ncutils.RunCmd("systemctl start netclient.server", true)
|
||||||
_, _ = ncutils.RunCmd("systemctl start netclient.timer", true)
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func CleanupLinux() {
|
func CleanupLinux() {
|
||||||
err := os.RemoveAll(ncutils.GetNetclientPath())
|
if err := os.RemoveAll(ncutils.GetNetclientPath()); err != nil {
|
||||||
if err != nil {
|
ncutils.PrintLog("Removing netclient configs: "+err.Error(), 1)
|
||||||
|
}
|
||||||
|
if err := os.Remove("/usr/sbin/netclient"); err != nil {
|
||||||
ncutils.PrintLog("Removing netclient binary: "+err.Error(), 1)
|
ncutils.PrintLog("Removing netclient binary: "+err.Error(), 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user