1
0
mirror of https://github.com/k8sgpt-ai/k8sgpt.git synced 2025-05-11 01:26:35 +00:00
k8sgpt/pkg/client/client.go
AlexsJones a14cde2c1f updated copy on readme
Signed-off-by: AlexsJones <alexsimonjones@gmail.com>
2023-03-21 19:58:32 +00:00

36 lines
713 B
Go

package client
import (
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
)
type Client struct {
client *kubernetes.Clientset
}
func (c *Client) GetClient() *kubernetes.Clientset {
return c.client
}
func NewClient(masterURL string, kubeconfig string) (*Client, error) {
config, err := rest.InClusterConfig()
if err != nil {
kubeconfig :=
clientcmd.NewDefaultClientConfigLoadingRules().GetDefaultFilename()
config, err = clientcmd.BuildConfigFromFlags(masterURL, kubeconfig)
if err != nil {
return nil, err
}
}
clientSet, err := kubernetes.NewForConfig(config)
if err != nil {
return nil, err
}
return &Client{
client: clientSet,
}, nil
}