feat: add deployment foundation and cross-device handoff

This commit is contained in:
2026-09-25 08:49:19 +08:00
parent 8ccb8b7c15
commit e965b0943d
77 changed files with 8018 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
//go:build linux
package preflight
import (
"os"
"syscall"
"server-deploy/internal/inspect"
)
func Collect() Report {
return Probe(inspect.Collect(), os.DirFS("/"), os.Geteuid(), diskAvailable("/var/lib"))
}
func diskAvailable(path string) Disk {
var stat syscall.Statfs_t
if syscall.Statfs(path, &stat) != nil || stat.Bsize <= 0 || stat.Bavail > ^uint64(0)/uint64(stat.Bsize) {
return Disk{State: "unknown"}
}
return Disk{State: "observed", AvailableBytes: stat.Bavail * uint64(stat.Bsize)}
}