 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
    var ( // Timeout after which tokens become invalid. CacheTTL = 1 * time.Minute // The maximum number of in-flight requests to allow. MaxInFlight = 1000 // Length of the random base64 encoded token identifying the request. TokenLen = 8 )
      View Source
      
  var DefaultConfig = Config{ StreamIdleTimeout: 4 * time.Hour, StreamCreationTimeout: remotecommandconsts.DefaultStreamCreationTimeout, SupportedRemoteCommandProtocols: remotecommandconsts.SupportedStreamingProtocols, SupportedPortForwardProtocols: portforward.SupportedProtocols, }
DefaultConfig provides default values for server Config. The DefaultConfig is partial, so some fields like Addr must still be provided.
Functions ¶
func ErrorStreamingDisabled ¶
func ErrorTooManyInFlight ¶ added in v1.6.0
func ErrorTooManyInFlight() error
The error returned when the maximum number of in-flight requests is exceeded.
func WriteError ¶ added in v1.6.0
func WriteError(err error, w http.ResponseWriter) error
Translates a CRI streaming error into an appropriate HTTP response.
Types ¶
type Config ¶
type Config struct {
	// The host:port address the server will listen on.
	Addr string
	// The optional base URL for constructing streaming URLs. If empty, the baseURL will be
	// constructed from the serve address.
	// Note that for port "0", the URL port will be set to actual port in use.
	BaseURL *url.URL
	// 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.
	SupportedRemoteCommandProtocols []string
	// The streaming protocols the server supports (understands and permits).  See
	// k8s.io/kubernetes/pkg/kubelet/server/portforward/constants.go for available protocols.
	// Only used for SPDY streaming.
	SupportedPortForwardProtocols []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 remotecommand.TerminalSize) error
	Attach(containerID string, in io.Reader, out, err io.WriteCloser, tty bool, resize <-chan remotecommand.TerminalSize) 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.
	// Requests must not be nil. Responses may be nil iff an error is returned.
	GetExec(*runtimeapi.ExecRequest) (*runtimeapi.ExecResponse, error)
	GetAttach(req *runtimeapi.AttachRequest) (*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.
 Click to show internal directories. 
   Click to hide internal directories.