remotecommand

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 13, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package remotecommand contains functions related to executing commands in and attaching to pods.

Index

Constants

This section is empty.

Variables

View Source
var SupportedStreamingProtocols = remotecommandconsts.SupportedStreamingProtocols

Functions

func ServeAttach

func ServeAttach(w http.ResponseWriter, req *http.Request, attacher Attacher, podName string, uid types.UID, container string, streamOpts *Options, idleTimeout, streamCreationTimeout time.Duration, supportedProtocols []string)

ServeAttach handles requests to attach to a container. After creating/receiving the required streams, it delegates the actual attaching to attacher.

func ServeExec

func ServeExec(w http.ResponseWriter, req *http.Request, executor Executor, podName string, uid types.UID, container string, cmd []string, streamOpts *Options, idleTimeout, streamCreationTimeout time.Duration, supportedProtocols []string)

ServeExec handles requests to execute a command in a container. After creating/receiving the required streams, it delegates the actual execution to the executor.

Types

type Attacher

type Attacher interface {
	// AttachContainer attaches to the running container in the pod, copying data between in/out/err
	// and the container's stdin/stdout/stderr.
	AttachContainer(name string, uid types.UID, container string, in io.Reader, out, err io.WriteCloser, tty bool, resize <-chan remotecommand.TerminalSize) error
}

Attacher knows how to attach to a running container in a pod.

type Executor

type Executor interface {
	// ExecInContainer executes a command in a container in the pod, copying data
	// between in/out/err and the container's stdin/stdout/stderr.
	ExecInContainer(name string, uid types.UID, container string, cmd []string, in io.Reader, out, err io.WriteCloser, tty bool, resize <-chan remotecommand.TerminalSize, timeout time.Duration) error
}

Executor knows how to execute a command in a container in a pod.

type Options

type Options struct {
	Stdin  bool
	Stdout bool
	Stderr bool
	TTY    bool
}

Options contains details about which streams are required for remote command execution.

func NewOptions

func NewOptions(req *http.Request) (*Options, error)

NewOptions creates a new Options from the Request.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL