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 ¶
var ErrNoObjectsVisited = goerrors.New("no objects visited")
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.
func ResourcePolicyIsKeep ¶
func ResourcePolicyIsKeep(annotations map[string]string) bool
ResourcePolicyIsKeep accepts a map of Kubernetes resource annotations and
returns true if the resource should be kept, otherwise false if it is safe
for Helm to delete.
Types ¶
type Client ¶
type Client struct {
cmdutil.Factory
Log func(string, ...interface{})
}
Client represents a client capable of communicating with the Kubernetes API.
func (*Client) Build ¶
func (c *Client) Build(namespace string, reader io.Reader) (Result, error)
Build validates for Kubernetes objects and returns resource Infos from a io.Reader.
func (*Client) BuildUnstructured ¶
func (c *Client) BuildUnstructured(namespace string, reader io.Reader) (Result, error)
BuildUnstructured reads Kubernetes objects and returns unstructured infos.
func (*Client) BuildUnstructuredTable ¶
func (c *Client) BuildUnstructuredTable(namespace string, reader io.Reader) (Result, error)
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 ¶
func (c *Client) Create(namespace string, reader io.Reader, timeout int64, shouldWait bool) error
Create creates Kubernetes resources from an io.reader.
Namespace will set the namespace.
func (*Client) Delete ¶
func (c *Client) Delete(namespace string, reader io.Reader) error
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 ¶
func (c *Client) Get(namespace string, reader io.Reader) (string, error)
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 ¶
func (c *Client) Validate(namespace string, reader io.Reader) error
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 ¶
func (c *Client) WaitUntilCRDEstablished(reader io.Reader, timeout time.Duration) error
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 ¶
type ResourceActorFunc func(*resource.Info) error
ResourceActorFunc performs an action on a single resource.
type Result ¶
type Result []*resource.Info
Result provides convenience methods for comparing collections of Infos.
func (*Result) Append ¶
func (r *Result) Append(val *resource.Info)
Append adds an Info to the Result.
func (Result) Contains ¶
func (r Result) Contains(info *resource.Info) bool
Contains checks to see if an object exists.
func (Result) Difference ¶
func (r Result) Difference(rs Result) Result
Difference will return a new Result with objects not contained in rs.
func (Result) Filter ¶
func (r Result) Filter(fn func(*resource.Info) bool) Result
Filter returns a new Result with Infos that satisfy the predicate fn.
func (Result) Get ¶
func (r Result) Get(info *resource.Info) *resource.Info
Get returns the Info from the result that matches the name and kind.
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
func NewTunnel ¶
func NewTunnel(client rest.Interface, config *rest.Config, namespace, podName string, remote int) *Tunnel
NewTunnel creates a new tunnel
func (*Tunnel) ForwardPort ¶
func (t *Tunnel) ForwardPort() error
ForwardPort opens a tunnel to a kubernetes pod
type UpdateOptions ¶
type UpdateOptions struct {
Force bool
Recreate bool
Timeout int64
ShouldWait bool
// Allow deletion of new resources created in this update when update failed
CleanupOnFail bool
}
UpdateOptions provides options to control update behavior