client-go: Index | Files

package remotecommand

import ""

Package remotecommand adds support for executing commands in containers, with support for separate stdin, stdout, and stderr streams, as well as TTY.


Package Files

doc.go errorstream.go reader.go remotecommand.go resize.go v1.go v2.go v3.go v4.go

type Executor Uses

type Executor interface {
    // Stream initiates the transport of the standard shell streams. It will transport any
    // non-nil stream to a remote system, and return an error if a problem occurs. If tty
    // is set, the stderr stream is not used (raw TTY manages stdout and stderr over the
    // stdout stream).
    Stream(options StreamOptions) error

Executor is an interface for transporting shell-style streams.

func NewSPDYExecutor Uses

func NewSPDYExecutor(config *restclient.Config, method string, url *url.URL) (Executor, error)

NewSPDYExecutor connects to the provided server and upgrades the connection to multiplexed bidirectional streams.

func NewSPDYExecutorForProtocols Uses

func NewSPDYExecutorForProtocols(transport http.RoundTripper, upgrader spdy.Upgrader, method string, url *url.URL, protocols ...string) (Executor, error)

NewSPDYExecutorForProtocols connects to the provided server and upgrades the connection to multiplexed bidirectional streams using only the provided protocols. Exposed for testing, most callers should use NewSPDYExecutor or NewSPDYExecutorForTransports.

func NewSPDYExecutorForTransports Uses

func NewSPDYExecutorForTransports(transport http.RoundTripper, upgrader spdy.Upgrader, method string, url *url.URL) (Executor, error)

NewSPDYExecutorForTransports connects to the provided server using the given transport, upgrades the response using the given upgrader to multiplexed bidirectional streams.

type StreamOptions Uses

type StreamOptions struct {
    Stdin             io.Reader
    Stdout            io.Writer
    Stderr            io.Writer
    Tty               bool
    TerminalSizeQueue TerminalSizeQueue

StreamOptions holds information pertaining to the current streaming session: input/output streams, if the client is requesting a TTY, and a terminal size queue to support terminal resizing.

type TerminalSize Uses

type TerminalSize struct {
    Width  uint16
    Height uint16

TerminalSize represents the width and height of a terminal.

type TerminalSizeQueue Uses

type TerminalSizeQueue interface {
    // Next returns the new terminal size after the terminal has been resized. It returns nil when
    // monitoring has been stopped.
    Next() *TerminalSize

TerminalSizeQueue is capable of returning terminal resize events as they occur.

Package remotecommand imports 18 packages (graph) and is imported by 481 packages. Updated 2020-05-17. Refresh now. Tools for package owners.