Documentation ¶
Index ¶
- Constants
- Variables
- func GetConfig(context string, kubeconfig string) clientcmd.ClientConfig
- func ResourcePolicyIsKeep(annotations map[string]string) bool
- type Client
- func (c *Client) Build(namespace string, reader io.Reader) (Result, error)
- func (c *Client) BuildUnstructured(namespace string, reader io.Reader) (Result, error)
- func (c *Client) BuildUnstructuredTable(namespace string, reader io.Reader) (Result, error)
- func (c *Client) Create(namespace string, reader io.Reader, timeout int64, shouldWait bool) error
- func (c *Client) Delete(namespace string, reader io.Reader) error
- func (c *Client) DeleteWithTimeout(namespace string, reader io.Reader, timeout int64, shouldWait bool) error
- func (c *Client) Get(namespace string, reader io.Reader) (string, error)
- func (c *Client) GetPodLogs(name, ns string) (io.ReadCloser, error)
- func (c *Client) Update(namespace string, originalReader, targetReader io.Reader, force bool, ...) errordeprecated
- func (c *Client) UpdateWithOptions(namespace string, originalReader, targetReader io.Reader, opts UpdateOptions) error
- func (c *Client) Validate(namespace string, reader io.Reader) error
- func (c *Client) WaitAndGetCompletedPodPhase(namespace string, reader io.Reader, timeout time.Duration) (v1.PodPhase, error)
- func (c *Client) WaitUntilCRDEstablished(reader io.Reader, timeout time.Duration) error
- func (c *Client) WatchUntilReady(namespace string, reader io.Reader, timeout int64, shouldWait bool) error
- type ResourceActorFunc
- type Result
- func (r *Result) Append(val *resource.Info)
- func (r Result) Contains(info *resource.Info) bool
- func (r Result) Difference(rs Result) Result
- func (r Result) Filter(fn func(*resource.Info) bool) Result
- func (r Result) Get(info *resource.Info) *resource.Info
- func (r Result) Intersect(rs Result) Result
- func (r Result) Visit(fn resource.VisitorFunc) error
- type Tunnel
- type UpdateOptions
Constants ¶
const KubsAPIErrorMsg = "unable to recognize \"\": no matches for kind"
const MissingGetHeader = "==> MISSING\nKIND\t\tNAME\n"
MissingGetHeader is added to Get's output when a resource is not found.
const (
// ResourcePolicyAnno is the annotation name for a resource policy
ResourcePolicyAnno = "helm.sh/resource-policy"
)
Variables ¶
ErrNoObjectsVisited indicates that during a visit operation, no matching objects were found.
Functions ¶
func GetConfig ¶
func GetConfig(context string, kubeconfig string) clientcmd.ClientConfig
GetConfig returns a Kubernetes client config for a given context.
Types ¶
type Client ¶
Client represents a client capable of communicating with the Kubernetes API.
func (*Client) Build ¶
Build validates for Kubernetes objects and returns resource Infos from a io.Reader.
func (*Client) BuildUnstructured ¶
BuildUnstructured reads Kubernetes objects and returns unstructured infos.
func (*Client) BuildUnstructuredTable ¶
BuildUnstructuredTable reads Kubernetes objects and returns unstructured infos as a Table. This is meant for viewing resources and displaying them in a table. This is similar to BuildUnstructured but transforms the request for table display.
func (*Client) Create ¶
Create creates Kubernetes resources from an io.reader.
Namespace will set the namespace.
func (*Client) Delete ¶
Delete deletes Kubernetes resources from an io.reader.
Namespace will set the namespace.
func (*Client) DeleteWithTimeout ¶
func (c *Client) DeleteWithTimeout(namespace string, reader io.Reader, timeout int64, shouldWait bool) error
DeleteWithTimeout deletes Kubernetes resources from an io.reader. If shouldWait is true, the function will wait for all resources to be deleted from etcd before returning, or when the timeout has expired.
Namespace will set the namespace.
func (*Client) Get ¶
Get gets Kubernetes resources as pretty-printed string.
Namespace will set the namespace.
func (*Client) GetPodLogs ¶
func (c *Client) GetPodLogs(name, ns string) (io.ReadCloser, error)
GetPodLogs takes pod name and namespace and returns the current logs (streaming is NOT enabled).
func (*Client) Update
deprecated
func (c *Client) Update(namespace string, originalReader, targetReader io.Reader, force bool, recreate bool, timeout int64, shouldWait bool) error
Update reads the current configuration and a target configuration from io.reader and creates resources that don't already exist, updates resources that have been modified in the target configuration and deletes resources from the current configuration that are not present in the target configuration.
Namespace will set the namespaces.
Deprecated: use UpdateWithOptions instead.
func (*Client) UpdateWithOptions ¶
func (c *Client) UpdateWithOptions(namespace string, originalReader, targetReader io.Reader, opts UpdateOptions) error
UpdateWithOptions reads the current configuration and a target configuration from io.reader and creates resources that don't already exist, updates resources that have been modified in the target configuration and deletes resources from the current configuration that are not present in the target configuration.
Namespace will set the namespaces. UpdateOptions provides additional parameters to control update behavior.
func (*Client) Validate ¶
Validate reads Kubernetes manifests and validates the content.
This function does not actually do schema validation of manifests. Adding validation now breaks existing clients of helm: https://github.com/helm/helm/issues/5750
func (*Client) WaitAndGetCompletedPodPhase ¶
func (c *Client) WaitAndGetCompletedPodPhase(namespace string, reader io.Reader, timeout time.Duration) (v1.PodPhase, error)
WaitAndGetCompletedPodPhase waits up to a timeout until a pod enters a completed phase and returns said phase (PodSucceeded or PodFailed qualify).
func (*Client) WaitUntilCRDEstablished ¶
WaitUntilCRDEstablished polls the given CRD until it reaches the established state. A CRD needs to reach the established state before CRs can be created.
If a naming conflict condition is found, this function will return an error.
func (*Client) WatchUntilReady ¶
func (c *Client) WatchUntilReady(namespace string, reader io.Reader, timeout int64, shouldWait bool) error
WatchUntilReady watches the resource given in the reader, and waits until it is ready.
This function is mainly for hook implementations. It watches for a resource to hit a particular milestone. The milestone depends on the Kind.
For most kinds, it checks to see if the resource is marked as Added or Modified by the Kubernetes event stream. For some kinds, it does more:
- Jobs: A job is marked "Ready" when it has successfully completed. This is ascertained by watching the Status fields in a job's output.
Handling for other kinds will be added as necessary.
type ResourceActorFunc ¶
ResourceActorFunc performs an action on a single resource.
type Result ¶
Result provides convenience methods for comparing collections of Infos.
func (*Result) Append ¶
Append adds an Info to the Result.
func (Result) Contains ¶
Contains checks to see if an object exists.
func (Result) Difference ¶
Difference will return a new Result with objects not contained in rs.
func (Result) Filter ¶
Filter returns a new Result with Infos that satisfy the predicate fn.
func (Result) Get ¶
Get returns the Info from the result that matches the name and kind.
func (Result) Intersect ¶
Intersect will return a new Result with objects contained in both Results.
func (Result) Visit ¶
func (r Result) Visit(fn resource.VisitorFunc) error
Visit implements resource.Visitor.
type Tunnel ¶
type Tunnel struct { Local int Remote int Namespace string PodName string Out io.Writer // contains filtered or unexported fields }
Tunnel describes a ssh-like tunnel to a kubernetes pod