hosts

package
v0.4.3-rc2 Latest Latest
Warning

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

Go to latest
Published: May 11, 2021 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SSHKind    = "ssh"
	DockerKind = "docker"
	PtyKind    = "pty"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BinaryWriter added in v0.4.3

type BinaryWriter struct {
	// contains filtered or unexported fields
}

func NewBinaryWriter added in v0.4.3

func NewBinaryWriter(con *websocket.Conn) *BinaryWriter

func (*BinaryWriter) Write added in v0.4.3

func (s *BinaryWriter) Write(p []byte) (int, error)

type DockerDialer added in v0.4.3

type DockerDialer struct {
	Stdin  io.ReadCloser
	Stdout io.Writer
	Stderr io.Writer
	Writer io.Writer

	Height int
	Weight int
	// contains filtered or unexported fields
}

func NewDockerDialer added in v0.4.3

func NewDockerDialer(n *types.Node) (*DockerDialer, error)

func (*DockerDialer) Close added in v0.4.3

func (d *DockerDialer) Close() error

Close close the Docker connection.

func (*DockerDialer) ExecStart added in v0.4.3

func (d *DockerDialer) ExecStart(needRestore bool) error

ExecStart handles setting up the IO and then begins streaming stdin/stdout to/from the hijacked connection, blocking until it is either done reading output, the user inputs the detach key sequence when in TTY mode, or when the given context is cancelled. Borrowed from https://github.com/docker/cli/blob/master/cli/command/container/hijack.go#L40.

func (*DockerDialer) MonitorTtySize added in v0.4.3

func (d *DockerDialer) MonitorTtySize(ctx context.Context) error

MonitorTtySize monitor and change tty size. Borrowed from https://github.com/docker/cli/blob/master/cli/command/container/tty.go#L71.

func (*DockerDialer) ResizeTty added in v0.4.3

func (d *DockerDialer) ResizeTty(ctx context.Context) error

ResizeTty changes to the current win size.

func (*DockerDialer) ResizeTtyTo added in v0.4.3

func (d *DockerDialer) ResizeTtyTo(ctx context.Context, height, width uint) error

ResizeTtyTo changes the size of the tty for an exec process running inside a container.

func (*DockerDialer) SetDefaultSize added in v0.4.3

func (d *DockerDialer) SetDefaultSize(height, weight int) *DockerDialer

SetDefaultSize set dialer's default win size.

func (*DockerDialer) SetStdio added in v0.4.3

func (d *DockerDialer) SetStdio(stdout, stderr io.Writer, stdin io.ReadCloser) *DockerDialer

SetStdio set dialer's reader and writer.

func (*DockerDialer) SetWriter added in v0.4.3

func (d *DockerDialer) SetWriter(w io.Writer) *DockerDialer

SetWriter set dialer's logs writer.

func (*DockerDialer) Terminal added in v0.4.3

func (d *DockerDialer) Terminal() error

Terminal open docker exec terminal.

func (*DockerDialer) TerminalWait added in v0.4.3

func (d *DockerDialer) TerminalWait() error

Borrowed from https://github.com/docker/cli/blob/master/cli/command/container/exec.go#L180.

func (*DockerDialer) WebSocketTerminal added in v0.4.3

func (d *DockerDialer) WebSocketTerminal() error

WebSocketTerminal open docker websocket terminal.

type PtyDialer added in v0.4.3

type PtyDialer struct {
	Stdin  io.ReadCloser
	Stdout io.Writer
	Stderr io.Writer
	Writer io.Writer

	Height int
	Weight int
	// contains filtered or unexported fields
}

func NewPtyDialer added in v0.4.3

func NewPtyDialer(cmd *exec.Cmd) (*PtyDialer, error)

func (*PtyDialer) ChangeSize added in v0.4.3

func (d *PtyDialer) ChangeSize(win *WindowSize) error

ChangeSize changes to the current win size.

func (*PtyDialer) Close added in v0.4.3

func (d *PtyDialer) Close() error

Close close the pty connection.

func (*PtyDialer) SetDefaultSize added in v0.4.3

func (d *PtyDialer) SetDefaultSize(height, weight int) *PtyDialer

SetDefaultSize set dialer's default win size.

func (*PtyDialer) SetStdio added in v0.4.3

func (d *PtyDialer) SetStdio(stdout, stderr io.Writer, stdin io.ReadCloser) *PtyDialer

SetStdio set dialer's reader and writer.

func (*PtyDialer) WebSocketTerminal added in v0.4.3

func (d *PtyDialer) WebSocketTerminal() error

WebSocketTerminal open pty websocket terminal.

type SSHDialer

type SSHDialer struct {
	Stdin  io.ReadCloser
	Stdout io.Writer
	Stderr io.Writer
	Writer io.Writer

	Height int
	Weight int

	Term  string
	Modes ssh.TerminalModes
	// contains filtered or unexported fields
}

func NewSSHDialer added in v0.4.3

func NewSSHDialer(n *types.Node, timeout bool) (*SSHDialer, error)

func (*SSHDialer) Close added in v0.4.3

func (d *SSHDialer) Close() error

Close close the SSH connection.

func (*SSHDialer) Cmd added in v0.4.3

func (d *SSHDialer) Cmd(cmd string) *SSHDialer

Cmd pass commands in dialer, support multiple calls, e.g. d.Cmd("ls").Cmd("id").

func (*SSHDialer) Dial added in v0.4.3

func (d *SSHDialer) Dial(t bool) (*ssh.Client, error)

Dial handshake with ssh address.

func (*SSHDialer) Run added in v0.4.3

func (d *SSHDialer) Run() error

Run run commands in remote server via SSH tunnel.

func (*SSHDialer) SetDefaultSize added in v0.4.3

func (d *SSHDialer) SetDefaultSize(height, weight int) *SSHDialer

SetDefaultSize set dialer's default win size.

func (*SSHDialer) SetStdio added in v0.4.3

func (d *SSHDialer) SetStdio(stdout, stderr io.Writer, stdin io.ReadCloser) *SSHDialer

SetStdio set dialer's reader and writer.

func (*SSHDialer) SetWriter added in v0.4.3

func (d *SSHDialer) SetWriter(w io.Writer) *SSHDialer

SetWriter set dialer's logs writer.

func (*SSHDialer) Terminal added in v0.4.3

func (d *SSHDialer) Terminal() error

Terminal open ssh terminal.

func (*SSHDialer) WebSocketTerminal added in v0.4.3

func (d *SSHDialer) WebSocketTerminal(session *ssh.Session) error

WebSocketTerminal open websocket terminal.

type TerminalReader added in v0.4.3

type TerminalReader struct {
	ClosedCh chan bool
	// contains filtered or unexported fields
}

func NewTerminalReader added in v0.4.3

func NewTerminalReader(con *websocket.Conn) *TerminalReader

func (*TerminalReader) Close added in v0.4.3

func (t *TerminalReader) Close() error

func (*TerminalReader) Read added in v0.4.3

func (t *TerminalReader) Read(p []byte) (int, error)

func (*TerminalReader) SetResizeFunction added in v0.4.3

func (t *TerminalReader) SetResizeFunction(resizeFun func(size *WindowSize))

type WebSocketDialer added in v0.4.3

type WebSocketDialer struct {
	// contains filtered or unexported fields
}

func NewWebSocketDialer added in v0.4.3

func NewWebSocketDialer(kind string, n *types.Node, conn *websocket.Conn, cmd *exec.Cmd) (*WebSocketDialer, error)

func (*WebSocketDialer) ChangeWindowSize added in v0.4.3

func (d *WebSocketDialer) ChangeWindowSize(win *WindowSize)

ChangeWindowSize change websocket win size.

func (*WebSocketDialer) Close added in v0.4.3

func (d *WebSocketDialer) Close()

Close close the WebSocket connection.

func (*WebSocketDialer) ReadMessage added in v0.4.3

func (d *WebSocketDialer) ReadMessage(ctx context.Context) error

ReadMessage read websocket message.

func (*WebSocketDialer) SetDefaultSize added in v0.4.3

func (d *WebSocketDialer) SetDefaultSize(height, weight int) *WebSocketDialer

SetDefaultSize set dialer's default win size.

func (*WebSocketDialer) Terminal added in v0.4.3

func (d *WebSocketDialer) Terminal() error

Terminal open websocket terminal.

func (*WebSocketDialer) Write added in v0.4.3

func (d *WebSocketDialer) Write(bytes []byte) error

Write write bytes to the websocket connection.

type WindowSize added in v0.4.3

type WindowSize struct {
	Width  int
	Height int
}

Jump to

Keyboard shortcuts

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