Documentation ¶
Index ¶
Constants ¶
const ( VersionString = "SSH-2.0-VIC" ClientTimeout = 10 * time.Second )
Variables ¶
This section is empty.
Functions ¶
func ContainerIDs ¶
ContainerIDs asks the ids of the containers on the other hand and return them to the caller
Types ¶
type Connector ¶
type Connector struct {
// contains filtered or unexported fields
}
Connector defines the connection and interactions
func NewConnector ¶
NewConnector returns a new Connector
func (*Connector) Interaction ¶
Interaction returns the interactor corresponding to the specified ID. If the connection doesn't exist the method will wait for the specified timeout, returning when the connection is created or the timeout expires, whichever occurs first
func (*Connector) RemoveInteraction ¶
RemoveInteraction removes the session the inteactions map
func (*Connector) SessionIfAlive ¶
SessionIfAlive returns SessionInteractor or error
type LazyInitializer ¶
type LazyInitializer func() (SessionInteractor, error)
LazyInitializer defines the function that returns SessionInteractor
type LazySessionInteractor ¶
type LazySessionInteractor struct {
// contains filtered or unexported fields
}
LazySessionInteractor holds lazily initialized SessionInteractor
func (*LazySessionInteractor) Initialize ¶
func (l *LazySessionInteractor) Initialize() (SessionInteractor, error)
Initialize either returns either already initialized connection or returns the connection after initializing it
func (*LazySessionInteractor) SessionInteractor ¶
func (l *LazySessionInteractor) SessionInteractor() SessionInteractor
SessionInteractor returns either an initialized connection, or nil if it was never initialized
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server waits for TCP client connections on serialOverLANPort, then once connected, attempts to negotiate an SSH connection to the attached client. The client is the ssh server.
func (*Server) Interaction ¶
Interaction returns the session interface for the given container. If the container cannot be found, this call will wait for the given timeout. id is ID of the container.
func (*Server) RemoveInteraction ¶
RemoveInteraction removes the session interface from underlying connector
type SessionInteractor ¶
type SessionInteractor interface { // Send specific signal Signal(signal ssh.Signal) error // Stdout stream Stdout() io.Reader // Stderr stream Stderr() io.Reader // Stdin stream Stdin() io.WriteCloser Close() error // Resize the terminal Resize(cols, rows, widthpx, heightpx uint32) error CloseStdin() error Ping() error Unblock() error }
SessionInteractor defines the interaction interface
func NewSSHInteraction ¶
NewSSHInteraction returns a stream connection to the requested session The ssh conn is assumed to be connected to the Executor hosting the session