kubernetesk8s.io/kubernetes/pkg/kubelet/server/streaming Index | Files

package streaming

import "k8s.io/kubernetes/pkg/kubelet/server/streaming"

Index

Variables

var DefaultConfig = Config{
	StreamIdleTimeout:     4 * time.Hour,
	StreamCreationTimeout: remotecommand.DefaultStreamCreationTimeout,
	SupportedProtocols:    remotecommand.SupportedStreamingProtocols,
}

DefaultConfig provides default values for server Config. The DefaultConfig is partial, so some fields like Addr must still be provided.

Types

type Config

type Config struct {
	// The host:port address the server will listen on.
	Addr string

	// How long to leave idle connections open for.
	StreamIdleTimeout time.Duration
	// How long to wait for clients to create streams. Only used for SPDY streaming.
	StreamCreationTimeout time.Duration

	// The streaming protocols the server supports (understands and permits).  See
	// k8s.io/kubernetes/pkg/kubelet/server/remotecommand/constants.go for available protocols.
	// Only used for SPDY streaming.
	SupportedProtocols []string

	// The config for serving over TLS. If nil, TLS will not be used.
	TLSConfig *tls.Config
}

Config defines the options used for running the stream server.

type Runtime

type Runtime interface {
	Exec(containerID string, cmd []string, in io.Reader, out, err io.WriteCloser, tty bool, resize <-chan term.Size) error
	Attach(containerID string, in io.Reader, out, err io.WriteCloser, resize <-chan term.Size) error
	PortForward(podSandboxID string, port int32, stream io.ReadWriteCloser) error
}

The interface to execute the commands and provide the streams.

type Server

type Server interface {
	http.Handler

	// Get the serving URL for the requests. Server must be started before these are called.
	// Requests must not be nil. Responses may be nil iff an error is returned.
	GetExec(*runtimeapi.ExecRequest) (*runtimeapi.ExecResponse, error)
	GetAttach(req *runtimeapi.AttachRequest, tty bool) (*runtimeapi.AttachResponse, error)
	GetPortForward(*runtimeapi.PortForwardRequest) (*runtimeapi.PortForwardResponse, error)

	// Start the server.
	// addr is the address to serve on (address:port) stayUp indicates whether the server should
	// listen until Stop() is called, or automatically stop after all expected connections are
	// closed. Calling Get{Exec,Attach,PortForward} increments the expected connection count.
	// Function does not return until the server is stopped.
	Start(stayUp bool) error
	// Stop the server, and terminate any open connections.
	Stop() error
}

The library interface to serve the stream requests.

func NewServer

func NewServer(config Config, runtime Runtime) (Server, error)

TODO(timstclair): Add auth(n/z) interface & handling.

Source Files

server.go

Version
v1.5.0-alpha.2
Published
Oct 27, 2016
Platform
js/wasm
Imports
14 packages
Last checked
8 seconds ago

Tools for package owners.