ssh

package
v0.46.0 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2024 License: MPL-2.0 Imports: 17 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	// Username returns the SSH username.
	Username() string

	// ExecuteNodeCommands executes a command on a node.
	ExecuteNodeCommands(ctx context.Context, nodeName string, commands []string) ([]byte, error)

	// NodeUpload uploads a file to a node.
	NodeUpload(ctx context.Context, nodeName string,
		remoteFileDir string, fileUploadRequest *api.FileUploadRequest) error
}

Client is an interface for performing SSH requests against the Proxmox Nodes.

func NewClient

func NewClient(
	username string, password string,
	agent bool, agentSocket string,
	socks5Server string, socks5Username string, socks5Password string,
	nodeResolver NodeResolver,
) (Client, error)

NewClient creates a new SSH client.

type NodeResolver

type NodeResolver interface {
	Resolve(ctx context.Context, nodeName string) (ProxmoxNode, error)
}

NodeResolver is an interface for resolving node names to IP addresses to use for SSH connection.

type ProxmoxNode added in v0.31.0

type ProxmoxNode struct {
	Address string
	Port    int32
}

ProxmoxNode represents node address and port for SSH connection.

Jump to

Keyboard shortcuts

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