40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
package utils
|
|
|
|
import (
|
|
"k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
|
"k8s.io/client-go/kubernetes"
|
|
"k8s.io/client-go/rest"
|
|
"k8s.io/client-go/tools/clientcmd"
|
|
aggregator "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset"
|
|
)
|
|
|
|
// RestConfig Kubernetes kubeconfig
|
|
func RestConfig(kubeconfigPath string) (*rest.Config, error) {
|
|
config, err := clientcmd.BuildConfigFromFlags("", kubeconfigPath)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
config.QPS = float32(5.000000)
|
|
config.Burst = 10
|
|
config.ContentType = "application/json"
|
|
config.AcceptContentTypes = "application/json"
|
|
config.UserAgent = rest.DefaultKubernetesUserAgent()
|
|
|
|
return config, err
|
|
}
|
|
|
|
// NewClientSet Kubernetes ClientSet
|
|
func NewClientSet(c *rest.Config) (*kubernetes.Clientset, error) {
|
|
return kubernetes.NewForConfig(c)
|
|
}
|
|
|
|
// NewCRDsClient clientset ClientSet
|
|
func NewCRDsClient(c *rest.Config) (*clientset.Clientset, error) {
|
|
return clientset.NewForConfig(c)
|
|
}
|
|
|
|
// NewAPIRegistrationClient apiregistration ClientSet
|
|
func NewAPIRegistrationClient(c *rest.Config) (*aggregator.Clientset, error) {
|
|
return aggregator.NewForConfig(c)
|
|
}
|