Files
omnex/control-plane/api/internal/k8s/client.go
T
Nuxgrid 6b4274d12b
docker-publish / publish (push) Failing after 14m14s
feat: add api
2026-07-27 16:06:19 +02:00

35 lines
653 B
Go

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
}