Documentation ¶
Overview ¶
Package kubectl is a set of libraries that are used by the kubectl command line tool. They are separated out into a library to support unit testing. Most functionality should be included in this package, and the main kubectl should really just be an entry point.
A set of common functions needed by cmd/kubectl and pkg/kubectl packages.
Index ¶
- Constants
- func CreateResource(resource, id string) ([]byte, error)
- func Describe(w io.Writer, c client.Interface, resource, id string) error
- func Get(w io.Writer, c *client.RESTClient, namespace string, resource string, ...) error
- func GetClientVersion(w io.Writer)
- func GetKubeClient(config *client.Config, matchVersion bool) (*client.Client, error)
- func GetVersion(w io.Writer, kubeClient client.Interface)
- func Modify(w io.Writer, c *client.RESTClient, namespace string, action ModifyAction, ...) error
- func SaveNamespaceInfo(path string, ns *NamespaceInfo) error
- type AuthInfo
- type HumanReadablePrinter
- type JSONPrinter
- type ModifyAction
- type NamespaceInfo
- type ProxyServer
- type ResourcePrinter
- type TemplatePrinter
- type YAMLPrinter
Constants ¶
const ( ModifyCreate = ModifyAction("create") ModifyUpdate = ModifyAction("update") ModifyDelete = ModifyAction("delete") )
Variables ¶
This section is empty.
Functions ¶
func CreateResource ¶
func GetClientVersion ¶
func GetKubeClient ¶
func Modify ¶
func Modify(w io.Writer, c *client.RESTClient, namespace string, action ModifyAction, data []byte) error
func SaveNamespaceInfo ¶
func SaveNamespaceInfo(path string, ns *NamespaceInfo) error
SaveNamespaceInfo saves a NamespaceInfo object at the specified file path.
Types ¶
type AuthInfo ¶
type HumanReadablePrinter ¶
type HumanReadablePrinter struct {
// contains filtered or unexported fields
}
HumanReadablePrinter is an implementation of ResourcePrinter which attempts to provide more elegant output.
func NewHumanReadablePrinter ¶
func NewHumanReadablePrinter(noHeaders bool) *HumanReadablePrinter
NewHumanReadablePrinter creates a HumanReadablePrinter.
func (*HumanReadablePrinter) Handler ¶
func (h *HumanReadablePrinter) Handler(columns []string, printFunc interface{}) error
Handler adds a print handler with a given set of columns to HumanReadablePrinter instance. printFunc is the function that will be called to print an object. It must be of the following type:
func printFunc(object ObjectType, w io.Writer) error
where ObjectType is the type of the object that will be printed.
type JSONPrinter ¶
type JSONPrinter struct{}
IdentityPrinter is an implementation of ResourcePrinter which simply copies the body out to the output stream.
type ModifyAction ¶
type ModifyAction string
type NamespaceInfo ¶
type NamespaceInfo struct {
Namespace string
}
func LoadNamespaceInfo ¶
func LoadNamespaceInfo(path string) (*NamespaceInfo, error)
LoadNamespaceInfo parses a NamespaceInfo object from a file path. It creates a file at the specified path if it doesn't exist with the default namespace.
type ProxyServer ¶
type ProxyServer struct { httputil.ReverseProxy Port int }
ProxyServer is a http.Handler which proxies Kubernetes APIs to remote API server.
func NewProxyServer ¶
NewProxyServer creates and installs a new ProxyServer. It automatically registers the created ProxyServer to http.DefaultServeMux.
func (*ProxyServer) Serve ¶
func (s *ProxyServer) Serve() error
Serve starts the server (http.DefaultServeMux) on TCP port 8001, loops forever.
type ResourcePrinter ¶
type ResourcePrinter interface { // Print receives an arbitrary JSON body, formats it and prints it to a writer. PrintObj(runtime.Object, io.Writer) error }
ResourcePrinter is an interface that knows how to print API resources.
type TemplatePrinter ¶
TemplatePrinter is an implementation of ResourcePrinter which formats data with a Go Template.
type YAMLPrinter ¶
type YAMLPrinter struct{}
YAMLPrinter is an implementation of ResourcePrinter which parsess JSON, and re-formats as YAML.