package k8s import ( "fmt" "github.com/omnex/control-plane/api/internal/config" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" ) func NewClient(cfg *config.Config) (*kubernetes.Clientset, error) { var ( k8sCfg *rest.Config err error ) if cfg.Kubeconfig != "" { k8sCfg, err = clientcmd.BuildConfigFromFlags("", cfg.Kubeconfig) } else { k8sCfg, err = rest.InClusterConfig() } if err != nil { return nil, fmt.Errorf("k8s config: %w", err) } client, err := kubernetes.NewForConfig(k8sCfg) if err != nil { return nil, fmt.Errorf("k8s clientset: %w", err) } return client, nil }