remotecommand

package
v0.29.12 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2024 License: Apache-2.0 Imports: 20 Imported by: 6

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

This section is empty.

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(ctx context.Context, 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(ctx context.Context, 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