Skip to content

Commit ec872cc

Browse files
authored
feat(client): add function to gather node info (#17)
Signed-off-by: Niladri Halder <[email protected]>
1 parent 02b3c15 commit ec872cc

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# IDEs
2+
**/.idea
3+
14
# Binaries for programs and plugins
25
*.exe
36
*.exe~

pkg/client/k8s/node.go

+18
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,21 @@ func GetOSAndKernelVersion() (string, error) {
101101
nodedetails := firstNode.Items[0].Status.NodeInfo
102102
return nodedetails.OSImage + ", " + nodedetails.KernelVersion, nil
103103
}
104+
105+
// GetNodeInfo gathers details from the first Kubernetes Node and returns -- OS, Kernel version and Arch.
106+
func GetNodeInfo() (nodeOs, nodeKernelVersion, nodeArch string, err error) {
107+
nodes := Node()
108+
firstNode, err := nodes.List(metav1.ListOptions{Limit: 1})
109+
if err != nil {
110+
return "unknown",
111+
"unknown",
112+
"unknown",
113+
errors.Wrapf(err, "failed to get the os kernel/arch")
114+
}
115+
116+
nodeOs = firstNode.Items[0].Status.NodeInfo.OSImage
117+
nodeKernelVersion = firstNode.Items[0].Status.NodeInfo.KernelVersion
118+
nodeArch = firstNode.Items[0].Status.NodeInfo.Architecture
119+
120+
return
121+
}

0 commit comments

Comments
 (0)