// SetOpenShiftDefaults sets the default settings on the passed // client configuration func SetOpenShiftDefaults(config *kclient.Config) error { if len(config.UserAgent) == 0 { config.UserAgent = DefaultOpenShiftUserAgent() } if config.Version == "" { // Clients default to the preferred code API version // TODO: implement version negotiation (highest version supported by server) config.Version = latest.Version } if config.Prefix == "" { switch config.Version { case "v1beta3": config.Prefix = "/osapi" default: config.Prefix = "/oapi" } } version := config.Version versionInterfaces, err := latest.InterfacesFor(version) if err != nil { return fmt.Errorf("API version '%s' is not recognized (valid values: %s)", version, strings.Join(latest.Versions, ", ")) } if config.Codec == nil { config.Codec = versionInterfaces.Codec } return nil }
func setConfigDefaults(config *unversioned.Config) error { // if legacy group is not registered, return an error g, err := latest.Group("") if err != nil { return err } config.Prefix = "/api" 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 //} versionInterfaces, err := g.InterfacesFor(*config.GroupVersion) if err != nil { return fmt.Errorf("Legacy API version '%s' is not recognized (valid values: %s)", config.GroupVersion, g.GroupVersions) } config.Codec = versionInterfaces.Codec if config.QPS == 0 { config.QPS = 5 } if config.Burst == 0 { config.Burst = 10 } return nil }
// SetOpenShiftDefaults sets the default settings on the passed // client configuration func SetOpenShiftDefaults(config *kclient.Config) error { if len(config.UserAgent) == 0 { config.UserAgent = DefaultOpenShiftUserAgent() } if config.Version == "" { // Clients default to the preferred code API version config.Version = latest.Version } if config.Prefix == "" { config.Prefix = "/oapi" } version := config.Version versionInterfaces, err := latest.InterfacesFor(version) if err != nil { return fmt.Errorf("API version '%s' is not recognized (valid values: %s)", version, strings.Join(latest.Versions, ", ")) } if config.Codec == nil { config.Codec = versionInterfaces.Codec } return nil }
// Creates new Heapster REST client. When heapsterHost param is empty string the function // assumes that it is running inside a Kubernetes cluster and connects via service proxy. // heapsterHost param is in the format of protocol://address:port, e.g., http://localhost:8002. func CreateHeapsterRESTClient(heapsterHost string, apiclient *client.Client) ( HeapsterClient, error) { cfg := client.Config{} if heapsterHost == "" { bufferProxyHost := bytes.NewBufferString("http://") bufferProxyHost.WriteString(apiclient.RESTClient.Get().URL().Host) cfg.Host = bufferProxyHost.String() cfg.Prefix = "/api/v1/proxy/namespaces/kube-system/services/heapster/api" } else { cfg.Host = heapsterHost } log.Printf("Creating Heapster REST client for %s%s", cfg.Host, cfg.Prefix) clientFactory := new(ClientFactoryImpl) heapsterClient, err := clientFactory.New(&cfg) if err != nil { return nil, err } return heapsterClient.RESTClient, nil }
// SetOpenShiftDefaults sets the default settings on the passed // client configuration func SetOpenShiftDefaults(config *kclient.Config) error { if len(config.UserAgent) == 0 { config.UserAgent = DefaultOpenShiftUserAgent() } if config.GroupVersion == nil { // Clients default to the preferred code API version groupVersionCopy := latest.Version config.GroupVersion = &groupVersionCopy } if config.Prefix == "" { config.Prefix = "/oapi" } version := config.GroupVersion versionInterfaces, err := latest.InterfacesFor(*version) if err != nil { return fmt.Errorf("API version %q is not recognized (valid values: %v)", version, latest.Versions) } if config.Codec == nil { config.Codec = versionInterfaces.Codec } return nil }