Help us shape the future of Go! Take the 2026 Go Developer Survey

executor

package
v0.0.14 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2025 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnreachable = errors.New("host is unreachable")

	ErrHostUnset = errors.New("host is not set in the connection configuration")
)
View Source
var Tracer = otel.Tracer("mid/provider/executor")

Functions

func AnsibleExecute added in v0.0.7

func AnsibleExecute[I AnsibleExecuteArgs, O AnsibleExecuteReturn](
	ctx context.Context,
	connection midtypes.Connection,
	resourceConfig midtypes.ResourceConfig,
	args I,
	preview bool,
) (O, error)

func CallAgent added in v0.0.5

func CallAgent[I any, O any](
	ctx context.Context,
	connection midtypes.Connection,
	resourceConfig midtypes.ResourceConfig,
	call rpc.RPCCall[I],
) (rpc.RPCResult[O], error)

func CanConnect added in v0.0.5

func CanConnect(
	ctx context.Context,
	connection midtypes.Connection,
	resourceConfig midtypes.ResourceConfig,
	maxAttempts int,
) (bool, error)

func ConnectionToSSHClientConfig added in v0.0.5

func ConnectionToSSHClientConfig(connection midtypes.Connection) (*ssh.ClientConfig, string, error)

func DialWithRetry added in v0.0.5

func DialWithRetry[T any](ctx context.Context, msg string, maxAttempts int, f func() (T, error)) (T, error)

func DisconnectAll added in v0.0.6

func DisconnectAll(ctx context.Context) error

func PreviewUnreachable added in v0.0.7

func PreviewUnreachable(
	ctx context.Context,
	connection midtypes.Connection,
	resourceConfig midtypes.ResourceConfig,
	preview bool,
) bool

func StageFile added in v0.0.7

func StageFile(
	ctx context.Context,
	connection midtypes.Connection,
	resourceConfig midtypes.ResourceConfig,
	f io.Reader,
) (string, error)

Types

type AnsibleExecuteArgs added in v0.0.7

type AnsibleExecuteArgs interface {
	ToRPCCall() (rpc.RPCCall[rpc.AnsibleExecuteArgs], error)
}

type AnsibleExecuteReturn added in v0.0.7

type AnsibleExecuteReturn interface {
	IsChanged() bool
	GetMsg() string
}

type ConnectionState added in v0.0.6

type ConnectionState struct {
	ID              uint64
	Reachable       bool
	Unreachable     bool
	MaxParallel     int
	TaskCount       int
	SetupAgentMutex sync.Mutex
	CanConnectMutex sync.Mutex
	TaskCountMutex  sync.Mutex
	Agent           *midagent.Agent
	Connection      midtypes.Connection
}

func Acquire added in v0.0.6

func Acquire(
	ctx context.Context,
	connection midtypes.Connection,
	resourceConfig midtypes.ResourceConfig,
) (*ConnectionState, error)

func (*ConnectionState) FinishedTask added in v0.0.9

func (cs *ConnectionState) FinishedTask()

func (*ConnectionState) SetupAgent added in v0.0.6

func (cs *ConnectionState) SetupAgent(ctx context.Context) error

Jump to

Keyboard shortcuts

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