func setConfigDefaults(config *unversioned.Config) error { // if extensions group is not registered, return an error g, err := registered.Group("extensions") if err != nil { return err } config.APIPath = "/apis" if config.UserAgent == "" { config.UserAgent = unversioned.DefaultKubernetesUserAgent() } // TODO: Unconditionally set the config.Version, until we fix the config. //if config.Version == "" { copyGroupVersion := g.GroupVersion config.GroupVersion = ©GroupVersion //} config.Codec = api.Codecs.LegacyCodec(*config.GroupVersion) if config.QPS == 0 { config.QPS = 5 } if config.Burst == 0 { config.Burst = 10 } return nil }
// New creates a Kubernetes client for the given config. This client works with pods, // replication controllers, daemons, and services. It allows operations such as list, get, update // and delete on these objects. An error is returned if the provided configuration // is not valid. func New(c *Config) (*Client, error) { config := *c if err := SetKubernetesDefaults(&config); err != nil { return nil, err } client, err := RESTClientFor(&config) if err != nil { return nil, err } discoveryConfig := *c discoveryClient, err := NewDiscoveryClientForConfig(&discoveryConfig) if err != nil { return nil, err } if _, err := registered.Group(extensions.GroupName); err != nil { return &Client{RESTClient: client, ExtensionsClient: nil, DiscoveryClient: discoveryClient}, nil } experimentalConfig := *c experimentalClient, err := NewExtensions(&experimentalConfig) if err != nil { return nil, err } return &Client{RESTClient: client, ExtensionsClient: experimentalClient, DiscoveryClient: discoveryClient}, nil }
// SetKubernetesDefaults sets default values on the provided client config for accessing the // Kubernetes API or returns an error if any of the defaults are impossible or invalid. // TODO: this method needs to be split into one that sets defaults per group, expected to be fix in PR "Refactoring clientcache.go and helper.go #14592" func SetKubernetesDefaults(config *Config) error { if config.APIPath == "" { config.APIPath = legacyAPIPath } if len(config.UserAgent) == 0 { config.UserAgent = DefaultKubernetesUserAgent() } g, err := registered.Group(api.GroupName) if err != nil { return err } // TODO: Unconditionally set the config.Version, until we fix the config. copyGroupVersion := g.GroupVersion config.GroupVersion = ©GroupVersion if config.Codec == nil { config.Codec = api.Codecs.LegacyCodec(*config.GroupVersion) } if config.QPS == 0.0 { config.QPS = 5.0 } if config.Burst == 0 { config.Burst = 10 } return nil }
func setExtensionsDefaults(config *Config) error { // if experimental group is not registered, return an error g, err := registered.Group(extensions.GroupName) if err != nil { return err } config.APIPath = defaultAPIPath if config.UserAgent == "" { config.UserAgent = DefaultKubernetesUserAgent() } // TODO: Unconditionally set the config.Version, until we fix the config. //if config.Version == "" { copyGroupVersion := g.GroupVersion config.GroupVersion = ©GroupVersion //} config.Codec = api.Codecs.LegacyCodec(*config.GroupVersion) if config.QPS == 0 { config.QPS = 5 } if config.Burst == 0 { config.Burst = 10 } return nil }