//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)} }