vm

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExecStream added in v0.9.0

func ExecStream(ctx context.Context, vmID string, req ExecRequest) (io.ReadCloser, error)

ExecStream runs a command on a VM via the orchestrator streaming API. It returns the response body for the caller to consume as NDJSON.

Types

type ExecRequest added in v0.9.0

type ExecRequest struct {
	Command    []string          `json:"command"`
	Env        map[string]string `json:"env,omitempty"`
	WorkingDir string            `json:"working_dir,omitempty"`
	Stdin      string            `json:"stdin,omitempty"`
	TimeoutSec uint64            `json:"timeout_secs,omitempty"`
}

ExecRequest matches the orchestrator's VmExecRequest.

type ExecResponse added in v0.9.0

type ExecResponse struct {
	ExitCode int    `json:"exit_code"`
	Stdout   string `json:"stdout"`
	Stderr   string `json:"stderr"`
}

ExecResponse matches the orchestrator's VmExecResponse.

func Exec added in v0.9.0

func Exec(ctx context.Context, vmID string, req ExecRequest) (*ExecResponse, error)

Exec runs a command on a VM via the orchestrator API (non-streaming).

type ExecStreamChunk added in v0.9.0

type ExecStreamChunk struct {
	Type     string `json:"type"`                // "chunk" or "exit"
	Stream   string `json:"stream,omitempty"`    // "stdout" or "stderr"
	Data     string `json:"data,omitempty"`      // base64-encoded bytes
	ExitCode *int   `json:"exit_code,omitempty"` // only on type=="exit"
}

ExecStreamChunk is a single line from the NDJSON exec stream.

type Info

type Info struct {
	VM       *vers.Vm
	Host     string // preferred host (node IP or fallback base hostname)
	KeyPath  string // local path to SSH private key
	BaseURL  *url.URL
	VMDomain string // VM domain suffix (e.g. "vm.vers.sh", "vm.staging.vers.sh")
}

Info contains details needed to establish an SSH connection to a VM.

func GetConnectInfo

func GetConnectInfo(ctx context.Context, client *vers.Client, identifier string) (Info, error)

GetConnectInfo resolves the VM and returns connection information, including Node IP and SSH key.

Jump to

Keyboard shortcuts

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