Documentation ¶
Overview ¶
Package client ships helper functions for building and using Kubernetes client.
Index ¶
Constants ¶
const ( // PollInterval defines how long we wait before next attempt while waiting for the objects. PollInterval = 5 * time.Second // RetryTimeout defines how long we wait before timing out waiting for the objects. RetryTimeout = 10 * time.Minute )
Variables ¶
This section is empty.
Functions ¶
func NewClientset ¶
func NewClientset(data []byte) (*kubernetes.Clientset, error)
NewClientset returns Kubernetes clientset object from kubeconfig string.
Types ¶
type Client ¶
type Client interface { // CheckNodeExists returns a function, which checks, if given node exists. CheckNodeExists(name string) func() (bool, error) // CheckNodeReady returns a function, which checks, if given node is ready. CheckNodeReady(name string) func() (bool, error) // WaitForNode waits, until Node object shows up in the API. WaitForNode(name string) error // WaitForNodeReady waits, until Node object becomes ready. WaitForNodeReady(name string) error // LabelNode patches Node object to set given labels on it. LabelNode(name string, labels map[string]string) error // PingWait waits until API server becomes available. PingWait(pollInterval, retryTimeout time.Duration) error }
Client defines exported capabilities of Flexkube k8s client.
type Config ¶
type Config struct { // Server is a Kubernetes API server address. // // Example value: 'k8s.example.com:6443'. // // This field is required. Server string `json:"server,omitempty"` // CACertificate stores PEM encoded X.509 CA certificate, which was used // to sign Kubernetes API server certificate. // // This field is required. CACertificate types.Certificate `json:"caCertificate,omitempty"` // ClientCertificate stores PEM encoded X.509 client certificate, which will // be used for authentication and authorization to Kubernetes API server. // // This field is optional if Token field is populated. ClientCertificate types.Certificate `json:"clientCertificate,omitempty"` // ClientCertificate stores PEM encoded private key in PKCS1, PKCS8 or EC formats, // which will be used for authentication and authorization to Kubernetes API server. // Key must match configured ClientCertificate. // // This field is optional if Token field is populated. ClientKey types.PrivateKey `json:"clientKey,omitempty"` // Token stores Kubernetes token, which will be used for authentication and authrization // to Kubernetes API server. Usually used by kubelet to perform TLS bootstrapping. Token string `json:"token,omitempty"` }
Config is a simplified version of kubeconfig.
func (*Config) ToYAMLString ¶
ToYAMLString converts given configuration to kubeconfig format as YAML text.
type Getter ¶
type Getter struct {
// contains filtered or unexported fields
}
Getter implements k8s.io/cli-runtime/pkg/genericclioptions.RESTClientGetter interface.
func NewGetter ¶
NewGetter takes content of kubeconfig file as an argument and returns implementation of RESTClientGetter k8s interface.
func (*Getter) ToDiscoveryClient ¶
func (c *Getter) ToDiscoveryClient() (discovery.CachedDiscoveryInterface, error)
ToDiscoveryClient is part of k8s.io/cli-runtime/pkg/genericclioptions.RESTClientGetter interface.
func (*Getter) ToRESTConfig ¶
ToRESTConfig is part of k8s.io/cli-runtime/pkg/genericclioptions.RESTClientGetter interface.
func (*Getter) ToRESTMapper ¶
func (c *Getter) ToRESTMapper() (meta.RESTMapper, error)
ToRESTMapper is part of k8s.io/cli-runtime/pkg/genericclioptions.RESTClientGetter interface.
func (*Getter) ToRawKubeConfigLoader ¶
func (c *Getter) ToRawKubeConfigLoader() clientcmd.ClientConfig
ToRawKubeConfigLoader is part of k8s.io/cli-runtime/pkg/genericclioptions.RESTClientGetter interface.