// NewForConfig creates a new Clientset for the given config. func NewForConfig(c *restclient.Config) (*Clientset, error) { configShallowCopy := *c if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) } var cs Clientset var err error cs.CoreClient, err = internalversioncore.NewForConfig(&configShallowCopy) if err != nil { return nil, err } cs.AppsClient, err = internalversionapps.NewForConfig(&configShallowCopy) if err != nil { return nil, err } cs.AuthenticationClient, err = internalversionauthentication.NewForConfig(&configShallowCopy) if err != nil { return nil, err } cs.AuthorizationClient, err = internalversionauthorization.NewForConfig(&configShallowCopy) if err != nil { return nil, err } cs.AutoscalingClient, err = internalversionautoscaling.NewForConfig(&configShallowCopy) if err != nil { return nil, err } cs.BatchClient, err = internalversionbatch.NewForConfig(&configShallowCopy) if err != nil { return nil, err } cs.CertificatesClient, err = internalversioncertificates.NewForConfig(&configShallowCopy) if err != nil { return nil, err } cs.ExtensionsClient, err = internalversionextensions.NewForConfig(&configShallowCopy) if err != nil { return nil, err } cs.PolicyClient, err = internalversionpolicy.NewForConfig(&configShallowCopy) if err != nil { return nil, err } cs.RbacClient, err = internalversionrbac.NewForConfig(&configShallowCopy) if err != nil { return nil, err } cs.StorageClient, err = internalversionstorage.NewForConfig(&configShallowCopy) if err != nil { return nil, err } cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) if err != nil { glog.Errorf("failed to create the DiscoveryClient: %v", err) return nil, err } return &cs, nil }
func (p RESTStorageProvider) postStartHookFunc(hookContext genericapiserver.PostStartHookContext) error { clientset, err := extensionsclient.NewForConfig(hookContext.LoopbackClientConfig) if err != nil { utilruntime.HandleError(fmt.Errorf("unable to initialize clusterroles: %v", err)) return nil } thirdPartyControl := ThirdPartyController{ master: p.ResourceInterface, client: clientset, } go wait.Forever(func() { if err := thirdPartyControl.SyncResources(); err != nil { glog.Warningf("third party resource sync failed: %v", err) } }, 10*time.Second) return nil }