github.com/Racer159/jackal@v0.32.7-0.20240401174413-0bd2339e4f2e/src/pkg/k8s/nodes.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: 2021-Present The Jackal Authors 3 4 // Package k8s provides a client for interacting with a Kubernetes cluster. 5 package k8s 6 7 import ( 8 "context" 9 10 corev1 "k8s.io/api/core/v1" 11 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 12 ) 13 14 // GetNodes returns a list of nodes from the k8s cluster. 15 func (k *K8s) GetNodes() (*corev1.NodeList, error) { 16 metaOptions := metav1.ListOptions{} 17 return k.Clientset.CoreV1().Nodes().List(context.TODO(), metaOptions) 18 } 19 20 // GetNode returns a node from the k8s cluster. 21 func (k *K8s) GetNode(nodeName string) (*corev1.Node, error) { 22 return k.Clientset.CoreV1().Nodes().Get(context.TODO(), nodeName, metav1.GetOptions{}) 23 }