Documentation ¶
Overview ¶
Package kubernetes contains a minimal client for the Kubernetes API.
Index ¶
- Constants
- type Client
- func (c *Client) AwaitPodNotPending(ctx context.Context, podName, podResourceVersion string) (*api.Pod, error)
- func (c *Client) CreateSecret(ctx context.Context, secret *api.Secret) (*api.Secret, error)
- func (c *Client) DeletePod(ctx context.Context, podName string) error
- func (c *Client) GetNodes(ctx context.Context) ([]api.Node, error)
- func (c *Client) GetPods(ctx context.Context) ([]api.Pod, error)
- func (c *Client) GetSecret(ctx context.Context, name string) (*api.Secret, error)
- func (c *Client) PodLog(ctx context.Context, podName string) (string, error)
- func (c *Client) PodStatus(ctx context.Context, podName string) (*api.PodStatus, error)
- func (c *Client) RunPod(ctx context.Context, pod *api.Pod) (*api.Pod, error)
- func (c *Client) WatchPod(ctx context.Context, podName, podResourceVersion string) (<-chan PodStatusResult, error)
- type PodStatusResult
Constants ¶
const (
// APIEndpoint defines the base path for kubernetes API resources.
APIEndpoint = "/api/v1"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a client for the Kubernetes master.
func NewClient ¶
NewClient returns a new Kubernetes client. The provided host is an url (scheme://hostname[:port]) of a Kubernetes master without any path. The provided client is an authorized http.Client used to perform requests to the Kubernetes API master.
func (*Client) AwaitPodNotPending ¶
func (c *Client) AwaitPodNotPending(ctx context.Context, podName, podResourceVersion string) (*api.Pod, error)
awaitPodNotPending will return a pod's status in a podStatusResult when the pod is no longer in the pending state. The podResourceVersion is required to prevent a pod's entire history from being retrieved when the watch is initiated. If there is an error polling for the pod's status, or if ctx.Done is closed, podStatusResult will contain an error.
func (*Client) CreateSecret ¶
CreateSecret creates a new secret resource in the default secret namespace with the given secret API specification.
func (*Client) GetSecret ¶
GetSecret returns the specified secret from the default secret namespace.
func (*Client) RunPod ¶
Run creates a new pod resource in the default pod namespace with the given pod API specification. It returns the pod status once it has entered the Running phase. An error is returned if the pod can not be created, if it does does not enter the running phase within 2 minutes, or if ctx.Done is closed.
func (*Client) WatchPod ¶
func (c *Client) WatchPod(ctx context.Context, podName, podResourceVersion string) (<-chan PodStatusResult, error)
WatchPod long-polls the Kubernetes watch API to be notified of changes to the specified pod. Changes are sent on the returned PodStatusResult channel as they are received. The podResourceVersion is required to prevent a pod's entire history from being retrieved when the watch is initiated. The provided context must be canceled or timed out to stop the watch. If any error occurs communicating with the Kubernetes API, the error will be sent on the returned PodStatusResult channel and it will be closed.