common.go 702 B

12345678910111213141516171819202122232425262728293031
  1. package daemon
  2. import (
  3. "errors"
  4. "runtime"
  5. "github.com/gravitl/netmaker/netclient/config"
  6. )
  7. // InstallDaemon - Calls the correct function to install the netclient as a daemon service on the given operating system.
  8. func InstallDaemon(cfg config.ClientConfig) error {
  9. os := runtime.GOOS
  10. var err error
  11. interval := "15"
  12. if cfg.Server.CheckinInterval != "" {
  13. interval = cfg.Server.CheckinInterval
  14. }
  15. switch os {
  16. case "windows":
  17. err = SetupWindowsDaemon()
  18. case "darwin":
  19. err = SetupMacDaemon(interval)
  20. case "linux":
  21. err = SetupSystemDDaemon(interval)
  22. default:
  23. err = errors.New("this os is not yet supported for daemon mode. Run join cmd with flag '--daemon off'")
  24. }
  25. return err
  26. }