41 lines
764 B
Go
41 lines
764 B
Go
package client
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"k8s.io/client-go/rest"
|
|
)
|
|
|
|
var (
|
|
cfg *rest.Config
|
|
|
|
defaultGenericClient *GenericClientset
|
|
)
|
|
|
|
// NewRegistry creates clientset by client-go
|
|
func NewRegistry(c *rest.Config) error {
|
|
var err error
|
|
defaultGenericClient, err = newForConfig(c)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
cfgCopy := *c
|
|
cfg = &cfgCopy
|
|
return nil
|
|
}
|
|
|
|
// GetGenericClient returns default clientset
|
|
func GetGenericClient() *GenericClientset {
|
|
return defaultGenericClient
|
|
}
|
|
|
|
// GetGenericClientWithName returns clientset with given name as user-agent
|
|
func GetGenericClientWithName(name string) *GenericClientset {
|
|
if cfg == nil {
|
|
return nil
|
|
}
|
|
newCfg := *cfg
|
|
newCfg.UserAgent = fmt.Sprintf("%s/%s", cfg.UserAgent, name)
|
|
return newForConfigOrDie(&newCfg)
|
|
}
|