client

package
v0.20.3 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2024 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// NA Not available
	NA = "n/a"

	// NamespaceAll designates the fictional all namespace.
	NamespaceAll = "all"

	// AllNamespaces designates all namespaces.
	AllNamespaces = ""

	// ClusterScope designates a resource is not namespaced.
	ClusterScope = "-"

	// NotNamespaced designates a non resource namespace.
	NotNamespaced = "*"

	// BlankNamespace tracks an unspecified namespace.
	BlankNamespace = ""

	// DefaultNamespace tracks the default namespace.
	DefaultNamespace = "default"
)
View Source
const (

	// CallTimeout represents api call timeout limit.
	CallTimeout = 30 * time.Second
)

Variables

This section is empty.

Functions

func CleanseNamespace

func CleanseNamespace(ns string) string

CleanseNamespace ensures all ns maps to blank.

func FQN

func FQN(ns, n string) string

FQN returns a fully qualified resource name.

func IsAllNamespace

func IsAllNamespace(ns string) bool

IsAllNamespace returns true if ns == all.

func IsAllNamespaces

func IsAllNamespaces(ns string) bool

IsAllNamespaces returns true if all namespaces, false otherwise.

func IsClusterScoped

func IsClusterScoped(ns string) bool

IsClusterScoped returns true if resource is not namespaced.

func IsClusterWide

func IsClusterWide(ns string) bool

IsClusterWide returns true if ns designates cluster scope, false otherwise.

func IsNamespaced

func IsNamespaced(ns string) bool

IsNamespaced returns true if a specific ns is given.

func MetaFQN

func MetaFQN(m metav1.ObjectMeta) string

MetaFQN returns a fully qualified resource name.

func Namespaced

func Namespaced(p string) (string, string)

Namespaced converts a resource path to namespace and resource name.

Types

type APIClient

type APIClient struct {
	// contains filtered or unexported fields
}

APIClient represents a Kubernetes api client.

func InitConnectionOrDie

func InitConnectionOrDie(config types.Config) (*APIClient, error)

InitConnectionOrDie initialize connection from command line args. Checks for connectivity with the api server.

func NewTestClient

func NewTestClient() *APIClient

NewTestClient for testing ONLY!!

func (*APIClient) ActiveCluster

func (a *APIClient) ActiveCluster() string

ActiveCluster returns the current cluster name.

func (*APIClient) ActiveContext added in v0.11.2

func (a *APIClient) ActiveContext() string

ActiveContext returns the current context name.

func (*APIClient) ActiveNamespace

func (a *APIClient) ActiveNamespace() string

ActiveNamespace returns the current namespace.

func (*APIClient) CachedDiscovery added in v0.8.4

func (a *APIClient) CachedDiscovery() (*disk.CachedDiscoveryClient, error)

CachedDiscovery returns a cached discovery client.

func (*APIClient) CanI

func (a *APIClient) CanI(ns string, gvr types.GVR, verbs ...string) (auth bool, err error)

CanI checks if user has access to a certain resource.

func (*APIClient) CheckConnectivity

func (a *APIClient) CheckConnectivity() (status bool)

CheckConnectivity return true if api server is cool or false otherwise.

func (*APIClient) Config

func (a *APIClient) Config() types.Config

Config return a kubernetes configuration.

func (*APIClient) ConnectionOK added in v0.20.0

func (a *APIClient) ConnectionOK() bool

ConnectionOK checks api server connection status.

func (*APIClient) CurrentNamespaceName

func (a *APIClient) CurrentNamespaceName() (string, error)

CurrentNamespaceName return namespace name set via either cli arg or cluster config.

func (*APIClient) Dial added in v0.8.4

func (a *APIClient) Dial() (kubernetes.Interface, error)

Dial returns a handle to api server or an error

func (*APIClient) DynDial added in v0.8.4

func (a *APIClient) DynDial() (dynamic.Interface, error)

DynDial returns a handle to a dynamic interface.

func (*APIClient) HasMetrics

func (a *APIClient) HasMetrics() bool

HasMetrics checks if the cluster supports metrics and user is authorized to use metrics.

func (*APIClient) IsActiveNamespace

func (a *APIClient) IsActiveNamespace(ns string) bool

IsActiveNamespace returns true if namespaces matches.

func (*APIClient) MXDial

func (a *APIClient) MXDial() (*versioned.Clientset, error)

MXDial returns a handle to the metrics server.

func (*APIClient) RestConfig added in v0.8.4

func (a *APIClient) RestConfig() (*restclient.Config, error)

RestConfig returns a rest api client.

func (*APIClient) ServerVersion

func (a *APIClient) ServerVersion() (*version.Info, error)

ServerVersion returns the current server version info.

func (*APIClient) ValidNamespaces

func (a *APIClient) ValidNamespaces() ([]v1.Namespace, error)

ValidNamespaces returns all available namespaces.

type Config

type Config struct {
	// contains filtered or unexported fields
}

Config tracks a kubernetes configuration.

func NewConfig

func NewConfig(f *genericclioptions.ConfigFlags) *Config

NewConfig returns a new k8s config or an error if the flags are invalid.

func (*Config) CallTimeout added in v0.9.1

func (c *Config) CallTimeout() time.Duration

CallTimeout returns the call timeout if set or the default if not set.

func (*Config) ClusterNameFromContext

func (c *Config) ClusterNameFromContext(ctx string) (string, error)

ClusterNameFromContext returns the cluster associated with the given context.

func (*Config) ClusterNames

func (c *Config) ClusterNames() ([]string, error)

ClusterNames fetch all kubeconfig defined clusters.

func (*Config) ConfigAccess

func (c *Config) ConfigAccess() (clientcmd.ConfigAccess, error)

ConfigAccess return the current kubeconfig api server access configuration.

func (*Config) ContextNames

func (c *Config) ContextNames() ([]string, error)

ContextNames fetch all available contexts.

func (*Config) Contexts

func (c *Config) Contexts() (map[string]*clientcmdapi.Context, error)

Contexts fetch all available contexts.

func (*Config) CurrentClusterName

func (c *Config) CurrentClusterName() (string, error)

CurrentClusterName returns the active cluster name.

func (*Config) CurrentContextName

func (c *Config) CurrentContextName() (string, error)

CurrentContextName returns the currently active config context.

func (*Config) CurrentGroupNames

func (c *Config) CurrentGroupNames() ([]string, error)

CurrentGroupNames retrieves the active group names.

func (*Config) CurrentNamespaceName

func (c *Config) CurrentNamespaceName() (string, error)

CurrentNamespaceName retrieves the active namespace.

func (*Config) CurrentUserName

func (c *Config) CurrentUserName() (string, error)

CurrentUserName retrieves the active user name.

func (*Config) DelContext

func (c *Config) DelContext(n string) error

DelContext remove a given context from the configuration.

func (*Config) Flags

func (c *Config) Flags() *genericclioptions.ConfigFlags

Flags returns configuration flags.

func (*Config) GetContext

func (c *Config) GetContext(n string) (*clientcmdapi.Context, error)

GetContext fetch a given context or error if it does not exists.

func (*Config) ImpersonateGroups

func (c *Config) ImpersonateGroups() (string, error)

ImpersonateGroups retrieves the active groupsif set on the CLI.

func (*Config) ImpersonateUser

func (c *Config) ImpersonateUser() (string, error)

ImpersonateUser retrieves the active user name if set on the CLI.

func (*Config) NamespaceNames

func (c *Config) NamespaceNames(nns []v1.Namespace) []string

NamespaceNames fetch all available namespaces on current cluster.

func (*Config) RESTConfig

func (c *Config) RESTConfig() (*restclient.Config, error)

RESTConfig fetch the current REST api service connection.

func (*Config) RawConfig

func (c *Config) RawConfig() (clientcmdapi.Config, error)

RawConfig fetch the current kubeconfig with no overrides.

type ContainerMetrics

type ContainerMetrics map[string]Metrics

ContainerMetrics tracks container metrics

type Factory

type Factory struct {
	// contains filtered or unexported fields
}

Factory tracks various resource informers.

func NewFactory

func NewFactory(client types.Connection) *Factory

NewFactory returns a new informers factory.

func (*Factory) CanForResource

func (f *Factory) CanForResource(ns string, gvr types.GVR, verbs ...string) (informers.GenericInformer, error)

CanForResource return an informer is user has access.

func (*Factory) Client

func (f *Factory) Client() types.Connection

Client return the factory connection.

func (*Factory) FactoryFor

func (f *Factory) FactoryFor(ns string) di.DynamicSharedInformerFactory

FactoryFor returns a factory for a given namespace.

func (*Factory) ForResource

func (f *Factory) ForResource(ns string, gvr types.GVR) (informers.GenericInformer, error)

ForResource returns an informer for a given resource.

func (*Factory) Get

func (f *Factory) Get(gvr types.GVR, path string, wait bool, sel labels.Selector) (runtime.Object, error)

Get retrieves a given resource.

func (*Factory) List

func (f *Factory) List(gvr types.GVR, ns string, wait bool, labels labels.Selector) ([]runtime.Object, error)

List returns a resource collection.

func (*Factory) SetActiveNS

func (f *Factory) SetActiveNS(ns string) error

SetActiveNS sets the active namespace.

func (*Factory) Start

func (f *Factory) Start(ns string)

Start initializes the informers until caller cancels the context.

func (*Factory) Terminate

func (f *Factory) Terminate()

Terminate stops the factory.

func (*Factory) WaitForCacheSync

func (f *Factory) WaitForCacheSync()

WaitForCacheSync waits for all factories to update their cache.

type Metrics

type Metrics struct {
	CurrentCPU resource.Quantity
	CurrentMEM resource.Quantity
}

Metrics represent an aggregation of all pod containers metrics.

func (Metrics) Empty

func (m Metrics) Empty() bool

Empty checks if we have any metrics.

type NodeMetrics

type NodeMetrics struct {
	CurrentCPU   resource.Quantity
	CurrentMEM   resource.Quantity
	AvailableCPU resource.Quantity
	AvailableMEM resource.Quantity
	TotalCPU     resource.Quantity
	TotalMEM     resource.Quantity
}

NodeMetrics describes raw node metrics.

func (NodeMetrics) Empty

func (n NodeMetrics) Empty() bool

Empty checks if we have any metrics.

type NodesMetrics

type NodesMetrics map[string]NodeMetrics

NodesMetrics tracks usage metrics per nodes.

type PodsMetrics

type PodsMetrics map[string]ContainerMetrics

PodsMetrics tracks usage metrics per pods.

type Revision added in v0.9.6

type Revision struct {
	Info         *version.Info
	Major, Minor int
}

Revision tracks server version.

func NewRevision added in v0.9.6

func NewRevision(info *version.Info) (*Revision, error)

NewRevision returns a new instance.

Jump to

Keyboard shortcuts

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