ssh

package
v1.21.0 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Execute added in v1.18.0

func Execute(data map[string]any, opts ...Option) (map[string]any, error)

func Params added in v1.20.0

func Params() []string

Params returns the keys the ssh action takes in with.

func Serve

func Serve()

Types

type Action

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

func (*Action) Run

func (a *Action) Run(with map[string]any) (map[string]any, error)

Run runs the command in with over SSH. The password and key passphrase in with are hidden by the workflow runner, which learns them before the action starts and masks the records this action logs.

type Callback added in v1.18.0

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

type Option added in v1.18.0

type Option func(*Callback)

func WithAfter added in v1.18.0

func WithAfter(f func(result *Result)) Option

func WithBefore added in v1.18.0

func WithBefore(f func(host string, port int, user string, cmd string)) Option

func WithEnvRefused added in v1.18.0

func WithEnvRefused(f func(name string, err error)) Option

WithEnvRefused is called for each environment variable the server refuses to set, typically because sshd_config does not list it in AcceptEnv. The command still runs, without that variable.

type Req added in v1.18.0

type Req struct {
	Host            string            `map:"host" validate:"required"`
	Port            int               `map:"port"`
	User            string            `map:"user" validate:"required"`
	Cmd             string            `map:"cmd" validate:"required"`
	Password        string            `map:"password"`
	KeyFile         string            `map:"key_file"`
	KeyPassphrase   string            `map:"key_passphrase"`
	Timeout         string            `map:"timeout"`
	Workdir         string            `map:"workdir"`
	Env             map[string]string `map:"env"`
	StrictHostCheck bool              `map:"strict_host_check"`
	KnownHosts      string            `map:"known_hosts"`
	// contains filtered or unexported fields
}

func NewReq added in v1.18.0

func NewReq() *Req

func (*Req) Do added in v1.18.0

func (r *Req) Do() (re *Result, er error)

type Res added in v1.18.0

type Res struct {
	Code   int    `map:"code"`
	Stdout string `map:"stdout"`
	Stderr string `map:"stderr"`
	// TimedOut is true when the command was stopped at the timeout. Code is
	// then the status it exited with once signalled, or -1 when it did not
	// stop, and Stdout and Stderr hold what it wrote until then.
	TimedOut bool `map:"timed_out"`
}

type Result added in v1.18.0

type Result struct {
	Req    Req           `map:"req"`
	Res    Res           `map:"res"`
	RT     time.Duration `map:"rt"`
	Status int           `map:"status"`
}

Jump to

Keyboard shortcuts

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