mirror of
https://github.com/hanzoai/insights-go.git
synced 2026-09-30 22:46:12 +00:00
32 lines
511 B
Go
32 lines
511 B
Go
//go:build linux
|
|
|
|
package insights
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
func getOSInfo() osInfo {
|
|
data, err := os.ReadFile("/etc/os-release")
|
|
if err != nil {
|
|
return osInfo{
|
|
Name: "Linux",
|
|
}
|
|
}
|
|
|
|
fields := make(map[string]string)
|
|
for _, line := range strings.Split(string(data), "\n") {
|
|
parts := strings.SplitN(line, "=", 2)
|
|
if len(parts) == 2 {
|
|
fields[parts[0]] = strings.Trim(parts[1], `"`)
|
|
}
|
|
}
|
|
|
|
return osInfo{
|
|
Name: "Linux",
|
|
Version: fields["VERSION_ID"],
|
|
Distro: fields["NAME"],
|
|
}
|
|
}
|