restconfig

package
v1.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 22, 2023 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultTimeout = 15 * time.Second

DefaultTimeout is the default REST config timeout.

Variables

View Source
var CurrentContextName = currentContextNameFromConfig

CurrentContextName returns the name of the currently active k8s context as a string Can be changed in tests by reassigning this pointer.

Functions

func AllKubectlConfigs

func AllKubectlConfigs(timeout time.Duration) (map[string]*rest.Config, error)

AllKubectlConfigs creates a config for every context available in the kubeconfig. The configs are mapped by context name. There is no way to detect unhealthy clusters specified by a context, so timeout can be used to prevent calls to those clusters from hanging for long periods of time.

func DeepCopy added in v1.15.1

func DeepCopy(from *rest.Config) *rest.Config

DeepCopy returns a deep copy of the specified rest.Config. For reference, see rest.CopyConfig: https://github.com/kubernetes/client-go/blob/v0.24.0/rest/config.go#L630

func DeepCopyInto added in v1.15.1

func DeepCopyInto(from, to *rest.Config)

DeepCopyInto copies one rest.Config into another. For reference, see rest.CopyConfig: https://github.com/kubernetes/client-go/blob/v0.24.0/rest/config.go#L630

func KubeConfigPath added in v1.17.0

func KubeConfigPath() (string, error)

KubeConfigPath returns the path to the kubeconfig: 1. ${KUBECONFIG}, if non-empty 2. ${userCurrentTestHook.HomeDir}/.kube/config, if userCurrentTestHook is set 3. ${HOME}/.kube/config

func NewConfigFlags

func NewConfigFlags(config *rest.Config) (*genericclioptions.ConfigFlags, error)

NewConfigFlags builds ConfigFlags based on an existing rest config. Burst QPS is increased by 3x for discovery. CacheDir is populated from the KUBECACHEDIR env var, if set.

func NewFromConfigFile added in v1.15.1

func NewFromConfigFile(path string) (*rest.Config, error)

NewFromConfigFile returns a REST config built from the kube config file at the specified path.

func NewFromInClusterConfig added in v1.15.1

func NewFromInClusterConfig() (*rest.Config, error)

NewFromInClusterConfig returns a REST config built from the k8s downward API. This should work from inside a Pod to talk to the cluster the Pod is in.

func NewRestConfig

func NewRestConfig(timeout time.Duration) (*rest.Config, error)

NewRestConfig will attempt to create a new rest config from all configured options and return the first successfully created configuration. The client-side throttling is only determined by if server-side flow control is enabled or not. If server-side flow control is enabled, then client-side throttling is disabled, vice versa.

func UpdateQPS

func UpdateQPS(config *rest.Config)

UpdateQPS modifies a rest.Config to update the client-side throttling QPS and Burst QPS.

- If Flow Control is enabled on the apiserver, and client-side throttling is not forced to be enabled, client-side throttling is disabled! - If Flow Control is disabled or undetected on the apiserver, client-side throttling QPS will be increased to at least 30 (burst: 60).

Flow Control is enabled by default on Kubernetes v1.20+. https://kubernetes.io/docs/concepts/cluster-administration/flow-control/

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL