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  }