func newCmdUpdateCheck(cl *libcmdline.CommandLine, g *libkb.GlobalContext) cli.Command { return cli.Command{ Name: "check", Usage: "Trigger an update check", Action: func(c *cli.Context) { updaterPath, err := install.UpdaterBinPath() if err != nil { g.Log.Errorf("Error finding updater path: %s", err) return } g.Log.Errorf("This is no longer supported. Instead you can run:\n\n\t%s check", updaterPath) }, } }
// Run watchdog func (c *CmdWatchdog2) Run() error { env, log := c.G().Env, c.G().Log log.Info("Starting watchdog") runMode := env.GetRunMode() if runMode != libkb.ProductionRunMode { return fmt.Errorf("Watchdog is only supported in production") } // Don't run updater on linux excludeUpdater := runtime.GOOS == "linux" programs := []watchdog.Program{} // Service keybasePath, err := install.BinPath() if err != nil { return err } serviceLogPath := filepath.Join(env.GetLogDir(), libkb.ServiceLogFileName) serviceProgram := watchdog.Program{ Path: keybasePath, Args: []string{ "-d", "--log-file=" + serviceLogPath, "service", "--watchdog-forked", }, ExitOn: watchdog.ExitOnSuccess, } programs = append(programs, serviceProgram) // KBFS kbfsPath, err := install.KBFSBinPath(runMode, "") if err != nil { return err } mountDir, err := env.GetMountDir() if err != nil { return err } kbfsProgram := watchdog.Program{ Path: kbfsPath, Args: []string{ "-debug", "-log-to-file", mountDir, }, } programs = append(programs, kbfsProgram) // Updater if !excludeUpdater { updaterPath, err := install.UpdaterBinPath() if err != nil { return err } updaterProgram := watchdog.Program{ Path: updaterPath, Args: []string{ "-log-to-file", "-path-to-keybase=" + keybasePath, }, } programs = append(programs, updaterProgram) } // Start and monitor all the programs if err := watchdog.Watch(programs, 10*time.Second, c.G().GetLogf()); err != nil { return err } // Wait forever (watchdog watches programs in separate goroutines) select {} }