rollouts/pkg/util/client/registry.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)
}