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.
Click to show internal directories.
Click to hide internal directories.