123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package daemon
- import (
- "errors"
- "runtime"
- "time"
- "github.com/gravitl/netmaker/netclient/config"
- )
- // InstallDaemon - Calls the correct function to install the netclient as a daemon service on the given operating system.
- func InstallDaemon(cfg config.ClientConfig) error {
- os := runtime.GOOS
- var err error
- interval := "15"
- if cfg.Server.CheckinInterval != "" {
- interval = cfg.Server.CheckinInterval
- }
- switch os {
- case "windows":
- err = SetupWindowsDaemon()
- case "darwin":
- err = SetupMacDaemon(interval)
- case "linux":
- err = SetupSystemDDaemon(interval)
- default:
- err = errors.New("this os is not yet supported for daemon mode. Run join cmd with flag '--daemon off'")
- }
- return err
- }
- func Restart() error {
- os := runtime.GOOS
- var err error
- time.Sleep(time.Second)
- switch os {
- case "windows":
- RestartWindowsDaemon()
- case "darwin":
- RestartLaunchD()
- case "linux":
- RestartSystemD()
- default:
- err = errors.New("this os is not yet supported for daemon mode. Run join cmd with flag '--daemon off'")
- }
- return err
- }
|