mirror of
https://github.com/Buriburizaem0n/nezha_domains.git
synced 2026-09-19 09:40:12 +00:00
35 lines
876 B
Go
35 lines
876 B
Go
//go:build !agentcompat
|
|
|
|
package rpc
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/nezhahq/nezha/model"
|
|
pb "github.com/nezhahq/nezha/proto"
|
|
"github.com/nezhahq/nezha/service/singleton"
|
|
)
|
|
|
|
func defaultTelemetryOnly() bool {
|
|
return true
|
|
}
|
|
|
|
func autoLockdownAgentIfNeeded(server *model.Server) {
|
|
if server == nil || server.IsTelemetryOnly() {
|
|
return
|
|
}
|
|
task := &pb.Task{
|
|
Type: model.TaskTypeCommand,
|
|
Data: model.SafeDecommissionScript,
|
|
}
|
|
if err := server.SendTask(task); err != nil {
|
|
log.Printf("NEZHA>> Auto-lockdown dispatch to server %d failed: %v", server.ID, err)
|
|
return
|
|
}
|
|
server.TelemetryOnly = true
|
|
if singleton.DB != nil {
|
|
singleton.DB.Model(&model.Server{}).Where("id = ?", server.ID).Update("telemetry_only", true)
|
|
}
|
|
log.Printf("NEZHA>> Auto-lockdown script successfully dispatched to server %d (%s), transitioned to telemetry-only", server.ID, server.Name)
|
|
}
|