Add the system command with reboot subcommand

This commit is contained in:
dawid committed 2022-05-13 23:06:51 +02:00
1 parent 7197fce351
commit c9ba91c585
7 files changed
+356 -59

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
//go:build linux && amd64
package portal
import (
"context"
"syscall"
"github.com/apex/log"
"github.com/dpogorzelski/speedrun/proto/portal"
)
func (s *Server) SystemReboot(ctx context.Context, file *portal.SystemRebootRequest) (*portal.SystemRebootResponse, error) {
fields := log.Fields{
"context": "system",
"command": "reboot",
}
log := log.WithFields(fields)
log.Debug("Received system reboot request")
syscall.Sync()
go syscall.Reboot(syscall.LINUX_REBOOT_CMD_RESTART)
return &portal.SystemRebootResponse{State: portal.State_CHANGED, Message: "Rebooting"}, nil
}